aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-extended')
-rw-r--r--meta-oe/recipes-extended/beep/beep_1.4.12.bb (renamed from meta-oe/recipes-extended/beep/beep_1.4.9.bb)19
-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.50.bb (renamed from meta-oe/recipes-extended/bitwise/bitwise_0.43.bb)12
-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/4563.patch36
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch28
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client_7.20.5.bb (renamed from meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb)17
-rw-r--r--meta-oe/recipes-extended/brotli/brotli/838.patch48
-rw-r--r--meta-oe/recipes-extended/brotli/brotli_1.1.0.bb (renamed from meta-oe/recipes-extended/brotli/brotli_1.0.9.bb)10
-rw-r--r--meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch37
-rw-r--r--meta-oe/recipes-extended/byacc/byacc_20230219.bb (renamed from meta-oe/recipes-extended/byacc/byacc_20220128.bb)4
-rw-r--r--meta-oe/recipes-extended/cfengine/cfengine-masterfiles/python3.patch16
-rw-r--r--meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.21.0.bb (renamed from meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb)7
-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.21.0.bb (renamed from meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb)10
-rw-r--r--meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb1
-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.4.bb (renamed from meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb)24
-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.bb8
-rw-r--r--meta-oe/recipes-extended/ddrescue/ddrescue_1.28.bb (renamed from meta-oe/recipes-extended/ddrescue/ddrescue_1.26.bb)2
-rw-r--r--meta-oe/recipes-extended/dialog/dialog_1.3-20240307.bb (renamed from meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb)4
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch45
-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.bb (renamed from meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb)41
-rw-r--r--meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb8
-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.bb1
-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.bb2
-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.patch3
-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-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch28
-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.patch2
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch40
-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.patch14
-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.patch3
-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/jemalloc.patch16
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb (renamed from meta-oe/recipes-extended/fluentbit/fluentbit_1.9.6.bb)38
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch2
-rw-r--r--meta-oe/recipes-extended/haveged/haveged_1.9.18.bb1
-rw-r--r--meta-oe/recipes-extended/highway/highway_1.1.0.bb17
-rw-r--r--meta-oe/recipes-extended/hiredis/hiredis/run-ptest3
-rw-r--r--meta-oe/recipes-extended/hiredis/hiredis_1.0.2.bb13
-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.22.10.bb (renamed from meta-oe/recipes-extended/hplip/hplip_3.19.12.bb)29
-rw-r--r--meta-oe/recipes-extended/hwloc/hwloc_2.9.3.bb (renamed from meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb)13
-rw-r--r--meta-oe/recipes-extended/icewm/icewm_3.4.5.bb (renamed from meta-oe/recipes-extended/icewm/icewm_2.9.8.bb)4
-rw-r--r--meta-oe/recipes-extended/iotop/iotop_1.26.bb (renamed from meta-oe/recipes-extended/iotop/iotop_1.21.bb)9
-rw-r--r--meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.4.bb (renamed from meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb)8
-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.14.bb9
-rw-r--r--meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb4
-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.bb4
-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.bb13
-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/files/0001-lvm-Do-not-include-duplicate-entries-in-bd_lvm_lvs-o.patch100
-rw-r--r--meta-oe/recipes-extended/libblockdev/libblockdev_3.1.1.bb (renamed from meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb)22
-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_6.0.2.bb3
-rw-r--r--meta-oe/recipes-extended/libdeflate/libdeflate_1.20.bb15
-rw-r--r--meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb4
-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.bb6
-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.41.bb (renamed from meta-oe/recipes-extended/libidn/libidn_1.36.bb)17
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb (renamed from meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb)16
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/libplist_git.bb43
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb17
-rw-r--r--meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch15
-rw-r--r--meta-oe/recipes-extended/libleak/libleak_0.3.6.bb (renamed from meta-oe/recipes-extended/libleak/libleak_git.bb)5
-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.17.bb (renamed from meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb)15
-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_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.7.bb9
-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_2.0.8.bb (renamed from meta-oe/recipes-extended/libqb/libqb_2.0.6.bb)2
-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.17.15.bb (renamed from meta-oe/recipes-extended/libreport/libreport_2.10.0.bb)10
-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.bb11
-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.bb1
-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/libyang-add-stdint-h.patch35
-rw-r--r--meta-oe/recipes-extended/libyang/libyang/run-ptest34
-rw-r--r--meta-oe/recipes-extended/libyang/libyang_2.0.194.bb37
-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.bb (renamed from meta-oe/recipes-extended/libzip/libzip_1.9.2.bb)5
-rw-r--r--meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.19.bb2
-rw-r--r--meta-oe/recipes-extended/logwatch/logwatch_7.10.bb (renamed from meta-oe/recipes-extended/logwatch/logwatch_7.6.bb)2
-rw-r--r--meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch2
-rw-r--r--meta-oe/recipes-extended/md5deep/md5deep_git.bb3
-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-Fix-build-with-libc.patch36
-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.bb143
-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.patch (renamed from meta-oe/recipes-extended/mozjs/mozjs-91/0001-Cargo.toml-do-not-abort-on-panic.patch)11
-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.patch (renamed from meta-oe/recipes-extended/mozjs/mozjs-91/0001-rewrite-cargo-host-linker-in-python3.patch)10
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0001-util.configure-fix-one-occasionally-reproduced-confi.patch (renamed from meta-oe/recipes-extended/mozjs/mozjs-91/0001-util.configure-fix-one-occasionally-reproduced-confi.patch)10
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0002-moz.configure-do-not-look-for-llvm-objdump.patch (renamed from meta-oe/recipes-extended/mozjs/mozjs-91/0002-moz.configure-do-not-look-for-llvm-objdump.patch)17
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch (renamed from meta-oe/recipes-extended/mozjs/mozjs-91/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch)11
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0004-use-asm-sgidefs.h.patch (renamed from meta-oe/recipes-extended/mozjs/mozjs-91/0004-use-asm-sgidefs.h.patch)9
-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.patch (renamed from meta-oe/recipes-extended/mozjs/mozjs-91/riscv32.patch)27
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb (renamed from meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb)37
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-91/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch28
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch21
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch36
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-91/fix-musl-build.patch15
-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.bb19
-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/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.7.2.bb (renamed from meta-oe/recipes-extended/openwsman/openwsman_2.7.1.bb)5
-rw-r--r--meta-oe/recipes-extended/ostree/ostree/0001-Remove-unused-linux-fs.h-includes.patch42
-rw-r--r--meta-oe/recipes-extended/ostree/ostree/0001-libostree-Remove-including-sys-mount.h.patch29
-rw-r--r--meta-oe/recipes-extended/ostree/ostree/0001-s390x-se-luks-gencpio-There-is-no-bashism.patch25
-rw-r--r--meta-oe/recipes-extended/ostree/ostree_2024.5.bb (renamed from meta-oe/recipes-extended/ostree/ostree_2022.5.bb)82
-rw-r--r--meta-oe/recipes-extended/p7zip/files/CVE-2016-9296.patch27
-rw-r--r--meta-oe/recipes-extended/p7zip/files/CVE-2018-5996.patch227
-rw-r--r--meta-oe/recipes-extended/p7zip/p7zip_16.02.bb2
-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.bb7
-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.bb4
-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.bb1
-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/0001-use-daxctl-libdaxctl.h-instead-of-ndctl-libdaxctl.h.patch69
-rw-r--r--meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb (renamed from meta-oe/recipes-extended/pmdk/pmdk_1.11.1.bb)7
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch84
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/0002-CVE-2021-4115-GHSL-2021-077-fix.patch88
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch38
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch3459
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch63
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch253
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch34
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch35
-rw-r--r--meta-oe/recipes-extended/polkit/polkit_0.119.bb79
-rw-r--r--meta-oe/recipes-extended/polkit/polkit_124.bb59
-rw-r--r--meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb2
-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/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.3.11.bb26
-rw-r--r--meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.5.bb21
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/0001-src-Do-not-reset-FINAL_LIBS.patch (renamed from meta-oe/recipes-extended/redis/redis-7/0001-src-Do-not-reset-FINAL_LIBS.patch)6
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/0006-Define-correct-gregs-for-RISCV32.patch (renamed from meta-oe/recipes-extended/redis/redis-7/0006-Define-correct-gregs-for-RISCV32.patch)16
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/GNU_SOURCE-7.patch (renamed from meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE.patch)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/hiredis-use-default-CC-if-it-is-set.patch (renamed from meta-oe/recipes-extended/redis/redis-7/hiredis-use-default-CC-if-it-is-set.patch)10
-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.patch (renamed from meta-oe/recipes-extended/redis/redis-7/lua-update-Makefile-to-use-environment-build-setting.patch)7
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/oe-use-libc-malloc.patch (renamed from meta-oe/recipes-extended/redis/redis-7/oe-use-libc-malloc.patch)10
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/redis.conf (renamed from meta-oe/recipes-extended/redis/redis-7/redis.conf)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/redis.service (renamed from meta-oe/recipes-extended/redis/redis-7/redis.service)2
-rwxr-xr-xmeta-oe/recipes-extended/redis/redis-7/init-redis-server40
-rw-r--r--meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch15
-rw-r--r--meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch2
-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.patch2
-rw-r--r--meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch2
-rw-r--r--meta-oe/recipes-extended/redis/redis/redis.service1
-rw-r--r--meta-oe/recipes-extended/redis/redis_6.2.14.bb (renamed from meta-oe/recipes-extended/redis/redis_6.2.7.bb)2
-rw-r--r--meta-oe/recipes-extended/redis/redis_7.2.4.bb (renamed from meta-oe/recipes-extended/redis/redis_7.0.4.bb)16
-rw-r--r--meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb12
-rw-r--r--meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb (renamed from meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb)2
-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.10.0.bb18
-rw-r--r--meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb86
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch2
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch23
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog_8.2402.0.bb (renamed from meta-oe/recipes-extended/rsyslog/rsyslog_8.2206.0.bb)13
-rw-r--r--meta-oe/recipes-extended/s-nail/files/0001-make.rc-set-VAL_MTA.patch2
-rw-r--r--meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-eh-no-give-up-share-detection.patch2
-rw-r--r--meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch2
-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/setuptools.patch18
-rw-r--r--meta-oe/recipes-extended/sanlock/sanlock_3.9.1.bb (renamed from meta-oe/recipes-extended/sanlock/sanlock_3.8.4.bb)11
-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.bb7
-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.bb3
-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.bb2
-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.bb1
-rw-r--r--meta-oe/recipes-extended/sigrok/libsigrokdecode/0001-configure.ac-add-py-3.10-support.patch4
-rw-r--r--meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch2
-rw-r--r--meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb (renamed from meta-oe/recipes-extended/smartmontools/smartmontools_7.3.bb)2
-rw-r--r--meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch71
-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.bb (renamed from meta-oe/recipes-extended/snappy/snappy_1.1.9.bb)10
-rw-r--r--meta-oe/recipes-extended/socketcan/can-isotp_git.bb6
-rw-r--r--meta-oe/recipes-extended/socketcan/can-utils_2023.03.bb (renamed from meta-oe/recipes-extended/socketcan/can-utils_git.bb)4
-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_0.28.0.bb3
-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.bb2
-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.bb2
-rw-r--r--meta-oe/recipes-extended/tmux/tmux_3.3a.bb (renamed from meta-oe/recipes-extended/tmux/tmux_3.1c.bb)4
-rw-r--r--meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb2
-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.bb4
-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.bb17
-rw-r--r--meta-oe/recipes-extended/vlock/vlock_2.2.3.bb2
-rw-r--r--meta-oe/recipes-extended/volume_key/volume-key_0.3.12.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.patch100
-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.patch30
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets/respect-DESTDIR-when-create-link.patch55
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets/wx-config-fix-libdir-for-multilib.patch6
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb (renamed from meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb)39
-rw-r--r--meta-oe/recipes-extended/zlog/zlog_1.2.16.bb (renamed from meta-oe/recipes-extended/zlog/zlog_1.2.15.bb)2
-rw-r--r--meta-oe/recipes-extended/zram/zram_0.2.bb1
-rw-r--r--meta-oe/recipes-extended/zsync/zsync-curl_git.bb2
389 files changed, 8293 insertions, 7848 deletions
diff --git a/meta-oe/recipes-extended/beep/beep_1.4.9.bb b/meta-oe/recipes-extended/beep/beep_1.4.12.bb
index ec62f31870..a4bc10c366 100644
--- a/meta-oe/recipes-extended/beep/beep_1.4.9.bb
+++ b/meta-oe/recipes-extended/beep/beep_1.4.12.bb
@@ -8,24 +8,11 @@ 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-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch \
-"
-SRCREV = "8b85ddd09f73b9fd7caa5679298781a57af194ac"
+ file://0001-beep-library-Make-it-compatible-with-c99.patch"
+SRCREV = "11453a79f2cea81832329b06ca3a284aa7a0a52e"
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 \
-"
+EXTRA_OEMAKE = "prefix='${prefix}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
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.43.bb b/meta-oe/recipes-extended/bitwise/bitwise_0.50.bb
index 713492b44f..5cd20c5b1c 100644
--- a/meta-oe/recipes-extended/bitwise/bitwise_0.43.bb
+++ b/meta-oe/recipes-extended/bitwise/bitwise_0.50.bb
@@ -12,8 +12,10 @@ 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] = "f524f794188a10defc4df673d8cf0b3739f93e58e93aff0cdb8a99fbdcca2ffb"
+SRC_URI[sha256sum] = "806271fa5bf31de0600315e8720004a8f529954480e991ca84a9868dc1cae97e"
UPSTREAM_CHECK_URI = "https://github.com/mellowcandle/bitwise/releases"
@@ -21,4 +23,10 @@ S = "${WORKDIR}/${BPN}-v${PV}"
DEPENDS = "ncurses readline"
-inherit autotools
+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/4563.patch b/meta-oe/recipes-extended/boinc/boinc-client/4563.patch
deleted file mode 100644
index a18da45395..0000000000
--- a/meta-oe/recipes-extended/boinc/boinc-client/4563.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 689dc20ede9768377d4032ff8c70b58269c8dc9c Mon Sep 17 00:00:00 2001
-From: Charlie Fenton <charlief@example.com>
-Date: Mon, 18 Oct 2021 01:43:08 -0700
-Subject: [PATCH 01/10] Mac: update dependent libraries to latest:
- c-ares-1.17.2, curl-7.79.1, freetype-2.11.0, openssl-3.0.0 Previously updated
- to wxWidgets-3.1.5. FTGL version ftgl-2.1.3~rc5 is still the current
- version.
-
----
- lib/crypt.cpp | 7 +-
- 8 files changed, 199 insertions(+), 150 deletions(-)
-
-diff --git a/lib/crypt.cpp b/lib/crypt.cpp
-index 01249cfc340..9b1f69160b8 100644
---- a/lib/crypt.cpp
-+++ b/lib/crypt.cpp
-@@ -1,6 +1,6 @@
- // This file is part of BOINC.
- // http://boinc.berkeley.edu
--// Copyright (C) 2008 University of California
-+// Copyright (C) 2021 University of California
- //
- // BOINC is free software; you can redistribute it and/or modify it
- // under the terms of the GNU Lesser General Public License
-@@ -672,7 +672,10 @@ int check_validity_of_cert(
- }
- #ifdef HAVE_OPAQUE_RSA_DSA_DH
- RSA *rsa;
-- rsa = EVP_PKEY_get0_RSA(pubKey);
-+ // CAUTION: In OpenSSL 3.0.0, EVP_PKEY_get0_RSA() now returns a
-+ // pointer of type "const struct rsa_st*" to an immutable value.
-+ // Do not try to modify the contents of the returned struct.
-+ rsa = (rsa_st*)EVP_PKEY_get0_RSA(pubKey);
- if (!RSA_blinding_on(rsa, c)) {
- #else
- if (!RSA_blinding_on(pubKey->pkey.rsa, c)) {
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 3b814e903c..0000000000
--- a/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
+++ /dev/null
@@ -1,28 +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
-@@ -1044,6 +1044,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])
diff --git a/meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb b/meta-oe/recipes-extended/boinc/boinc-client_7.20.5.bb
index 8f85a508e7..4e35283dd2 100644
--- a/meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb
+++ b/meta-oe/recipes-extended/boinc/boinc-client_7.20.5.bb
@@ -26,16 +26,15 @@ DEPENDS = "curl \
sqlite3 \
virtual/egl \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+3 wxwidgets libnotify xcb-util libxscrnsaver', '', d)} \
nettle \
"
-SRCREV = "b49adfb118211e11c719766c0d71e7bdfe7f3363"
-BRANCH = "client_release/7/7.18"
+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://gtk-configure.patch \
- file://4563.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
@@ -61,14 +60,6 @@ EXTRA_OECONF += "\
"
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}/libtool
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.1.0.bb
index 4e2813dded..83f44833b6 100644
--- a/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb
+++ b/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb
@@ -6,17 +6,17 @@ 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 \
- file://838.patch "
-# tag 1.0.9
-SRCREV= "e61745a6b7add50d380cfd7d3883dd6c62fc2c71"
+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
- mv -v "${lib}" "$(echo ${lib} | sed s/-static//)"
+ basename=$(basename ${lib})
+ mv -v "${lib}" "${D}${libdir}/$(echo ${basename} | sed s/-static//)"
done
}
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 8365da0f90..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
@@ -21,16 +21,19 @@ 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 7a9a8fb..108b6cc 100644
+index 832d0c8..63b03f2 100644
--- a/aclocal.m4
+++ b/aclocal.m4
-@@ -1401,7 +1401,6 @@ CF_GCC_VERSION
+@@ -1421,7 +1421,6 @@ CF_GCC_VERSION
CF_ACVERSION_CHECK(2.52,
[AC_PROG_CC_STDC],
[CF_ANSI_CC_REQD])
@@ -39,20 +42,20 @@ index 7a9a8fb..108b6cc 100644
dnl ---------------------------------------------------------------------------
dnl CF_PROG_GROFF version: 3 updated: 2018/01/07 13:16:19
diff --git a/configure b/configure
-index 5b98a03..e3a4237 100755
+index cb47b4c..c72b6e4 100755
--- a/configure
+++ b/configure
-@@ -2146,265 +2146,6 @@ esac
+@@ -2144,265 +2144,6 @@ esac
# This should have been defined by AC_PROG_CC
: "${CC:=cc}"
--echo "$as_me:2149: 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:2153: result: broken" >&5
+- echo "$as_me:2151: result: broken" >&5
-echo "${ECHO_T}broken" >&6
-- { echo "$as_me:2155: 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=
@@ -160,18 +163,18 @@ index 5b98a03..e3a4237 100755
- done
- ;;
-(*)
-- echo "$as_me:2263: result: ok" >&5
+- echo "$as_me:2261: result: ok" >&5
-echo "${ECHO_T}ok" >&6
- ;;
-esac
-
--echo "$as_me:2268: 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:2272: result: broken" >&5
+- echo "$as_me:2270: result: broken" >&5
-echo "${ECHO_T}broken" >&6
-- { echo "$as_me:2274: 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/[ ]*[ ]-[^ ].*//'`
@@ -288,26 +291,26 @@ index 5b98a03..e3a4237 100755
- done
- test -n "$verbose" && echo " resulting CC: '$CC'" 1>&6
-
--echo "${as_me:-configure}:2391: 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}:2395: 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}:2399: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2397: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
-
- ;;
-(*)
-- echo "$as_me:2403: result: ok" >&5
+- echo "$as_me:2401: result: ok" >&5
-echo "${ECHO_T}ok" >&6
- ;;
-esac
-
- echo "$as_me:2408: 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_20220128.bb b/meta-oe/recipes-extended/byacc/byacc_20230219.bb
index 8aa8767d37..614bcaf646 100644
--- a/meta-oe/recipes-extended/byacc/byacc_20220128.bb
+++ b/meta-oe/recipes-extended/byacc/byacc_20230219.bb
@@ -4,7 +4,7 @@
# Setting to PD as this is what the upstream has it as.
LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=62c37a10a2faf90235ee64280ad72737"
+LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=b56b7454f5f865de2e6e35ee2185b461"
require byacc.inc
-SRC_URI[sha256sum] = "42c1805cc529314e6a76326fe1b33e80c70862a44b01474da362e2f7db2d749c"
+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.21.0.bb
index 4ef3fc15ad..68d4042554 100644
--- a/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb
+++ b/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.21.0.bb
@@ -18,13 +18,12 @@ or wherever `$(sys.masterdir)` points. \
HOMEPAGE = "http://cfengine.com"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9f76426f9ef8c6f6739fadd21d817a4f"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bb843e794feb6890f7697637b461c36e"
SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
- file://python3.patch \
"
-SRC_URI[md5sum] = "6d456fdd9bd24ff6617eeaa05efae602"
-SRC_URI[sha256sum] = "4a071c0c4ba7df9bad93144cff5fbc0566e5172afd66201072e3193b76c55a38"
+#SRC_URI[md5sum] = "5df2f85c75efc351ffadebcc11046a98"
+SRC_URI[sha256sum] = "013ebe68599915cedb4bf753b471713d91901a991623358b9a967d9a779bcc16"
inherit autotools
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.21.0.bb
index 1566f8a88f..6fa5d2743a 100644
--- a/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb
+++ b/meta-oe/recipes-extended/cfengine/cfengine_3.21.0.bb
@@ -15,13 +15,15 @@ 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"
+DEPENDS += "attr tokyocabinet bison-native libxml2"
+#RDEPENDS:cfengine += "attr tokyocabinet bison-native libxml2"
-SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
+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] = "d4dabfa46d8afa151be5610f184354e7"
-SRC_URI[sha256sum] = "fa53e137f850eb268a8e7ae4578b5db5dc383656341f5053dc1a353ed0288265"
+#SRC_URI[md5sum] = "5318e40702bc66a3ece44ec4ad77712b"
+SRC_URI[sha256sum] = "911778ddb0a4e03a3ddfc8fc0f033136e1551849ea2dcbdb3f0f14359dfe3126"
inherit autotools-brokensep systemd
diff --git a/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb b/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb
index a743e72520..6b6acf1be8 100644
--- a/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb
+++ b/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb
@@ -1,5 +1,4 @@
SUMMARY = "Terminal based 'The Matrix' screen implementation"
-AUTHOR = "Abishek V Ashok"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
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.4.bb
index 464d25ad08..781dc83da9 100644
--- a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
+++ b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.4.bb
@@ -4,39 +4,31 @@ 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"
+DEPENDS = "swig-native sblim-cmpi-devel python3-setuptools-native"
-SRC_URI = "git://github.com/kkaempf/cmpi-bindings.git;protocol=http;branch=master;protocol=https \
+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://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"
+SRCREV = "69077ee4d249816ed428155fc933dca424167e77"
S = "${WORKDIR}/git"
-inherit cmake python3native
+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"
-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} =+"${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 dd97796f46..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."
+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 \
@@ -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} \
diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.26.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.28.bb
index a31911b977..0863fc1209 100644
--- a/meta-oe/recipes-extended/ddrescue/ddrescue_1.26.bb
+++ b/meta-oe/recipes-extended/ddrescue/ddrescue_1.28.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
"
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
-SRC_URI[sha256sum] = "e513cd3a90d9810dfdd91197d40aa40f6df01597bfb5ecfdfb205de1127c551f"
+SRC_URI[sha256sum] = "6626c07a7ca1cc1d03cad0958522c5279b156222d32c342e81117cfefaeb10c1"
# This isn't already added by base.bbclass
do_unpack[depends] += "lzip-native:do_populate_sysroot"
diff --git a/meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb b/meta-oe/recipes-extended/dialog/dialog_1.3-20240307.bb
index 0b1e7e6088..a497175364 100644
--- a/meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb
+++ b/meta-oe/recipes-extended/dialog/dialog_1.3-20240307.bb
@@ -8,8 +8,8 @@ DEPENDS = "ncurses"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz"
-SRC_URI[sha256sum] = "ae478fe7d5fca82bcf4b51684641e07d2ee68489d319710fe1e81f41a197bd66"
+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}"
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
deleted file mode 100644
index 7b40b7a67e..0000000000
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From dd2d42a7f877d292f86e421dd9651f4b7c2abf18 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 19 Apr 2022 14:57:58 -0700
-Subject: [PATCH] cmake: Link with libatomic on rv32/rv64
-
-Use of <atomic> needs to link in libatomic on riscv
-Fixes
-
-undefined reference to `__atomic_exchange_1'
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lib/CMakeLists.txt | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
-index 3293376..65018be 100644
---- a/src/lib/CMakeLists.txt
-+++ b/src/lib/CMakeLists.txt
-@@ -37,6 +37,12 @@ else()
- set(SOCKET_LIBRARY socket)
- endif()
-
-+if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv32")
-+ set(ATOMIC_LIBRARY atomic)
-+else()
-+ set(ATOMIC_LIBRARY "")
-+endif()
-+
- if(HAVE_FUNC_PTHREAD_SETNAME_NP)
- add_definitions(-DDLT_USE_PTHREAD_SETNAME_NP)
- message(STATUS "Using pthread_setname_np API to set thread name")
-@@ -44,7 +50,7 @@ else()
- message(STATUS "pthread_setname_np API not available on this platform")
- endif()
-
--target_link_libraries(dlt ${RT_LIBRARY} ${SOCKET_LIBRARY} Threads::Threads)
-+target_link_libraries(dlt ${RT_LIBRARY} ${SOCKET_LIBRARY} ${ATOMIC_LIBRARY} Threads::Threads)
-
- target_include_directories(dlt
- PUBLIC
---
-2.36.0
-
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.8.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
index 7a613bcc93..3d2e4a73f1 100644
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
@@ -1,38 +1,36 @@
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 \
+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.genivi.org/"
+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/GENIVI/${BPN}.git;protocol=https;branch=master \
+SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
file://0002-Don-t-execute-processes-as-a-specific-user.patch \
file://0004-Modify-systemd-config-directory.patch \
- file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
+ file://544.patch \
+ file://567.patch \
"
-SRCREV = "6a3bd901d825c7206797e36ea98e10a218f5aad2"
-
-PV .= "+2.18.9git${SRCPV}"
+SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
S = "${WORKDIR}/git"
-LDFLAGS:append:riscv64 = " -latomic"
-
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal dlt-examples dlt-adaptor dlt-adaptor-udp dlt-console ', '', d)} \
+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,,dlt-daemon-systemd"
+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"
@@ -43,25 +41,28 @@ PACKAGECONFIG[udp-connection] = "-DWITH_UDP_CONNECTION=ON,-DWITH_UDP_CONNECTION=
# 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-adaptor-udp] = "-DWITH_DLT_ADAPTOR_UDP=ON,-DWITH_DLT_ADAPTOR_UDP=OFF,,dlt-daemon-systemd"
+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,,dlt-daemon-systemd"
+PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF"
inherit autotools gettext cmake pkgconfig systemd
-EXTRA_OECMAKE += "-DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
+# -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', 'dlt-system', 'dlt-system.service', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'dlt-dbus', 'dlt-dbus.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', 'dlt-adaptor-udp', '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)} \
+ ${@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"
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 28db39ac20..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,9 +13,8 @@ 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;branch=master \
@@ -24,3 +23,8 @@ SRC_URI = "\
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/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 3f00621f71..9490ee09dc 100644
--- a/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb
+++ b/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb
@@ -13,6 +13,7 @@ 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
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 61b050aac6..9789ac16d4 100644
--- a/meta-oe/recipes-extended/figlet/figlet_git.bb
+++ b/meta-oe/recipes-extended/figlet/figlet_git.bb
@@ -8,7 +8,7 @@ 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
index b4634a2445..f5a1716c07 100644
--- 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
@@ -8,8 +8,7 @@ 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 [1]
-[1] https://github.com/fluent/fluent-bit/issues/5492
+Upstream-Status: Pending [https://github.com/fluent/fluent-bit/issues/5492]
---
CMakeLists.txt | 6 +-----
lib/chunkio/CMakeLists.txt | 7 +------
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-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/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
index 4358b2a512..425b838b78 100644
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch
@@ -8,6 +8,8 @@ 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/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/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
index a7d7dc8897..158857ae20 100644
--- 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
@@ -7,14 +7,11 @@ 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: Innapropriate due to fluent-bit having it's own Release
-flags that also overwrite bitbake ones.
+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(-)
-diff --git a/lib/mbedtls-2.28.0/CMakeLists.txt b/lib/mbedtls-2.28.0/CMakeLists.txt
-index d76bddc..e717846 100644
--- 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)
@@ -26,3 +23,12 @@ index d76bddc..e717846 100644
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
index 9d4d950d15..f6e3dce2f3 100644
--- 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
@@ -8,8 +8,7 @@ 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 [1]
-[1] https://github.com/fluent/fluent-bit/pull/5818
+Upstream-Status: Pending [https://github.com/fluent/fluent-bit/pull/5818]
---
cmake/FindJournald.cmake | 4 ++++
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/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.9.6.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb
index f98d416b24..fc06095475 100644
--- a/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.6.bb
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb
@@ -11,14 +11,25 @@ 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} \
+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[sha256sum] = "5ef7dd97e10936269fe5f4e5d3ebf16559333066f7d6757ba12464a9d6186570"
-
+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"
@@ -34,11 +45,9 @@ 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}|/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/|g'
+ find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|${TARGET_DBGSRC_DIR}/|g'
}
-FLB_JEMALLOC_OPTIONS_LIST = "--with-jemalloc-prefix=je_ --with-lg-quantum=3"
-
PACKAGECONFIG ?= "yaml"
LTO = ""
@@ -61,12 +70,23 @@ 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)}"
-EXTRA_OECMAKE:append:riscv64 = " -DFLB_DEPS='atomic'"
-EXTRA_OECMAKE:append:riscv32 = " -DFLB_DEPS='atomic'"
+# 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=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/"
+EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/"
TARGET_CC_ARCH += " ${SELECTED_OPTIMIZATION}"
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 c2d2f7f3f0..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
@@ -14,6 +14,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/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb b/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb
index 069fdf7bc2..97c354aba8 100644
--- a/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb
+++ b/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb
@@ -1,7 +1,6 @@
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 = "https://www.issihosts.com/haveged/index.html"
LICENSE = "GPL-3.0-only"
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/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_1.0.2.bb b/meta-oe/recipes-extended/hiredis/hiredis_1.0.2.bb
deleted file mode 100644
index 2ff4946883..0000000000
--- a/meta-oe/recipes-extended/hiredis/hiredis_1.0.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-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"
-DEPENDS = "redis"
-
-SRC_URI = "git://github.com/redis/hiredis;protocol=https;branch=master"
-SRCREV = "b731283245f3183af527237166261ad0768ba7d4"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
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.22.10.bb
index ac845ffcf9..be420b4837 100644
--- a/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb
+++ b/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb
@@ -5,18 +5,23 @@ 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"
+ 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 libusb"
+DEPENDS += "cups python3 libusb1 python3-setuptools-native"
-inherit autotools-brokensep python3-dir python3native pkgconfig systemd
+inherit autotools-brokensep python3-dir python3native python3targetconfig pkgconfig systemd
export STAGING_INCDIR
export STAGING_LIBDIR
@@ -24,7 +29,7 @@ export STAGING_LIBDIR
CFLAGS += "-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}"
EXTRA_OECONF += "\
- LIBUSBINCLUDEROOT=${STAGING_INCDIR} \
+ --enable-cups-drv-install \
--enable-cups-ppd-install \
--disable-network-build \
--disable-doc-build \
@@ -39,6 +44,7 @@ EXTRA_OECONF += "\
--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 \
"
@@ -66,14 +72,9 @@ RDEPENDS:${PN} += " \
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 "
+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"
diff --git a/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb b/meta-oe/recipes-extended/hwloc/hwloc_2.9.3.bb
index e6fed584f9..d72c5f2be5 100644
--- a/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
+++ b/meta-oe/recipes-extended/hwloc/hwloc_2.9.3.bb
@@ -5,22 +5,19 @@ DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \
HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
SECTION = "base"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b"
+LIC_FILES_CHKSUM = "file://COPYING;md5=79179bb373cd55cbd834463a514fb714"
-SRC_URI = "https://www.open-mpi.org/software/${BPN}/v1.11/downloads/${BP}.tar.bz2"
-SRC_URI[md5sum] = "3c792e23c209e9e1bafe9bdbc613d401"
-SRC_URI[sha256sum] = "a4494b7765f517c0990d1c7f09d98cb87755bb6b841e4e2cbfebca1b14bac9c8"
+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/"
-UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v1.11/"
-
-inherit autotools pkgconfig
+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[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"
diff --git a/meta-oe/recipes-extended/icewm/icewm_2.9.8.bb b/meta-oe/recipes-extended/icewm/icewm_3.4.5.bb
index 2c7ede7725..6e50231c83 100644
--- a/meta-oe/recipes-extended/icewm/icewm_2.9.8.bb
+++ b/meta-oe/recipes-extended/icewm/icewm_3.4.5.bb
@@ -5,7 +5,7 @@ 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] = "8d5d0f78a49c952f7f185d0f6713c6fabba597dcb713b1ac92e0e5795db29a25"
+SRC_URI[sha256sum] = "8d1afe9a2d5e28e88261b68906337449307e53f06c08218e1a6409083998a5f1"
UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases"
@@ -19,7 +19,7 @@ EXTRA_OECONF += "--with-libdir=${datadir}/icewm \
--enable-xinerama \
--enable-shape"
-DEPENDS = "asciidoc-native fontconfig fribidi gdk-pixbuf imlib2 libxft libxpm libxrandr \
+DEPENDS = "asciidoc-native fontconfig fribidi gdk-pixbuf imlib2 libxft libxpm libxrandr \
libxinerama libice libsm libx11 libxext libxrender libxcomposite libxdamage \
libxfixes"
DEPENDS:append = " qemu-native"
diff --git a/meta-oe/recipes-extended/iotop/iotop_1.21.bb b/meta-oe/recipes-extended/iotop/iotop_1.26.bb
index 8eebd691a7..9b36b57cb7 100644
--- a/meta-oe/recipes-extended/iotop/iotop_1.21.bb
+++ b/meta-oe/recipes-extended/iotop/iotop_1.26.bb
@@ -1,12 +1,13 @@
SUMMARY = "A top utility for I/O"
LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=48e7be78bd2671d08c9c3bad71f1cfaa"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=686f457fedcecd9b92d69e625291ffa2"
DEPENDS = "ncurses"
-SRC_URI = "https://github.com/Tomas-M/iotop/releases/download/v1.21/iotop-1.21.tar.xz"
-SRC_URI[sha256sum] = "7b4862ebc93909a3f800193140ca2464e926291a9c873b50dc31fa77e6d9383e"
-UPSTREAM_CHECK_URI = "https://github.com/Tomas-M/iotop/releases"
+SRC_URI = "git://github.com/Tomas-M/iotop.git;branch=master;protocol=https"
+SRCREV = "b15743b04bb04ff1fc6e197d21ba30365349edcb"
+
+S = "${WORKDIR}/git"
inherit pkgconfig
diff --git a/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.4.bb
index 4f8ea64a26..5f2993dd4f 100644
--- a/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb
+++ b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.4.bb
@@ -25,12 +25,12 @@ do_install () {
oe_runmake install
}
-PACKAGES += "${PYTHON_PN}-${BPN}"
+PACKAGES += "python3-${BPN}"
-RPROVIDES:${BPN}-dbg += "${PYTHON_PN}-${BPN}-dbg"
+RPROVIDES:${BPN}-dbg += "python3-${BPN}-dbg"
-FILES:${PYTHON_PN}-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so"
+FILES:python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so"
-SRCREV = "7860901f726f5d92689cb67243cc7f981f21f74b"
+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.14.bb b/meta-oe/recipes-extended/jansson/jansson_2.14.bb
index 945b31f580..833060686a 100644
--- a/meta-oe/recipes-extended/jansson/jansson_2.14.bb
+++ b/meta-oe/recipes-extended/jansson/jansson_2.14.bb
@@ -4,12 +4,17 @@ 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"
+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 autotools pkgconfig
+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 d003279966..bfa0e79d8f 100644
--- a/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
+++ b/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
@@ -2,9 +2,9 @@ SUMMARY = "A handy serial sniffer"
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;branch=master;protocol=https"
+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 15a7965935..6b60d89187 100644
--- a/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
+++ b/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
@@ -17,7 +17,7 @@ SRC_URI = "git://github.com/rnovacek/konkretcmpi.git;branch=master;protocol=http
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)} \
@@ -34,6 +34,6 @@ PACKAGES =+ "${PN}-python"
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
index 609e55f4ac..d540737bc9 100644
--- a/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
+++ b/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
@@ -10,21 +10,20 @@ DEPENDS += "libunwind"
SRC_URI = "git://github.com/ianlancetaylor/libbacktrace;protocol=https;branch=master"
-PV = "1.0+git${SRCPV}"
-SRCREV = "4f57c999716847e45505b3df170150876b545088"
+PV = "1.0+git"
+SRCREV = "9ae4f4ae4481b1e69d38ed810980d33103544613"
S = "${WORKDIR}/git"
inherit autotools
-EXTR_OECONF += "--with-system-libunwind"
-
-CFLAGS += "-fPIC"
+EXTRA_OECONF += "--with-system-libunwind --enable-shared --disable-static"
do_configure() {
oe_runconf
}
-# libunwind does not support RISCV yet
-COMPATIBLE_HOST:riscv64 = "null"
+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/files/0001-lvm-Do-not-include-duplicate-entries-in-bd_lvm_lvs-o.patch b/meta-oe/recipes-extended/libblockdev/files/0001-lvm-Do-not-include-duplicate-entries-in-bd_lvm_lvs-o.patch
deleted file mode 100644
index e608358bf7..0000000000
--- a/meta-oe/recipes-extended/libblockdev/files/0001-lvm-Do-not-include-duplicate-entries-in-bd_lvm_lvs-o.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From d10fb2c0ee60c97f4dfeab4506a347c26cb389df Mon Sep 17 00:00:00 2001
-From: Vojtech Trefny <vtrefny@redhat.com>
-Date: Tue, 7 Dec 2021 15:50:45 +0800
-Subject: [PATCH] lvm: Do not include duplicate entries in bd_lvm_lvs output
-
-We use "-o segtypes" for the "lvs" command which means multisegment
-LVs will be twice in the output.
-
-Signed-off-by: Vojtech Trefny <vtrefny@redhat.com>
-
-Upstream-Status: Backport [https://github.com/storaged-project/libblockdev/pull/671]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/plugins/lvm.c | 17 +++++++++++++++--
- tests/lvm_test.py | 41 +++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 56 insertions(+), 2 deletions(-)
-
-diff --git a/src/plugins/lvm.c b/src/plugins/lvm.c
-index 2be1dbd..acd5b84 100644
---- a/src/plugins/lvm.c
-+++ b/src/plugins/lvm.c
-@@ -1810,8 +1810,21 @@ BDLVMLVdata** bd_lvm_lvs (const gchar *vg_name, GError **error) {
- if (table && (num_items == 15)) {
- /* valid line, try to parse and record it */
- lvdata = get_lv_data_from_table (table, TRUE);
-- if (lvdata)
-- g_ptr_array_add (lvs, lvdata);
-+ if (lvdata) {
-+ /* ignore duplicate entries in lvs output, these are caused by multi segments LVs */
-+ for (gsize i = 0; i < lvs->len; i++) {
-+ if (g_strcmp0 (((BDLVMLVdata *) g_ptr_array_index (lvs, i))->lv_name, lvdata->lv_name) == 0) {
-+ g_debug("Duplicate LV entry for '%s' found in lvs output",
-+ lvdata->lv_name);
-+ bd_lvm_lvdata_free (lvdata);
-+ lvdata = NULL;
-+ break;
-+ }
-+ }
-+
-+ if (lvdata)
-+ g_ptr_array_add (lvs, lvdata);
-+ }
- } else
- if (table)
- g_hash_table_destroy (table);
-diff --git a/tests/lvm_test.py b/tests/lvm_test.py
-index eb94c91..ab0de21 100644
---- a/tests/lvm_test.py
-+++ b/tests/lvm_test.py
-@@ -915,6 +915,47 @@ class LvmTestLVs(LvmPVVGLVTestCase):
- lvs = BlockDev.lvm_lvs("testVG")
- self.assertEqual(len(lvs), 1)
-
-+class LvmTestLVsMultiSegment(LvmPVVGLVTestCase):
-+ def _clean_up(self):
-+ try:
-+ BlockDev.lvm_lvremove("testVG", "testLV2", True, None)
-+ except:
-+ pass
-+
-+ LvmPVVGLVTestCase._clean_up(self)
-+
-+ def test_lvs(self):
-+ """Verify that it's possible to gather info about LVs"""
-+
-+ succ = BlockDev.lvm_pvcreate(self.loop_dev, 0, 0, None)
-+ self.assertTrue(succ)
-+
-+ succ = BlockDev.lvm_vgcreate("testVG", [self.loop_dev], 0, None)
-+ self.assertTrue(succ)
-+
-+ succ = BlockDev.lvm_lvcreate("testVG", "testLV", 10 * 1024**2)
-+ self.assertTrue(succ)
-+
-+ lvs = BlockDev.lvm_lvs("testVG")
-+ self.assertEqual(len(lvs), 1)
-+ self.assertListEqual([lv.lv_name for lv in lvs], ["testLV"])
-+
-+ # add second LV
-+ succ = BlockDev.lvm_lvcreate("testVG", "testLV2", 10 * 1024**2)
-+ self.assertTrue(succ)
-+
-+ lvs = BlockDev.lvm_lvs("testVG")
-+ self.assertEqual(len(lvs), 2)
-+ self.assertListEqual([lv.lv_name for lv in lvs], ["testLV", "testLV2"])
-+
-+ # by resizing the first LV we will create two segments
-+ succ = BlockDev.lvm_lvresize("testVG", "testLV", 20 * 1024**2, None)
-+ self.assertTrue(succ)
-+
-+ lvs = BlockDev.lvm_lvs("testVG")
-+ self.assertEqual(len(lvs), 2)
-+ self.assertListEqual([lv.lv_name for lv in lvs], ["testLV", "testLV2"])
-+
- class LvmPVVGthpoolTestCase(LvmPVVGTestCase):
- def _clean_up(self):
- try:
---
-2.27.0
-
diff --git a/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb b/meta-oe/recipes-extended/libblockdev/libblockdev_3.1.1.bb
index 3e6df5689a..1ad8036d7b 100644
--- a/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb
+++ b/meta-oe/recipes-extended/libblockdev/libblockdev_3.1.1.bb
@@ -8,34 +8,32 @@ SECTION = "devel/lib"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-inherit autotools gobject-introspection pkgconfig
+inherit autotools gobject-introspection pkgconfig lib_package
-SRC_URI = "git://github.com/storaged-project/libblockdev;branch=2.x-branch;protocol=https \
- file://0001-lvm-Do-not-include-duplicate-entries-in-bd_lvm_lvs-o.patch \
-"
-SRCREV = "47ff12242c89e36a33259d18b7068b26c3bb1c64"
+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} += "${libdir}/python2.7/dist-packages ${libdir}/python3.*/site-packages"
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}"
-PACKAGECONFIG ??= "python3 lvm dm kmod parted fs escrow btrfs crypto mdraid kbd mpath nvdimm"
+PACKAGECONFIG ??= "python3 lvm lvm-dbus dm parted fs escrow btrfs crypto mdraid mpath nvdimm tools"
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"
+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_6.0.2.bb b/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
index cd586897a4..599416cb2a 100644
--- a/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
+++ b/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
@@ -29,6 +29,9 @@ EXTRA_OECMAKE += "${PLATFORM_CMAKE_FLAGS}"
PACKAGE_BEFORE_PN += "${PN}-examples-python ${PN}-examples"
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
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 2f67b12a8d..87778c6314 100644
--- a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
+++ b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
@@ -8,9 +8,9 @@ DEPENDS = "libusb1"
inherit autotools pkgconfig
-PV = "0.7.0"
+PV = "0.8.0"
-SRCREV = "47cbed5355ffda7b952193a770a9a9fa9f89b25b"
+SRCREV = "db9371cf9f38b5a3b2f6e4fae3f92eb052d2d929"
SRC_URI = "git://github.com/libdivecomputer/libdivecomputer.git;protocol=https;branch=master \
"
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 80ab730406..eb85a07e99 100644
--- a/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
+++ b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
@@ -23,9 +23,9 @@ 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.41.bb
index 0dea4aff5c..17ffc6cdc5 100644
--- a/meta-oe/recipes-extended/libidn/libidn_1.36.bb
+++ b/meta-oe/recipes-extended/libidn/libidn_1.41.bb
@@ -3,24 +3,27 @@ DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specification
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=df4be47940a91ee69556f5f71eed4aec \
+LIC_FILES_CHKSUM = "file://COPYING;md5=f95a3dc99fecfa9a0c4e726d4b5d822f \
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"
+ 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-idn-format-security-warnings.patch \
+ file://0001-largefile.m4-Sync-with-latest-gnulib.patch \
"
-SRC_URI[md5sum] = "813c7b268d1051ca02c3610986126f38"
-SRC_URI[sha256sum] = "14b67108344d81ba844631640df77c9071d9fb0659b080326ff5424e86b14038"
+#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
diff --git a/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb b/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
index daaff00395..81a3c26e04 100644
--- a/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
+++ b/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
@@ -8,20 +8,26 @@ DEPENDS = "libxml2 glib-2.0 swig python3"
inherit autotools pkgconfig python3native python3targetconfig
-SRCREV = "c5a30e9267068436a75b5d00fcbf95cb9c1f4dcd"
+SRCREV = "b8fcc89b74c9128a13b07cc15a0ce25dca0cd97e"
SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https;branch=master"
S = "${WORKDIR}/git"
-CVE_CHECK_IGNORE += "\
+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}${libdir}/python*/site-packages/plist/_plist.so ]; then
- chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so
+ if [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/plist/_plist.so ]; then
+ chrpath -d ${D}${PYTHON_SITEPACKAGES_DIR}/plist/_plist.so
fi
}
@@ -32,4 +38,4 @@ PACKAGES =+ "${PN}-utils \
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/*"
+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_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
index bbdfa3c960..800ddd9507 100644
--- a/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch
+++ b/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch
@@ -5,21 +5,22 @@ 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(-)
-diff --git a/Makefile b/Makefile
-index 1d70f17..c7e726e 100644
--- a/Makefile
+++ b/Makefile
-@@ -1,5 +1,5 @@
+@@ -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
---
-2.30.1
-
+- 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_git.bb b/meta-oe/recipes-extended/libleak/libleak_0.3.6.bb
index a83a11c684..e3e4c01acb 100644
--- a/meta-oe/recipes-extended/libleak/libleak_git.bb
+++ b/meta-oe/recipes-extended/libleak/libleak_0.3.6.bb
@@ -8,13 +8,12 @@ LIC_FILES_CHKSUM = "file://README.md;beginline=18;endline=21;md5=de4f705f12cdedb
DEPENDS += "libbacktrace"
+PE = "1"
+SRCREV = "1c56b0a2ba643db976f589ec04b246e693b6c0ce"
SRC_URI = "gitsm://github.com/WuBingzheng/libleak;protocol=https;branch=master \
file://0001-respect-environment-variables.patch \
"
-PV = "1.0+git${SRCPV}"
-SRCREV = "ea2bb608ae25701692269a37d39d77e966b887ac"
-
S = "${WORKDIR}/git"
do_configure () {
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.17.bb
index bac3a2c0bd..b094337e90 100644
--- a/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile_1.17.bb
@@ -4,21 +4,20 @@ 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.14.orig.tar.gz \
- ${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.14-1.debian.tar.bz2;name=1.14-1 \
+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[md5sum] = "420c056ba0cc4d1477e402f70ba2f5eb"
-SRC_URI[sha256sum] = "ab40d4a3e8cbc204f7e87fea637a4e4ddf9a1149aaa0a723a4267febd0b1d060"
+SRC_URI[sha256sum] = "6e937f3650afab4aac198f348b89b1ca42edceb17fb6bb0918f642143ccfd15e"
+SRC_URI[1.17-1.sha256sum] = "e3657c0e3facfeccb58900c0b48d56cd68ad5f9f24d1b4c6eaa69c26490fb673"
-SRC_URI[1.14-1.md5sum] = "f9a44928c3477d218c56252712ebc479"
-SRC_URI[1.14-1.sha256sum] = "73f9be769e602149391588c28f0f4f5cda131e30fb94c0777dbb23d811ac21ff"
-
-S = "${WORKDIR}/${BPN}"
+S = "${WORKDIR}/${BP}"
inherit autotools-brokensep
diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm.inc b/meta-oe/recipes-extended/liblognorm/liblognorm.inc
deleted file mode 100644
index 5a6cda6ca4..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-or-later"
-
-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 0857cc455b..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 = "LGPL-2.1-or-later"
-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_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.7.bb b/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.7.bb
deleted file mode 100644
index 6c0e315d79..0000000000
--- a/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.7.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require libmodbus.inc
-
-SRC_URI += "file://Fix-float-endianness-issue-on-big-endian-arch.patch"
-SRC_URI[sha256sum] = "7dfe958431d0570b271e1a5b329b76a658e89c614cf119eb5aadb725c87f8fbd"
-
-# 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/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 f892cc650d..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 = "GPL-2.0-only"
-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 setuptools3-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_2.0.6.bb b/meta-oe/recipes-extended/libqb/libqb_2.0.8.bb
index ce3606d777..3db9e2e66f 100644
--- a/meta-oe/recipes-extended/libqb/libqb_2.0.6.bb
+++ b/meta-oe/recipes-extended/libqb/libqb_2.0.8.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
inherit autotools pkgconfig
-SRCREV = "758044bed5f615c90818aa5431d00303288888e5"
+SRCREV = "002171bbcf4bc4728da56c1538afd9e9d814ecaf"
SRC_URI = "git://github.com/ClusterLabs/${BPN}.git;branch=main;protocol=https \
"
S = "${WORKDIR}/git"
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.17.15.bb
index d917a32472..28c64a1614 100644
--- a/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb
+++ b/meta-oe/recipes-extended/libreport/libreport_2.17.15.bb
@@ -4,20 +4,20 @@ 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 libtar libnewt libproxy rpm \
+ 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 = "eaff08f38d771d9362923765bb404b1514c5ca0a"
+
+SRCREV = "f6bb06a699617d078fcd4f8b71b4d063bf47b52b"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
@@ -26,12 +26,12 @@ S = "${WORKDIR}/git"
inherit features_check
REQUIRED_DISTRO_FEATURES = "systemd"
-inherit gettext autotools python3native pkgconfig
+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 += "--without-python2 --with-python3"
+EXTRA_OECONF += "--with-python3"
RDEPENDS:python3-libreport += "${PN}"
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 e22b25a168..6e6c8cc226 100644
--- a/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
+++ b/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
@@ -3,16 +3,13 @@ SECTION = "base"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-SRC_URI = "git://git.code.sf.net/p/libuio/code;branch=master \
- 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"
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 955dd5154b..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
@@ -5,7 +5,6 @@ SECTION = "libs"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PR = "r3"
DEPENDS:class-native = "freetype-native libpng-native jpeg-native"
DEPENDS = "freetype libpng jpeg expat gtk+"
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/libyang-add-stdint-h.patch b/meta-oe/recipes-extended/libyang/libyang/libyang-add-stdint-h.patch
deleted file mode 100644
index d357411146..0000000000
--- a/meta-oe/recipes-extended/libyang/libyang/libyang-add-stdint-h.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c7f3e2a8fe530beec6103cb9071ccc41458879aa Mon Sep 17 00:00:00 2001
-From: Tony Tascioglu <tony.tascioglu@windriver.com>
-Date: Mon, 21 Jun 2021 12:34:22 -0400
-Subject: [PATCH] libyang: fix initial build errors
-
-This patch addresses build errors seen when integrating libyang as a
-recipe.
-
-There is a missing include statement for stdint.h in utests.h which
-causes build problems. stdint.h is required to be imported by cmocka.h
-prior to the cmocka file. Adding the stdint allows it to build the
-tests correctly
-
-Upstream-Status: Submitted [ https://github.com/CESNET/libyang/pull/1819 ]
-
-Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
-Signed-off-by: Randy MacLeod <randy.macleod@windriver.com>
----
- tests/utests/utests.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/utests/utests.h b/tests/utests/utests.h
-index 7e85a66e..8eee26ce 100644
---- a/tests/utests/utests.h
-+++ b/tests/utests/utests.h
-@@ -22,6 +22,7 @@
- #include <stdarg.h>
- #include <stddef.h>
- #include <stdlib.h>
-+#include <stdint.h>
-
- #include <cmocka.h>
-
---
-2.32.0
diff --git a/meta-oe/recipes-extended/libyang/libyang/run-ptest b/meta-oe/recipes-extended/libyang/libyang/run-ptest
index 1c9f8f47f7..c507afb2f5 100644
--- a/meta-oe/recipes-extended/libyang/libyang/run-ptest
+++ b/meta-oe/recipes-extended/libyang/libyang/run-ptest
@@ -1,46 +1,18 @@
#!/bin/sh
-# Valid tests to run
-tests="utest_binary \
- utest_bits \
- utest_common \
- utest_hash_table \
- utest_inet_types \
- utest_int8 \
- utest_json \
- utest_list \
- utest_merge \
- utest_metadata \
- utest_parser_yang \
- utest_parser_yin \
- utest_pattern \
- utest_printer_yang \
- utest_printer_yin \
- utest_range \
- utest_schema \
- utest_set \
- utest_string \
- utest_tree_data \
- utest_tree_schema_compile \
- utest_types \
- utest_xml \
- utest_xpath \
- utest_yang_types \
- utest_yanglib"
# cd into right directory
ptestdir=$(dirname "$(readlink -f "$0")")
cd "$ptestdir"/tests || exit
-# Run specified tests
+tests=$(find * -type f -name 'utest_*')
+
for f in $tests
do
- if test -e ./"$f"; then
+ if test -x ./"$f"; then
if ./"$f" > ./"$f".out 2> ./"$f".err; then
echo "PASS: $f"
else
echo "FAIL: $f"
fi
- else
- echo "SKIP: $f"
fi
done
diff --git a/meta-oe/recipes-extended/libyang/libyang_2.0.194.bb b/meta-oe/recipes-extended/libyang/libyang_2.0.194.bb
deleted file mode 100644
index 548dcdd2f5..0000000000
--- a/meta-oe/recipes-extended/libyang/libyang_2.0.194.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-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 = "87375f15159545a87a1e0de200f5d9d67e9091d7"
-
-SRC_URI = "git://github.com/CESNET/libyang.git;branch=master;protocol=https \
- file://libyang-add-stdint-h.patch \
- file://run-ptest \
- "
-
-S = "${WORKDIR}/git"
-
-# Due to valgrind not supported on these arches:
-COMPATIBLE_HOST:riscv32 = "null"
-COMPATIBLE_HOST:armv5 = "null"
-COMPATIBLE_HOST:riscv64 = "null"
-
-# Main dependencies
-inherit cmake pkgconfig lib_package ptest
-DEPENDS = "libpcre2"
-DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)}"
-
-# Ptest dependencies
-RDEPENDS:${PN}-ptest += "valgrind"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
-EXTRA_OECMAKE += " ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON', '', d)}"
-
-do_install_ptest () {
- cp -fR ${B}/tests/ ${D}${PTEST_PATH}/
-}
-
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.9.2.bb b/meta-oe/recipes-extended/libzip/libzip_1.10.1.bb
index f4de8607a0..a314efc126 100644
--- a/meta-oe/recipes-extended/libzip/libzip_1.9.2.bb
+++ b/meta-oe/recipes-extended/libzip/libzip_1.10.1.bb
@@ -21,7 +21,6 @@ inherit cmake
SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
-SRC_URI[sha256sum] = "c93e9852b7b2dc931197831438fee5295976ee0ba24f8524a8907be5c2ba5937"
+SRC_URI[sha256sum] = "dc3c8d5b4c8bbd09626864f6bcf93de701540f761d76b85d7c7d710f4bd90318"
-# Patch for CVE-2017-12858 is applied in version 1.2.0.
-CVE_CHECK_IGNORE += "CVE-2017-12858"
+BBCLASSEXTEND += "native"
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
index d7ba6e14b2..834687b43b 100644
--- 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
@@ -12,7 +12,7 @@ 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'
+ 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() {
diff --git a/meta-oe/recipes-extended/logwatch/logwatch_7.6.bb b/meta-oe/recipes-extended/logwatch/logwatch_7.10.bb
index 8cb88157db..2efaa2b3c6 100644
--- a/meta-oe/recipes-extended/logwatch/logwatch_7.6.bb
+++ b/meta-oe/recipes-extended/logwatch/logwatch_7.10.bb
@@ -12,7 +12,7 @@ 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] = "689f3c68b99ef7af7d3c7007c3ff0a55d5674bdbf9c01f69a9f187726d6d4baf"
+SRC_URI[sha256sum] = "329df0991b879764ed7e50a869de5b6bfa70d241eb254397a5659d1ff5f2588f"
do_install() {
install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
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 3cbe785a52..5351a37db6 100644
--- a/meta-oe/recipes-extended/md5deep/md5deep_git.bb
+++ b/meta-oe/recipes-extended/md5deep/md5deep_git.bb
@@ -1,11 +1,10 @@
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 = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=9190f660105b9a56cdb272309bfd5491"
-PV = "4.4+git${SRCPV}"
+PV = "4.4+git"
SRCREV = "877613493ff44807888ce1928129574be393cbb0"
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-Fix-build-with-libc.patch b/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-build-with-libc.patch
deleted file mode 100644
index c1c118196a..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-build-with-libc.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 72e0fe484444169007e481c9b33d8f78ebe03674 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 27 May 2021 15:44:10 -0700
-Subject: [PATCH] Fix build with libc++
-
-In libc++ on 32-bit platforms, int64_t is defined as alias of long long. On 64-bit platforms: long.
-
-On the other hand in definition of std::chrono::duration aliases, that you can find here long long is used
-
-Therefore create custom unit to avoid incompatibility between libstdc++
-and libc++
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- extensions/expression-language/Expression.cpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/extensions/expression-language/Expression.cpp b/extensions/expression-language/Expression.cpp
-index a25e1d3f..68d6320c 100644
---- a/extensions/expression-language/Expression.cpp
-+++ b/extensions/expression-language/Expression.cpp
-@@ -629,7 +629,8 @@ Value expr_toDate(const std::vector<Value> &args) {
- #endif // EXPRESSION_LANGUAGE_USE_DATE
-
- Value expr_now(const std::vector<Value> &args) {
-- return Value(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
-+ using Milliseconds = std::chrono::duration<std::int64_t, std::chrono::milliseconds::period>;
-+ return Value(std::chrono::duration_cast<Milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
- }
-
- Value expr_unescapeCsv(const std::vector<Value> &args) {
---
-2.31.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 671d320195..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
+++ /dev/null
@@ -1,143 +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;branch=master;protocol=https \
- 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://0001-Fix-build-with-libc.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
- install -m 755 -d ${D}${libexecdir}/minifi-python
- 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|nifi.python.processor.dir=.*|nifi.python.processor.dir=${libexecdir}/minifi-python|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
-}
-
-CLEANBROKEN = "1"
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-91/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
index e09848f403..e8dfdea1e9 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/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
@@ -1,4 +1,4 @@
-From 9e37248870b2b955293754933c789ca00bca06ef Mon Sep 17 00:00:00 2001
+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
@@ -7,13 +7,16 @@ 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 | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ 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
-@@ -51,13 +51,11 @@ opt-level = 1
+@@ -59,13 +59,11 @@ opt-level = 1
rpath = false
lto = false
debug-assertions = true
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-91/0001-rewrite-cargo-host-linker-in-python3.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-rewrite-cargo-host-linker-in-python3.patch
index 7b938179c3..83f384e6c2 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/0001-rewrite-cargo-host-linker-in-python3.patch
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-rewrite-cargo-host-linker-in-python3.patch
@@ -1,4 +1,4 @@
-From 9eceb43dd676afe2f675bd65ab369ba4d14f6537 Mon Sep 17 00:00:00 2001
+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
@@ -18,12 +18,13 @@ 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 +++++++---
+ 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..ccd8bffec1 100755
+index cbd0472bf7..87d43ce9ec 100755
--- a/build/cargo-host-linker
+++ b/build/cargo-host-linker
@@ -1,3 +1,21 @@
@@ -51,6 +52,3 @@ index cbd0472bf7..ccd8bffec1 100755
+ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + sys.argv[1:]
+
+os.execvp(binary, args)
---
-2.33.1
-
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/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
index 5472eddbbb..4921a9028c 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/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
@@ -1,4 +1,4 @@
-From b13cad4abc53f816f64c8b0af70cb46820746c72 Mon Sep 17 00:00:00 2001
+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
@@ -28,15 +28,16 @@ It should be another process that deleted this file by using
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 8f35e89c73..84e256647d 100644
+index f5ff3acd79..44f69deceb 100644
--- a/build/moz.configure/util.configure
+++ b/build/moz.configure/util.configure
-@@ -222,7 +222,7 @@ def try_invoke_compiler(compiler, language, source, flags=None, onerror=None):
+@@ -254,7 +254,7 @@ def try_invoke_compiler(
"C++": ".cpp",
}[language]
@@ -45,6 +46,3 @@ index 8f35e89c73..84e256647d 100644
try:
source = source.encode("ascii", "replace")
---
-2.17.1
-
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/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
index 6ff83e3bb2..4c69155a68 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/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
@@ -1,4 +1,4 @@
-From 0133ddb86eb6e0741e02b0032c41468db6438530 Mon Sep 17 00:00:00 2001
+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
@@ -8,21 +8,22 @@ 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 fc66b520d0..15de9a2ee0 100755
+index 3a9461200d..33b3f49b0c 100755
--- a/moz.configure
+++ b/moz.configure
-@@ -994,15 +994,15 @@ def llvm_objdump(host_c_compiler, c_compiler, bindgen_config_paths):
- return (llvm_objdump,)
+@@ -723,15 +723,15 @@ check_prog(
+ )
-llvm_objdump = check_prog(
- "LLVM_OBJDUMP",
-- llvm_objdump,
+- llvm_tool("llvm-objdump"),
- what="llvm-objdump",
- when="--enable-compile-environment",
- paths=clang_search_path,
@@ -31,13 +32,13 @@ index fc66b520d0..15de9a2ee0 100755
-add_old_configure_assignment("LLVM_OBJDUMP", llvm_objdump)
+#llvm_objdump = check_prog(
+# "LLVM_OBJDUMP",
-+# 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)
- option("--enable-dtrace", help="Build with dtrace support")
+ def validate_readelf(path):
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/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
index c440bf178f..0f9d062205 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/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
@@ -1,21 +1,22 @@
-From 749ba11fd6a69c8180945d4866415d16ae06a9c0 Mon Sep 17 00:00:00 2001
+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: Inapppropriate [oe-core specific]
+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 cd77d72bb7..4b6481cbe3 100644
+index 7a2fd1ae70..e11f13b253 100644
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
-@@ -459,33 +459,7 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
+@@ -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
):
@@ -50,7 +51,7 @@ index cd77d72bb7..4b6481cbe3 100644
@depends(
-@@ -495,11 +469,7 @@ def rust_host_triple(
+@@ -522,11 +496,7 @@ def rust_host_triple(
def rust_target_triple(
rustc, target, compiler_info, rust_supported_targets, arm_target
):
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/0004-use-asm-sgidefs.h.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0004-use-asm-sgidefs.h.patch
index b56f0b95b5..6443d46b2c 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/0004-use-asm-sgidefs.h.patch
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0004-use-asm-sgidefs.h.patch
@@ -1,4 +1,4 @@
-From 65acc8800dba7e10da882871d4648241805c47ce Mon Sep 17 00:00:00 2001
+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>
@@ -18,13 +18,16 @@ 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>
+
---
- gdb/mips-linux-nat.c | 2 +-
+ 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
-@@ -52,7 +52,7 @@ extern "C" BOOLEAN NTAPI RtlGenRandom(PV
+@@ -53,7 +53,7 @@ extern "C" BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer,
# elif defined(__s390__)
# define GETRANDOM_NR 349
# elif defined(__mips__)
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-91/riscv32.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/riscv32.patch
index fe9c332a00..16f95659e2 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/riscv32.patch
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/riscv32.patch
@@ -1,11 +1,22 @@
-Add RISCV32 support
+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
-@@ -765,6 +765,9 @@ def split_triplet(triplet, allow_msvc=Fa
+@@ -584,6 +584,9 @@ def split_triplet(triplet, allow_wasi=False):
elif cpu.startswith("aarch64"):
canonical_cpu = "aarch64"
endianness = "little"
@@ -15,9 +26,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
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
-@@ -52,6 +52,7 @@ CPU_bitness = {
+@@ -51,6 +51,7 @@ CPU_bitness = {
"mips64": 64,
"ppc": 32,
"ppc64": 64,
@@ -25,17 +38,19 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
"riscv64": 64,
"s390": 32,
"s390x": 64,
-@@ -94,6 +95,7 @@ CPU_preprocessor_checks = OrderedDict(
+@@ -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__"),
- ("wasm32", "__wasm32__"),
+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
-@@ -1186,6 +1186,7 @@ class LinuxCrossCompileToolchainTest(Bas
+@@ -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},
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb b/meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb
index 9b990ecdf3..1269795d20 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb
@@ -11,14 +11,15 @@ SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/fire
file://fix-musl-build.patch \
file://0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \
file://riscv32.patch \
- file://0005-nojit-32bit-arch-fix.patch \
- file://0006-Fix-build-on-powerpc.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] = "d483a853cbf5c7f93621093432e3dc0b7ed847f2a5318b964828d19f9f087f3a"
+SRC_URI[sha256sum] = "af8086f23efc8492d286671f6035b1a915de6f4ed5c7897e40be0e1cb6b895ea"
-S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}"
+S = "${WORKDIR}/firefox-${PV}"
inherit pkgconfig perlnative python3native rust
@@ -28,7 +29,22 @@ 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 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}"
@@ -50,7 +66,7 @@ do_configure() {
cd ${B}
python3 ${S}/configure.py \
--enable-project=js \
- --target=${HOST_SYS} \
+ --target=${RUST_HOST_SYS} \
--host=${BUILD_SYS} \
--prefix=${prefix} \
--libdir=${libdir} \
@@ -59,6 +75,7 @@ do_configure() {
${JIT} \
${ICU}
}
+do_configure[cleandirs] += "${B}"
do_install() {
oe_runmake 'DESTDIR=${D}' install
@@ -66,14 +83,16 @@ do_install() {
inherit multilib_script multilib_header
-MULTILIB_SCRIPTS += " ${PN}-dev:${bindir}/js91-config"
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}"
+MULTILIB_SCRIPTS += "${PN}-dev:${bindir}/js${MAJ_VER}-config"
do_install:append() {
- oe_multilib_header mozjs-91/js-config.h
+ oe_multilib_header mozjs-${MAJ_VER}/js-config.h
sed -e 's@${STAGING_DIR_HOST}@@g' \
- -i ${D}${bindir}/js91-config
+ -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/mozjs/mozjs-91/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch b/meta-oe/recipes-extended/mozjs/mozjs-91/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch
deleted file mode 100644
index a2ccf6b916..0000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From e5b95b3918588e2930c9af7ba304c57e871b2d55 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(-)
-
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 3a164c6558..99dfc9054a 100644
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -823,7 +823,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")
-- return check_cmd_output(shell, config_sub, triplet).strip()
-+ return triplet
-
-
- @depends("--host", shell)
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch b/meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch
deleted file mode 100644
index f308b4863f..0000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Fix build when JIT is disabled on 32bit systems
-
-This fixes a compile time assert
-js/src/wasm/WasmFrame.cpp:57:3: error: static_assert failed due to requirement '(__builtin_offsetof(js::wasm::DebugFrame, frame_) + sizeof(js::wasm::Frame)) % Alignment == 0' "Aligned after pushing DebugFrame"
- static_assert((offsetof(DebugFrame, frame_) + sizeof(Frame)) % Alignment == 0,
- ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/js/src/wasm/WasmFrame.h
-+++ b/js/src/wasm/WasmFrame.h
-@@ -230,6 +230,8 @@ class DebugFrame {
- // Avoid -Wunused-private-field warnings.
- protected:
- #if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM) || \
-+ (defined(JS_CODEGEN_NONE) && \
-+ (defined(__riscv) && __riscv_xlen == 32) || defined(__mips__)) || \
- defined(JS_CODEGEN_X86) || defined(__wasi__)
- // See alignmentStaticAsserts(). For MIPS32, ARM32 and X86 DebugFrame is only
- // 4-byte aligned, so we add another word to get up to 8-byte
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch b/meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch
deleted file mode 100644
index 80bf746e40..0000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0e0548e3f95e22a39db8d5b934afe0672a3f801b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 1 Nov 2021 08:13:29 +0100
-Subject: [PATCH] Fix build on powerpc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Another fix for (this time JIT enabled)
-| <...>/irefox-91.2.0/js/src/wasm/WasmFrame.cpp:57:76: error: static assertion failed: Aligned after pushing DebugFrame
-| 57 | static_assert((offsetof(DebugFrame, frame_) + sizeof(Frame)) % Alignment == 0,
-| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- js/src/wasm/WasmFrame.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/js/src/wasm/WasmFrame.h b/js/src/wasm/WasmFrame.h
-index 893762e..2d90656 100644
---- a/js/src/wasm/WasmFrame.h
-+++ b/js/src/wasm/WasmFrame.h
-@@ -232,7 +232,7 @@ class DebugFrame {
- #if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM) || \
- (defined(JS_CODEGEN_NONE) && \
- (defined(__riscv) && __riscv_xlen == 32) || defined(__mips__)) || \
-- defined(JS_CODEGEN_X86) || defined(__wasi__)
-+ defined(JS_CODEGEN_X86) || defined(__wasi__) || defined(__powerpc__)
- // See alignmentStaticAsserts(). For MIPS32, ARM32 and X86 DebugFrame is only
- // 4-byte aligned, so we add another word to get up to 8-byte
- // alignment.
---
-2.31.1
-
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/fix-musl-build.patch b/meta-oe/recipes-extended/mozjs/mozjs-91/fix-musl-build.patch
deleted file mode 100644
index c0834af589..0000000000
--- a/meta-oe/recipes-extended/mozjs/mozjs-91/fix-musl-build.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream: No
-Reason: mozjs60 miscompiles on musl if built with HAVE_THREAD_TLS_KEYWORD:
-https://github.com/void-linux/void-packages/issues/2598
---- a/js/src/old-configure.in
-+++ b/js/src/old-configure.in
-@@ -1072,6 +1072,9 @@ if test "$ac_cv_thread_keyword" = yes; t
- *-android*|*-linuxandroid*)
- :
- ;;
-+ *-musl*)
-+ :
-+ ;;
- *)
- AC_DEFINE(HAVE_THREAD_TLS_KEYWORD)
- ;;
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 2a50550a0e..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;branch=master;protocol=https \
+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"
@@ -47,20 +48,20 @@ 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"
### 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 e0b6f569ca..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/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.7.1.bb b/meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb
index 7fc5d4218f..1c68b5f432 100644
--- a/meta-oe/recipes-extended/openwsman/openwsman_2.7.1.bb
+++ b/meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb
@@ -15,12 +15,13 @@ DEPENDS = "curl libxml2 openssl libpam"
inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"
-SRCREV = "6cdf3bee50388d8e5f70850322a4df57fd685a5e"
+SRCREV = "0120e256faa255d997d9a49d5207662c0b73d430"
-SRC_URI = "git://github.com/Openwsman/openwsman.git;branch=master;protocol=https \
+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"
diff --git a/meta-oe/recipes-extended/ostree/ostree/0001-Remove-unused-linux-fs.h-includes.patch b/meta-oe/recipes-extended/ostree/ostree/0001-Remove-unused-linux-fs.h-includes.patch
deleted file mode 100644
index 2659e4696d..0000000000
--- a/meta-oe/recipes-extended/ostree/ostree/0001-Remove-unused-linux-fs.h-includes.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 7d32c352f628747cfadabf9fe7fcc13608e5dfe6 Mon Sep 17 00:00:00 2001
-From: Colin Walters <walters@verbum.org>
-Date: Wed, 3 Aug 2022 10:37:40 -0400
-Subject: [PATCH] Remove unused `linux/fs.h` includes
-
-Prep for fixing conflicts introduced by newer glibc.
-cc https://github.com/ostreedev/ostree/issues/2685
-
-Upstream-Status: Backport [https://github.com/ostreedev/ostree/commit/edba4b33be10c05253bfa94895dfbc8477e44d76]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libostree/ostree-repo-commit.c | 1 -
- src/ostree/ot-main.c | 1 -
- 2 files changed, 2 deletions(-)
-
-diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c
-index afab3fdf..35b16c71 100644
---- a/src/libostree/ostree-repo-commit.c
-+++ b/src/libostree/ostree-repo-commit.c
-@@ -30,7 +30,6 @@
- #include <sys/xattr.h>
- #include <glib/gprintf.h>
- #include <sys/ioctl.h>
--#include <linux/fs.h>
- #include <ext2fs/ext2_fs.h>
-
- #include "otutil.h"
-diff --git a/src/ostree/ot-main.c b/src/ostree/ot-main.c
-index b7b50d67..7a4405a5 100644
---- a/src/ostree/ot-main.c
-+++ b/src/ostree/ot-main.c
-@@ -28,7 +28,6 @@
- #include <string.h>
- #include <sys/statvfs.h>
- #include <sys/mount.h>
--#include <linux/fs.h>
-
- #include "ot-main.h"
- #include "ostree.h"
---
-2.37.1
-
diff --git a/meta-oe/recipes-extended/ostree/ostree/0001-libostree-Remove-including-sys-mount.h.patch b/meta-oe/recipes-extended/ostree/ostree/0001-libostree-Remove-including-sys-mount.h.patch
deleted file mode 100644
index 5c2792cf89..0000000000
--- a/meta-oe/recipes-extended/ostree/ostree/0001-libostree-Remove-including-sys-mount.h.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7ff956e4088e0bdc6bfd429f99124a8a9256c181 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 6 Aug 2022 21:44:11 -0700
-Subject: [PATCH] libostree: Remove including sys/mount.h
-
-This conflicts with linux/mount.h which is included by linux/fs.h
-with glibc 2.36+
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libostree/ostree-sysroot-deploy.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
-index 2dc9f58b..61b19e42 100644
---- a/src/libostree/ostree-sysroot-deploy.c
-+++ b/src/libostree/ostree-sysroot-deploy.c
-@@ -23,7 +23,6 @@
- #include <gio/gunixoutputstream.h>
- #include <glib-unix.h>
- #include <stdint.h>
--#include <sys/mount.h>
- #include <sys/statvfs.h>
- #include <sys/socket.h>
- #include <sys/ioctl.h>
---
-2.37.1
-
diff --git a/meta-oe/recipes-extended/ostree/ostree/0001-s390x-se-luks-gencpio-There-is-no-bashism.patch b/meta-oe/recipes-extended/ostree/ostree/0001-s390x-se-luks-gencpio-There-is-no-bashism.patch
deleted file mode 100644
index 5cf5784f14..0000000000
--- a/meta-oe/recipes-extended/ostree/ostree/0001-s390x-se-luks-gencpio-There-is-no-bashism.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From dd55633e49aa43dede3c8e1770ae8761487f050e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 6 Aug 2022 21:52:31 -0700
-Subject: [PATCH] s390x-se-luks-gencpio: There is no bashism
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libostree/s390x-se-luks-gencpio | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libostree/s390x-se-luks-gencpio b/src/libostree/s390x-se-luks-gencpio
-index e821e2fe..96c1d123 100755
---- a/src/libostree/s390x-se-luks-gencpio
-+++ b/src/libostree/s390x-se-luks-gencpio
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # This script creates new initramdisk with LUKS config within
- set -euo pipefail
-
---
-2.37.1
-
diff --git a/meta-oe/recipes-extended/ostree/ostree_2022.5.bb b/meta-oe/recipes-extended/ostree/ostree_2024.5.bb
index b3d9ec56b7..2ea92f190c 100644
--- a/meta-oe/recipes-extended/ostree/ostree_2022.5.bb
+++ b/meta-oe/recipes-extended/ostree/ostree_2024.5.bb
@@ -9,6 +9,7 @@ LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
DEPENDS = " \
+ glib-2.0-native \
glib-2.0 \
e2fsprogs \
libcap \
@@ -17,20 +18,17 @@ DEPENDS = " \
bison-native \
"
-SRC_URI = " \
- gitsm://github.com/ostreedev/ostree;branch=main;protocol=https \
- file://0001-Remove-unused-linux-fs.h-includes.patch \
- file://0001-libostree-Remove-including-sys-mount.h.patch \
- file://0001-s390x-se-luks-gencpio-There-is-no-bashism.patch \
- file://run-ptest \
-"
-SRCREV = "15740d042c9c5258a1c082b5e228cf6f115edbb0"
+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"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+)"
+S = "${WORKDIR}/libostree-${PV}"
-S = "${WORKDIR}/git"
+inherit autotools bash-completion gobject-introspection github-releases gtk-doc manpages pkgconfig ptest-gnome systemd
-inherit autotools bash-completion gobject-introspection 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]
@@ -41,52 +39,57 @@ 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
+# 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 \
- soup \
+ curl \
"
-# We include soup because ostree can't (currently) be built without
+# 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 \
- soup \
+ curl \
"
PACKAGECONFIG:class-nativesdk ??= " \
${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
builtin-grub2-mkconfig \
gpgme \
- soup \
+ 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[glib] = "--with-crypto=glib"
+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[gnutls] = "--with-crypto=gnutls, , gnutls"
+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"
-PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse"
-PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
+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[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4"
+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_unitdir}/system, --without-libsystemd, systemd"
-PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline"
+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)} \
@@ -134,13 +137,12 @@ PACKAGE_BEFORE_PN = " \
${PN}-grub \
${PN}-mkinitcpio \
${PN}-switchroot \
- ${PN}-trivial-httpd \
"
FILES:${PN} += " \
${nonarch_libdir}/${BPN} \
${nonarch_libdir}/tmpfiles.d \
- ${systemd_unitdir}/system \
+ ${systemd_system_unitdir} \
${systemd_unitdir}/system-generators \
"
FILES:${PN}-dracut = " \
@@ -157,15 +159,9 @@ FILES:${PN}-mkinitcpio = " \
"
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 \
+ ${systemd_system_unitdir}/ostree-prepare-root.service \
"
-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 = " \
@@ -176,13 +172,18 @@ RDEPENDS:${PN}:class-target = " \
#
# 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")
+# xattr in DISTRO_FEATURES (default)
+# static ostree-prepare-root
+# overlayfs in your kernel
# 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")
+# 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 \
@@ -192,16 +193,17 @@ RDEPENDS:${PN}-ptest += " \
diffutils \
findutils \
grep \
+ locale-base-en-us \
python3-core \
python3-multiprocessing \
strace \
tar \
util-linux \
xz \
- ${PN}-trivial-httpd \
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"
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-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/p7zip_16.02.bb b/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
index 04923116cf..e795482eb6 100644
--- a/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
+++ b/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
@@ -10,6 +10,8 @@ SRC_URI = "http://downloads.sourceforge.net/p7zip/p7zip/${PV}/p7zip_${PV}_src_al
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"
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 1307f6dc4a..dc7280f099 100644
--- a/meta-oe/recipes-extended/p8platform/p8platform_git.bb
+++ b/meta-oe/recipes-extended/p8platform/p8platform_git.bb
@@ -4,11 +4,10 @@ HOMEPAGE = "http://libcec.pulse-eight.com/"
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;branch=master;protocol=https \
- 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"
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 7dd48b3b42..81d0746f89 100644
--- a/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb
+++ b/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb
@@ -11,7 +11,9 @@ REQUIRED_DISTRO_FEATURES = "pam"
SRCREV = "e2145df09469bf84878e4729b4ecd814efb797d1"
-SRC_URI = "git://github.com/PADL/pam_ccreds;branch=master;protocol=https"
+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"
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 7065529326..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
@@ -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"
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/0001-use-daxctl-libdaxctl.h-instead-of-ndctl-libdaxctl.h.patch b/meta-oe/recipes-extended/pmdk/pmdk/0001-use-daxctl-libdaxctl.h-instead-of-ndctl-libdaxctl.h.patch
deleted file mode 100644
index 0b03ffdea5..0000000000
--- a/meta-oe/recipes-extended/pmdk/pmdk/0001-use-daxctl-libdaxctl.h-instead-of-ndctl-libdaxctl.h.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 932252c0ba54a51c8bcf58b747656e29cdebfa6a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 26 Mar 2022 13:06:50 -0700
-Subject: [PATCH] use daxctl/libdaxctl.h instead of ndctl/libdaxctl.h
-
-Upstream-Status: Submitted [https://github.com/pmem/pmdk/pull/5413]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libpmem2/badblocks_ndctl.c | 2 +-
- src/libpmem2/region_namespace_ndctl.c | 2 +-
- src/libpmem2/usc_ndctl.c | 2 +-
- src/tools/daxio/daxio.c | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/libpmem2/badblocks_ndctl.c b/src/libpmem2/badblocks_ndctl.c
-index 9a5910bba..cc637f7f4 100644
---- a/src/libpmem2/badblocks_ndctl.c
-+++ b/src/libpmem2/badblocks_ndctl.c
-@@ -16,7 +16,7 @@
- #include <sys/sysmacros.h>
- #include <fcntl.h>
- #include <ndctl/libndctl.h>
--#include <ndctl/libdaxctl.h>
-+#include <daxctl/libdaxctl.h>
-
- #include "libpmem2.h"
- #include "pmem2_utils.h"
-diff --git a/src/libpmem2/region_namespace_ndctl.c b/src/libpmem2/region_namespace_ndctl.c
-index 1383796a9..e31185984 100644
---- a/src/libpmem2/region_namespace_ndctl.c
-+++ b/src/libpmem2/region_namespace_ndctl.c
-@@ -6,7 +6,7 @@
- */
-
- #include <ndctl/libndctl.h>
--#include <ndctl/libdaxctl.h>
-+#include <daxctl/libdaxctl.h>
- #include <sys/sysmacros.h>
- #include <fcntl.h>
-
-diff --git a/src/libpmem2/usc_ndctl.c b/src/libpmem2/usc_ndctl.c
-index be63e879b..c58032a83 100644
---- a/src/libpmem2/usc_ndctl.c
-+++ b/src/libpmem2/usc_ndctl.c
-@@ -5,7 +5,7 @@
- * usc_ndctl.c -- pmem2 usc function for platforms using ndctl
- */
- #include <ndctl/libndctl.h>
--#include <ndctl/libdaxctl.h>
-+#include <daxctl/libdaxctl.h>
- #include <sys/types.h>
- #include <sys/sysmacros.h>
- #include <fcntl.h>
-diff --git a/src/tools/daxio/daxio.c b/src/tools/daxio/daxio.c
-index 66cd0b7ae..7f2c89d48 100644
---- a/src/tools/daxio/daxio.c
-+++ b/src/tools/daxio/daxio.c
-@@ -21,7 +21,7 @@
- #include <string.h>
-
- #include <ndctl/libndctl.h>
--#include <ndctl/libdaxctl.h>
-+#include <daxctl/libdaxctl.h>
- #include <libpmem.h>
-
- #include "util.h"
---
-2.35.1
-
diff --git a/meta-oe/recipes-extended/pmdk/pmdk_1.11.1.bb b/meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb
index 33d04099c9..aeda236901 100644
--- a/meta-oe/recipes-extended/pmdk/pmdk_1.11.1.bb
+++ b/meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb
@@ -4,16 +4,15 @@ HOMEPAGE = "http://pmem.io"
SECTION = "libs"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b44ee63f162f9cdb18fff1224877aafd"
-DEPENDS = "ndctl"
+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=stable-1.11;protocol=https \
- file://0001-use-daxctl-libdaxctl.h-instead-of-ndctl-libdaxctl.h.patch"
-SRCREV = "5b21904a257eff47f2e87fcbf2de46111f03ddd8"
+SRC_URI = "git://github.com/pmem/pmdk.git;branch=master;protocol=https"
+SRCREV = "ba92d6b469d52d16f26279bebaf317bbdbb3822c"
inherit autotools-brokensep pkgconfig
diff --git a/meta-oe/recipes-extended/polkit/polkit/0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch b/meta-oe/recipes-extended/polkit/polkit/0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch
deleted file mode 100644
index c725c001dd..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit/0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 85c2dd9275cdfb369f613089f22733c0f1ba2aec Mon Sep 17 00:00:00 2001
-From: Jan Rybar <jrybar@redhat.com>
-Date: Tue, 25 Jan 2022 17:21:46 +0000
-Subject: [PATCH 1/3] pkexec: local privilege escalation (CVE-2021-4034)
-
-Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
-
----
- src/programs/pkcheck.c | 5 +++++
- src/programs/pkexec.c | 23 ++++++++++++++++++++---
- 2 files changed, 25 insertions(+), 3 deletions(-)
-
-CVE: CVE-2021-4034
-Upstream-Status: Backport [a2bf5c9c83b6ae46cbd5c779d3055bff81ded683]
-
-diff --git a/src/programs/pkcheck.c b/src/programs/pkcheck.c
-index f1bb4e1..768525c 100644
---- a/src/programs/pkcheck.c
-+++ b/src/programs/pkcheck.c
-@@ -363,6 +363,11 @@ main (int argc, char *argv[])
- local_agent_handle = NULL;
- ret = 126;
-
-+ if (argc < 1)
-+ {
-+ exit(126);
-+ }
-+
- /* Disable remote file access from GIO. */
- setenv ("GIO_USE_VFS", "local", 1);
-
-diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c
-index 7698c5c..84e5ef6 100644
---- a/src/programs/pkexec.c
-+++ b/src/programs/pkexec.c
-@@ -488,6 +488,15 @@ main (int argc, char *argv[])
- pid_t pid_of_caller;
- gpointer local_agent_handle;
-
-+
-+ /*
-+ * If 'pkexec' is called THIS wrong, someone's probably evil-doing. Don't be nice, just bail out.
-+ */
-+ if (argc<1)
-+ {
-+ exit(127);
-+ }
-+
- ret = 127;
- authority = NULL;
- subject = NULL;
-@@ -614,10 +623,10 @@ main (int argc, char *argv[])
-
- path = g_strdup (pwstruct.pw_shell);
- if (!path)
-- {
-+ {
- g_printerr ("No shell configured or error retrieving pw_shell\n");
- goto out;
-- }
-+ }
- /* If you change this, be sure to change the if (!command_line)
- case below too */
- command_line = g_strdup (path);
-@@ -636,7 +645,15 @@ main (int argc, char *argv[])
- goto out;
- }
- g_free (path);
-- argv[n] = path = s;
-+ path = s;
-+
-+ /* argc<2 and pkexec runs just shell, argv is guaranteed to be null-terminated.
-+ * /-less shell shouldn't happen, but let's be defensive and don't write to null-termination
-+ */
-+ if (argv[n] != NULL)
-+ {
-+ argv[n] = path;
-+ }
- }
- if (access (path, F_OK) != 0)
- {
---
-2.20.1
-
diff --git a/meta-oe/recipes-extended/polkit/polkit/0002-CVE-2021-4115-GHSL-2021-077-fix.patch b/meta-oe/recipes-extended/polkit/polkit/0002-CVE-2021-4115-GHSL-2021-077-fix.patch
deleted file mode 100644
index fcad872dc3..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit/0002-CVE-2021-4115-GHSL-2021-077-fix.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From c86aea01a06ad4d6c428137e9cfe2f74b1ae7f01 Mon Sep 17 00:00:00 2001
-From: Jan Rybar <jrybar@redhat.com>
-Date: Mon, 21 Feb 2022 08:29:05 +0000
-Subject: [PATCH 2/3] CVE-2021-4115 (GHSL-2021-077) fix
-
-Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
-
----
- src/polkit/polkitsystembusname.c | 38 ++++++++++++++++++++++++++++----
- 1 file changed, 34 insertions(+), 4 deletions(-)
-
-CVE: CVE-2021-4115
-Upstream-Status: Backport [41cb093f554da8772362654a128a84dd8a5542a7]
-
-diff --git a/src/polkit/polkitsystembusname.c b/src/polkit/polkitsystembusname.c
-index 8ed1363..2fbf5f1 100644
---- a/src/polkit/polkitsystembusname.c
-+++ b/src/polkit/polkitsystembusname.c
-@@ -62,6 +62,10 @@ enum
- PROP_NAME,
- };
-
-+
-+guint8 dbus_call_respond_fails; // has to be global because of callback
-+
-+
- static void subject_iface_init (PolkitSubjectIface *subject_iface);
-
- G_DEFINE_TYPE_WITH_CODE (PolkitSystemBusName, polkit_system_bus_name, G_TYPE_OBJECT,
-@@ -364,6 +368,7 @@ on_retrieved_unix_uid_pid (GObject *src,
- if (!v)
- {
- data->caught_error = TRUE;
-+ dbus_call_respond_fails += 1;
- }
- else
- {
-@@ -405,6 +410,8 @@ polkit_system_bus_name_get_creds_sync (PolkitSystemBusName *system_bus
- tmp_context = g_main_context_new ();
- g_main_context_push_thread_default (tmp_context);
-
-+ dbus_call_respond_fails = 0;
-+
- /* Do two async calls as it's basically as fast as one sync call.
- */
- g_dbus_connection_call (connection,
-@@ -432,11 +439,34 @@ polkit_system_bus_name_get_creds_sync (PolkitSystemBusName *system_bus
- on_retrieved_unix_uid_pid,
- &data);
-
-- while (!((data.retrieved_uid && data.retrieved_pid) || data.caught_error))
-- g_main_context_iteration (tmp_context, TRUE);
-+ while (TRUE)
-+ {
-+ /* If one dbus call returns error, we must wait until the other call
-+ * calls _call_finish(), otherwise fd leak is possible.
-+ * Resolves: GHSL-2021-077
-+ */
-
-- if (data.caught_error)
-- goto out;
-+ if ( (dbus_call_respond_fails > 1) )
-+ {
-+ // we got two faults, we can leave
-+ goto out;
-+ }
-+
-+ if ((data.caught_error && (data.retrieved_pid || data.retrieved_uid)))
-+ {
-+ // we got one fault and the other call finally finished, we can leave
-+ goto out;
-+ }
-+
-+ if ( !(data.retrieved_uid && data.retrieved_pid) )
-+ {
-+ g_main_context_iteration (tmp_context, TRUE);
-+ }
-+ else
-+ {
-+ break;
-+ }
-+ }
-
- if (out_uid)
- *out_uid = data.uid;
---
-2.20.1
-
diff --git a/meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch b/meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch
deleted file mode 100644
index 5b3660da2f..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 4ce27b66bb07b72cb96d3d43a75108a5a6e7e156 Mon Sep 17 00:00:00 2001
-From: Xi Ruoyao <xry111@mengyan1223.wang>
-Date: Tue, 10 Aug 2021 19:09:42 +0800
-Subject: [PATCH] jsauthority: port to mozjs-91
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/92]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- configure.ac | 2 +-
- meson.build | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index d807086..5a7fc11 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -80,7 +80,7 @@ PKG_CHECK_MODULES(GLIB, [gmodule-2.0 gio-unix-2.0 >= 2.30.0])
- AC_SUBST(GLIB_CFLAGS)
- AC_SUBST(GLIB_LIBS)
-
--PKG_CHECK_MODULES(LIBJS, [mozjs-78])
-+PKG_CHECK_MODULES(LIBJS, [mozjs-91])
-
- AC_SUBST(LIBJS_CFLAGS)
- AC_SUBST(LIBJS_CXXFLAGS)
-diff --git a/meson.build b/meson.build
-index b3702be..733bbff 100644
---- a/meson.build
-+++ b/meson.build
-@@ -126,7 +126,7 @@ expat_dep = dependency('expat')
- assert(cc.has_header('expat.h', dependencies: expat_dep), 'Can\'t find expat.h. Please install expat.')
- assert(cc.has_function('XML_ParserCreate', dependencies: expat_dep), 'Can\'t find expat library. Please install expat.')
-
--mozjs_dep = dependency('mozjs-78')
-+mozjs_dep = dependency('mozjs-91')
-
- dbus_dep = dependency('dbus-1')
- dbus_confdir = dbus_dep.get_pkgconfig_variable('datadir', define_variable: ['datadir', pk_prefix / pk_datadir]) #changed from sysconfdir with respect to commit#8eada3836465838
diff --git a/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch b/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch
deleted file mode 100644
index b8562f8ce2..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit/0003-Added-support-for-duktape-as-JS-engine.patch
+++ /dev/null
@@ -1,3459 +0,0 @@
-From 4af72493cb380ab5ce0dd7c5bcd25a8b5457d770 Mon Sep 17 00:00:00 2001
-From: Gustavo Lima Chaves <limachaves@gmail.com>
-Date: Tue, 25 Jan 2022 09:43:21 +0000
-Subject: [PATCH] Added support for duktape as JS engine
-
-Original author: Wu Xiaotian (@yetist)
-Resurrection author, runaway-killer author: Gustavo Lima Chaves (@limachaves)
-
-Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
-
-Upstream-Status: Backport [c7fc4e1b61f0fd82fc697c19c604af7e9fb291a2]
-Dropped change to .gitlab-ci.yml and adapted configure.ac due to other
-patches in meta-oe.
-
----
- buildutil/ax_pthread.m4 | 522 ++++++++
- configure.ac | 34 +-
- docs/man/polkit.xml | 4 +-
- meson.build | 16 +-
- meson_options.txt | 1 +
- src/polkitbackend/Makefile.am | 17 +-
- src/polkitbackend/meson.build | 14 +-
- src/polkitbackend/polkitbackendcommon.c | 530 +++++++++
- src/polkitbackend/polkitbackendcommon.h | 158 +++
- .../polkitbackendduktapeauthority.c | 1051 +++++++++++++++++
- .../polkitbackendjsauthority.cpp | 721 +----------
- .../etc/polkit-1/rules.d/10-testing.rules | 6 +-
- .../test-polkitbackendjsauthority.c | 2 +-
- 13 files changed, 2398 insertions(+), 678 deletions(-)
- create mode 100644 buildutil/ax_pthread.m4
- create mode 100644 src/polkitbackend/polkitbackendcommon.c
- create mode 100644 src/polkitbackend/polkitbackendcommon.h
- create mode 100644 src/polkitbackend/polkitbackendduktapeauthority.c
-
-diff --git a/buildutil/ax_pthread.m4 b/buildutil/ax_pthread.m4
-new file mode 100644
-index 0000000..9f35d13
---- /dev/null
-+++ b/buildutil/ax_pthread.m4
-@@ -0,0 +1,522 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_pthread.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
-+#
-+# DESCRIPTION
-+#
-+# This macro figures out how to build C programs using POSIX threads. It
-+# sets the PTHREAD_LIBS output variable to the threads library and linker
-+# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
-+# flags that are needed. (The user can also force certain compiler
-+# flags/libs to be tested by setting these environment variables.)
-+#
-+# Also sets PTHREAD_CC and PTHREAD_CXX to any special C compiler that is
-+# needed for multi-threaded programs (defaults to the value of CC
-+# respectively CXX otherwise). (This is necessary on e.g. AIX to use the
-+# special cc_r/CC_r compiler alias.)
-+#
-+# NOTE: You are assumed to not only compile your program with these flags,
-+# but also to link with them as well. For example, you might link with
-+# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
-+# $PTHREAD_CXX $CXXFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
-+#
-+# If you are only building threaded programs, you may wish to use these
-+# variables in your default LIBS, CFLAGS, and CC:
-+#
-+# LIBS="$PTHREAD_LIBS $LIBS"
-+# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+# CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
-+# CC="$PTHREAD_CC"
-+# CXX="$PTHREAD_CXX"
-+#
-+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
-+# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
-+# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
-+#
-+# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
-+# PTHREAD_PRIO_INHERIT symbol is defined when compiling with
-+# PTHREAD_CFLAGS.
-+#
-+# ACTION-IF-FOUND is a list of shell commands to run if a threads library
-+# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
-+# is not found. If ACTION-IF-FOUND is not specified, the default action
-+# will define HAVE_PTHREAD.
-+#
-+# Please let the authors know if this macro fails on any platform, or if
-+# you have any other suggestions or comments. This macro was based on work
-+# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
-+# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
-+# Alejandro Forero Cuervo to the autoconf macro repository. We are also
-+# grateful for the helpful feedback of numerous users.
-+#
-+# Updated for Autoconf 2.68 by Daniel Richard G.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-+# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
-+# Copyright (c) 2019 Marc Stevens <marc.stevens@cwi.nl>
-+#
-+# This program is free software: you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License as published by the
-+# Free Software Foundation, either version 3 of the License, or (at your
-+# option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-+# Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License along
-+# with this program. If not, see <https://www.gnu.org/licenses/>.
-+#
-+# As a special exception, the respective Autoconf Macro's copyright owner
-+# gives unlimited permission to copy, distribute and modify the configure
-+# scripts that are the output of Autoconf when processing the Macro. You
-+# need not follow the terms of the GNU General Public License when using
-+# or distributing such scripts, even though portions of the text of the
-+# Macro appear in them. The GNU General Public License (GPL) does govern
-+# all other use of the material that constitutes the Autoconf Macro.
-+#
-+# This special exception to the GPL applies to versions of the Autoconf
-+# Macro released by the Autoconf Archive. When you make and distribute a
-+# modified version of the Autoconf Macro, you may extend this special
-+# exception to the GPL to apply to your modified version as well.
-+
-+#serial 31
-+
-+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
-+AC_DEFUN([AX_PTHREAD], [
-+AC_REQUIRE([AC_CANONICAL_HOST])
-+AC_REQUIRE([AC_PROG_CC])
-+AC_REQUIRE([AC_PROG_SED])
-+AC_LANG_PUSH([C])
-+ax_pthread_ok=no
-+
-+# We used to check for pthread.h first, but this fails if pthread.h
-+# requires special compiler flags (e.g. on Tru64 or Sequent).
-+# It gets checked for in the link test anyway.
-+
-+# First of all, check if the user has set any of the PTHREAD_LIBS,
-+# etcetera environment variables, and if threads linking works using
-+# them:
-+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
-+ ax_pthread_save_CC="$CC"
-+ ax_pthread_save_CFLAGS="$CFLAGS"
-+ ax_pthread_save_LIBS="$LIBS"
-+ AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
-+ AS_IF([test "x$PTHREAD_CXX" != "x"], [CXX="$PTHREAD_CXX"])
-+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+ LIBS="$PTHREAD_LIBS $LIBS"
-+ AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
-+ AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
-+ AC_MSG_RESULT([$ax_pthread_ok])
-+ if test "x$ax_pthread_ok" = "xno"; then
-+ PTHREAD_LIBS=""
-+ PTHREAD_CFLAGS=""
-+ fi
-+ CC="$ax_pthread_save_CC"
-+ CFLAGS="$ax_pthread_save_CFLAGS"
-+ LIBS="$ax_pthread_save_LIBS"
-+fi
-+
-+# We must check for the threads library under a number of different
-+# names; the ordering is very important because some systems
-+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
-+# libraries is broken (non-POSIX).
-+
-+# Create a list of thread flags to try. Items with a "," contain both
-+# C compiler flags (before ",") and linker flags (after ","). Other items
-+# starting with a "-" are C compiler flags, and remaining items are
-+# library names, except for "none" which indicates that we try without
-+# any flags at all, and "pthread-config" which is a program returning
-+# the flags for the Pth emulation library.
-+
-+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
-+
-+# The ordering *is* (sometimes) important. Some notes on the
-+# individual items follow:
-+
-+# pthreads: AIX (must check this before -lpthread)
-+# none: in case threads are in libc; should be tried before -Kthread and
-+# other compiler flags to prevent continual compiler warnings
-+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
-+# (Note: HP C rejects this with "bad form for `-t' option")
-+# -pthreads: Solaris/gcc (Note: HP C also rejects)
-+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-+# doesn't hurt to check since this sometimes defines pthreads and
-+# -D_REENTRANT too), HP C (must be checked before -lpthread, which
-+# is present but should not be used directly; and before -mthreads,
-+# because the compiler interprets this as "-mt" + "-hreads")
-+# -mthreads: Mingw32/gcc, Lynx/gcc
-+# pthread: Linux, etcetera
-+# --thread-safe: KAI C++
-+# pthread-config: use pthread-config program (for GNU Pth library)
-+
-+case $host_os in
-+
-+ freebsd*)
-+
-+ # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-+ # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-+
-+ ax_pthread_flags="-kthread lthread $ax_pthread_flags"
-+ ;;
-+
-+ hpux*)
-+
-+ # From the cc(1) man page: "[-mt] Sets various -D flags to enable
-+ # multi-threading and also sets -lpthread."
-+
-+ ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
-+ ;;
-+
-+ openedition*)
-+
-+ # IBM z/OS requires a feature-test macro to be defined in order to
-+ # enable POSIX threads at all, so give the user a hint if this is
-+ # not set. (We don't define these ourselves, as they can affect
-+ # other portions of the system API in unpredictable ways.)
-+
-+ AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
-+ [
-+# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
-+ AX_PTHREAD_ZOS_MISSING
-+# endif
-+ ],
-+ [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
-+ ;;
-+
-+ solaris*)
-+
-+ # On Solaris (at least, for some versions), libc contains stubbed
-+ # (non-functional) versions of the pthreads routines, so link-based
-+ # tests will erroneously succeed. (N.B.: The stubs are missing
-+ # pthread_cleanup_push, or rather a function called by this macro,
-+ # so we could check for that, but who knows whether they'll stub
-+ # that too in a future libc.) So we'll check first for the
-+ # standard Solaris way of linking pthreads (-mt -lpthread).
-+
-+ ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags"
-+ ;;
-+esac
-+
-+# Are we compiling with Clang?
-+
-+AC_CACHE_CHECK([whether $CC is Clang],
-+ [ax_cv_PTHREAD_CLANG],
-+ [ax_cv_PTHREAD_CLANG=no
-+ # Note that Autoconf sets GCC=yes for Clang as well as GCC
-+ if test "x$GCC" = "xyes"; then
-+ AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
-+ [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
-+# if defined(__clang__) && defined(__llvm__)
-+ AX_PTHREAD_CC_IS_CLANG
-+# endif
-+ ],
-+ [ax_cv_PTHREAD_CLANG=yes])
-+ fi
-+ ])
-+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
-+
-+
-+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
-+
-+# Note that for GCC and Clang -pthread generally implies -lpthread,
-+# except when -nostdlib is passed.
-+# This is problematic using libtool to build C++ shared libraries with pthread:
-+# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460
-+# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333
-+# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555
-+# To solve this, first try -pthread together with -lpthread for GCC
-+
-+AS_IF([test "x$GCC" = "xyes"],
-+ [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"])
-+
-+# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first
-+
-+AS_IF([test "x$ax_pthread_clang" = "xyes"],
-+ [ax_pthread_flags="-pthread,-lpthread -pthread"])
-+
-+
-+# The presence of a feature test macro requesting re-entrant function
-+# definitions is, on some systems, a strong hint that pthreads support is
-+# correctly enabled
-+
-+case $host_os in
-+ darwin* | hpux* | linux* | osf* | solaris*)
-+ ax_pthread_check_macro="_REENTRANT"
-+ ;;
-+
-+ aix*)
-+ ax_pthread_check_macro="_THREAD_SAFE"
-+ ;;
-+
-+ *)
-+ ax_pthread_check_macro="--"
-+ ;;
-+esac
-+AS_IF([test "x$ax_pthread_check_macro" = "x--"],
-+ [ax_pthread_check_cond=0],
-+ [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
-+
-+
-+if test "x$ax_pthread_ok" = "xno"; then
-+for ax_pthread_try_flag in $ax_pthread_flags; do
-+
-+ case $ax_pthread_try_flag in
-+ none)
-+ AC_MSG_CHECKING([whether pthreads work without any flags])
-+ ;;
-+
-+ *,*)
-+ PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"`
-+ PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"`
-+ AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"])
-+ ;;
-+
-+ -*)
-+ AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
-+ PTHREAD_CFLAGS="$ax_pthread_try_flag"
-+ ;;
-+
-+ pthread-config)
-+ AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
-+ AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
-+ PTHREAD_CFLAGS="`pthread-config --cflags`"
-+ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
-+ ;;
-+
-+ *)
-+ AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
-+ PTHREAD_LIBS="-l$ax_pthread_try_flag"
-+ ;;
-+ esac
-+
-+ ax_pthread_save_CFLAGS="$CFLAGS"
-+ ax_pthread_save_LIBS="$LIBS"
-+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+ LIBS="$PTHREAD_LIBS $LIBS"
-+
-+ # Check for various functions. We must include pthread.h,
-+ # since some functions may be macros. (On the Sequent, we
-+ # need a special flag -Kthread to make this header compile.)
-+ # We check for pthread_join because it is in -lpthread on IRIX
-+ # while pthread_create is in libc. We check for pthread_attr_init
-+ # due to DEC craziness with -lpthreads. We check for
-+ # pthread_cleanup_push because it is one of the few pthread
-+ # functions on Solaris that doesn't have a non-functional libc stub.
-+ # We try pthread_create on general principles.
-+
-+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
-+# if $ax_pthread_check_cond
-+# error "$ax_pthread_check_macro must be defined"
-+# endif
-+ static void *some_global = NULL;
-+ static void routine(void *a)
-+ {
-+ /* To avoid any unused-parameter or
-+ unused-but-set-parameter warning. */
-+ some_global = a;
-+ }
-+ static void *start_routine(void *a) { return a; }],
-+ [pthread_t th; pthread_attr_t attr;
-+ pthread_create(&th, 0, start_routine, 0);
-+ pthread_join(th, 0);
-+ pthread_attr_init(&attr);
-+ pthread_cleanup_push(routine, 0);
-+ pthread_cleanup_pop(0) /* ; */])],
-+ [ax_pthread_ok=yes],
-+ [])
-+
-+ CFLAGS="$ax_pthread_save_CFLAGS"
-+ LIBS="$ax_pthread_save_LIBS"
-+
-+ AC_MSG_RESULT([$ax_pthread_ok])
-+ AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
-+
-+ PTHREAD_LIBS=""
-+ PTHREAD_CFLAGS=""
-+done
-+fi
-+
-+
-+# Clang needs special handling, because older versions handle the -pthread
-+# option in a rather... idiosyncratic way
-+
-+if test "x$ax_pthread_clang" = "xyes"; then
-+
-+ # Clang takes -pthread; it has never supported any other flag
-+
-+ # (Note 1: This will need to be revisited if a system that Clang
-+ # supports has POSIX threads in a separate library. This tends not
-+ # to be the way of modern systems, but it's conceivable.)
-+
-+ # (Note 2: On some systems, notably Darwin, -pthread is not needed
-+ # to get POSIX threads support; the API is always present and
-+ # active. We could reasonably leave PTHREAD_CFLAGS empty. But
-+ # -pthread does define _REENTRANT, and while the Darwin headers
-+ # ignore this macro, third-party headers might not.)
-+
-+ # However, older versions of Clang make a point of warning the user
-+ # that, in an invocation where only linking and no compilation is
-+ # taking place, the -pthread option has no effect ("argument unused
-+ # during compilation"). They expect -pthread to be passed in only
-+ # when source code is being compiled.
-+ #
-+ # Problem is, this is at odds with the way Automake and most other
-+ # C build frameworks function, which is that the same flags used in
-+ # compilation (CFLAGS) are also used in linking. Many systems
-+ # supported by AX_PTHREAD require exactly this for POSIX threads
-+ # support, and in fact it is often not straightforward to specify a
-+ # flag that is used only in the compilation phase and not in
-+ # linking. Such a scenario is extremely rare in practice.
-+ #
-+ # Even though use of the -pthread flag in linking would only print
-+ # a warning, this can be a nuisance for well-run software projects
-+ # that build with -Werror. So if the active version of Clang has
-+ # this misfeature, we search for an option to squash it.
-+
-+ AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
-+ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
-+ [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
-+ # Create an alternate version of $ac_link that compiles and
-+ # links in two steps (.c -> .o, .o -> exe) instead of one
-+ # (.c -> exe), because the warning occurs only in the second
-+ # step
-+ ax_pthread_save_ac_link="$ac_link"
-+ ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
-+ ax_pthread_link_step=`AS_ECHO(["$ac_link"]) | sed "$ax_pthread_sed"`
-+ ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
-+ ax_pthread_save_CFLAGS="$CFLAGS"
-+ for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
-+ AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
-+ CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
-+ ac_link="$ax_pthread_save_ac_link"
-+ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
-+ [ac_link="$ax_pthread_2step_ac_link"
-+ AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
-+ [break])
-+ ])
-+ done
-+ ac_link="$ax_pthread_save_ac_link"
-+ CFLAGS="$ax_pthread_save_CFLAGS"
-+ AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
-+ ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
-+ ])
-+
-+ case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
-+ no | unknown) ;;
-+ *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
-+ esac
-+
-+fi # $ax_pthread_clang = yes
-+
-+
-+
-+# Various other checks:
-+if test "x$ax_pthread_ok" = "xyes"; then
-+ ax_pthread_save_CFLAGS="$CFLAGS"
-+ ax_pthread_save_LIBS="$LIBS"
-+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+ LIBS="$PTHREAD_LIBS $LIBS"
-+
-+ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
-+ AC_CACHE_CHECK([for joinable pthread attribute],
-+ [ax_cv_PTHREAD_JOINABLE_ATTR],
-+ [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
-+ for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
-+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
-+ [int attr = $ax_pthread_attr; return attr /* ; */])],
-+ [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
-+ [])
-+ done
-+ ])
-+ AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
-+ test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
-+ test "x$ax_pthread_joinable_attr_defined" != "xyes"],
-+ [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
-+ [$ax_cv_PTHREAD_JOINABLE_ATTR],
-+ [Define to necessary symbol if this constant
-+ uses a non-standard name on your system.])
-+ ax_pthread_joinable_attr_defined=yes
-+ ])
-+
-+ AC_CACHE_CHECK([whether more special flags are required for pthreads],
-+ [ax_cv_PTHREAD_SPECIAL_FLAGS],
-+ [ax_cv_PTHREAD_SPECIAL_FLAGS=no
-+ case $host_os in
-+ solaris*)
-+ ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
-+ ;;
-+ esac
-+ ])
-+ AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
-+ test "x$ax_pthread_special_flags_added" != "xyes"],
-+ [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
-+ ax_pthread_special_flags_added=yes])
-+
-+ AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
-+ [ax_cv_PTHREAD_PRIO_INHERIT],
-+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
-+ [[int i = PTHREAD_PRIO_INHERIT;
-+ return i;]])],
-+ [ax_cv_PTHREAD_PRIO_INHERIT=yes],
-+ [ax_cv_PTHREAD_PRIO_INHERIT=no])
-+ ])
-+ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
-+ test "x$ax_pthread_prio_inherit_defined" != "xyes"],
-+ [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
-+ ax_pthread_prio_inherit_defined=yes
-+ ])
-+
-+ CFLAGS="$ax_pthread_save_CFLAGS"
-+ LIBS="$ax_pthread_save_LIBS"
-+
-+ # More AIX lossage: compile with *_r variant
-+ if test "x$GCC" != "xyes"; then
-+ case $host_os in
-+ aix*)
-+ AS_CASE(["x/$CC"],
-+ [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
-+ [#handle absolute path differently from PATH based program lookup
-+ AS_CASE(["x$CC"],
-+ [x/*],
-+ [
-+ AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])
-+ AS_IF([test "x${CXX}" != "x"], [AS_IF([AS_EXECUTABLE_P([${CXX}_r])],[PTHREAD_CXX="${CXX}_r"])])
-+ ],
-+ [
-+ AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])
-+ AS_IF([test "x${CXX}" != "x"], [AC_CHECK_PROGS([PTHREAD_CXX],[${CXX}_r],[$CXX])])
-+ ]
-+ )
-+ ])
-+ ;;
-+ esac
-+ fi
-+fi
-+
-+test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
-+test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX"
-+
-+AC_SUBST([PTHREAD_LIBS])
-+AC_SUBST([PTHREAD_CFLAGS])
-+AC_SUBST([PTHREAD_CC])
-+AC_SUBST([PTHREAD_CXX])
-+
-+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-+if test "x$ax_pthread_ok" = "xyes"; then
-+ ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
-+ :
-+else
-+ ax_pthread_ok=no
-+ $2
-+fi
-+AC_LANG_POP
-+])dnl AX_PTHREAD
-diff --git a/configure.ac b/configure.ac
-index b625743..bbf4768 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -80,11 +80,22 @@ PKG_CHECK_MODULES(GLIB, [gmodule-2.0 gio-unix-2.0 >= 2.30.0])
- AC_SUBST(GLIB_CFLAGS)
- AC_SUBST(GLIB_LIBS)
-
--PKG_CHECK_MODULES(LIBJS, [mozjs-78])
--
--AC_SUBST(LIBJS_CFLAGS)
--AC_SUBST(LIBJS_CXXFLAGS)
--AC_SUBST(LIBJS_LIBS)
-+dnl ---------------------------------------------------------------------------
-+dnl - Check javascript backend
-+dnl ---------------------------------------------------------------------------
-+AC_ARG_WITH(duktape, AS_HELP_STRING([--with-duktape],[Use Duktape as javascript backend]),with_duktape=yes,with_duktape=no)
-+AS_IF([test x${with_duktape} == xyes], [
-+ PKG_CHECK_MODULES(LIBJS, [duktape >= 2.2.0 ])
-+ AC_SUBST(LIBJS_CFLAGS)
-+ AC_SUBST(LIBJS_LIBS)
-+], [
-+ PKG_CHECK_MODULES(LIBJS, [mozjs-78])
-+
-+ AC_SUBST(LIBJS_CFLAGS)
-+ AC_SUBST(LIBJS_CXXFLAGS)
-+ AC_SUBST(LIBJS_LIBS)
-+])
-+AM_CONDITIONAL(USE_DUKTAPE, [test x$with_duktape == xyes], [Using duktape as javascript engine library])
-
- EXPAT_LIB=""
- AC_ARG_WITH(expat, [ --with-expat=<dir> Use expat from here],
-@@ -100,6 +111,12 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
- [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
- AC_SUBST(EXPAT_LIBS)
-
-+AX_PTHREAD([], [AC_MSG_ERROR([Cannot find the way to enable pthread support.])])
-+LIBS="$PTHREAD_LIBS $LIBS"
-+CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+CC="$PTHREAD_CC"
-+AC_CHECK_FUNCS([pthread_condattr_setclock])
-+
- AC_CHECK_FUNCS(clearenv fdatasync)
-
- if test "x$GCC" = "xyes"; then
-@@ -581,6 +598,13 @@ echo "
- PAM support: ${have_pam}
- systemdsystemunitdir: ${systemdsystemunitdir}
- polkitd user: ${POLKITD_USER}"
-+if test "x${with_duktape}" = xyes; then
-+echo "
-+ Javascript engine: Duktape"
-+else
-+echo "
-+ Javascript engine: Mozjs"
-+fi
-
- if test "$have_pam" = yes ; then
- echo "
-diff --git a/docs/man/polkit.xml b/docs/man/polkit.xml
-index 99aa474..90715a5 100644
---- a/docs/man/polkit.xml
-+++ b/docs/man/polkit.xml
-@@ -639,7 +639,9 @@ polkit.Result = {
- If user-provided code takes a long time to execute, an exception
- will be thrown which normally results in the function being
- terminated (the current limit is 15 seconds). This is used to
-- catch runaway scripts.
-+ catch runaway scripts. If the duktape JavaScript backend is
-+ compiled in, instead of mozjs, no exception will be thrown—the
-+ script will be killed right away (same timeout).
- </para>
-
- <para>
-diff --git a/meson.build b/meson.build
-index b3702be..7506231 100644
---- a/meson.build
-+++ b/meson.build
-@@ -126,7 +126,18 @@ expat_dep = dependency('expat')
- assert(cc.has_header('expat.h', dependencies: expat_dep), 'Can\'t find expat.h. Please install expat.')
- assert(cc.has_function('XML_ParserCreate', dependencies: expat_dep), 'Can\'t find expat library. Please install expat.')
-
--mozjs_dep = dependency('mozjs-78')
-+duktape_req_version = '>= 2.2.0'
-+
-+js_engine = get_option('js_engine')
-+if js_engine == 'duktape'
-+ js_dep = dependency('duktape', version: duktape_req_version)
-+ libm_dep = cc.find_library('m')
-+ thread_dep = dependency('threads')
-+ func = 'pthread_condattr_setclock'
-+ config_h.set('HAVE_' + func.to_upper(), cc.has_function(func, prefix : '#include <pthread.h>'))
-+elif js_engine == 'mozjs'
-+ js_dep = dependency('mozjs-78')
-+endif
-
- dbus_dep = dependency('dbus-1')
- dbus_confdir = dbus_dep.get_pkgconfig_variable('datadir', define_variable: ['datadir', pk_prefix / pk_datadir]) #changed from sysconfdir with respect to commit#8eada3836465838
-@@ -350,6 +361,9 @@ if enable_logind
- output += ' systemdsystemunitdir: ' + systemd_systemdsystemunitdir + '\n'
- endif
- output += ' polkitd user: ' + polkitd_user + ' \n'
-+output += ' Javascript engine: ' + js_engine + '\n'
-+if enable_logind
-+endif
- output += ' PAM support: ' + enable_pam.to_string() + '\n\n'
- if enable_pam
- output += ' PAM file auth: ' + pam_conf['PAM_FILE_INCLUDE_AUTH'] + '\n'
-diff --git a/meson_options.txt b/meson_options.txt
-index 25e3e77..76aa311 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -16,3 +16,4 @@ option('introspection', type: 'boolean', value: true, description: 'Enable intro
-
- option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
- option('man', type: 'boolean', value: false, description: 'build manual pages')
-+option('js_engine', type: 'combo', choices: ['mozjs', 'duktape'], value: 'duktape', description: 'javascript engine')
-diff --git a/src/polkitbackend/Makefile.am b/src/polkitbackend/Makefile.am
-index 7e3c080..935fb98 100644
---- a/src/polkitbackend/Makefile.am
-+++ b/src/polkitbackend/Makefile.am
-@@ -17,6 +17,8 @@ AM_CPPFLAGS = \
- -DPACKAGE_LIB_DIR=\""$(libdir)"\" \
- -D_POSIX_PTHREAD_SEMANTICS \
- -D_REENTRANT \
-+ -D_XOPEN_SOURCE=700 \
-+ -D_GNU_SOURCE=1 \
- $(NULL)
-
- noinst_LTLIBRARIES=libpolkit-backend-1.la
-@@ -31,9 +33,10 @@ libpolkit_backend_1_la_SOURCES = \
- polkitbackend.h \
- polkitbackendtypes.h \
- polkitbackendprivate.h \
-+ polkitbackendcommon.h polkitbackendcommon.c \
- polkitbackendauthority.h polkitbackendauthority.c \
- polkitbackendinteractiveauthority.h polkitbackendinteractiveauthority.c \
-- polkitbackendjsauthority.h polkitbackendjsauthority.cpp \
-+ polkitbackendjsauthority.h \
- polkitbackendactionpool.h polkitbackendactionpool.c \
- polkitbackendactionlookup.h polkitbackendactionlookup.c \
- $(NULL)
-@@ -51,19 +54,27 @@ libpolkit_backend_1_la_CFLAGS = \
- -D_POLKIT_BACKEND_COMPILATION \
- $(GLIB_CFLAGS) \
- $(LIBSYSTEMD_CFLAGS) \
-- $(LIBJS_CFLAGS) \
-+ $(LIBJS_CFLAGS) \
- $(NULL)
-
- libpolkit_backend_1_la_CXXFLAGS = $(libpolkit_backend_1_la_CFLAGS)
-
- libpolkit_backend_1_la_LIBADD = \
- $(GLIB_LIBS) \
-+ $(DUKTAPE_LIBS) \
- $(LIBSYSTEMD_LIBS) \
- $(top_builddir)/src/polkit/libpolkit-gobject-1.la \
- $(EXPAT_LIBS) \
-- $(LIBJS_LIBS) \
-+ $(LIBJS_LIBS) \
- $(NULL)
-
-+if USE_DUKTAPE
-+libpolkit_backend_1_la_SOURCES += polkitbackendduktapeauthority.c
-+libpolkit_backend_1_la_LIBADD += -lm
-+else
-+libpolkit_backend_1_la_SOURCES += polkitbackendjsauthority.cpp
-+endif
-+
- rulesdir = $(sysconfdir)/polkit-1/rules.d
- rules_DATA = 50-default.rules
-
-diff --git a/src/polkitbackend/meson.build b/src/polkitbackend/meson.build
-index 93c3c34..99f8e33 100644
---- a/src/polkitbackend/meson.build
-+++ b/src/polkitbackend/meson.build
-@@ -4,8 +4,8 @@ sources = files(
- 'polkitbackendactionlookup.c',
- 'polkitbackendactionpool.c',
- 'polkitbackendauthority.c',
-+ 'polkitbackendcommon.c',
- 'polkitbackendinteractiveauthority.c',
-- 'polkitbackendjsauthority.cpp',
- )
-
- output = 'initjs.h'
-@@ -21,7 +21,7 @@ sources += custom_target(
- deps = [
- expat_dep,
- libpolkit_gobject_dep,
-- mozjs_dep,
-+ js_dep,
- ]
-
- c_flags = [
-@@ -29,8 +29,18 @@ c_flags = [
- '-D_POLKIT_BACKEND_COMPILATION',
- '-DPACKAGE_DATA_DIR="@0@"'.format(pk_prefix / pk_datadir),
- '-DPACKAGE_SYSCONF_DIR="@0@"'.format(pk_prefix / pk_sysconfdir),
-+ '-D_XOPEN_SOURCE=700',
-+ '-D_GNU_SOURCE=1',
- ]
-
-+if js_engine == 'duktape'
-+ sources += files('polkitbackendduktapeauthority.c')
-+ deps += libm_dep
-+ deps += thread_dep
-+elif js_engine == 'mozjs'
-+ sources += files('polkitbackendjsauthority.cpp')
-+endif
-+
- if enable_logind
- sources += files('polkitbackendsessionmonitor-systemd.c')
-
-diff --git a/src/polkitbackend/polkitbackendcommon.c b/src/polkitbackend/polkitbackendcommon.c
-new file mode 100644
-index 0000000..6783dff
---- /dev/null
-+++ b/src/polkitbackend/polkitbackendcommon.c
-@@ -0,0 +1,530 @@
-+/*
-+ * Copyright (C) 2008 Red Hat, Inc.
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, 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
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General
-+ * Public License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ *
-+ * Author: David Zeuthen <davidz@redhat.com>
-+ */
-+
-+#include "polkitbackendcommon.h"
-+
-+static void
-+utils_child_watch_from_release_cb (GPid pid,
-+ gint status,
-+ gpointer user_data)
-+{
-+}
-+
-+static void
-+utils_spawn_data_free (UtilsSpawnData *data)
-+{
-+ if (data->timeout_source != NULL)
-+ {
-+ g_source_destroy (data->timeout_source);
-+ data->timeout_source = NULL;
-+ }
-+
-+ /* Nuke the child, if necessary */
-+ if (data->child_watch_source != NULL)
-+ {
-+ g_source_destroy (data->child_watch_source);
-+ data->child_watch_source = NULL;
-+ }
-+
-+ if (data->child_pid != 0)
-+ {
-+ GSource *source;
-+ kill (data->child_pid, SIGTERM);
-+ /* OK, we need to reap for the child ourselves - we don't want
-+ * to use waitpid() because that might block the calling
-+ * thread (the child might handle SIGTERM and use several
-+ * seconds for cleanup/rollback).
-+ *
-+ * So we use GChildWatch instead.
-+ *
-+ * Avoid taking a references to ourselves. but note that we need
-+ * to pass the GSource so we can nuke it once handled.
-+ */
-+ source = g_child_watch_source_new (data->child_pid);
-+ g_source_set_callback (source,
-+ (GSourceFunc) utils_child_watch_from_release_cb,
-+ source,
-+ (GDestroyNotify) g_source_destroy);
-+ g_source_attach (source, data->main_context);
-+ g_source_unref (source);
-+ data->child_pid = 0;
-+ }
-+
-+ if (data->child_stdout != NULL)
-+ {
-+ g_string_free (data->child_stdout, TRUE);
-+ data->child_stdout = NULL;
-+ }
-+
-+ if (data->child_stderr != NULL)
-+ {
-+ g_string_free (data->child_stderr, TRUE);
-+ data->child_stderr = NULL;
-+ }
-+
-+ if (data->child_stdout_channel != NULL)
-+ {
-+ g_io_channel_unref (data->child_stdout_channel);
-+ data->child_stdout_channel = NULL;
-+ }
-+ if (data->child_stderr_channel != NULL)
-+ {
-+ g_io_channel_unref (data->child_stderr_channel);
-+ data->child_stderr_channel = NULL;
-+ }
-+
-+ if (data->child_stdout_source != NULL)
-+ {
-+ g_source_destroy (data->child_stdout_source);
-+ data->child_stdout_source = NULL;
-+ }
-+ if (data->child_stderr_source != NULL)
-+ {
-+ g_source_destroy (data->child_stderr_source);
-+ data->child_stderr_source = NULL;
-+ }
-+
-+ if (data->child_stdout_fd != -1)
-+ {
-+ g_warn_if_fail (close (data->child_stdout_fd) == 0);
-+ data->child_stdout_fd = -1;
-+ }
-+ if (data->child_stderr_fd != -1)
-+ {
-+ g_warn_if_fail (close (data->child_stderr_fd) == 0);
-+ data->child_stderr_fd = -1;
-+ }
-+
-+ if (data->cancellable_handler_id > 0)
-+ {
-+ g_cancellable_disconnect (data->cancellable, data->cancellable_handler_id);
-+ data->cancellable_handler_id = 0;
-+ }
-+
-+ if (data->main_context != NULL)
-+ g_main_context_unref (data->main_context);
-+
-+ if (data->cancellable != NULL)
-+ g_object_unref (data->cancellable);
-+
-+ g_slice_free (UtilsSpawnData, data);
-+}
-+
-+/* called in the thread where @cancellable was cancelled */
-+static void
-+utils_on_cancelled (GCancellable *cancellable,
-+ gpointer user_data)
-+{
-+ UtilsSpawnData *data = (UtilsSpawnData *)user_data;
-+ GError *error;
-+
-+ error = NULL;
-+ g_warn_if_fail (g_cancellable_set_error_if_cancelled (cancellable, &error));
-+ g_simple_async_result_take_error (data->simple, error);
-+ g_simple_async_result_complete_in_idle (data->simple);
-+ g_object_unref (data->simple);
-+}
-+
-+static gboolean
-+utils_timeout_cb (gpointer user_data)
-+{
-+ UtilsSpawnData *data = (UtilsSpawnData *)user_data;
-+
-+ data->timed_out = TRUE;
-+
-+ /* ok, timeout is history, make sure we don't free it in spawn_data_free() */
-+ data->timeout_source = NULL;
-+
-+ /* we're done */
-+ g_simple_async_result_complete_in_idle (data->simple);
-+ g_object_unref (data->simple);
-+
-+ return FALSE; /* remove source */
-+}
-+
-+static void
-+utils_child_watch_cb (GPid pid,
-+ gint status,
-+ gpointer user_data)
-+{
-+ UtilsSpawnData *data = (UtilsSpawnData *)user_data;
-+ gchar *buf;
-+ gsize buf_size;
-+
-+ if (g_io_channel_read_to_end (data->child_stdout_channel, &buf, &buf_size, NULL) == G_IO_STATUS_NORMAL)
-+ {
-+ g_string_append_len (data->child_stdout, buf, buf_size);
-+ g_free (buf);
-+ }
-+ if (g_io_channel_read_to_end (data->child_stderr_channel, &buf, &buf_size, NULL) == G_IO_STATUS_NORMAL)
-+ {
-+ g_string_append_len (data->child_stderr, buf, buf_size);
-+ g_free (buf);
-+ }
-+
-+ data->exit_status = status;
-+
-+ /* ok, child watch is history, make sure we don't free it in spawn_data_free() */
-+ data->child_pid = 0;
-+ data->child_watch_source = NULL;
-+
-+ /* we're done */
-+ g_simple_async_result_complete_in_idle (data->simple);
-+ g_object_unref (data->simple);
-+}
-+
-+static gboolean
-+utils_read_child_stderr (GIOChannel *channel,
-+ GIOCondition condition,
-+ gpointer user_data)
-+{
-+ UtilsSpawnData *data = (UtilsSpawnData *)user_data;
-+ gchar buf[1024];
-+ gsize bytes_read;
-+
-+ g_io_channel_read_chars (channel, buf, sizeof buf, &bytes_read, NULL);
-+ g_string_append_len (data->child_stderr, buf, bytes_read);
-+ return TRUE;
-+}
-+
-+static gboolean
-+utils_read_child_stdout (GIOChannel *channel,
-+ GIOCondition condition,
-+ gpointer user_data)
-+{
-+ UtilsSpawnData *data = (UtilsSpawnData *)user_data;
-+ gchar buf[1024];
-+ gsize bytes_read;
-+
-+ g_io_channel_read_chars (channel, buf, sizeof buf, &bytes_read, NULL);
-+ g_string_append_len (data->child_stdout, buf, bytes_read);
-+ return TRUE;
-+}
-+
-+void
-+polkit_backend_common_spawn (const gchar *const *argv,
-+ guint timeout_seconds,
-+ GCancellable *cancellable,
-+ GAsyncReadyCallback callback,
-+ gpointer user_data)
-+{
-+ UtilsSpawnData *data;
-+ GError *error;
-+
-+ data = g_slice_new0 (UtilsSpawnData);
-+ data->timeout_seconds = timeout_seconds;
-+ data->simple = g_simple_async_result_new (NULL,
-+ callback,
-+ user_data,
-+ (gpointer*)polkit_backend_common_spawn);
-+ data->main_context = g_main_context_get_thread_default ();
-+ if (data->main_context != NULL)
-+ g_main_context_ref (data->main_context);
-+
-+ data->cancellable = cancellable != NULL ? (GCancellable*)g_object_ref (cancellable) : NULL;
-+
-+ data->child_stdout = g_string_new (NULL);
-+ data->child_stderr = g_string_new (NULL);
-+ data->child_stdout_fd = -1;
-+ data->child_stderr_fd = -1;
-+
-+ /* the life-cycle of UtilsSpawnData is tied to its GSimpleAsyncResult */
-+ g_simple_async_result_set_op_res_gpointer (data->simple, data, (GDestroyNotify) utils_spawn_data_free);
-+
-+ error = NULL;
-+ if (data->cancellable != NULL)
-+ {
-+ /* could already be cancelled */
-+ error = NULL;
-+ if (g_cancellable_set_error_if_cancelled (data->cancellable, &error))
-+ {
-+ g_simple_async_result_take_error (data->simple, error);
-+ g_simple_async_result_complete_in_idle (data->simple);
-+ g_object_unref (data->simple);
-+ goto out;
-+ }
-+
-+ data->cancellable_handler_id = g_cancellable_connect (data->cancellable,
-+ G_CALLBACK (utils_on_cancelled),
-+ data,
-+ NULL);
-+ }
-+
-+ error = NULL;
-+ if (!g_spawn_async_with_pipes (NULL, /* working directory */
-+ (gchar **) argv,
-+ NULL, /* envp */
-+ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
-+ NULL, /* child_setup */
-+ NULL, /* child_setup's user_data */
-+ &(data->child_pid),
-+ NULL, /* gint *stdin_fd */
-+ &(data->child_stdout_fd),
-+ &(data->child_stderr_fd),
-+ &error))
-+ {
-+ g_prefix_error (&error, "Error spawning: ");
-+ g_simple_async_result_take_error (data->simple, error);
-+ g_simple_async_result_complete_in_idle (data->simple);
-+ g_object_unref (data->simple);
-+ goto out;
-+ }
-+
-+ if (timeout_seconds > 0)
-+ {
-+ data->timeout_source = g_timeout_source_new_seconds (timeout_seconds);
-+ g_source_set_priority (data->timeout_source, G_PRIORITY_DEFAULT);
-+ g_source_set_callback (data->timeout_source, utils_timeout_cb, data, NULL);
-+ g_source_attach (data->timeout_source, data->main_context);
-+ g_source_unref (data->timeout_source);
-+ }
-+
-+ data->child_watch_source = g_child_watch_source_new (data->child_pid);
-+ g_source_set_callback (data->child_watch_source, (GSourceFunc) utils_child_watch_cb, data, NULL);
-+ g_source_attach (data->child_watch_source, data->main_context);
-+ g_source_unref (data->child_watch_source);
-+
-+ data->child_stdout_channel = g_io_channel_unix_new (data->child_stdout_fd);
-+ g_io_channel_set_flags (data->child_stdout_channel, G_IO_FLAG_NONBLOCK, NULL);
-+ data->child_stdout_source = g_io_create_watch (data->child_stdout_channel, G_IO_IN);
-+ g_source_set_callback (data->child_stdout_source, (GSourceFunc) utils_read_child_stdout, data, NULL);
-+ g_source_attach (data->child_stdout_source, data->main_context);
-+ g_source_unref (data->child_stdout_source);
-+
-+ data->child_stderr_channel = g_io_channel_unix_new (data->child_stderr_fd);
-+ g_io_channel_set_flags (data->child_stderr_channel, G_IO_FLAG_NONBLOCK, NULL);
-+ data->child_stderr_source = g_io_create_watch (data->child_stderr_channel, G_IO_IN);
-+ g_source_set_callback (data->child_stderr_source, (GSourceFunc) utils_read_child_stderr, data, NULL);
-+ g_source_attach (data->child_stderr_source, data->main_context);
-+ g_source_unref (data->child_stderr_source);
-+
-+ out:
-+ ;
-+}
-+
-+void
-+polkit_backend_common_on_dir_monitor_changed (GFileMonitor *monitor,
-+ GFile *file,
-+ GFile *other_file,
-+ GFileMonitorEvent event_type,
-+ gpointer user_data)
-+{
-+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (user_data);
-+
-+ /* TODO: maybe rate-limit so storms of events are collapsed into one with a 500ms resolution?
-+ * Because when editing a file with emacs we get 4-8 events..
-+ */
-+
-+ if (file != NULL)
-+ {
-+ gchar *name;
-+
-+ name = g_file_get_basename (file);
-+
-+ /* g_print ("event_type=%d file=%p name=%s\n", event_type, file, name); */
-+ if (!g_str_has_prefix (name, ".") &&
-+ !g_str_has_prefix (name, "#") &&
-+ g_str_has_suffix (name, ".rules") &&
-+ (event_type == G_FILE_MONITOR_EVENT_CREATED ||
-+ event_type == G_FILE_MONITOR_EVENT_DELETED ||
-+ event_type == G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT))
-+ {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Reloading rules");
-+ polkit_backend_common_reload_scripts (authority);
-+ }
-+ g_free (name);
-+ }
-+}
-+
-+gboolean
-+polkit_backend_common_spawn_finish (GAsyncResult *res,
-+ gint *out_exit_status,
-+ gchar **out_standard_output,
-+ gchar **out_standard_error,
-+ GError **error)
-+{
-+ GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
-+ UtilsSpawnData *data;
-+ gboolean ret = FALSE;
-+
-+ g_return_val_if_fail (G_IS_ASYNC_RESULT (res), FALSE);
-+ g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
-+
-+ g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == polkit_backend_common_spawn);
-+
-+ if (g_simple_async_result_propagate_error (simple, error))
-+ goto out;
-+
-+ data = (UtilsSpawnData*)g_simple_async_result_get_op_res_gpointer (simple);
-+
-+ if (data->timed_out)
-+ {
-+ g_set_error (error,
-+ G_IO_ERROR,
-+ G_IO_ERROR_TIMED_OUT,
-+ "Timed out after %d seconds",
-+ data->timeout_seconds);
-+ goto out;
-+ }
-+
-+ if (out_exit_status != NULL)
-+ *out_exit_status = data->exit_status;
-+
-+ if (out_standard_output != NULL)
-+ *out_standard_output = g_strdup (data->child_stdout->str);
-+
-+ if (out_standard_error != NULL)
-+ *out_standard_error = g_strdup (data->child_stderr->str);
-+
-+ ret = TRUE;
-+
-+ out:
-+ return ret;
-+}
-+
-+static const gchar *
-+polkit_backend_js_authority_get_name (PolkitBackendAuthority *authority)
-+{
-+ return "js";
-+}
-+
-+static const gchar *
-+polkit_backend_js_authority_get_version (PolkitBackendAuthority *authority)
-+{
-+ return PACKAGE_VERSION;
-+}
-+
-+static PolkitAuthorityFeatures
-+polkit_backend_js_authority_get_features (PolkitBackendAuthority *authority)
-+{
-+ return POLKIT_AUTHORITY_FEATURES_TEMPORARY_AUTHORIZATION;
-+}
-+
-+void
-+polkit_backend_common_js_authority_class_init_common (PolkitBackendJsAuthorityClass *klass)
-+{
-+ GObjectClass *gobject_class;
-+ PolkitBackendAuthorityClass *authority_class;
-+ PolkitBackendInteractiveAuthorityClass *interactive_authority_class;
-+
-+ gobject_class = G_OBJECT_CLASS (klass);
-+ gobject_class->finalize = polkit_backend_common_js_authority_finalize;
-+ gobject_class->set_property = polkit_backend_common_js_authority_set_property;
-+ gobject_class->constructed = polkit_backend_common_js_authority_constructed;
-+
-+ authority_class = POLKIT_BACKEND_AUTHORITY_CLASS (klass);
-+ authority_class->get_name = polkit_backend_js_authority_get_name;
-+ authority_class->get_version = polkit_backend_js_authority_get_version;
-+ authority_class->get_features = polkit_backend_js_authority_get_features;
-+
-+ interactive_authority_class = POLKIT_BACKEND_INTERACTIVE_AUTHORITY_CLASS (klass);
-+ interactive_authority_class->get_admin_identities = polkit_backend_common_js_authority_get_admin_auth_identities;
-+ interactive_authority_class->check_authorization_sync = polkit_backend_common_js_authority_check_authorization_sync;
-+
-+ g_object_class_install_property (gobject_class,
-+ PROP_RULES_DIRS,
-+ g_param_spec_boxed ("rules-dirs",
-+ NULL,
-+ NULL,
-+ G_TYPE_STRV,
-+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE));
-+}
-+
-+gint
-+polkit_backend_common_rules_file_name_cmp (const gchar *a,
-+ const gchar *b)
-+{
-+ gint ret;
-+ const gchar *a_base;
-+ const gchar *b_base;
-+
-+ a_base = strrchr (a, '/');
-+ b_base = strrchr (b, '/');
-+
-+ g_assert (a_base != NULL);
-+ g_assert (b_base != NULL);
-+ a_base += 1;
-+ b_base += 1;
-+
-+ ret = g_strcmp0 (a_base, b_base);
-+ if (ret == 0)
-+ {
-+ /* /etc wins over /usr */
-+ ret = g_strcmp0 (a, b);
-+ g_assert (ret != 0);
-+ }
-+
-+ return ret;
-+}
-+
-+const gchar *
-+polkit_backend_common_get_signal_name (gint signal_number)
-+{
-+ switch (signal_number)
-+ {
-+#define _HANDLE_SIG(sig) case sig: return #sig;
-+ _HANDLE_SIG (SIGHUP);
-+ _HANDLE_SIG (SIGINT);
-+ _HANDLE_SIG (SIGQUIT);
-+ _HANDLE_SIG (SIGILL);
-+ _HANDLE_SIG (SIGABRT);
-+ _HANDLE_SIG (SIGFPE);
-+ _HANDLE_SIG (SIGKILL);
-+ _HANDLE_SIG (SIGSEGV);
-+ _HANDLE_SIG (SIGPIPE);
-+ _HANDLE_SIG (SIGALRM);
-+ _HANDLE_SIG (SIGTERM);
-+ _HANDLE_SIG (SIGUSR1);
-+ _HANDLE_SIG (SIGUSR2);
-+ _HANDLE_SIG (SIGCHLD);
-+ _HANDLE_SIG (SIGCONT);
-+ _HANDLE_SIG (SIGSTOP);
-+ _HANDLE_SIG (SIGTSTP);
-+ _HANDLE_SIG (SIGTTIN);
-+ _HANDLE_SIG (SIGTTOU);
-+ _HANDLE_SIG (SIGBUS);
-+#ifdef SIGPOLL
-+ _HANDLE_SIG (SIGPOLL);
-+#endif
-+ _HANDLE_SIG (SIGPROF);
-+ _HANDLE_SIG (SIGSYS);
-+ _HANDLE_SIG (SIGTRAP);
-+ _HANDLE_SIG (SIGURG);
-+ _HANDLE_SIG (SIGVTALRM);
-+ _HANDLE_SIG (SIGXCPU);
-+ _HANDLE_SIG (SIGXFSZ);
-+#undef _HANDLE_SIG
-+ default:
-+ break;
-+ }
-+ return "UNKNOWN_SIGNAL";
-+}
-+
-+void
-+polkit_backend_common_spawn_cb (GObject *source_object,
-+ GAsyncResult *res,
-+ gpointer user_data)
-+{
-+ SpawnData *data = (SpawnData *)user_data;
-+ data->res = (GAsyncResult*)g_object_ref (res);
-+ g_main_loop_quit (data->loop);
-+}
-diff --git a/src/polkitbackend/polkitbackendcommon.h b/src/polkitbackend/polkitbackendcommon.h
-new file mode 100644
-index 0000000..dd700fc
---- /dev/null
-+++ b/src/polkitbackend/polkitbackendcommon.h
-@@ -0,0 +1,158 @@
-+/*
-+ * Copyright (C) 2008 Red Hat, Inc.
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, 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
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General
-+ * Public License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ *
-+ * Author: David Zeuthen <davidz@redhat.com>
-+ */
-+
-+#if !defined (_POLKIT_BACKEND_COMPILATION) && !defined(_POLKIT_BACKEND_INSIDE_POLKIT_BACKEND_H)
-+#error "Only <polkitbackend/polkitbackend.h> can be included directly, this file may disappear or change contents."
-+#endif
-+
-+#ifndef __POLKIT_BACKEND_COMMON_H
-+#define __POLKIT_BACKEND_COMMON_H
-+
-+#include "config.h"
-+#include <sys/wait.h>
-+#include <errno.h>
-+#include <pwd.h>
-+#include <grp.h>
-+#ifdef HAVE_NETGROUP_H
-+#include <netgroup.h>
-+#else
-+#include <netdb.h>
-+#endif
-+#include <string.h>
-+#include <glib/gstdio.h>
-+#include <locale.h>
-+#include <glib/gi18n-lib.h> //here, all things glib via glib.h (including -> gspawn.h)
-+
-+#include <polkit/polkit.h>
-+#include "polkitbackendjsauthority.h"
-+
-+#include <polkit/polkitprivate.h>
-+
-+#ifdef HAVE_LIBSYSTEMD
-+#include <systemd/sd-login.h>
-+#endif /* HAVE_LIBSYSTEMD */
-+
-+#define RUNAWAY_KILLER_TIMEOUT (15)
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+enum
-+{
-+ PROP_0,
-+ PROP_RULES_DIRS,
-+};
-+
-+typedef struct
-+{
-+ GSimpleAsyncResult *simple; /* borrowed reference */
-+ GMainContext *main_context; /* may be NULL */
-+
-+ GCancellable *cancellable; /* may be NULL */
-+ gulong cancellable_handler_id;
-+
-+ GPid child_pid;
-+ gint child_stdout_fd;
-+ gint child_stderr_fd;
-+
-+ GIOChannel *child_stdout_channel;
-+ GIOChannel *child_stderr_channel;
-+
-+ GSource *child_watch_source;
-+ GSource *child_stdout_source;
-+ GSource *child_stderr_source;
-+
-+ guint timeout_seconds;
-+ gboolean timed_out;
-+ GSource *timeout_source;
-+
-+ GString *child_stdout;
-+ GString *child_stderr;
-+
-+ gint exit_status;
-+} UtilsSpawnData;
-+
-+typedef struct
-+{
-+ GMainLoop *loop;
-+ GAsyncResult *res;
-+} SpawnData;
-+
-+void polkit_backend_common_spawn (const gchar *const *argv,
-+ guint timeout_seconds,
-+ GCancellable *cancellable,
-+ GAsyncReadyCallback callback,
-+ gpointer user_data);
-+void polkit_backend_common_spawn_cb (GObject *source_object,
-+ GAsyncResult *res,
-+ gpointer user_data);
-+gboolean polkit_backend_common_spawn_finish (GAsyncResult *res,
-+ gint *out_exit_status,
-+ gchar **out_standard_output,
-+ gchar **out_standard_error,
-+ GError **error);
-+
-+void polkit_backend_common_on_dir_monitor_changed (GFileMonitor *monitor,
-+ GFile *file,
-+ GFile *other_file,
-+ GFileMonitorEvent event_type,
-+ gpointer user_data);
-+
-+void polkit_backend_common_js_authority_class_init_common (PolkitBackendJsAuthorityClass *klass);
-+
-+gint polkit_backend_common_rules_file_name_cmp (const gchar *a,
-+ const gchar *b);
-+
-+const gchar *polkit_backend_common_get_signal_name (gint signal_number);
-+
-+/* To be provided by each JS backend, from here onwards ---------------------------------------------- */
-+
-+void polkit_backend_common_reload_scripts (PolkitBackendJsAuthority *authority);
-+void polkit_backend_common_js_authority_finalize (GObject *object);
-+void polkit_backend_common_js_authority_constructed (GObject *object);
-+GList *polkit_backend_common_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *_authority,
-+ PolkitSubject *caller,
-+ PolkitSubject *subject,
-+ PolkitIdentity *user_for_subject,
-+ gboolean subject_is_local,
-+ gboolean subject_is_active,
-+ const gchar *action_id,
-+ PolkitDetails *details);
-+void polkit_backend_common_js_authority_set_property (GObject *object,
-+ guint property_id,
-+ const GValue *value,
-+ GParamSpec *pspec);
-+PolkitImplicitAuthorization polkit_backend_common_js_authority_check_authorization_sync (PolkitBackendInteractiveAuthority *_authority,
-+ PolkitSubject *caller,
-+ PolkitSubject *subject,
-+ PolkitIdentity *user_for_subject,
-+ gboolean subject_is_local,
-+ gboolean subject_is_active,
-+ const gchar *action_id,
-+ PolkitDetails *details,
-+ PolkitImplicitAuthorization implicit);
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif /* __POLKIT_BACKEND_COMMON_H */
-+
-diff --git a/src/polkitbackend/polkitbackendduktapeauthority.c b/src/polkitbackend/polkitbackendduktapeauthority.c
-new file mode 100644
-index 0000000..c89dbcf
---- /dev/null
-+++ b/src/polkitbackend/polkitbackendduktapeauthority.c
-@@ -0,0 +1,1051 @@
-+/*
-+ * Copyright (C) 2008-2012 Red Hat, Inc.
-+ * Copyright (C) 2015 Tangent Space <jstpierre@mecheye.net>
-+ * Copyright (C) 2019 Wu Xiaotian <yetist@gmail.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, 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
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General
-+ * Public License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ *
-+ * Author: David Zeuthen <davidz@redhat.com>
-+ */
-+
-+#include <pthread.h>
-+
-+#include "polkitbackendcommon.h"
-+
-+#include "duktape.h"
-+
-+/* Built source and not too big to worry about deduplication */
-+#include "initjs.h" /* init.js */
-+
-+/**
-+ * SECTION:polkitbackendjsauthority
-+ * @title: PolkitBackendJsAuthority
-+ * @short_description: JS Authority
-+ * @stability: Unstable
-+ *
-+ * An (Duktape-based) implementation of #PolkitBackendAuthority that reads and
-+ * evaluates Javascript files and supports interaction with authentication
-+ * agents (virtue of being based on #PolkitBackendInteractiveAuthority).
-+ */
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+struct _PolkitBackendJsAuthorityPrivate
-+{
-+ gchar **rules_dirs;
-+ GFileMonitor **dir_monitors; /* NULL-terminated array of GFileMonitor instances */
-+
-+ duk_context *cx;
-+
-+ pthread_t runaway_killer_thread;
-+};
-+
-+enum
-+{
-+ RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET,
-+ RUNAWAY_KILLER_THREAD_EXIT_STATUS_SUCCESS,
-+ RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE,
-+};
-+
-+static gboolean execute_script_with_runaway_killer(PolkitBackendJsAuthority *authority,
-+ const gchar *filename);
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+G_DEFINE_TYPE (PolkitBackendJsAuthority, polkit_backend_js_authority, POLKIT_BACKEND_TYPE_INTERACTIVE_AUTHORITY);
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+static duk_ret_t js_polkit_log (duk_context *cx);
-+static duk_ret_t js_polkit_spawn (duk_context *cx);
-+static duk_ret_t js_polkit_user_is_in_netgroup (duk_context *cx);
-+
-+static const duk_function_list_entry js_polkit_functions[] =
-+{
-+ { "log", js_polkit_log, 1 },
-+ { "spawn", js_polkit_spawn, 1 },
-+ { "_userIsInNetGroup", js_polkit_user_is_in_netgroup, 2 },
-+ { NULL, NULL, 0 },
-+};
-+
-+static void report_error (void *udata,
-+ const char *msg)
-+{
-+ PolkitBackendJsAuthority *authority = udata;
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "fatal Duktape JS backend error: %s",
-+ (msg ? msg : "no message"));
-+}
-+
-+static void
-+polkit_backend_js_authority_init (PolkitBackendJsAuthority *authority)
-+{
-+ authority->priv = G_TYPE_INSTANCE_GET_PRIVATE (authority,
-+ POLKIT_BACKEND_TYPE_JS_AUTHORITY,
-+ PolkitBackendJsAuthorityPrivate);
-+}
-+
-+static void
-+load_scripts (PolkitBackendJsAuthority *authority)
-+{
-+ GList *files = NULL;
-+ GList *l;
-+ guint num_scripts = 0;
-+ GError *error = NULL;
-+ guint n;
-+
-+ files = NULL;
-+
-+ for (n = 0; authority->priv->rules_dirs != NULL && authority->priv->rules_dirs[n] != NULL; n++)
-+ {
-+ const gchar *dir_name = authority->priv->rules_dirs[n];
-+ GDir *dir = NULL;
-+
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Loading rules from directory %s",
-+ dir_name);
-+
-+ dir = g_dir_open (dir_name,
-+ 0,
-+ &error);
-+ if (dir == NULL)
-+ {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error opening rules directory: %s (%s, %d)",
-+ error->message, g_quark_to_string (error->domain), error->code);
-+ g_clear_error (&error);
-+ }
-+ else
-+ {
-+ const gchar *name;
-+ while ((name = g_dir_read_name (dir)) != NULL)
-+ {
-+ if (g_str_has_suffix (name, ".rules"))
-+ files = g_list_prepend (files, g_strdup_printf ("%s/%s", dir_name, name));
-+ }
-+ g_dir_close (dir);
-+ }
-+ }
-+
-+ files = g_list_sort (files, (GCompareFunc) polkit_backend_common_rules_file_name_cmp);
-+
-+ for (l = files; l != NULL; l = l->next)
-+ {
-+ const gchar *filename = (gchar *)l->data;
-+
-+ if (!execute_script_with_runaway_killer(authority, filename))
-+ continue;
-+ num_scripts++;
-+ }
-+
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Finished loading, compiling and executing %d rules",
-+ num_scripts);
-+ g_list_free_full (files, g_free);
-+}
-+
-+void
-+polkit_backend_common_reload_scripts (PolkitBackendJsAuthority *authority)
-+{
-+ duk_context *cx = authority->priv->cx;
-+
-+ duk_set_top (cx, 0);
-+ if (!duk_get_global_string (cx, "polkit")) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error deleting old rules, not loading new ones");
-+ return;
-+ }
-+ duk_push_string (cx, "_deleteRules");
-+
-+ duk_call_prop (cx, 0, 0);
-+
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Collecting garbage unconditionally...");
-+
-+ load_scripts (authority);
-+
-+ /* Let applications know we have new rules... */
-+ g_signal_emit_by_name (authority, "changed");
-+}
-+
-+static void
-+setup_file_monitors (PolkitBackendJsAuthority *authority)
-+{
-+ guint n;
-+ GPtrArray *p;
-+
-+ p = g_ptr_array_new ();
-+ for (n = 0; authority->priv->rules_dirs != NULL && authority->priv->rules_dirs[n] != NULL; n++)
-+ {
-+ GFile *file;
-+ GError *error;
-+ GFileMonitor *monitor;
-+
-+ file = g_file_new_for_path (authority->priv->rules_dirs[n]);
-+ error = NULL;
-+ monitor = g_file_monitor_directory (file,
-+ G_FILE_MONITOR_NONE,
-+ NULL,
-+ &error);
-+ g_object_unref (file);
-+ if (monitor == NULL)
-+ {
-+ g_warning ("Error monitoring directory %s: %s",
-+ authority->priv->rules_dirs[n],
-+ error->message);
-+ g_clear_error (&error);
-+ }
-+ else
-+ {
-+ g_signal_connect (monitor,
-+ "changed",
-+ G_CALLBACK (polkit_backend_common_on_dir_monitor_changed),
-+ authority);
-+ g_ptr_array_add (p, monitor);
-+ }
-+ }
-+ g_ptr_array_add (p, NULL);
-+ authority->priv->dir_monitors = (GFileMonitor**) g_ptr_array_free (p, FALSE);
-+}
-+
-+void
-+polkit_backend_common_js_authority_constructed (GObject *object)
-+{
-+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object);
-+ duk_context *cx;
-+
-+ cx = duk_create_heap (NULL, NULL, NULL, authority, report_error);
-+ if (cx == NULL)
-+ goto fail;
-+
-+ authority->priv->cx = cx;
-+
-+ duk_push_global_object (cx);
-+ duk_push_object (cx);
-+ duk_put_function_list (cx, -1, js_polkit_functions);
-+ duk_put_prop_string (cx, -2, "polkit");
-+
-+ /* load polkit objects/functions into JS context (e.g. addRule(),
-+ * _deleteRules(), _runRules() et al)
-+ */
-+ duk_eval_string (cx, init_js);
-+
-+ if (authority->priv->rules_dirs == NULL)
-+ {
-+ authority->priv->rules_dirs = g_new0 (gchar *, 3);
-+ authority->priv->rules_dirs[0] = g_strdup (PACKAGE_SYSCONF_DIR "/polkit-1/rules.d");
-+ authority->priv->rules_dirs[1] = g_strdup (PACKAGE_DATA_DIR "/polkit-1/rules.d");
-+ }
-+
-+ setup_file_monitors (authority);
-+ load_scripts (authority);
-+
-+ G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->constructed (object);
-+ return;
-+
-+ fail:
-+ g_critical ("Error initializing JavaScript environment");
-+ g_assert_not_reached ();
-+}
-+
-+void
-+polkit_backend_common_js_authority_finalize (GObject *object)
-+{
-+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object);
-+ guint n;
-+
-+ for (n = 0; authority->priv->dir_monitors != NULL && authority->priv->dir_monitors[n] != NULL; n++)
-+ {
-+ GFileMonitor *monitor = authority->priv->dir_monitors[n];
-+ g_signal_handlers_disconnect_by_func (monitor,
-+ G_CALLBACK (polkit_backend_common_on_dir_monitor_changed),
-+ authority);
-+ g_object_unref (monitor);
-+ }
-+ g_free (authority->priv->dir_monitors);
-+ g_strfreev (authority->priv->rules_dirs);
-+
-+ duk_destroy_heap (authority->priv->cx);
-+
-+ G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->finalize (object);
-+}
-+
-+void
-+polkit_backend_common_js_authority_set_property (GObject *object,
-+ guint property_id,
-+ const GValue *value,
-+ GParamSpec *pspec)
-+{
-+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object);
-+
-+ switch (property_id)
-+ {
-+ case PROP_RULES_DIRS:
-+ g_assert (authority->priv->rules_dirs == NULL);
-+ authority->priv->rules_dirs = (gchar **) g_value_dup_boxed (value);
-+ break;
-+
-+ default:
-+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-+ break;
-+ }
-+}
-+
-+static void
-+polkit_backend_js_authority_class_init (PolkitBackendJsAuthorityClass *klass)
-+{
-+ polkit_backend_common_js_authority_class_init_common (klass);
-+ g_type_class_add_private (klass, sizeof (PolkitBackendJsAuthorityPrivate));
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+static void
-+set_property_str (duk_context *cx,
-+ const gchar *name,
-+ const gchar *value)
-+{
-+ duk_push_string (cx, value);
-+ duk_put_prop_string (cx, -2, name);
-+}
-+
-+static void
-+set_property_strv (duk_context *cx,
-+ const gchar *name,
-+ GPtrArray *value)
-+{
-+ guint n;
-+ duk_push_array (cx);
-+ for (n = 0; n < value->len; n++)
-+ {
-+ duk_push_string (cx, g_ptr_array_index (value, n));
-+ duk_put_prop_index (cx, -2, n);
-+ }
-+ duk_put_prop_string (cx, -2, name);
-+}
-+
-+static void
-+set_property_int32 (duk_context *cx,
-+ const gchar *name,
-+ gint32 value)
-+{
-+ duk_push_int (cx, value);
-+ duk_put_prop_string (cx, -2, name);
-+}
-+
-+static void
-+set_property_bool (duk_context *cx,
-+ const char *name,
-+ gboolean value)
-+{
-+ duk_push_boolean (cx, value);
-+ duk_put_prop_string (cx, -2, name);
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+static gboolean
-+push_subject (duk_context *cx,
-+ PolkitSubject *subject,
-+ PolkitIdentity *user_for_subject,
-+ gboolean subject_is_local,
-+ gboolean subject_is_active,
-+ GError **error)
-+{
-+ gboolean ret = FALSE;
-+ pid_t pid;
-+ uid_t uid;
-+ gchar *user_name = NULL;
-+ GPtrArray *groups = NULL;
-+ struct passwd *passwd;
-+ char *seat_str = NULL;
-+ char *session_str = NULL;
-+
-+ if (!duk_get_global_string (cx, "Subject")) {
-+ return FALSE;
-+ }
-+
-+ duk_new (cx, 0);
-+
-+ if (POLKIT_IS_UNIX_PROCESS (subject))
-+ {
-+ pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject));
-+ }
-+ else if (POLKIT_IS_SYSTEM_BUS_NAME (subject))
-+ {
-+ PolkitSubject *process;
-+ process = polkit_system_bus_name_get_process_sync (POLKIT_SYSTEM_BUS_NAME (subject), NULL, error);
-+ if (process == NULL)
-+ goto out;
-+ pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (process));
-+ g_object_unref (process);
-+ }
-+ else
-+ {
-+ g_assert_not_reached ();
-+ }
-+
-+#ifdef HAVE_LIBSYSTEMD
-+ if (sd_pid_get_session (pid, &session_str) == 0)
-+ {
-+ if (sd_session_get_seat (session_str, &seat_str) == 0)
-+ {
-+ /* do nothing */
-+ }
-+ }
-+#endif /* HAVE_LIBSYSTEMD */
-+
-+ g_assert (POLKIT_IS_UNIX_USER (user_for_subject));
-+ uid = polkit_unix_user_get_uid (POLKIT_UNIX_USER (user_for_subject));
-+
-+ groups = g_ptr_array_new_with_free_func (g_free);
-+
-+ passwd = getpwuid (uid);
-+ if (passwd == NULL)
-+ {
-+ user_name = g_strdup_printf ("%d", (gint) uid);
-+ g_warning ("Error looking up info for uid %d: %m", (gint) uid);
-+ }
-+ else
-+ {
-+ gid_t gids[512];
-+ int num_gids = 512;
-+
-+ user_name = g_strdup (passwd->pw_name);
-+
-+ if (getgrouplist (passwd->pw_name,
-+ passwd->pw_gid,
-+ gids,
-+ &num_gids) < 0)
-+ {
-+ g_warning ("Error looking up groups for uid %d: %m", (gint) uid);
-+ }
-+ else
-+ {
-+ gint n;
-+ for (n = 0; n < num_gids; n++)
-+ {
-+ struct group *group;
-+ group = getgrgid (gids[n]);
-+ if (group == NULL)
-+ {
-+ g_ptr_array_add (groups, g_strdup_printf ("%d", (gint) gids[n]));
-+ }
-+ else
-+ {
-+ g_ptr_array_add (groups, g_strdup (group->gr_name));
-+ }
-+ }
-+ }
-+ }
-+
-+ set_property_int32 (cx, "pid", pid);
-+ set_property_str (cx, "user", user_name);
-+ set_property_strv (cx, "groups", groups);
-+ set_property_str (cx, "seat", seat_str);
-+ set_property_str (cx, "session", session_str);
-+ set_property_bool (cx, "local", subject_is_local);
-+ set_property_bool (cx, "active", subject_is_active);
-+
-+ ret = TRUE;
-+
-+ out:
-+ free (session_str);
-+ free (seat_str);
-+ g_free (user_name);
-+ if (groups != NULL)
-+ g_ptr_array_unref (groups);
-+
-+ return ret;
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+static gboolean
-+push_action_and_details (duk_context *cx,
-+ const gchar *action_id,
-+ PolkitDetails *details,
-+ GError **error)
-+{
-+ gchar **keys;
-+ guint n;
-+
-+ if (!duk_get_global_string (cx, "Action")) {
-+ return FALSE;
-+ }
-+
-+ duk_new (cx, 0);
-+
-+ set_property_str (cx, "id", action_id);
-+
-+ keys = polkit_details_get_keys (details);
-+ for (n = 0; keys != NULL && keys[n] != NULL; n++)
-+ {
-+ gchar *key;
-+ const gchar *value;
-+ key = g_strdup_printf ("_detail_%s", keys[n]);
-+ value = polkit_details_lookup (details, keys[n]);
-+ set_property_str (cx, key, value);
-+ g_free (key);
-+ }
-+ g_strfreev (keys);
-+
-+ return TRUE;
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+typedef struct {
-+ PolkitBackendJsAuthority *authority;
-+ const gchar *filename;
-+ pthread_cond_t cond;
-+ pthread_mutex_t mutex;
-+ gint ret;
-+} RunawayKillerCtx;
-+
-+static gpointer
-+runaway_killer_thread_execute_js (gpointer user_data)
-+{
-+ RunawayKillerCtx *ctx = user_data;
-+ duk_context *cx = ctx->authority->priv->cx;
-+
-+ int oldtype, pthread_err;
-+
-+ if ((pthread_err = pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority),
-+ "Error setting thread cancel type: %s",
-+ strerror(pthread_err));
-+ goto err;
-+ }
-+
-+ GFile *file = g_file_new_for_path(ctx->filename);
-+ char *contents;
-+ gsize len;
-+
-+ if (!g_file_load_contents(file, NULL, &contents, &len, NULL, NULL)) {
-+ polkit_backend_authority_log(POLKIT_BACKEND_AUTHORITY(ctx->authority),
-+ "Error loading script %s", ctx->filename);
-+ g_object_unref(file);
-+ goto err;
-+ }
-+
-+ g_object_unref(file);
-+
-+ /* evaluate the script, trying to print context in any syntax errors
-+ found */
-+ if (duk_peval_lstring(cx, contents, len) != 0)
-+ {
-+ polkit_backend_authority_log(POLKIT_BACKEND_AUTHORITY(ctx->authority),
-+ "Error compiling script %s: %s", ctx->filename,
-+ duk_safe_to_string(cx, -1));
-+ duk_pop(cx);
-+ goto free_err;
-+ }
-+ g_free(contents);
-+
-+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_SUCCESS;
-+ goto end;
-+
-+free_err:
-+ g_free(contents);
-+err:
-+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE;
-+end:
-+ if ((pthread_err = pthread_cond_signal(&ctx->cond))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority),
-+ "Error signaling on condition variable: %s",
-+ strerror(pthread_err));
-+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE;
-+ }
-+ return NULL;
-+}
-+
-+static gpointer
-+runaway_killer_thread_call_js (gpointer user_data)
-+{
-+ RunawayKillerCtx *ctx = user_data;
-+ duk_context *cx = ctx->authority->priv->cx;
-+ int oldtype, pthread_err;
-+
-+ if ((pthread_err = pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority),
-+ "Error setting thread cancel type: %s",
-+ strerror(pthread_err));
-+ goto err;
-+ }
-+
-+ if (duk_pcall_prop (cx, 0, 2) != DUK_EXEC_SUCCESS)
-+ {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority),
-+ "Error evaluating admin rules: ",
-+ duk_safe_to_string (cx, -1));
-+ goto err;
-+ }
-+
-+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_SUCCESS;
-+ goto end;
-+
-+err:
-+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE;
-+end:
-+ if ((pthread_err = pthread_cond_signal(&ctx->cond))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (ctx->authority),
-+ "Error signaling on condition variable: %s",
-+ strerror(pthread_err));
-+ ctx->ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE;
-+ }
-+ return NULL;
-+}
-+
-+#if defined (HAVE_PTHREAD_CONDATTR_SETCLOCK)
-+# if defined(CLOCK_MONOTONIC)
-+# define PK_CLOCK CLOCK_MONOTONIC
-+# elif defined(CLOCK_BOOTTIME)
-+# define PK_CLOCK CLOCK_BOOTTIME
-+# else
-+ /* No suitable clock */
-+# undef HAVE_PTHREAD_CONDATTR_SETCLOCK
-+# define PK_CLOCK CLOCK_REALTIME
-+# endif
-+#else /* ! HAVE_PTHREAD_CONDATTR_SETCLOCK */
-+# define PK_CLOCK CLOCK_REALTIME
-+#endif /* ! HAVE_PTHREAD_CONDATTR_SETCLOCK */
-+
-+static gboolean
-+runaway_killer_common(PolkitBackendJsAuthority *authority, RunawayKillerCtx *ctx, void *js_context_cb (void *user_data))
-+{
-+ int pthread_err;
-+ gboolean cancel = FALSE;
-+ pthread_condattr_t attr;
-+ struct timespec abs_time;
-+
-+#ifdef HAVE_PTHREAD_CONDATTR_SETCLOCK
-+ if ((pthread_err = pthread_condattr_init(&attr))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error initializing condition variable attributes: %s",
-+ strerror(pthread_err));
-+ return FALSE;
-+ }
-+ if ((pthread_err = pthread_condattr_setclock(&attr, PK_CLOCK))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error setting condition variable attributes: %s",
-+ strerror(pthread_err));
-+ goto err_clean_condattr;
-+ }
-+ /* Init again, with needed attr */
-+ if ((pthread_err = pthread_cond_init(&ctx->cond, &attr))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error initializing condition variable: %s",
-+ strerror(pthread_err));
-+ goto err_clean_condattr;
-+ }
-+#endif
-+
-+ if ((pthread_err = pthread_mutex_lock(&ctx->mutex))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error locking mutex: %s",
-+ strerror(pthread_err));
-+ goto err_clean_cond;
-+ }
-+
-+ if (clock_gettime(PK_CLOCK, &abs_time)) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error getting system's monotonic time: %s",
-+ strerror(errno));
-+ goto err_clean_cond;
-+ }
-+ abs_time.tv_sec += RUNAWAY_KILLER_TIMEOUT;
-+
-+ if ((pthread_err = pthread_create(&authority->priv->runaway_killer_thread, NULL,
-+ js_context_cb, ctx))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error creating runaway JS killer thread: %s",
-+ strerror(pthread_err));
-+ goto err_clean_cond;
-+ }
-+
-+ while (ctx->ret == RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET) /* loop to treat spurious wakeups */
-+ if (pthread_cond_timedwait(&ctx->cond, &ctx->mutex, &abs_time) == ETIMEDOUT) {
-+ cancel = TRUE;
-+
-+ /* Log that we are terminating the script */
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Terminating runaway script after %d seconds",
-+ RUNAWAY_KILLER_TIMEOUT);
-+
-+ break;
-+ }
-+
-+ if ((pthread_err = pthread_mutex_unlock(&ctx->mutex))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error unlocking mutex: %s",
-+ strerror(pthread_err));
-+ goto err_clean_cond;
-+ }
-+
-+ if (cancel) {
-+ if ((pthread_err = pthread_cancel (authority->priv->runaway_killer_thread))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error cancelling runaway JS killer thread: %s",
-+ strerror(pthread_err));
-+ goto err_clean_cond;
-+ }
-+ }
-+ if ((pthread_err = pthread_join (authority->priv->runaway_killer_thread, NULL))) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error joining runaway JS killer thread: %s",
-+ strerror(pthread_err));
-+ goto err_clean_cond;
-+ }
-+
-+ return ctx->ret == RUNAWAY_KILLER_THREAD_EXIT_STATUS_SUCCESS;
-+
-+ err_clean_cond:
-+#ifdef HAVE_PTHREAD_CONDATTR_SETCLOCK
-+ pthread_cond_destroy(&ctx->cond);
-+#endif
-+ err_clean_condattr:
-+#ifdef HAVE_PTHREAD_CONDATTR_SETCLOCK
-+ pthread_condattr_destroy(&attr);
-+#endif
-+ return FALSE;
-+}
-+
-+/* Blocking for at most RUNAWAY_KILLER_TIMEOUT */
-+static gboolean
-+execute_script_with_runaway_killer(PolkitBackendJsAuthority *authority,
-+ const gchar *filename)
-+{
-+ RunawayKillerCtx ctx = {.authority = authority, .filename = filename,
-+ .ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET,
-+ .mutex = PTHREAD_MUTEX_INITIALIZER,
-+ .cond = PTHREAD_COND_INITIALIZER};
-+
-+ return runaway_killer_common(authority, &ctx, &runaway_killer_thread_execute_js);
-+}
-+
-+/* Calls already stacked function and args. Blocking for at most
-+ * RUNAWAY_KILLER_TIMEOUT. If timeout is the case, ctx.ret will be
-+ * RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET, thus returning FALSE.
-+ */
-+static gboolean
-+call_js_function_with_runaway_killer(PolkitBackendJsAuthority *authority)
-+{
-+ RunawayKillerCtx ctx = {.authority = authority,
-+ .ret = RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET,
-+ .mutex = PTHREAD_MUTEX_INITIALIZER,
-+ .cond = PTHREAD_COND_INITIALIZER};
-+
-+ return runaway_killer_common(authority, &ctx, &runaway_killer_thread_call_js);
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+GList *
-+polkit_backend_common_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *_authority,
-+ PolkitSubject *caller,
-+ PolkitSubject *subject,
-+ PolkitIdentity *user_for_subject,
-+ gboolean subject_is_local,
-+ gboolean subject_is_active,
-+ const gchar *action_id,
-+ PolkitDetails *details)
-+{
-+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (_authority);
-+ GList *ret = NULL;
-+ guint n;
-+ GError *error = NULL;
-+ const char *ret_str = NULL;
-+ gchar **ret_strs = NULL;
-+ duk_context *cx = authority->priv->cx;
-+
-+ duk_set_top (cx, 0);
-+ if (!duk_get_global_string (cx, "polkit")) {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error deleting old rules, not loading new ones");
-+ goto out;
-+ }
-+
-+ duk_push_string (cx, "_runAdminRules");
-+
-+ if (!push_action_and_details (cx, action_id, details, &error))
-+ {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error converting action and details to JS object: %s",
-+ error->message);
-+ g_clear_error (&error);
-+ goto out;
-+ }
-+
-+ if (!push_subject (cx, subject, user_for_subject, subject_is_local, subject_is_active, &error))
-+ {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error converting subject to JS object: %s",
-+ error->message);
-+ g_clear_error (&error);
-+ goto out;
-+ }
-+
-+ if (!call_js_function_with_runaway_killer (authority))
-+ goto out;
-+
-+ ret_str = duk_require_string (cx, -1);
-+
-+ ret_strs = g_strsplit (ret_str, ",", -1);
-+ for (n = 0; ret_strs != NULL && ret_strs[n] != NULL; n++)
-+ {
-+ const gchar *identity_str = ret_strs[n];
-+ PolkitIdentity *identity;
-+
-+ error = NULL;
-+ identity = polkit_identity_from_string (identity_str, &error);
-+ if (identity == NULL)
-+ {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Identity `%s' is not valid, ignoring: %s",
-+ identity_str, error->message);
-+ g_clear_error (&error);
-+ }
-+ else
-+ {
-+ ret = g_list_prepend (ret, identity);
-+ }
-+ }
-+ ret = g_list_reverse (ret);
-+
-+ out:
-+ g_strfreev (ret_strs);
-+ /* fallback to root password auth */
-+ if (ret == NULL)
-+ ret = g_list_prepend (ret, polkit_unix_user_new (0));
-+
-+ return ret;
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+PolkitImplicitAuthorization
-+polkit_backend_common_js_authority_check_authorization_sync (PolkitBackendInteractiveAuthority *_authority,
-+ PolkitSubject *caller,
-+ PolkitSubject *subject,
-+ PolkitIdentity *user_for_subject,
-+ gboolean subject_is_local,
-+ gboolean subject_is_active,
-+ const gchar *action_id,
-+ PolkitDetails *details,
-+ PolkitImplicitAuthorization implicit)
-+{
-+ PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (_authority);
-+ PolkitImplicitAuthorization ret = implicit;
-+ GError *error = NULL;
-+ gchar *ret_str = NULL;
-+ gboolean good = FALSE;
-+ duk_context *cx = authority->priv->cx;
-+
-+ duk_set_top (cx, 0);
-+ if (!duk_get_global_string (cx, "polkit")) {
-+ goto out;
-+ }
-+
-+ duk_push_string (cx, "_runRules");
-+
-+ if (!push_action_and_details (cx, action_id, details, &error))
-+ {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error converting action and details to JS object: %s",
-+ error->message);
-+ g_clear_error (&error);
-+ goto out;
-+ }
-+
-+ if (!push_subject (cx, subject, user_for_subject, subject_is_local, subject_is_active, &error))
-+ {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Error converting subject to JS object: %s",
-+ error->message);
-+ g_clear_error (&error);
-+ goto out;
-+ }
-+
-+ // If any error is the js context happened (ctx.ret ==
-+ // RUNAWAY_KILLER_THREAD_EXIT_STATUS_FAILURE) or it never properly returned
-+ // (runaway scripts or ctx.ret == RUNAWAY_KILLER_THREAD_EXIT_STATUS_UNSET),
-+ // unauthorize
-+ if (!call_js_function_with_runaway_killer (authority))
-+ goto out;
-+
-+ if (duk_is_null(cx, -1)) {
-+ /* this is fine, means there was no match, use implicit authorizations */
-+ good = TRUE;
-+ goto out;
-+ }
-+ ret_str = g_strdup (duk_require_string (cx, -1));
-+ if (!polkit_implicit_authorization_from_string (ret_str, &ret))
-+ {
-+ polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-+ "Returned result `%s' is not valid",
-+ ret_str);
-+ goto out;
-+ }
-+
-+ good = TRUE;
-+
-+ out:
-+ if (!good)
-+ ret = POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED;
-+ if (ret_str != NULL)
-+ g_free (ret_str);
-+
-+ return ret;
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+static duk_ret_t
-+js_polkit_log (duk_context *cx)
-+{
-+ const char *str = duk_require_string (cx, 0);
-+ fprintf (stderr, "%s\n", str);
-+ return 0;
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+static duk_ret_t
-+js_polkit_spawn (duk_context *cx)
-+{
-+ duk_ret_t ret = DUK_RET_ERROR;
-+ gchar *standard_output = NULL;
-+ gchar *standard_error = NULL;
-+ gint exit_status;
-+ GError *error = NULL;
-+ guint32 array_len;
-+ gchar **argv = NULL;
-+ GMainContext *context = NULL;
-+ GMainLoop *loop = NULL;
-+ SpawnData data = {0};
-+ char *err_str = NULL;
-+ guint n;
-+
-+ if (!duk_is_array (cx, 0))
-+ goto out;
-+
-+ array_len = duk_get_length (cx, 0);
-+
-+ argv = g_new0 (gchar*, array_len + 1);
-+ for (n = 0; n < array_len; n++)
-+ {
-+ duk_get_prop_index (cx, 0, n);
-+ argv[n] = g_strdup (duk_to_string (cx, -1));
-+ duk_pop (cx);
-+ }
-+
-+ context = g_main_context_new ();
-+ loop = g_main_loop_new (context, FALSE);
-+
-+ g_main_context_push_thread_default (context);
-+
-+ data.loop = loop;
-+ polkit_backend_common_spawn ((const gchar *const *) argv,
-+ 10, /* timeout_seconds */
-+ NULL, /* cancellable */
-+ polkit_backend_common_spawn_cb,
-+ &data);
-+
-+ g_main_loop_run (loop);
-+
-+ g_main_context_pop_thread_default (context);
-+
-+ if (!polkit_backend_common_spawn_finish (data.res,
-+ &exit_status,
-+ &standard_output,
-+ &standard_error,
-+ &error))
-+ {
-+ err_str = g_strdup_printf ("Error spawning helper: %s (%s, %d)",
-+ error->message, g_quark_to_string (error->domain), error->code);
-+ g_clear_error (&error);
-+ goto out;
-+ }
-+
-+ if (!(WIFEXITED (exit_status) && WEXITSTATUS (exit_status) == 0))
-+ {
-+ GString *gstr;
-+ gstr = g_string_new (NULL);
-+ if (WIFEXITED (exit_status))
-+ {
-+ g_string_append_printf (gstr,
-+ "Helper exited with non-zero exit status %d",
-+ WEXITSTATUS (exit_status));
-+ }
-+ else if (WIFSIGNALED (exit_status))
-+ {
-+ g_string_append_printf (gstr,
-+ "Helper was signaled with signal %s (%d)",
-+ polkit_backend_common_get_signal_name (WTERMSIG (exit_status)),
-+ WTERMSIG (exit_status));
-+ }
-+ g_string_append_printf (gstr, ", stdout=`%s', stderr=`%s'",
-+ standard_output, standard_error);
-+ err_str = g_string_free (gstr, FALSE);
-+ goto out;
-+ }
-+
-+ duk_push_string (cx, standard_output);
-+ ret = 1;
-+
-+ out:
-+ g_strfreev (argv);
-+ g_free (standard_output);
-+ g_free (standard_error);
-+ g_clear_object (&data.res);
-+ if (loop != NULL)
-+ g_main_loop_unref (loop);
-+ if (context != NULL)
-+ g_main_context_unref (context);
-+
-+ if (err_str)
-+ duk_error (cx, DUK_ERR_ERROR, err_str);
-+
-+ return ret;
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-+
-+
-+static duk_ret_t
-+js_polkit_user_is_in_netgroup (duk_context *cx)
-+{
-+ const char *user;
-+ const char *netgroup;
-+ gboolean is_in_netgroup = FALSE;
-+
-+ user = duk_require_string (cx, 0);
-+ netgroup = duk_require_string (cx, 1);
-+
-+ if (innetgr (netgroup,
-+ NULL, /* host */
-+ user,
-+ NULL)) /* domain */
-+ {
-+ is_in_netgroup = TRUE;
-+ }
-+
-+ duk_push_boolean (cx, is_in_netgroup);
-+ return 1;
-+}
-+
-+/* ---------------------------------------------------------------------------------------------------- */
-diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
-index ca17108..11e91c0 100644
---- a/src/polkitbackend/polkitbackendjsauthority.cpp
-+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
-@@ -19,29 +19,7 @@
- * Author: David Zeuthen <davidz@redhat.com>
- */
-
--#include "config.h"
--#include <sys/wait.h>
--#include <errno.h>
--#include <pwd.h>
--#include <grp.h>
--#ifdef HAVE_NETGROUP_H
--#include <netgroup.h>
--#else
--#include <netdb.h>
--#endif
--#include <string.h>
--#include <glib/gstdio.h>
--#include <locale.h>
--#include <glib/gi18n-lib.h>
--
--#include <polkit/polkit.h>
--#include "polkitbackendjsauthority.h"
--
--#include <polkit/polkitprivate.h>
--
--#ifdef HAVE_LIBSYSTEMD
--#include <systemd/sd-login.h>
--#endif /* HAVE_LIBSYSTEMD */
-+#include "polkitbackendcommon.h"
-
- #include <js/CompilationAndEvaluation.h>
- #include <js/ContextOptions.h>
-@@ -52,6 +30,7 @@
- #include <js/Array.h>
- #include <jsapi.h>
-
-+/* Built source and not too big to worry about deduplication */
- #include "initjs.h" /* init.js */
-
- #ifdef JSGC_USE_EXACT_ROOTING
-@@ -67,10 +46,9 @@
- * @short_description: JS Authority
- * @stability: Unstable
- *
-- * An implementation of #PolkitBackendAuthority that reads and
-- * evalates Javascript files and supports interaction with
-- * authentication agents (virtue of being based on
-- * #PolkitBackendInteractiveAuthority).
-+ * An (SpiderMonkey-based) implementation of #PolkitBackendAuthority that reads
-+ * and evaluates Javascript files and supports interaction with authentication
-+ * agents (virtue of being based on #PolkitBackendInteractiveAuthority).
- */
-
- /* ---------------------------------------------------------------------------------------------------- */
-@@ -100,57 +78,11 @@ static bool execute_script_with_runaway_killer (PolkitBackendJsAuthority *author
- JS::HandleScript script,
- JS::MutableHandleValue rval);
-
--static void utils_spawn (const gchar *const *argv,
-- guint timeout_seconds,
-- GCancellable *cancellable,
-- GAsyncReadyCallback callback,
-- gpointer user_data);
--
--gboolean utils_spawn_finish (GAsyncResult *res,
-- gint *out_exit_status,
-- gchar **out_standard_output,
-- gchar **out_standard_error,
-- GError **error);
--
--static void on_dir_monitor_changed (GFileMonitor *monitor,
-- GFile *file,
-- GFile *other_file,
-- GFileMonitorEvent event_type,
-- gpointer user_data);
--
--/* ---------------------------------------------------------------------------------------------------- */
--
--enum
--{
-- PROP_0,
-- PROP_RULES_DIRS,
--};
--
- /* ---------------------------------------------------------------------------------------------------- */
-
- static gpointer runaway_killer_thread_func (gpointer user_data);
- static void runaway_killer_terminate (PolkitBackendJsAuthority *authority);
-
--static GList *polkit_backend_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *authority,
-- PolkitSubject *caller,
-- PolkitSubject *subject,
-- PolkitIdentity *user_for_subject,
-- gboolean subject_is_local,
-- gboolean subject_is_active,
-- const gchar *action_id,
-- PolkitDetails *details);
--
--static PolkitImplicitAuthorization polkit_backend_js_authority_check_authorization_sync (
-- PolkitBackendInteractiveAuthority *authority,
-- PolkitSubject *caller,
-- PolkitSubject *subject,
-- PolkitIdentity *user_for_subject,
-- gboolean subject_is_local,
-- gboolean subject_is_active,
-- const gchar *action_id,
-- PolkitDetails *details,
-- PolkitImplicitAuthorization implicit);
--
- G_DEFINE_TYPE (PolkitBackendJsAuthority, polkit_backend_js_authority, POLKIT_BACKEND_TYPE_INTERACTIVE_AUTHORITY);
-
- /* ---------------------------------------------------------------------------------------------------- */
-@@ -229,33 +161,6 @@ polkit_backend_js_authority_init (PolkitBackendJsAuthority *authority)
- PolkitBackendJsAuthorityPrivate);
- }
-
--static gint
--rules_file_name_cmp (const gchar *a,
-- const gchar *b)
--{
-- gint ret;
-- const gchar *a_base;
-- const gchar *b_base;
--
-- a_base = strrchr (a, '/');
-- b_base = strrchr (b, '/');
--
-- g_assert (a_base != NULL);
-- g_assert (b_base != NULL);
-- a_base += 1;
-- b_base += 1;
--
-- ret = g_strcmp0 (a_base, b_base);
-- if (ret == 0)
-- {
-- /* /etc wins over /usr */
-- ret = g_strcmp0 (a, b);
-- g_assert (ret != 0);
-- }
--
-- return ret;
--}
--
- /* authority->priv->cx must be within a request */
- static void
- load_scripts (PolkitBackendJsAuthority *authority)
-@@ -299,7 +204,7 @@ load_scripts (PolkitBackendJsAuthority *authority)
- }
- }
-
-- files = g_list_sort (files, (GCompareFunc) rules_file_name_cmp);
-+ files = g_list_sort (files, (GCompareFunc) polkit_backend_common_rules_file_name_cmp);
-
- for (l = files; l != NULL; l = l->next)
- {
-@@ -365,8 +270,8 @@ load_scripts (PolkitBackendJsAuthority *authority)
- g_list_free_full (files, g_free);
- }
-
--static void
--reload_scripts (PolkitBackendJsAuthority *authority)
-+void
-+polkit_backend_common_reload_scripts (PolkitBackendJsAuthority *authority)
- {
- JS::RootedValueArray<1> args(authority->priv->cx);
- JS::RootedValue rval(authority->priv->cx);
-@@ -395,42 +300,6 @@ reload_scripts (PolkitBackendJsAuthority *authority)
- g_signal_emit_by_name (authority, "changed");
- }
-
--static void
--on_dir_monitor_changed (GFileMonitor *monitor,
-- GFile *file,
-- GFile *other_file,
-- GFileMonitorEvent event_type,
-- gpointer user_data)
--{
-- PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (user_data);
--
-- /* TODO: maybe rate-limit so storms of events are collapsed into one with a 500ms resolution?
-- * Because when editing a file with emacs we get 4-8 events..
-- */
--
-- if (file != NULL)
-- {
-- gchar *name;
--
-- name = g_file_get_basename (file);
--
-- /* g_print ("event_type=%d file=%p name=%s\n", event_type, file, name); */
-- if (!g_str_has_prefix (name, ".") &&
-- !g_str_has_prefix (name, "#") &&
-- g_str_has_suffix (name, ".rules") &&
-- (event_type == G_FILE_MONITOR_EVENT_CREATED ||
-- event_type == G_FILE_MONITOR_EVENT_DELETED ||
-- event_type == G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT))
-- {
-- polkit_backend_authority_log (POLKIT_BACKEND_AUTHORITY (authority),
-- "Reloading rules");
-- reload_scripts (authority);
-- }
-- g_free (name);
-- }
--}
--
--
- static void
- setup_file_monitors (PolkitBackendJsAuthority *authority)
- {
-@@ -462,7 +331,7 @@ setup_file_monitors (PolkitBackendJsAuthority *authority)
- {
- g_signal_connect (monitor,
- "changed",
-- G_CALLBACK (on_dir_monitor_changed),
-+ G_CALLBACK (polkit_backend_common_on_dir_monitor_changed),
- authority);
- g_ptr_array_add (p, monitor);
- }
-@@ -471,8 +340,8 @@ setup_file_monitors (PolkitBackendJsAuthority *authority)
- authority->priv->dir_monitors = (GFileMonitor**) g_ptr_array_free (p, FALSE);
- }
-
--static void
--polkit_backend_js_authority_constructed (GObject *object)
-+void
-+polkit_backend_common_js_authority_constructed (GObject *object)
- {
- PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object);
-
-@@ -561,8 +430,8 @@ polkit_backend_js_authority_constructed (GObject *object)
- g_assert_not_reached ();
- }
-
--static void
--polkit_backend_js_authority_finalize (GObject *object)
-+void
-+polkit_backend_common_js_authority_finalize (GObject *object)
- {
- PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object);
- guint n;
-@@ -577,7 +446,7 @@ polkit_backend_js_authority_finalize (GObject *object)
- {
- GFileMonitor *monitor = authority->priv->dir_monitors[n];
- g_signal_handlers_disconnect_by_func (monitor,
-- (gpointer*)G_CALLBACK (on_dir_monitor_changed),
-+ (gpointer*)G_CALLBACK (polkit_backend_common_on_dir_monitor_changed),
- authority);
- g_object_unref (monitor);
- }
-@@ -594,11 +463,11 @@ polkit_backend_js_authority_finalize (GObject *object)
- G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->finalize (object);
- }
-
--static void
--polkit_backend_js_authority_set_property (GObject *object,
-- guint property_id,
-- const GValue *value,
-- GParamSpec *pspec)
-+void
-+polkit_backend_common_js_authority_set_property (GObject *object,
-+ guint property_id,
-+ const GValue *value,
-+ GParamSpec *pspec)
- {
- PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (object);
-
-@@ -615,57 +484,12 @@ polkit_backend_js_authority_set_property (GObject *object,
- }
- }
-
--static const gchar *
--polkit_backend_js_authority_get_name (PolkitBackendAuthority *authority)
--{
-- return "js";
--}
--
--static const gchar *
--polkit_backend_js_authority_get_version (PolkitBackendAuthority *authority)
--{
-- return PACKAGE_VERSION;
--}
--
--static PolkitAuthorityFeatures
--polkit_backend_js_authority_get_features (PolkitBackendAuthority *authority)
--{
-- return POLKIT_AUTHORITY_FEATURES_TEMPORARY_AUTHORIZATION;
--}
--
- static void
- polkit_backend_js_authority_class_init (PolkitBackendJsAuthorityClass *klass)
- {
-- GObjectClass *gobject_class;
-- PolkitBackendAuthorityClass *authority_class;
-- PolkitBackendInteractiveAuthorityClass *interactive_authority_class;
--
--
-- gobject_class = G_OBJECT_CLASS (klass);
-- gobject_class->finalize = polkit_backend_js_authority_finalize;
-- gobject_class->set_property = polkit_backend_js_authority_set_property;
-- gobject_class->constructed = polkit_backend_js_authority_constructed;
--
-- authority_class = POLKIT_BACKEND_AUTHORITY_CLASS (klass);
-- authority_class->get_name = polkit_backend_js_authority_get_name;
-- authority_class->get_version = polkit_backend_js_authority_get_version;
-- authority_class->get_features = polkit_backend_js_authority_get_features;
--
-- interactive_authority_class = POLKIT_BACKEND_INTERACTIVE_AUTHORITY_CLASS (klass);
-- interactive_authority_class->get_admin_identities = polkit_backend_js_authority_get_admin_auth_identities;
-- interactive_authority_class->check_authorization_sync = polkit_backend_js_authority_check_authorization_sync;
--
-- g_object_class_install_property (gobject_class,
-- PROP_RULES_DIRS,
-- g_param_spec_boxed ("rules-dirs",
-- NULL,
-- NULL,
-- G_TYPE_STRV,
-- GParamFlags(G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE)));
--
-+ polkit_backend_common_js_authority_class_init_common (klass);
-
- g_type_class_add_private (klass, sizeof (PolkitBackendJsAuthorityPrivate));
--
- JS_Init ();
- }
-
-@@ -1005,11 +829,14 @@ runaway_killer_setup (PolkitBackendJsAuthority *authority)
- {
- g_assert (authority->priv->rkt_source == NULL);
-
-- /* set-up timer for runaway scripts, will be executed in runaway_killer_thread */
-+ /* set-up timer for runaway scripts, will be executed in
-+ runaway_killer_thread, that is one, permanent thread running a glib
-+ mainloop (rkt_loop) whose context (rkt_context) has a timeout source
-+ (rkt_source) */
- g_mutex_lock (&authority->priv->rkt_timeout_pending_mutex);
- authority->priv->rkt_timeout_pending = FALSE;
- g_mutex_unlock (&authority->priv->rkt_timeout_pending_mutex);
-- authority->priv->rkt_source = g_timeout_source_new_seconds (15);
-+ authority->priv->rkt_source = g_timeout_source_new_seconds (RUNAWAY_KILLER_TIMEOUT);
- g_source_set_callback (authority->priv->rkt_source, rkt_on_timeout, authority, NULL);
- g_source_attach (authority->priv->rkt_source, authority->priv->rkt_context);
-
-@@ -1069,6 +896,9 @@ execute_script_with_runaway_killer (PolkitBackendJsAuthority *authority,
- {
- bool ret;
-
-+ // tries to JS_ExecuteScript(), may hang for > RUNAWAY_KILLER_TIMEOUT,
-+ // runaway_killer_thread makes sure the call returns, due to exception
-+ // injection
- runaway_killer_setup (authority);
- ret = JS_ExecuteScript (authority->priv->cx,
- script,
-@@ -1099,15 +929,15 @@ call_js_function_with_runaway_killer (PolkitBackendJsAuthority *authority,
-
- /* ---------------------------------------------------------------------------------------------------- */
-
--static GList *
--polkit_backend_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *_authority,
-- PolkitSubject *caller,
-- PolkitSubject *subject,
-- PolkitIdentity *user_for_subject,
-- gboolean subject_is_local,
-- gboolean subject_is_active,
-- const gchar *action_id,
-- PolkitDetails *details)
-+GList *
-+polkit_backend_common_js_authority_get_admin_auth_identities (PolkitBackendInteractiveAuthority *_authority,
-+ PolkitSubject *caller,
-+ PolkitSubject *subject,
-+ PolkitIdentity *user_for_subject,
-+ gboolean subject_is_local,
-+ gboolean subject_is_active,
-+ const gchar *action_id,
-+ PolkitDetails *details)
- {
- PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (_authority);
- GList *ret = NULL;
-@@ -1202,16 +1032,16 @@ polkit_backend_js_authority_get_admin_auth_identities (PolkitBackendInteractiveA
-
- /* ---------------------------------------------------------------------------------------------------- */
-
--static PolkitImplicitAuthorization
--polkit_backend_js_authority_check_authorization_sync (PolkitBackendInteractiveAuthority *_authority,
-- PolkitSubject *caller,
-- PolkitSubject *subject,
-- PolkitIdentity *user_for_subject,
-- gboolean subject_is_local,
-- gboolean subject_is_active,
-- const gchar *action_id,
-- PolkitDetails *details,
-- PolkitImplicitAuthorization implicit)
-+PolkitImplicitAuthorization
-+polkit_backend_common_js_authority_check_authorization_sync (PolkitBackendInteractiveAuthority *_authority,
-+ PolkitSubject *caller,
-+ PolkitSubject *subject,
-+ PolkitIdentity *user_for_subject,
-+ gboolean subject_is_local,
-+ gboolean subject_is_active,
-+ const gchar *action_id,
-+ PolkitDetails *details,
-+ PolkitImplicitAuthorization implicit)
- {
- PolkitBackendJsAuthority *authority = POLKIT_BACKEND_JS_AUTHORITY (_authority);
- PolkitImplicitAuthorization ret = implicit;
-@@ -1324,65 +1154,6 @@ js_polkit_log (JSContext *cx,
-
- /* ---------------------------------------------------------------------------------------------------- */
-
--static const gchar *
--get_signal_name (gint signal_number)
--{
-- switch (signal_number)
-- {
--#define _HANDLE_SIG(sig) case sig: return #sig;
-- _HANDLE_SIG (SIGHUP);
-- _HANDLE_SIG (SIGINT);
-- _HANDLE_SIG (SIGQUIT);
-- _HANDLE_SIG (SIGILL);
-- _HANDLE_SIG (SIGABRT);
-- _HANDLE_SIG (SIGFPE);
-- _HANDLE_SIG (SIGKILL);
-- _HANDLE_SIG (SIGSEGV);
-- _HANDLE_SIG (SIGPIPE);
-- _HANDLE_SIG (SIGALRM);
-- _HANDLE_SIG (SIGTERM);
-- _HANDLE_SIG (SIGUSR1);
-- _HANDLE_SIG (SIGUSR2);
-- _HANDLE_SIG (SIGCHLD);
-- _HANDLE_SIG (SIGCONT);
-- _HANDLE_SIG (SIGSTOP);
-- _HANDLE_SIG (SIGTSTP);
-- _HANDLE_SIG (SIGTTIN);
-- _HANDLE_SIG (SIGTTOU);
-- _HANDLE_SIG (SIGBUS);
--#ifdef SIGPOLL
-- _HANDLE_SIG (SIGPOLL);
--#endif
-- _HANDLE_SIG (SIGPROF);
-- _HANDLE_SIG (SIGSYS);
-- _HANDLE_SIG (SIGTRAP);
-- _HANDLE_SIG (SIGURG);
-- _HANDLE_SIG (SIGVTALRM);
-- _HANDLE_SIG (SIGXCPU);
-- _HANDLE_SIG (SIGXFSZ);
--#undef _HANDLE_SIG
-- default:
-- break;
-- }
-- return "UNKNOWN_SIGNAL";
--}
--
--typedef struct
--{
-- GMainLoop *loop;
-- GAsyncResult *res;
--} SpawnData;
--
--static void
--spawn_cb (GObject *source_object,
-- GAsyncResult *res,
-- gpointer user_data)
--{
-- SpawnData *data = (SpawnData *)user_data;
-- data->res = (GAsyncResult*)g_object_ref (res);
-- g_main_loop_quit (data->loop);
--}
--
- static bool
- js_polkit_spawn (JSContext *cx,
- unsigned js_argc,
-@@ -1440,21 +1211,21 @@ js_polkit_spawn (JSContext *cx,
- g_main_context_push_thread_default (context);
-
- data.loop = loop;
-- utils_spawn ((const gchar *const *) argv,
-- 10, /* timeout_seconds */
-- NULL, /* cancellable */
-- spawn_cb,
-- &data);
-+ polkit_backend_common_spawn ((const gchar *const *) argv,
-+ 10, /* timeout_seconds */
-+ NULL, /* cancellable */
-+ polkit_backend_common_spawn_cb,
-+ &data);
-
- g_main_loop_run (loop);
-
- g_main_context_pop_thread_default (context);
-
-- if (!utils_spawn_finish (data.res,
-- &exit_status,
-- &standard_output,
-- &standard_error,
-- &error))
-+ if (!polkit_backend_common_spawn_finish (data.res,
-+ &exit_status,
-+ &standard_output,
-+ &standard_error,
-+ &error))
- {
- JS_ReportErrorUTF8 (cx,
- "Error spawning helper: %s (%s, %d)",
-@@ -1477,7 +1248,7 @@ js_polkit_spawn (JSContext *cx,
- {
- g_string_append_printf (gstr,
- "Helper was signaled with signal %s (%d)",
-- get_signal_name (WTERMSIG (exit_status)),
-+ polkit_backend_common_get_signal_name (WTERMSIG (exit_status)),
- WTERMSIG (exit_status));
- }
- g_string_append_printf (gstr, ", stdout=`%s', stderr=`%s'",
-@@ -1542,381 +1313,5 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
- return ret;
- }
-
--
--
- /* ---------------------------------------------------------------------------------------------------- */
-
--typedef struct
--{
-- GSimpleAsyncResult *simple; /* borrowed reference */
-- GMainContext *main_context; /* may be NULL */
--
-- GCancellable *cancellable; /* may be NULL */
-- gulong cancellable_handler_id;
--
-- GPid child_pid;
-- gint child_stdout_fd;
-- gint child_stderr_fd;
--
-- GIOChannel *child_stdout_channel;
-- GIOChannel *child_stderr_channel;
--
-- GSource *child_watch_source;
-- GSource *child_stdout_source;
-- GSource *child_stderr_source;
--
-- guint timeout_seconds;
-- gboolean timed_out;
-- GSource *timeout_source;
--
-- GString *child_stdout;
-- GString *child_stderr;
--
-- gint exit_status;
--} UtilsSpawnData;
--
--static void
--utils_child_watch_from_release_cb (GPid pid,
-- gint status,
-- gpointer user_data)
--{
--}
--
--static void
--utils_spawn_data_free (UtilsSpawnData *data)
--{
-- if (data->timeout_source != NULL)
-- {
-- g_source_destroy (data->timeout_source);
-- data->timeout_source = NULL;
-- }
--
-- /* Nuke the child, if necessary */
-- if (data->child_watch_source != NULL)
-- {
-- g_source_destroy (data->child_watch_source);
-- data->child_watch_source = NULL;
-- }
--
-- if (data->child_pid != 0)
-- {
-- GSource *source;
-- kill (data->child_pid, SIGTERM);
-- /* OK, we need to reap for the child ourselves - we don't want
-- * to use waitpid() because that might block the calling
-- * thread (the child might handle SIGTERM and use several
-- * seconds for cleanup/rollback).
-- *
-- * So we use GChildWatch instead.
-- *
-- * Avoid taking a references to ourselves. but note that we need
-- * to pass the GSource so we can nuke it once handled.
-- */
-- source = g_child_watch_source_new (data->child_pid);
-- g_source_set_callback (source,
-- (GSourceFunc) utils_child_watch_from_release_cb,
-- source,
-- (GDestroyNotify) g_source_destroy);
-- /* attach source to the global default main context */
-- g_source_attach (source, NULL);
-- g_source_unref (source);
-- data->child_pid = 0;
-- }
--
-- if (data->child_stdout != NULL)
-- {
-- g_string_free (data->child_stdout, TRUE);
-- data->child_stdout = NULL;
-- }
--
-- if (data->child_stderr != NULL)
-- {
-- g_string_free (data->child_stderr, TRUE);
-- data->child_stderr = NULL;
-- }
--
-- if (data->child_stdout_channel != NULL)
-- {
-- g_io_channel_unref (data->child_stdout_channel);
-- data->child_stdout_channel = NULL;
-- }
-- if (data->child_stderr_channel != NULL)
-- {
-- g_io_channel_unref (data->child_stderr_channel);
-- data->child_stderr_channel = NULL;
-- }
--
-- if (data->child_stdout_source != NULL)
-- {
-- g_source_destroy (data->child_stdout_source);
-- data->child_stdout_source = NULL;
-- }
-- if (data->child_stderr_source != NULL)
-- {
-- g_source_destroy (data->child_stderr_source);
-- data->child_stderr_source = NULL;
-- }
--
-- if (data->child_stdout_fd != -1)
-- {
-- g_warn_if_fail (close (data->child_stdout_fd) == 0);
-- data->child_stdout_fd = -1;
-- }
-- if (data->child_stderr_fd != -1)
-- {
-- g_warn_if_fail (close (data->child_stderr_fd) == 0);
-- data->child_stderr_fd = -1;
-- }
--
-- if (data->cancellable_handler_id > 0)
-- {
-- g_cancellable_disconnect (data->cancellable, data->cancellable_handler_id);
-- data->cancellable_handler_id = 0;
-- }
--
-- if (data->main_context != NULL)
-- g_main_context_unref (data->main_context);
--
-- if (data->cancellable != NULL)
-- g_object_unref (data->cancellable);
--
-- g_slice_free (UtilsSpawnData, data);
--}
--
--/* called in the thread where @cancellable was cancelled */
--static void
--utils_on_cancelled (GCancellable *cancellable,
-- gpointer user_data)
--{
-- UtilsSpawnData *data = (UtilsSpawnData *)user_data;
-- GError *error;
--
-- error = NULL;
-- g_warn_if_fail (g_cancellable_set_error_if_cancelled (cancellable, &error));
-- g_simple_async_result_take_error (data->simple, error);
-- g_simple_async_result_complete_in_idle (data->simple);
-- g_object_unref (data->simple);
--}
--
--static gboolean
--utils_read_child_stderr (GIOChannel *channel,
-- GIOCondition condition,
-- gpointer user_data)
--{
-- UtilsSpawnData *data = (UtilsSpawnData *)user_data;
-- gchar buf[1024];
-- gsize bytes_read;
--
-- g_io_channel_read_chars (channel, buf, sizeof buf, &bytes_read, NULL);
-- g_string_append_len (data->child_stderr, buf, bytes_read);
-- return TRUE;
--}
--
--static gboolean
--utils_read_child_stdout (GIOChannel *channel,
-- GIOCondition condition,
-- gpointer user_data)
--{
-- UtilsSpawnData *data = (UtilsSpawnData *)user_data;
-- gchar buf[1024];
-- gsize bytes_read;
--
-- g_io_channel_read_chars (channel, buf, sizeof buf, &bytes_read, NULL);
-- g_string_append_len (data->child_stdout, buf, bytes_read);
-- return TRUE;
--}
--
--static void
--utils_child_watch_cb (GPid pid,
-- gint status,
-- gpointer user_data)
--{
-- UtilsSpawnData *data = (UtilsSpawnData *)user_data;
-- gchar *buf;
-- gsize buf_size;
--
-- if (g_io_channel_read_to_end (data->child_stdout_channel, &buf, &buf_size, NULL) == G_IO_STATUS_NORMAL)
-- {
-- g_string_append_len (data->child_stdout, buf, buf_size);
-- g_free (buf);
-- }
-- if (g_io_channel_read_to_end (data->child_stderr_channel, &buf, &buf_size, NULL) == G_IO_STATUS_NORMAL)
-- {
-- g_string_append_len (data->child_stderr, buf, buf_size);
-- g_free (buf);
-- }
--
-- data->exit_status = status;
--
-- /* ok, child watch is history, make sure we don't free it in spawn_data_free() */
-- data->child_pid = 0;
-- data->child_watch_source = NULL;
--
-- /* we're done */
-- g_simple_async_result_complete_in_idle (data->simple);
-- g_object_unref (data->simple);
--}
--
--static gboolean
--utils_timeout_cb (gpointer user_data)
--{
-- UtilsSpawnData *data = (UtilsSpawnData *)user_data;
--
-- data->timed_out = TRUE;
--
-- /* ok, timeout is history, make sure we don't free it in spawn_data_free() */
-- data->timeout_source = NULL;
--
-- /* we're done */
-- g_simple_async_result_complete_in_idle (data->simple);
-- g_object_unref (data->simple);
--
-- return FALSE; /* remove source */
--}
--
--static void
--utils_spawn (const gchar *const *argv,
-- guint timeout_seconds,
-- GCancellable *cancellable,
-- GAsyncReadyCallback callback,
-- gpointer user_data)
--{
-- UtilsSpawnData *data;
-- GError *error;
--
-- data = g_slice_new0 (UtilsSpawnData);
-- data->timeout_seconds = timeout_seconds;
-- data->simple = g_simple_async_result_new (NULL,
-- callback,
-- user_data,
-- (gpointer*)utils_spawn);
-- data->main_context = g_main_context_get_thread_default ();
-- if (data->main_context != NULL)
-- g_main_context_ref (data->main_context);
--
-- data->cancellable = cancellable != NULL ? (GCancellable*)g_object_ref (cancellable) : NULL;
--
-- data->child_stdout = g_string_new (NULL);
-- data->child_stderr = g_string_new (NULL);
-- data->child_stdout_fd = -1;
-- data->child_stderr_fd = -1;
--
-- /* the life-cycle of UtilsSpawnData is tied to its GSimpleAsyncResult */
-- g_simple_async_result_set_op_res_gpointer (data->simple, data, (GDestroyNotify) utils_spawn_data_free);
--
-- error = NULL;
-- if (data->cancellable != NULL)
-- {
-- /* could already be cancelled */
-- error = NULL;
-- if (g_cancellable_set_error_if_cancelled (data->cancellable, &error))
-- {
-- g_simple_async_result_take_error (data->simple, error);
-- g_simple_async_result_complete_in_idle (data->simple);
-- g_object_unref (data->simple);
-- goto out;
-- }
--
-- data->cancellable_handler_id = g_cancellable_connect (data->cancellable,
-- G_CALLBACK (utils_on_cancelled),
-- data,
-- NULL);
-- }
--
-- error = NULL;
-- if (!g_spawn_async_with_pipes (NULL, /* working directory */
-- (gchar **) argv,
-- NULL, /* envp */
-- GSpawnFlags(G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD),
-- NULL, /* child_setup */
-- NULL, /* child_setup's user_data */
-- &(data->child_pid),
-- NULL, /* gint *stdin_fd */
-- &(data->child_stdout_fd),
-- &(data->child_stderr_fd),
-- &error))
-- {
-- g_prefix_error (&error, "Error spawning: ");
-- g_simple_async_result_take_error (data->simple, error);
-- g_simple_async_result_complete_in_idle (data->simple);
-- g_object_unref (data->simple);
-- goto out;
-- }
--
-- if (timeout_seconds > 0)
-- {
-- data->timeout_source = g_timeout_source_new_seconds (timeout_seconds);
-- g_source_set_priority (data->timeout_source, G_PRIORITY_DEFAULT);
-- g_source_set_callback (data->timeout_source, utils_timeout_cb, data, NULL);
-- g_source_attach (data->timeout_source, data->main_context);
-- g_source_unref (data->timeout_source);
-- }
--
-- data->child_watch_source = g_child_watch_source_new (data->child_pid);
-- g_source_set_callback (data->child_watch_source, (GSourceFunc) utils_child_watch_cb, data, NULL);
-- g_source_attach (data->child_watch_source, data->main_context);
-- g_source_unref (data->child_watch_source);
--
-- data->child_stdout_channel = g_io_channel_unix_new (data->child_stdout_fd);
-- g_io_channel_set_flags (data->child_stdout_channel, G_IO_FLAG_NONBLOCK, NULL);
-- data->child_stdout_source = g_io_create_watch (data->child_stdout_channel, G_IO_IN);
-- g_source_set_callback (data->child_stdout_source, (GSourceFunc) utils_read_child_stdout, data, NULL);
-- g_source_attach (data->child_stdout_source, data->main_context);
-- g_source_unref (data->child_stdout_source);
--
-- data->child_stderr_channel = g_io_channel_unix_new (data->child_stderr_fd);
-- g_io_channel_set_flags (data->child_stderr_channel, G_IO_FLAG_NONBLOCK, NULL);
-- data->child_stderr_source = g_io_create_watch (data->child_stderr_channel, G_IO_IN);
-- g_source_set_callback (data->child_stderr_source, (GSourceFunc) utils_read_child_stderr, data, NULL);
-- g_source_attach (data->child_stderr_source, data->main_context);
-- g_source_unref (data->child_stderr_source);
--
-- out:
-- ;
--}
--
--gboolean
--utils_spawn_finish (GAsyncResult *res,
-- gint *out_exit_status,
-- gchar **out_standard_output,
-- gchar **out_standard_error,
-- GError **error)
--{
-- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
-- UtilsSpawnData *data;
-- gboolean ret = FALSE;
--
-- g_return_val_if_fail (G_IS_ASYNC_RESULT (res), FALSE);
-- g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
--
-- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == utils_spawn);
--
-- if (g_simple_async_result_propagate_error (simple, error))
-- goto out;
--
-- data = (UtilsSpawnData*)g_simple_async_result_get_op_res_gpointer (simple);
--
-- if (data->timed_out)
-- {
-- g_set_error (error,
-- G_IO_ERROR,
-- G_IO_ERROR_TIMED_OUT,
-- "Timed out after %d seconds",
-- data->timeout_seconds);
-- goto out;
-- }
--
-- if (out_exit_status != NULL)
-- *out_exit_status = data->exit_status;
--
-- if (out_standard_output != NULL)
-- *out_standard_output = g_strdup (data->child_stdout->str);
--
-- if (out_standard_error != NULL)
-- *out_standard_error = g_strdup (data->child_stderr->str);
--
-- ret = TRUE;
--
-- out:
-- return ret;
--}
-diff --git a/test/data/etc/polkit-1/rules.d/10-testing.rules b/test/data/etc/polkit-1/rules.d/10-testing.rules
-index 98bf062..e346b5d 100644
---- a/test/data/etc/polkit-1/rules.d/10-testing.rules
-+++ b/test/data/etc/polkit-1/rules.d/10-testing.rules
-@@ -189,8 +189,10 @@ polkit.addRule(function(action, subject) {
- ;
- } catch (error) {
- if (error == "Terminating runaway script")
-- return polkit.Result.YES;
-- return polkit.Result.NO;
-+ // Inverted logic to accomodate Duktape's model as well, which
-+ // will always fail with negation, on timeouts
-+ return polkit.Result.NO;
-+ return polkit.Result.YES;
- }
- }
- });
-diff --git a/test/polkitbackend/test-polkitbackendjsauthority.c b/test/polkitbackend/test-polkitbackendjsauthority.c
-index f97e0e0..2103b17 100644
---- a/test/polkitbackend/test-polkitbackendjsauthority.c
-+++ b/test/polkitbackend/test-polkitbackendjsauthority.c
-@@ -328,7 +328,7 @@ static const RulesTestCase rules_test_cases[] = {
- "net.company.run_away_script",
- "unix-user:root",
- NULL,
-- POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED,
-+ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
- },
-
- {
diff --git a/meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch b/meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch
deleted file mode 100644
index 9e9755e44f..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 7799441b9aa55324160deefbc65f9d918b8c94c1 Mon Sep 17 00:00:00 2001
-From: Xi Ruoyao <xry111@mengyan1223.wang>
-Date: Tue, 10 Aug 2021 18:52:56 +0800
-Subject: [PATCH] jsauthority: ensure to call JS_Init() and JS_ShutDown()
- exactly once
-
-Before this commit, we were calling JS_Init() in
-polkit_backend_js_authority_class_init and never called JS_ShutDown.
-This is actually a misusage of SpiderMonkey API. Quote from a comment
-in js/Initialization.h (both mozjs-78 and mozjs-91):
-
- It is currently not possible to initialize SpiderMonkey multiple
- times (that is, calling JS_Init/JSAPI methods/JS_ShutDown in that
- order, then doing so again).
-
-This misusage does not cause severe issues with mozjs-78. However, when
-we eventually port jsauthority to use mozjs-91, bad thing will happen:
-see the test failure mentioned in #150.
-
-This commit is tested with both mozjs-78 and mozjs-91, all tests pass
-with it.
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/91]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/polkitbackend/polkitbackendjsauthority.cpp | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
-index 41d8d5c..38dc001 100644
---- a/src/polkitbackend/polkitbackendjsauthority.cpp
-+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
-@@ -75,6 +75,13 @@
-
- /* ---------------------------------------------------------------------------------------------------- */
-
-+static class JsInitHelperType
-+{
-+public:
-+ JsInitHelperType() { JS_Init(); }
-+ ~JsInitHelperType() { JS_ShutDown(); }
-+} JsInitHelper;
-+
- struct _PolkitBackendJsAuthorityPrivate
- {
- gchar **rules_dirs;
-@@ -589,7 +596,6 @@ polkit_backend_js_authority_finalize (GObject *object)
- delete authority->priv->js_polkit;
-
- JS_DestroyContext (authority->priv->cx);
-- /* JS_ShutDown (); */
-
- G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->finalize (object);
- }
-@@ -665,8 +671,6 @@ polkit_backend_js_authority_class_init (PolkitBackendJsAuthorityClass *klass)
-
-
- g_type_class_add_private (klass, sizeof (PolkitBackendJsAuthorityPrivate));
--
-- JS_Init ();
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
diff --git a/meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch b/meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch
deleted file mode 100644
index fa273d4503..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit/0004-Make-netgroup-support-optional.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-From 7ef2621ab7adcedc099ed39acfb73c6fa835cbc3 Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Sun, 15 May 2022 05:04:10 +0000
-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.
-
-(sam: rebased for Meson and Duktape.)
-
-Closes: https://gitlab.freedesktop.org/polkit/polkit/-/issues/14
-Closes: https://gitlab.freedesktop.org/polkit/polkit/-/issues/163
-Closes: https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/52
-Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
-
-Ported back the change in configure.ac (upstream removed autotools
-support).
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit/-/commit/b57deee8178190a7ecc75290fa13cf7daabc2c66]
-Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com>
-
----
- configure.ac | 2 +-
- meson.build | 1 +
- src/polkit/polkitidentity.c | 17 +++++++++++++++++
- src/polkit/polkitunixnetgroup.c | 3 +++
- .../polkitbackendinteractiveauthority.c | 14 ++++++++------
- src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
- test/polkit/polkitidentitytest.c | 8 +++++++-
- test/polkit/polkitunixnetgrouptest.c | 2 ++
- .../test-polkitbackendjsauthority.c | 2 ++
- 9 files changed, 43 insertions(+), 8 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 59858df..5a7fc11 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
- [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"
-diff --git a/meson.build b/meson.build
-index 733bbff..d840926 100644
---- a/meson.build
-+++ b/meson.build
-@@ -82,6 +82,7 @@ config_h.set('_GNU_SOURCE', true)
- check_functions = [
- 'clearenv',
- 'fdatasync',
-+ 'setnetgrent',
- ]
-
- foreach func: check_functions
-diff --git a/src/polkit/polkitidentity.c b/src/polkit/polkitidentity.c
-index 3aa1f7f..793f17d 100644
---- a/src/polkit/polkitidentity.c
-+++ b/src/polkit/polkitidentity.c
-@@ -182,7 +182,15 @@ polkit_identity_from_string (const gchar *str,
- }
- 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,14 @@ polkit_identity_new_for_gvariant (GVariant *variant,
- 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 +369,7 @@ polkit_identity_new_for_gvariant (GVariant *variant,
- name = g_variant_get_string (v, NULL);
- ret = polkit_unix_netgroup_new (name);
- g_variant_unref (v);
-+#endif
- }
- else
- {
-diff --git a/src/polkit/polkitunixnetgroup.c b/src/polkit/polkitunixnetgroup.c
-index 8a2b369..83f8d4a 100644
---- a/src/polkit/polkitunixnetgroup.c
-+++ b/src/polkit/polkitunixnetgroup.c
-@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUnixNetgroup *group,
- 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,
-diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
-index 056d9a8..36c2f3d 100644
---- a/src/polkitbackend/polkitbackendinteractiveauthority.c
-+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
-@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity *group,
- 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 *group,
-
- out:
- endnetgrent ();
-+#endif /* HAVE_SETNETGRENT */
- return ret;
- }
-
-diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
-index 5027815..bcb040c 100644
---- a/src/polkitbackend/polkitbackendjsauthority.cpp
-+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
-@@ -1524,6 +1524,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
-
- 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);
-@@ -1538,6 +1539,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
- {
- is_in_netgroup = true;
- }
-+#endif
-
- ret = true;
-
-diff --git a/test/polkit/polkitidentitytest.c b/test/polkit/polkitidentitytest.c
-index e91967b..2635c4c 100644
---- a/test/polkit/polkitidentitytest.c
-+++ b/test/polkit/polkitidentitytest.c
-@@ -145,11 +145,15 @@ struct ComparisonTestData comparison_test_data [] = {
- {"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 +185,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 ();
-
-diff --git a/test/polkit/polkitunixnetgrouptest.c b/test/polkit/polkitunixnetgrouptest.c
-index 3701ba1..e1d211e 100644
---- a/test/polkit/polkitunixnetgrouptest.c
-+++ b/test/polkit/polkitunixnetgrouptest.c
-@@ -69,7 +69,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 ();
- }
-diff --git a/test/polkitbackend/test-polkitbackendjsauthority.c b/test/polkitbackend/test-polkitbackendjsauthority.c
-index f97e0e0..fc52149 100644
---- 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/0005-Make-netgroup-support-optional-duktape.patch b/meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch
deleted file mode 100644
index 12988ad94f..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit/0005-Make-netgroup-support-optional-duktape.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 792f8e2151c120ec51b50a4098e4f9642409cbec Mon Sep 17 00:00:00 2001
-From: Marta Rybczynska <rybczynska@gmail.com>
-Date: Fri, 29 Jul 2022 11:52:59 +0200
-Subject: [PATCH] Make netgroup support optional
-
-This patch adds a fragment of the netgroup patch to apply on the duktape-related
-code. This change is needed to compile with duktape+musl.
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit/-/commit/b57deee8178190a7ecc75290fa13cf7daabc2c66]
-Signed-off-by: Marta Rybczynska <martarybczynska@huawei.com>
----
- src/polkitbackend/polkitbackendduktapeauthority.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/polkitbackend/polkitbackendduktapeauthority.c b/src/polkitbackend/polkitbackendduktapeauthority.c
-index c89dbcf..58a5936 100644
---- a/src/polkitbackend/polkitbackendduktapeauthority.c
-+++ b/src/polkitbackend/polkitbackendduktapeauthority.c
-@@ -1036,6 +1036,7 @@ js_polkit_user_is_in_netgroup (duk_context *cx)
- user = duk_require_string (cx, 0);
- netgroup = duk_require_string (cx, 1);
-
-+#ifdef HAVE_SETNETGRENT
- if (innetgr (netgroup,
- NULL, /* host */
- user,
-@@ -1043,6 +1044,7 @@ js_polkit_user_is_in_netgroup (duk_context *cx)
- {
- is_in_netgroup = TRUE;
- }
-+#endif
-
- duk_push_boolean (cx, is_in_netgroup);
- return 1;
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.119.bb b/meta-oe/recipes-extended/polkit/polkit_0.119.bb
deleted file mode 100644
index c4d3d25afc..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit_0.119.bb
+++ /dev/null
@@ -1,79 +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 = "LGPL-2.0-or-later"
-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"
-
-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)} \
- mozjs \
- "
-
-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"
-
-# Default to mozjs javascript library
-PACKAGECONFIG[mozjs] = ",,mozjs-91,,,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] = "--with-duktape,,duktape,,,mozjs"
-
-MOZJS_PATCHES = "\
- file://0002-jsauthority-port-to-mozjs-91.patch \
- file://0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch \
-"
-DUKTAPE_PATCHES = "file://0003-Added-support-for-duktape-as-JS-engine.patch"
-DUKTAPE_NG_PATCHES = "file://0005-Make-netgroup-support-optional-duktape.patch"
-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)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'mozjs', '${MOZJS_PATCHES}', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'duktape', '${DUKTAPE_PATCHES}', '', d)} \
- file://0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch \
- file://0002-CVE-2021-4115-GHSL-2021-077-fix.patch \
- file://0004-Make-netgroup-support-optional.patch \
- ${@bb.utils.contains('PACKAGECONFIG', 'duktape', '${DUKTAPE_NG_PATCHES}', '', d)} \
- "
-SRC_URI[sha256sum] = "c8579fdb86e94295404211285fee0722ad04893f0213e571bd75c00972fd1f5c"
-
-EXTRA_OECONF = "--with-os-type=moblin \
- --disable-man-pages \
- --disable-libelogind \
- "
-
-do_configure:prepend () {
- rm -f ${S}/buildutil/lt*.m4 ${S}/buildutil/libtool.m4
-}
-
-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 --shell /bin/nologin 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 88a18aa137..25951c9de4 100644
--- a/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb
+++ b/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb
@@ -6,7 +6,7 @@ SECTION = "libs"
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;branch=master;protocol=https"
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/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.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-plus-plus/redis-plus-plus_1.3.5.bb b/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.5.bb
deleted file mode 100644
index de19dca387..0000000000
--- a/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.5.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-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"
-
-SRC_URI = "git://github.com/sewenew/redis-plus-plus;branch=master;protocol=https"
-SRCREV = "58084931ed1a056d91fe96da7b9ea81fa023560a"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-DEPENDS += "hiredis"
-
-RDEPENDS:${PN} += "hiredis"
-
-FILES_SOLIBSDEV = ""
-FILES:${PN} += " ${libdir}/libredis++.so*"
-
-INSANE_SKIP:${PN} += "dev-so"
diff --git a/meta-oe/recipes-extended/redis/redis-7/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
index e8d8b1d53f..01e53e3f21 100644
--- a/meta-oe/recipes-extended/redis/redis-7/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
@@ -1,4 +1,4 @@
-From e97a572d4aef099a961e43d528c0268e10d9f1e2 Mon Sep 17 00:00:00 2001
+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
@@ -16,10 +16,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile b/src/Makefile
-index ddabd44..5133884 100644
+index 39decee..f5efe82 100644
--- a/src/Makefile
+++ b/src/Makefile
-@@ -118,7 +118,7 @@ endif
+@@ -119,7 +119,7 @@ endif
FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
diff --git a/meta-oe/recipes-extended/redis/redis-7/0006-Define-correct-gregs-for-RISCV32.patch b/meta-oe/recipes-extended/redis/redis-7.2.4/0006-Define-correct-gregs-for-RISCV32.patch
index 01f8421811..93c3595261 100644
--- a/meta-oe/recipes-extended/redis/redis-7/0006-Define-correct-gregs-for-RISCV32.patch
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/0006-Define-correct-gregs-for-RISCV32.patch
@@ -1,4 +1,4 @@
-From f26a978c638bcbc621669dce0ab89e43af42af98 Mon Sep 17 00:00:00 2001
+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
@@ -6,18 +6,18 @@ 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>
+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 2da2c5d..1d778fa 100644
+index 684f692..2ee151f 100644
--- a/src/debug.c
+++ b/src/debug.c
-@@ -1116,7 +1116,9 @@ static void *getMcontextEip(ucontext_t *uc) {
+@@ -1215,7 +1215,9 @@ static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) {
#endif
#elif defined(__linux__)
/* Linux */
@@ -25,10 +25,10 @@ index 2da2c5d..1d778fa 100644
+ #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__))
- return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
+ GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip);
#elif defined(__X86_64__) || defined(__x86_64__)
- return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
-@@ -1298,8 +1300,28 @@ void logRegisters(ucontext_t *uc) {
+ GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip);
+@@ -1401,8 +1403,28 @@ void logRegisters(ucontext_t *uc) {
#endif
/* Linux */
#elif defined(__linux__)
diff --git a/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE.patch b/meta-oe/recipes-extended/redis/redis-7.2.4/GNU_SOURCE-7.patch
index 6e07c25c6a..6e07c25c6a 100644
--- a/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE.patch
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/GNU_SOURCE-7.patch
diff --git a/meta-oe/recipes-extended/redis/redis-7/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
index 657b0923e2..7785acca5c 100644
--- a/meta-oe/recipes-extended/redis/redis-7/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
@@ -1,4 +1,4 @@
-From 9da2d12c9fabfff4b4460accf887658db89687e4 Mon Sep 17 00:00:00 2001
+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
@@ -18,19 +18,21 @@ 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 7e41c97..54717e3 100644
+index bd2106b..9ce768d 100644
--- a/deps/hiredis/Makefile
+++ b/deps/hiredis/Makefile
-@@ -42,8 +42,6 @@ endef
+@@ -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 -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers
+ 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/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
index c6c6fde162..20708eda1e 100644
--- a/meta-oe/recipes-extended/redis/redis-7/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
@@ -1,4 +1,4 @@
-From 734ab2f7879c6f94fc18ea6a10adb9bd156ba769 Mon Sep 17 00:00:00 2001
+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
@@ -15,6 +15,7 @@ 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 -
@@ -22,10 +23,10 @@ Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
3 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/deps/Makefile b/deps/Makefile
-index 8592e17..1807af5 100644
+index 3bf0363..fd8765a 100644
--- a/deps/Makefile
+++ b/deps/Makefile
-@@ -81,7 +81,6 @@ endif
+@@ -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.
diff --git a/meta-oe/recipes-extended/redis/redis-7/oe-use-libc-malloc.patch b/meta-oe/recipes-extended/redis/redis-7.2.4/oe-use-libc-malloc.patch
index bf6d0cf3c1..7b601e02a9 100644
--- a/meta-oe/recipes-extended/redis/redis-7/oe-use-libc-malloc.patch
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/oe-use-libc-malloc.patch
@@ -1,4 +1,4 @@
-From 88da6b19ecd00747769663e913aba5e9569c489d Mon Sep 17 00:00:00 2001
+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
@@ -15,11 +15,13 @@ 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 2a0d74d..ddabd44 100644
+index ecbd275..39decee 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -13,7 +13,8 @@
@@ -30,5 +32,5 @@ index 2a0d74d..ddabd44 100644
+# use fake uname option to force use of generic libc
+uname_S := "USE_LIBC_MALLOC"
uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
- OPTIMIZATION?=-O2
- DEPENDENCY_TARGETS=hiredis linenoise lua hdr_histogram
+ CLANG := $(findstring clang,$(shell sh -c '$(CC) --version | head -1'))
+ OPTIMIZATION?=-O3
diff --git a/meta-oe/recipes-extended/redis/redis-7/redis.conf b/meta-oe/recipes-extended/redis/redis-7.2.4/redis.conf
index 75037d6dc8..75037d6dc8 100644
--- a/meta-oe/recipes-extended/redis/redis-7/redis.conf
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/redis.conf
diff --git a/meta-oe/recipes-extended/redis/redis-7/redis.service b/meta-oe/recipes-extended/redis/redis-7.2.4/redis.service
index 36d29852da..b7791d0df4 100644
--- a/meta-oe/recipes-extended/redis/redis-7/redis.service
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/redis.service
@@ -9,6 +9,8 @@ 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-7/init-redis-server b/meta-oe/recipes-extended/redis/redis-7/init-redis-server
deleted file mode 100755
index 6014d70c0e..0000000000
--- a/meta-oe/recipes-extended/redis/redis-7/init-redis-server
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-#
-### BEGIN INIT INFO
-# Provides: redis-server
-# Required-Start: $network
-# Required-Stop: $network
-# Default-Start: S 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Redis, a key-value store
-# Description: Redis is an open source, advanced key-value store.
-# http://redis.io
-### END INIT INFO
-
-test -f /usr/bin/redis-server || exit 0
-
-ARGS="/etc/redis/redis.conf"
-
-case "$1" in
- start)
- echo "Starting redis-server..."
- start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS
- ;;
- stop)
- echo "Stopping redis-server..."
- start-stop-daemon --stop --quiet --exec /usr/bin/redis-server
- ;;
- restart)
- echo "Stopping redis-server..."
- start-stop-daemon --stop --quiet --exec /usr/bin/redis-server
- 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/0006-Define-correct-gregs-for-RISCV32.patch b/meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch
index b2d1a32eda..9d7e502717 100644
--- 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
@@ -1,4 +1,4 @@
-From 6134b471c35df826ccb41aab9a47e5c89e15a0c4 Mon Sep 17 00:00:00 2001
+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
@@ -13,10 +13,10 @@ Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/src/debug.c b/src/debug.c
-index e7fec29..5abb404 100644
+index 5318c14..8c21b47 100644
--- a/src/debug.c
+++ b/src/debug.c
-@@ -1039,7 +1039,9 @@ static void *getMcontextEip(ucontext_t *uc) {
+@@ -1055,7 +1055,9 @@ static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) {
#endif
#elif defined(__linux__)
/* Linux */
@@ -24,10 +24,10 @@ index e7fec29..5abb404 100644
+ #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__))
- return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
+ GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip);
#elif defined(__X86_64__) || defined(__x86_64__)
- return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
-@@ -1206,8 +1208,28 @@ void logRegisters(ucontext_t *uc) {
+ GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip);
+@@ -1222,8 +1224,28 @@ void logRegisters(ucontext_t *uc) {
#endif
/* Linux */
#elif defined(__linux__)
@@ -57,3 +57,6 @@ index e7fec29..5abb404 100644
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/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/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 1619e9db35..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
@@ -15,6 +15,8 @@ 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 ++++++----------
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 a0f66b845e..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
@@ -15,6 +15,8 @@ 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/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_6.2.7.bb b/meta-oe/recipes-extended/redis/redis_6.2.14.bb
index 7f922a4e0f..fa430ce402 100644
--- a/meta-oe/recipes-extended/redis/redis_6.2.7.bb
+++ b/meta-oe/recipes-extended/redis/redis_6.2.14.bb
@@ -17,7 +17,7 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://GNU_SOURCE.patch \
file://0006-Define-correct-gregs-for-RISCV32.patch \
"
-SRC_URI[sha256sum] = "b7a79cc3b46d3c6eb52fa37dde34a4a60824079ebdfb3abfbbfa035947c55319"
+SRC_URI[sha256sum] = "34e74856cbd66fdb3a684fb349d93961d8c7aa668b06f81fd93ff267d09bc277"
inherit autotools-brokensep update-rc.d systemd useradd
diff --git a/meta-oe/recipes-extended/redis/redis_7.0.4.bb b/meta-oe/recipes-extended/redis/redis_7.2.4.bb
index 993ff34b10..5d64e9ba78 100644
--- a/meta-oe/recipes-extended/redis/redis_7.0.4.bb
+++ b/meta-oe/recipes-extended/redis/redis_7.2.4.bb
@@ -6,8 +6,6 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2"
DEPENDS = "readline lua ncurses"
-FILESPATH =. "${FILE_DIRNAME}/${PN}-7:"
-
SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://redis.conf \
file://init-redis-server \
@@ -16,12 +14,12 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
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://GNU_SOURCE-7.patch \
file://0006-Define-correct-gregs-for-RISCV32.patch \
"
-SRC_URI[sha256sum] = "f0e65fda74c44a3dd4fa9d512d4d4d833dd0939c934e946a5c622a630d057f2f"
+SRC_URI[sha256sum] = "8d104c26a154b29fd67d6568b4f375212212ad41e0c2caa3d66480e78dbd3b59"
-inherit autotools-brokensep update-rc.d systemd useradd
+inherit autotools-brokensep pkgconfig update-rc.d systemd useradd
FINAL_LIBS:x86:toolchain-clang = "-latomic"
FINAL_LIBS:riscv32:toolchain-clang = "-latomic"
@@ -35,7 +33,10 @@ 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)}"
+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)
@@ -55,8 +56,9 @@ do_install() {
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
+ 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
}
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb
index d953c11ee8..cbe1af2854 100644
--- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb
@@ -4,13 +4,13 @@ HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676"
-DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native python3-setuptools-native"
+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;branch=master;protocol=http;;protocol=https \
+ git://github.com/oetiker/rrdtool-1.x.git;protocol=https;branch=master \
"
S = "${WORKDIR}/git"
@@ -24,7 +24,7 @@ SYSTEMD_SERVICE:rrdcached = "rrdcached.socket rrdcached.service"
EXTRA_AUTORECONF = "-I m4 --exclude=autopoint"
-PACKAGECONFIG ??= "perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+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 \
@@ -40,6 +40,8 @@ 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 \
@@ -122,8 +124,8 @@ RDEPENDS:${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-
DESCRIPTION:${PN}-python = \
"The ${PN}-python package includes RRDtool bindings for python."
-FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
RDEPENDS:${PN}-python = "python3"
FILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.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_1.2304.0.bb
index 24ad172674..f16126d936 100644
--- a/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb
+++ b/meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb
@@ -8,7 +8,7 @@ DEPENDS = ""
SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https;branch=master"
-SRCREV = "0293afb3913f760c449348551cca4d2df59c1a00"
+SRCREV = "3a8402c1de7c7747c95229db26d8d32fb85a7a52"
S = "${WORKDIR}/git"
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.10.0.bb b/meta-oe/recipes-extended/rsyslog/librelp_1.10.0.bb
deleted file mode 100644
index acdbbb7d1b..0000000000
--- a/meta-oe/recipes-extended/rsyslog/librelp_1.10.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-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 nettle libidn zlib gnutls openssl"
-
-SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https;branch=stable \
-"
-
-SRCREV = "9e749453d51d602d8159717f8a7c27971dcb4c6c"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-CPPFLAGS += "-Wno-error"
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/rsyslog/0001-tests-disable-the-check-for-inotify.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
index 552172d397..c1480406fe 100644
--- 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
@@ -12,7 +12,7 @@ since 2.6.13 [1].
(it would require installing the libc headers otherwise,
for the test to detect /usr/include/sys/inotify.h.)
-Upstream-Status: Inappropriate[OE-specific]
+Upstream-Status: Inappropriate [OE-specific]
Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
---
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_8.2206.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2402.0.bb
index a39de3acb5..af46cc14d7 100644
--- a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2206.0.bb
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2402.0.bb
@@ -17,7 +17,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
"
-SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
+SRC_URI = "https://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \
file://initscript \
file://rsyslog.conf \
file://rsyslog.logrotate \
@@ -29,9 +29,10 @@ SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.t
SRC_URI:append:libc-musl = " \
file://0001-Include-sys-time-h.patch \
+ file://disable-omfile-outchannel.patch \
"
-SRC_URI[sha256sum] = "a1377218b26c0767a7a3f67d166d5338af7c24b455d35ec99974e18e6845ba27"
+SRC_URI[sha256sum] = "acbdd8579489df36b4a383dc6909a61b7623807f0aff54c062115f2de7ea85ba"
UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
@@ -46,8 +47,8 @@ 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 \
+ 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)} \
"
@@ -59,6 +60,7 @@ 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,"
@@ -70,7 +72,8 @@ 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[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,"
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
index f4decda141..9007bdbd41 100644
--- 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
@@ -16,7 +16,7 @@ Fixes:
# which sendmail
/usr/sbin/sendmail
-Upstream-Status: Inappropriate[oe-specific]
+Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
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
index 2afaaac016..41f98281f8 100644
--- 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
@@ -4,7 +4,7 @@ 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]
+Upstream-Status: Backport [https://git.sdaoden.eu/browse/s-nail.git/commit/?id=de2a44c393a39d80ddf12154aec94cace84b19c1]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
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
index e011f5c712..37ecb0c1ff 100644
--- 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
@@ -3,7 +3,7 @@ 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]
+Upstream-Status: Backport [https://git.sdaoden.eu/browse/s-nail.git/commit/?id=c5544b66c3b4b2e161166562349908a07e324b38]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
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/setuptools.patch b/meta-oe/recipes-extended/sanlock/sanlock/setuptools.patch
deleted file mode 100644
index c375e10f75..0000000000
--- a/meta-oe/recipes-extended/sanlock/sanlock/setuptools.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Switch to setuptools as distutils is deprecated.
-
-Upstream-Status: Backport [https://pagure.io/sanlock/c/75758fc10db2354dda397d3aba63c7b72a420982]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-diff --git a/python/setup.py b/python/setup.py
-index b3bfaf1..dfbaf21 100644
---- a/python/setup.py
-+++ b/python/setup.py
-@@ -4,7 +4,7 @@
- # modify, copy, or redistribute it subject to the terms and conditions
- # of the GNU General Public License v.2.
-
--from distutils.core import setup, Extension
-+from setuptools import setup, Extension
-
- sanlocklib = ['sanlock']
- sanlock = Extension(name='sanlock',
diff --git a/meta-oe/recipes-extended/sanlock/sanlock_3.8.4.bb b/meta-oe/recipes-extended/sanlock/sanlock_3.9.1.bb
index a59a5c41df..1d0f8b0103 100644
--- a/meta-oe/recipes-extended/sanlock/sanlock_3.8.4.bb
+++ b/meta-oe/recipes-extended/sanlock/sanlock_3.9.1.bb
@@ -11,19 +11,18 @@ 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${SRCPV}"
+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://setuptools.patch \
+ file://0001-add-missing-system-header-string.h.patch \
+ file://0001-include-libgen.h-for-basename.patch \
"
-SRCREV = "a181e951376d49a82eef17920c8ebedec80b4823"
+SRCREV = "ecf30a1ccf756776dfea440e4cf9b0b54581075f"
S = "${WORKDIR}/git"
-CVE_CHECK_IGNORE += "\
- CVE-2012-5638 \
-"
+CVE_STATUS[CVE-2012-5638] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
DEPENDS = "libaio util-linux"
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 4b9ae4758f..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,14 +27,14 @@ 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_CHECK_IGNORE += "\
- CVE-2012-3381 \
-"
+CVE_STATUS[CVE-2012-3381] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
inherit autotools
inherit systemd
@@ -44,6 +44,7 @@ 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-lld', ' -Wl,--allow-shlib-undefined ', '', d)}"
EXTRA_OECONF = '--enable-debug \
--enable-ssl \
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 d3f2bd678d..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,8 +20,7 @@ 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}' sbindir=${base_sbindir}"
-
+EXTRA_OEMAKE += "CC='${CC}' CFLAGS='${CFLAGS} -D_LARGEFILE64_SOURCE=1' sbindir=${base_sbindir}"
do_configure:append() {
oe_runmake -C mdadm.d mdadm-1.3.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 a377d4ec5a..972a33c742 100644
--- a/meta-oe/recipes-extended/sedutil/sedutil_git.bb
+++ b/meta-oe/recipes-extended/sedutil/sedutil_git.bb
@@ -7,11 +7,11 @@ LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://Common/LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
-BASEPV = "1.15.1"
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 fe2ebe4ff7..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
@@ -14,6 +14,7 @@ S = "${WORKDIR}/${BPN}"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE_GPL;md5=393a5ca445f6965873eca0259a17f833"
+EXTRA_OEMAKE = "CFLAGS='${CFLAGS}'"
do_compile:prepend() {
oe_runmake clean
}
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
index 85e49cca2d..45556afa8a 100644
--- 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
@@ -1,7 +1,7 @@
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 support
+Subject: [PATCH] configure.ac: add py 3.10/11 support
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
@@ -18,7 +18,7 @@ index 4802f35..e0e468f 100644
# 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.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])
++ [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/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 23d0666173..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
@@ -6,7 +6,7 @@ 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>
---
diff --git a/meta-oe/recipes-extended/smartmontools/smartmontools_7.3.bb b/meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb
index 1bf55bfcfd..f387147412 100644
--- a/meta-oe/recipes-extended/smartmontools/smartmontools_7.3.bb
+++ b/meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb
@@ -23,7 +23,7 @@ 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] = "a544f8808d0c58cfb0e7424ca1841cb858a974922b035d505d4e4c248be3a22b"
+SRC_URI[sha256sum] = "e9a61f641ff96ca95319edfb17948cd297d0cd3342736b2c49c99d4716fb993d"
inherit autotools update-rc.d systemd
diff --git a/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch b/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch
deleted file mode 100644
index 27357d88aa..0000000000
--- a/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 4728803cc8687431449c8c9fbfabb1da04943400 Mon Sep 17 00:00:00 2001
-From: "Georgi D. Sotirov" <gdsotirov@gmail.com>
-Date: Wed, 5 May 2021 14:16:46 +0300
-Subject: [PATCH] Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE
-
-Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE on AdvanceToNextTag to
-fix the following compilation errors and a warning with GCC:
-
-[ 2%] Building CXX object CMakeFiles/snappy.dir/snappy.cc.o
-/usr/bin/c++ -DHAVE_CONFIG_H -Dsnappy_EXPORTS
--I/tmp/snappy-1.1.9/build -I/tmp/snappy-1.1.9 -O3
--march=i586 -mtune=i686 -Wall -Wextra -fno-exceptions -fno-rtti -O3
--DNDEBUG -fPIC -std=c++11 -o CMakeFiles/snappy.dir/snappy.cc.o -c
-/tmp/snappy-1.1.9/snappy.cc
-/tmp/snappy-1.1.9/snappy.cc:1017:8: warning: always_inline
-function might not be inlinable [-Wattributes]
- size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
- ^
-/tmp/snappy-1.1.9/snappy.cc: In function 'std::pair<const
-unsigned char*, int> snappy::DecompressBranchless(const uint8_t*, const
-uint8_t*, ptrdiff_t, T, ptrdiff_t) [with T = char*; uint8_t = unsigned
-char; ptrdiff_t = int]':
-/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
-call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
-size_t*)': function body can be overwritten at link time
-/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
- size_t tag_type = AdvanceToNextTag(&ip, &tag);
- ^
-/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
-call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
-size_t*)': function body can be overwritten at link time
- size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
- ^
-/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
- size_t tag_type = AdvanceToNextTag(&ip, &tag);
- ^
-/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
-call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
-size_t*)': function body can be overwritten at link time
- size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
- ^
-/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
- size_t tag_type = AdvanceToNextTag(&ip, &tag);
- ^
-CMakeFiles/snappy.dir/build.make:137: recipe for target
-'CMakeFiles/snappy.dir/snappy.cc.o' failed
-
-Just like with other functions using SNAPPY_ATTRIBUTE_ALWAYS_INLINE
-macro (i.e. __attribute__((always_inline)) ) it is necessary to use C++
-inline specifier.
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-Upstream-Status: Submitted [https://github.com/google/snappy/pull/128]
----
- snappy.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/snappy.cc b/snappy.cc
-index 79dc0e8..51157be 100644
---- a/snappy.cc
-+++ b/snappy.cc
-@@ -1014,7 +1014,7 @@ void MemMove(ptrdiff_t dst, const void* src, size_t size) {
- }
-
- SNAPPY_ATTRIBUTE_ALWAYS_INLINE
--size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
-+inline size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
- const uint8_t*& ip = *ip_p;
- // This section is crucial for the throughput of the decompression loop.
- // The latency of an iteration is fundamentally constrained by the
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.9.bb b/meta-oe/recipes-extended/snappy/snappy_1.1.10.bb
index 0d58345d7a..bc3bc3aa47 100644
--- a/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb
+++ b/meta-oe/recipes-extended/snappy/snappy_1.1.10.bb
@@ -11,11 +11,11 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
SRC_URI = "gitsm://github.com/google/snappy.git;protocol=https;branch=main \
- file://0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch \
-"
-SRCREV = "2b63814b15a2aaae54b7943f0cd935892fae628f"
-S = "${WORKDIR}/git"
+ file://fix-build-on-32bit-arm.patch"
+
+SRCREV = "dc05e026488865bc69313a68bcc03ef2e4ea8e83"
+S = "${WORKDIR}/git"
inherit cmake pkgconfig
@@ -24,3 +24,5 @@ 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/socketcan/can-isotp_git.bb b/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
index 993efab395..ab97356e9b 100644
--- a/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
+++ b/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
@@ -1,7 +1,7 @@
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=72d977d697c3c05830fdff00a7448931"
-SRCREV = "beb4650660179963a8ed5b5cbf2085cc1b34f608"
-PV = "1.0+git${SRCPV}"
+SRCREV = "7626d0a0707391970080d493ce69638719938da7"
+PV = "1.0+git"
SRC_URI = "git://github.com/hartkopp/can-isotp.git;protocol=https;branch=master"
@@ -16,4 +16,4 @@ do_install:append() {
install -Dm 644 ${S}/include/uapi/linux/can/isotp.h ${D}${includedir}/linux/can/isotp.h
}
-EXCLUDE_FROM_WORLD = "1"
+SKIP_RECIPE[can-isotp] ?= "Not needed with kernel 5.10+"
diff --git a/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-oe/recipes-extended/socketcan/can-utils_2023.03.bb
index 07b80a5307..ca6cb7db58 100644
--- a/meta-oe/recipes-extended/socketcan/can-utils_git.bb
+++ b/meta-oe/recipes-extended/socketcan/can-utils_2023.03.bb
@@ -6,9 +6,7 @@ DEPENDS = "libsocketcan"
SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=https;branch=master"
-SRCREV = "3615bac17e539a06835dcb90855eae844ee18053"
-
-PV = "2021.08.0"
+SRCREV = "cfe41963f3425e9adb01a70cfaddedf5e5982720"
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_0.28.0.bb b/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb
index 4181da732f..e814120ee6 100644
--- a/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb
+++ b/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb
@@ -24,11 +24,14 @@ 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 = "\
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 fc64ec0fcb..596aa260e7 100644
--- a/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
+++ b/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
@@ -9,7 +9,7 @@ SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils;branch=master \
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
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
index 6dc5c0c7e5..4e66d8d05a 100644
--- a/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
+++ b/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
@@ -1,6 +1,5 @@
SUMMARY = "Instant terminal sharing"
DESCRIPTION = "Tmate is a fork of tmux. It provides an instant pairing solution."
-AUTHOR = "Marius Kriegerowski <marius.kriegerowski@gmail.com>"
HOMEPAGE = "https://tmate.io/"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://COPYING;md5=f7d9aab84ec6567139a4755c48d147fb"
@@ -8,6 +7,7 @@ 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"
diff --git a/meta-oe/recipes-extended/tmux/tmux_3.1c.bb b/meta-oe/recipes-extended/tmux/tmux_3.3a.bb
index ec9fe34cf1..5187222838 100644
--- a/meta-oe/recipes-extended/tmux/tmux_3.1c.bb
+++ b/meta-oe/recipes-extended/tmux/tmux_3.3a.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=f256b76d52e7b4d02bf
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"
+SRC_URI[md5sum] = "8eee5883b9f6550fa4efaad0c9ec38f3"
+SRC_URI[sha256sum] = "e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f"
UPSTREAM_CHECK_URI = "https://github.com/tmux/tmux/releases"
diff --git a/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb b/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb
index 3a3dd192be..0b14f9557a 100644
--- a/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb
+++ b/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
# matches debian/0.5.0-1 tag
SRCREV = "44a173195986d0d853316cb02a58785ded66c12b"
-PV = "0.5.0+git${SRCPV}"
+PV = "0.5.0+git"
SRC_URI = "git://github.com/wertarbyte/${BPN}.git;branch=debian;protocol=https"
S = "${WORKDIR}/git"
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 663a145ef7..6a99e8d29b 100644
--- a/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb
@@ -7,11 +7,13 @@ SRC_URI = "http://downloads.sourceforge.net/project/user-mode-linux/tools/1/uml_
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"
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 61e2e38b05..3aa766d0bd 100644
--- a/meta-oe/recipes-extended/upm/upm_git.bb
+++ b/meta-oe/recipes-extended/upm/upm_git.bb
@@ -5,17 +5,18 @@ 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;branch=master;protocol=https \
+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 "
@@ -41,21 +42,21 @@ 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() {
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"
### 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 a374041934..455bda1d76 100644
--- a/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb
+++ b/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb
@@ -37,13 +37,13 @@ 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}
}
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 faf8dd362d..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
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "6ca3748fc1dad22c450bbf6601d4e706cb11c5e662d11bb4aeb473a9cd
SRCNAME = "volume_key"
S = "${WORKDIR}/${SRCNAME}-${PV}"
-inherit autotools python3native gettext pkgconfig
+inherit autotools python3native python3targetconfig gettext pkgconfig
DEPENDS += " \
util-linux \
@@ -27,7 +27,7 @@ DEPENDS += " \
swig-native \
"
-PACKAGECONFIG ??= "python3"
+PACKAGECONFIG ??= ""
PACKAGECONFIG[python3] = "--with-python3,--without-python3,python3,python3"
EXTRA_OECONF = "--without-python"
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
index 555ed47ad6..ea204ed3b1 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets/fix-libdir-for-multilib.patch
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets/fix-libdir-for-multilib.patch
@@ -4,80 +4,104 @@ 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 | 6 +++---
- build/cmake/install.cmake | 6 +++---
- 4 files changed, 8 insertions(+), 8 deletions(-)
+ 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 4063020552..253d415210 100644
+index a49ecd3883..d469471f38 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -43,7 +43,7 @@ include(build/cmake/policies.cmake NO_POLICY_SCOPE)
+@@ -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${wxPLATFORM_LIB_DIR})
++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 include/wx/version.h WX_VERSION_H_CONTENTS)
+ 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 91d11acba2..f361d50a27 100644
+index b359560bc0..c59ea60923 100644
--- a/build/cmake/config.cmake
+++ b/build/cmake/config.cmake
-@@ -57,7 +57,7 @@ function(wx_write_config_inplace)
+@@ -76,7 +76,7 @@ function(wx_write_config_inplace)
execute_process(
COMMAND
- ${CMAKE_COMMAND} -E create_symlink
-- "lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}"
-+ "lib${wxPLATFORM_LIB_DIR}/wx/config/inplace-${TOOLCHAIN_FULLNAME}"
+ "${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 c33dd3946c..51e47e05b3 100644
+index 7182364e5e..55fbebc7ee 100644
--- a/build/cmake/functions.cmake
+++ b/build/cmake/functions.cmake
-@@ -78,9 +78,9 @@ function(wx_set_common_target_properties target_name)
- cmake_parse_arguments(wxCOMMON_TARGET_PROPS "DEFAULT_WARNINGS" "" "" ${ARGN})
-
- set_target_properties(${target_name} PROPERTIES
-- LIBRARY_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${wxPLATFORM_LIB_DIR}"
-- ARCHIVE_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${wxPLATFORM_LIB_DIR}"
-- RUNTIME_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${wxPLATFORM_LIB_DIR}"
-+ LIBRARY_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}"
-+ ARCHIVE_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}"
-+ RUNTIME_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}"
- )
-
- if(wxBUILD_PIC)
+@@ -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 968dff859e..c850c51844 100644
+index 384c6837b8..d3303faabb 100644
--- a/build/cmake/install.cmake
+++ b/build/cmake/install.cmake
-@@ -33,11 +33,11 @@ if(MSVC)
+@@ -29,11 +29,11 @@ if(WIN32_MSVC_NAMING)
else()
- wx_install(
+ install(
DIRECTORY "${wxSETUP_HEADER_PATH}"
- DESTINATION "lib/wx/include")
-+ DESTINATION "lib${wxPLATFORM_LIB_DIR}/wx/include")
++ DESTINATION "lib${LIB_SUFFIX}/wx/include")
- wx_install(
+ install(
FILES "${wxOUTPUT_DIR}/wx/config/${wxBUILD_FILE_ID}"
- DESTINATION "lib/wx/config"
-+ DESTINATION "lib${wxPLATFORM_LIB_DIR}/wx/config"
++ DESTINATION "lib${LIB_SUFFIX}/wx/config"
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
-@@ -46,7 +46,7 @@ else()
+@@ -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${wxPLATFORM_LIB_DIR}/wx/config/${wxBUILD_FILE_ID} \
- ${CMAKE_INSTALL_PREFIX}/bin/wx-config \
+- \"${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
index 0f78cc134e..6329256b0c 100644
--- 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
@@ -5,24 +5,28 @@ 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 53cd6a1ace..95efa17fe4 100644
+index e374d9a273..c6b1908bd6 100644
--- a/build/cmake/functions.cmake
+++ b/build/cmake/functions.cmake
-@@ -211,9 +211,9 @@ function(wx_set_target_properties target_name is_base)
- endif()
- else()
- set(cross_target "")
-- if (CMAKE_CROSSCOMPILING)
-- set(cross_target "-${CMAKE_SYSTEM_NAME}")
-- endif ()
-+ #if (CMAKE_CROSSCOMPILING)
-+ # set(cross_target "-${CMAKE_SYSTEM_NAME}")
-+ #endif ()
+@@ -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_target_properties(${target_name}
- PROPERTIES
+ set(lib_prefix "lib")
+ if(MSVC OR (WIN32 AND wxBUILD_SHARED))
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets/respect-DESTDIR-when-create-link.patch b/meta-oe/recipes-extended/wxwidgets/wxwidgets/respect-DESTDIR-when-create-link.patch
deleted file mode 100644
index 69be32928c..0000000000
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets/respect-DESTDIR-when-create-link.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-There are errors during do install. So link files 'wx-config' and 'wxrc' are
-not created, and rename failed either:
-
-| CMake Error: failed to create symbolic link '/usr/bin/wx-config': Permission denied
-| Error renaming from "/usr/bin/wxrc" to "/usr/bin/wxrc-3.1": No such file or directory
-| CMake Error: failed to create symbolic link '/usr/bin/wxrc': Permission denied
-
-Respect variable 'DESTDIR' to make it work as expect.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- build/cmake/install.cmake | 4 ++--
- build/cmake/utils/CMakeLists.txt | 8 ++++----
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake
-index c850c51844..5cbc67daa1 100644
---- a/build/cmake/install.cmake
-+++ b/build/cmake/install.cmake
-@@ -46,8 +46,8 @@ else()
- install(DIRECTORY DESTINATION "bin")
- install(CODE "execute_process( \
- COMMAND ${CMAKE_COMMAND} -E create_symlink \
-- ${CMAKE_INSTALL_PREFIX}/lib${wxPLATFORM_LIB_DIR}/wx/config/${wxBUILD_FILE_ID} \
-- ${CMAKE_INSTALL_PREFIX}/bin/wx-config \
-+ ../lib${wxPLATFORM_LIB_DIR}/wx/config/${wxBUILD_FILE_ID} \
-+ \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wx-config \
- )"
- )
- endif()
-diff --git a/build/cmake/utils/CMakeLists.txt b/build/cmake/utils/CMakeLists.txt
-index 4108d6a723..fbac6bb533 100644
---- a/build/cmake/utils/CMakeLists.txt
-+++ b/build/cmake/utils/CMakeLists.txt
-@@ -34,14 +34,14 @@ if(wxUSE_XRC)
- if(NOT MSVC)
- install(CODE "execute_process( \
- COMMAND ${CMAKE_COMMAND} -E rename \
-- ${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \
-- ${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \
-+ \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \
-+ \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \
- )"
- )
- install(CODE "execute_process( \
- COMMAND ${CMAKE_COMMAND} -E create_symlink \
-- ${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \
-- ${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \
-+ wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \
-+ \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \
- )"
- )
- endif()
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
index 7ce206d263..628f8dee56 100644
--- 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
@@ -5,6 +5,10 @@ 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 ++++--
@@ -50,7 +54,7 @@ index e3f7d115bb..0e78af03c7 100755
# 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@wxPLATFORM_LIB_DIR@}
++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.1.5.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
index 5565a289fe..91653e2852 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
@@ -18,15 +18,17 @@ DEPENDS += " \
tiff \
"
-SRC_URI = " \
- gitsm://github.com/wxWidgets/wxWidgets.git;branch=master;protocol=https \
- file://0001-wx-config.in-Disable-cross-magic-it-does-not-work-fo.patch \
- file://fix-libdir-for-multilib.patch \
- file://respect-DESTDIR-when-create-link.patch \
- file://not-append-system-name-to-lib-name.patch \
- file://wx-config-fix-libdir-for-multilib.patch \
-"
-SRCREV= "9c0a8be1dc32063d91ed1901fd5fcd54f4f955a1"
+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
@@ -38,10 +40,6 @@ EXTRA_OECMAKE += " \
-DwxUSE_LIBPNG=sys \
-DwxUSE_LIBTIFF=sys \
-DwxUSE_REGEX=builtin \
- -DwxPLATFORM_LIB_DIR=${@d.getVar('baselib').replace('lib', '')} \
-"
-EXTRA_OECMAKE:append:libc-musl = " \
- -DHAVE_LOCALE_T=OFF \
"
EXTRA_OECMAKE:append:class-target = ' -DEGREP="/bin/grep -E"'
@@ -76,9 +74,12 @@ 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,webkitgtk,,,no_gui"
+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
@@ -100,13 +101,15 @@ do_compile:append() {
do_install:append() {
# do not ship bindir if empty
rmdir --ignore-fail-on-non-empty ${D}${bindir}
-}
-# lib names are not canonical
-FILES_SOLIBSDEV = ""
+ # 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}/libwx_*.so \
${libdir}/wx/ \
"
diff --git a/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb b/meta-oe/recipes-extended/zlog/zlog_1.2.16.bb
index 0fda3e6756..b75802f09f 100644
--- a/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb
+++ b/meta-oe/recipes-extended/zlog/zlog_1.2.16.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/HardySimpson/zlog"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "876099f3c66033f3de11d79f63814766b1021dbe"
+SRCREV = "dc2c284664757fce6ef8f96f8b3ab667a53ef489"
SRC_URI = "git://github.com/HardySimpson/zlog;branch=master;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-extended/zram/zram_0.2.bb b/meta-oe/recipes-extended/zram/zram_0.2.bb
index 97db34134e..b4b3a27b2b 100644
--- a/meta-oe/recipes-extended/zram/zram_0.2.bb
+++ b/meta-oe/recipes-extended/zram/zram_0.2.bb
@@ -8,7 +8,6 @@ RDEPENDS:${PN} = "kmod \
${@bb.utils.contains('DISTRO_FEATURES','systemd','util-linux','util-linux-swaponoff',d)}"
RRECOMMENDS:${PN} = "kernel-module-zram"
-PR = "r3"
SRC_URI = " \
file://init \
diff --git a/meta-oe/recipes-extended/zsync/zsync-curl_git.bb b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb
index 84593387d3..1bc4010f8a 100644
--- a/meta-oe/recipes-extended/zsync/zsync-curl_git.bb
+++ b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb
@@ -10,7 +10,7 @@ SRC_URI = "git://github.com/probonopd/zsync-curl;protocol=https;branch=master \
file://make.patch"
SRCREV = "00141c2806ccc4ddf2ff6263ee1612d19c0b713f"
-PV = "0.6.2+git${SRCPV}"
+PV = "0.6.2+git"
inherit autotools