diff options
Diffstat (limited to 'meta/recipes-support')
300 files changed, 5468 insertions, 5176 deletions
diff --git a/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch b/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch new file mode 100644 index 0000000000..d4d5517ab1 --- /dev/null +++ b/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch @@ -0,0 +1,32 @@ +From 03f00252c2fc948c0bce1fc0a6ee87adef71d1bb Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Mon, 12 Dec 2022 15:42:42 +0100 +Subject: [PATCH] remove hardcoded path + +Signed-off-by: Markus Volk <f_l_k@t-online.de> + +Dont include hardcoded path. This fixes: +| cc1: error: include location "/usr/include" is unsafe for cross-compilation [-Werror=poison-system-directories] + +Upstream-Status: Inappropriate [oe-specific] +--- + meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 5f2eaa22..4a2483a1 100644 +--- a/meson.build ++++ b/meson.build +@@ -191,10 +191,10 @@ endif + stemmer_inc_dirs = include_directories() + if get_option('stemming') + stemmer_lib = cc.find_library('stemmer', required: true) +- stemmer_inc_dirs = include_directories(['/usr/include']) ++ stemmer_inc_dirs = include_directories(['']) + if not cc.has_header('libstemmer.h') + if cc.has_header('libstemmer/libstemmer.h') +- stemmer_inc_dirs = include_directories('/usr/include/libstemmer') ++ stemmer_inc_dirs = include_directories('') + else + error('Unable to find Snowball header "libstemmer.h". Please ensure libstemmer/Snowball is installed properly in order to continue.') + endif diff --git a/meta/recipes-support/appstream/appstream/0002-Do-not-build-qt-tests.patch b/meta/recipes-support/appstream/appstream/0002-Do-not-build-qt-tests.patch new file mode 100644 index 0000000000..9a725ab8e4 --- /dev/null +++ b/meta/recipes-support/appstream/appstream/0002-Do-not-build-qt-tests.patch @@ -0,0 +1,34 @@ +From a7721cf4f412fbe18fe15127bea7b1457b99f684 Mon Sep 17 00:00:00 2001 +From: Marc Ferland <marc.ferland@sonatest.com> +Date: Fri, 26 Jul 2024 15:41:00 -0400 +Subject: [PATCH] Do not build qt/tests +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes the following build failure: + +| In file included from /home/marc/mnt/yocto-kde/build/tmp/work/x86_64-linux/appstream-native/1.0.3/recipe-sysroot-native/usr/include/QtTest/QtTest:11, +| from ../AppStream-1.0.3/qt/tests/asqt-pool-test.cpp:21: +| ../AppStream-1.0.3/qt/tests/asqt-pool-test.cpp: In function ‘int main(int, char**)’: +| ../AppStream-1.0.3/qt/tests/asqt-pool-test.cpp:117:1: error: expected primary-expression before ‘)’ token +| 117 | QTEST_MAIN(PoolReadTest) +| | ^~~~~~~~~~ + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Marc Ferland <marc.ferland@sonatest.com> +--- + qt/meson.build | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/qt/meson.build b/qt/meson.build +index 1909bcf7..c3ca20fb 100644 +--- a/qt/meson.build ++++ b/qt/meson.build +@@ -148,5 +148,3 @@ install_data ( + + # end of Qt version loop + endforeach +- +-subdir('tests/') diff --git a/meta/recipes-support/appstream/appstream/0003-Fix-PACKAGE_PREFIX_DIR-in-qt-cmake-AppStreamQtConfig.patch b/meta/recipes-support/appstream/appstream/0003-Fix-PACKAGE_PREFIX_DIR-in-qt-cmake-AppStreamQtConfig.patch new file mode 100644 index 0000000000..e522a92e14 --- /dev/null +++ b/meta/recipes-support/appstream/appstream/0003-Fix-PACKAGE_PREFIX_DIR-in-qt-cmake-AppStreamQtConfig.patch @@ -0,0 +1,51 @@ +From c36b6226479a20ebd910f355deddb9d5c7571213 Mon Sep 17 00:00:00 2001 +From: Marc Ferland <marc.ferland@sonatest.com> +Date: Mon, 29 Jul 2024 09:35:51 -0400 +Subject: [PATCH] Fix PACKAGE_PREFIX_DIR in qt/cmake/AppStreamQtConfig.cmake.in + +PACKAGE_PREFIX_DIR points to an invalid directory. This breaks +librairies linking to appstream-qt. + +For example, when building the 'discover' package from the meta-kde +layer we get the following build error: + +| CMake Error in libdiscover/CMakeLists.txt: +| Imported target "AppStreamQt" includes non-existent path +| +| "/path/to/build/tmp/work/core2-64-poky-linux/discover/6.1.3/recipe-sysroot/include/" +| +| in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: +| +| * The path was deleted, renamed, or moved to another location. +| +| * An install or uninstall procedure did not complete successfully. +| +| * The installation package was faulty and references files it does not +| provide. + +The path above should've been: + + /path/to/build/tmp/work/core2-64-poky-linux/discover/6.1.3/recipe-sysroot/usr/include/ + +instead of: + + /path/to/build/tmp/work/core2-64-poky-linux/discover/6.1.3/recipe-sysroot/include/ + +Upstream-Status: Inappropriate [upstream ticket https://github.com/ximion/appstream/issues/643] + +Signed-off-by: Marc Ferland <marc.ferland@sonatest.com> +--- + qt/cmake/AppStreamQtConfig.cmake.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qt/cmake/AppStreamQtConfig.cmake.in b/qt/cmake/AppStreamQtConfig.cmake.in +index 63df65f2..5ab2d0ec 100644 +--- a/qt/cmake/AppStreamQtConfig.cmake.in ++++ b/qt/cmake/AppStreamQtConfig.cmake.in +@@ -1,5 +1,5 @@ + +-get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../../" ABSOLUTE) ++get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) + + # Use original install prefix when loaded through a "/usr move" + # cross-prefix symbolic link such as /lib -> /usr/lib. diff --git a/meta/recipes-support/appstream/appstream_1.0.3.bb b/meta/recipes-support/appstream/appstream_1.0.3.bb new file mode 100644 index 0000000000..092d85d1a0 --- /dev/null +++ b/meta/recipes-support/appstream/appstream_1.0.3.bb @@ -0,0 +1,53 @@ +SUMMARY = "AppStream is a collaborative effort for making machine-readable software metadata easily available." +HOMEPAGE = "https://github.com/ximion/appstream" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=435ed639f84d4585d93824e7da3d85da" + +DEPENDS = " \ + appstream-native \ + curl-native \ + curl \ + docbook-xml-dtd4-native \ + gperf-native \ + glib-2.0 \ + libyaml \ + libxml2 \ + libxmlb \ + libxslt-native \ + itstool-native \ + docbook-xsl-stylesheets-native \ + python3-pygments-native \ +" + +inherit meson gobject-introspection gettext gi-docgen pkgconfig vala + +GIR_MESON_OPTION = "gir" +GIDOCGEN_MESON_OPTION = "apidocs" + +SRC_URI = " \ + https://www.freedesktop.org/software/appstream/releases/AppStream-${PV}.tar.xz \ + file://0001-remove-hardcoded-path.patch \ + file://0002-Do-not-build-qt-tests.patch \ + file://0003-Fix-PACKAGE_PREFIX_DIR-in-qt-cmake-AppStreamQtConfig.patch \ +" +SRC_URI[sha256sum] = "5ab6f6cf644e7875a9508593962e56bb430f4e59ae0bf03be6be7029deb6baa4" + +S = "${WORKDIR}/AppStream-${PV}" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd" +PACKAGECONFIG[stemming] = "-Dstemming=true,-Dstemming=false,libstemmer" +PACKAGECONFIG[qt6] = "-Dqt=true,-Dqt=false,qtbase" + +FILES:${PN} += "${datadir}" + +EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}" + +BBCLASSEXTEND = "native" + +# Fix meson not finding the Qt build tools in cross-compilation +# setups. See: https://github.com/mesonbuild/meson/issues/13018 +do_configure:prepend:class-target() { + export PATH=${STAGING_DIR_NATIVE}${libexecdir}:$PATH +} diff --git a/meta/recipes-support/apr/apr-util/0001-Fix-error-handling-in-gdbm.patch b/meta/recipes-support/apr/apr-util/0001-Fix-error-handling-in-gdbm.patch deleted file mode 100644 index 57e7453312..0000000000 --- a/meta/recipes-support/apr/apr-util/0001-Fix-error-handling-in-gdbm.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 6b638fa9afbeb54dfa19378e391465a5284ce1ad Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Wed, 12 Sep 2018 17:16:36 +0800 -Subject: [PATCH] Fix error handling in gdbm - -Only check for gdbm_errno if the return value of the called gdbm_* -function says so. This fixes apr-util with gdbm 1.14, which does not -seem to always reset gdbm_errno. - -Also make the gdbm driver return error codes starting with -APR_OS_START_USEERR instead of always returning APR_EGENERAL. This is -what the berkleydb driver already does. - -Also ensure that dsize is 0 if dptr == NULL. - -Upstream-Status: Backport[https://svn.apache.org/viewvc? -view=revision&revision=1825311] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - dbm/apr_dbm_gdbm.c | 47 +++++++++++++++++++++++++++++------------------ - 1 file changed, 29 insertions(+), 18 deletions(-) - -diff --git a/dbm/apr_dbm_gdbm.c b/dbm/apr_dbm_gdbm.c -index 749447a..1c86327 100644 ---- a/dbm/apr_dbm_gdbm.c -+++ b/dbm/apr_dbm_gdbm.c -@@ -36,13 +36,25 @@ - static apr_status_t g2s(int gerr) - { - if (gerr == -1) { -- /* ### need to fix this */ -- return APR_EGENERAL; -+ if (gdbm_errno == GDBM_NO_ERROR) -+ return APR_SUCCESS; -+ return APR_OS_START_USEERR + gdbm_errno; - } - - return APR_SUCCESS; - } - -+static apr_status_t gdat2s(datum d) -+{ -+ if (d.dptr == NULL) { -+ if (gdbm_errno == GDBM_NO_ERROR || gdbm_errno == GDBM_ITEM_NOT_FOUND) -+ return APR_SUCCESS; -+ return APR_OS_START_USEERR + gdbm_errno; -+ } -+ -+ return APR_SUCCESS; -+} -+ - static apr_status_t datum_cleanup(void *dptr) - { - if (dptr) -@@ -53,22 +65,15 @@ static apr_status_t datum_cleanup(void *dptr) - - static apr_status_t set_error(apr_dbm_t *dbm, apr_status_t dbm_said) - { -- apr_status_t rv = APR_SUCCESS; - -- /* ### ignore whatever the DBM said (dbm_said); ask it explicitly */ -+ dbm->errcode = dbm_said; - -- if ((dbm->errcode = gdbm_errno) == GDBM_NO_ERROR) { -+ if (dbm_said == APR_SUCCESS) - dbm->errmsg = NULL; -- } -- else { -- dbm->errmsg = gdbm_strerror(gdbm_errno); -- rv = APR_EGENERAL; /* ### need something better */ -- } -- -- /* captured it. clear it now. */ -- gdbm_errno = GDBM_NO_ERROR; -+ else -+ dbm->errmsg = gdbm_strerror(dbm_said - APR_OS_START_USEERR); - -- return rv; -+ return dbm_said; - } - - /* -------------------------------------------------------------------------- -@@ -107,7 +112,7 @@ static apr_status_t vt_gdbm_open(apr_dbm_t **pdb, const char *pathname, - NULL); - - if (file == NULL) -- return APR_EGENERAL; /* ### need a better error */ -+ return APR_OS_START_USEERR + gdbm_errno; /* ### need a better error */ - - /* we have an open database... return it */ - *pdb = apr_pcalloc(pool, sizeof(**pdb)); -@@ -141,10 +146,12 @@ static apr_status_t vt_gdbm_fetch(apr_dbm_t *dbm, apr_datum_t key, - if (pvalue->dptr) - apr_pool_cleanup_register(dbm->pool, pvalue->dptr, datum_cleanup, - apr_pool_cleanup_null); -+ else -+ pvalue->dsize = 0; - - /* store the error info into DBM, and return a status code. Also, note - that *pvalue should have been cleared on error. */ -- return set_error(dbm, APR_SUCCESS); -+ return set_error(dbm, gdat2s(rd)); - } - - static apr_status_t vt_gdbm_store(apr_dbm_t *dbm, apr_datum_t key, -@@ -201,9 +208,11 @@ static apr_status_t vt_gdbm_firstkey(apr_dbm_t *dbm, apr_datum_t *pkey) - if (pkey->dptr) - apr_pool_cleanup_register(dbm->pool, pkey->dptr, datum_cleanup, - apr_pool_cleanup_null); -+ else -+ pkey->dsize = 0; - - /* store any error info into DBM, and return a status code. */ -- return set_error(dbm, APR_SUCCESS); -+ return set_error(dbm, gdat2s(rd)); - } - - static apr_status_t vt_gdbm_nextkey(apr_dbm_t *dbm, apr_datum_t *pkey) -@@ -221,9 +230,11 @@ static apr_status_t vt_gdbm_nextkey(apr_dbm_t *dbm, apr_datum_t *pkey) - if (pkey->dptr) - apr_pool_cleanup_register(dbm->pool, pkey->dptr, datum_cleanup, - apr_pool_cleanup_null); -+ else -+ pkey->dsize = 0; - - /* store any error info into DBM, and return a status code. */ -- return set_error(dbm, APR_SUCCESS); -+ return set_error(dbm, gdat2s(rd)); - } - - static void vt_gdbm_freedatum(apr_dbm_t *dbm, apr_datum_t data) --- -2.7.4 - diff --git a/meta/recipes-support/apr/apr-util/0001-test_transformation-Check-if-transform-is-supported-.patch b/meta/recipes-support/apr/apr-util/0001-test_transformation-Check-if-transform-is-supported-.patch new file mode 100644 index 0000000000..261b78736f --- /dev/null +++ b/meta/recipes-support/apr/apr-util/0001-test_transformation-Check-if-transform-is-supported-.patch @@ -0,0 +1,37 @@ +From 3a97f58cfb40fc1911bbfd067e8457a472613d75 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 18 Apr 2023 22:58:00 -0700 +Subject: [PATCH] test_transformation: Check if transform is supported before + using it + +This helps in excluding these tests on systems where these are not +available e.g. musl + +Upstream-Status: Submitted [https://bz.apache.org/bugzilla/show_bug.cgi?id=66570] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + test/testxlate.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/test/testxlate.c b/test/testxlate.c +index 6981eff..de00fa4 100644 +--- a/test/testxlate.c ++++ b/test/testxlate.c +@@ -116,8 +116,12 @@ static void test_transformation(abts_case *tc, void *data) + } + + /* 4. Transformation using charset aliases */ +- one_test(tc, "UTF-8", "UTF-7", test_utf8, test_utf7, p); +- one_test(tc, "UTF-7", "UTF-8", test_utf7, test_utf8, p); ++ if (is_transform_supported(tc, "UTF-8", "UTF-7", p)) { ++ one_test(tc, "UTF-8", "UTF-7", test_utf8, test_utf7, p); ++ } ++ if (is_transform_supported(tc, "UTF-7", "UTF-8", p)) { ++ one_test(tc, "UTF-7", "UTF-8", test_utf7, test_utf8, p); ++ } + } + + #endif /* APR_HAS_XLATE */ +-- +2.40.0 + diff --git a/meta/recipes-support/apr/apr-util_1.6.1.bb b/meta/recipes-support/apr/apr-util_1.6.3.bb index 4e183ca374..1371e262dd 100644 --- a/meta/recipes-support/apr/apr-util_1.6.1.bb +++ b/meta/recipes-support/apr/apr-util_1.6.3.bb @@ -12,12 +12,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=158aa0b1efe0c12f23d4b007ddb9a5db \ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.gz \ file://configfix.patch \ file://configure_fixes.patch \ + file://0001-test_transformation-Check-if-transform-is-supported-.patch \ file://run-ptest \ - file://0001-Fix-error-handling-in-gdbm.patch \ -" + " -SRC_URI[md5sum] = "bd502b9a8670a8012c4d90c31a84955f" -SRC_URI[sha256sum] = "b65e40713da57d004123b6319828be7f1273fbc6490e145874ee1177e112c459" +SRC_URI[sha256sum] = "2b74d8932703826862ca305b094eef2983c27b39d5c9414442e9976a9acf1983" EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \ --without-odbc \ @@ -32,35 +31,35 @@ MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apu-1-config" OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'" -do_configure_append() { +do_configure:append() { if [ "${CLASSOVERRIDE}" = "class-target" ]; then cp ${STAGING_DATADIR}/apr/apr_rules.mk ${B}/build/rules.mk sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${B}/build/rules.mk fi } -do_configure_prepend_class-native() { +do_configure:prepend:class-native() { mkdir ${B}/build cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${B}/build/rules.mk } -do_configure_append_class-native() { +do_configure:append:class-native() { sed -i "s#LIBTOOL=\$(SHELL) \$(apr_builddir)#LIBTOOL=\$(SHELL) ${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk # sometimes there isn't SHELL sed -i "s#LIBTOOL=\$(apr_builddir)#LIBTOOL=${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk } -do_configure_prepend_class-nativesdk() { +do_configure:prepend:class-nativesdk() { cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${S}/build/rules.mk } -do_configure_append_class-nativesdk() { +do_configure:append:class-nativesdk() { sed -i "s#\(apr_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk sed -i "s#\(apr_builders\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk sed -i "s#\(top_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk sed -i "s#\(LIBTOOL=\$(apr_builddir)\).*#\1/libtool#" ${B}/build/rules.mk } -do_install_append_class-target() { +do_install:append:class-target() { sed -i -e 's,${STAGING_DIR_HOST},,g' \ -e 's,APU_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \ -e 's,APU_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apu-1-config @@ -73,16 +72,16 @@ PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_DIR_HOST}${prefix},--without- PACKAGECONFIG[gdbm] = "--with-dbm=gdbm --with-gdbm=${STAGING_DIR_HOST}${prefix},--without-gdbm,gdbm" #files ${libdir}/apr-util-1/*.so are not symlinks but loadable modules thus they are packaged in ${PN} -FILES_${PN} += "${libdir}/apr-util-1/apr*${SOLIBS} ${libdir}/apr-util-1/apr*${SOLIBSDEV}" -FILES_${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/*.la" -FILES_${PN}-staticdev += "${libdir}/apr-util-1/*.a" +FILES:${PN} += "${libdir}/apr-util-1/apr*${SOLIBS} ${libdir}/apr-util-1/apr*${SOLIBSDEV}" +FILES:${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/*.la" +FILES:${PN}-staticdev += "${libdir}/apr-util-1/*.a" -INSANE_SKIP_${PN} += "dev-so" +INSANE_SKIP:${PN} += "dev-so" inherit ptest -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-gconv-iso8859-1 glibc-gconv-iso8859-2 glibc-gconv-utf-7" -RDEPENDS_${PN}-ptest += "libgcc" +RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-1 glibc-gconv-iso8859-2 glibc-gconv-utf-7" +RDEPENDS:${PN}-ptest += "libgcc" do_compile_ptest() { cd ${B}/test diff --git a/meta/recipes-support/apr/apr/0001-Add-option-to-disable-timed-dependant-tests.patch b/meta/recipes-support/apr/apr/0001-Add-option-to-disable-timed-dependant-tests.patch index abff4e9331..b46dc76a86 100644 --- a/meta/recipes-support/apr/apr/0001-Add-option-to-disable-timed-dependant-tests.patch +++ b/meta/recipes-support/apr/apr/0001-Add-option-to-disable-timed-dependant-tests.patch @@ -1,14 +1,15 @@ -From 2bbe20b4f69e84e7a18bc79d382486953f479328 Mon Sep 17 00:00:00 2001 +From 225abf37cd0b49960664b59f08e515a4c4ea5ad0 Mon Sep 17 00:00:00 2001 From: Jeremy Puhlman <jpuhlman@mvista.com> Date: Thu, 26 Mar 2020 18:30:36 +0000 Subject: [PATCH] Add option to disable timed dependant tests -The disabled tests rely on timing to pass correctly. On a virtualized +The disabled tests rely on timing to pass correctly. On a virtualized system under heavy load, these tests randomly fail because they miss a timer or other timing related issues. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/apache/apr/pull/54] Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> + --- configure.in | 6 ++++++ include/apr.h.in | 1 + @@ -16,10 +17,10 @@ Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in -index d9f32d6..f0c5661 100644 +index bfd488b..3663220 100644 --- a/configure.in +++ b/configure.in -@@ -2886,6 +2886,12 @@ AC_ARG_ENABLE(timedlocks, +@@ -3023,6 +3023,12 @@ AC_ARG_ENABLE(timedlocks, ) AC_SUBST(apr_has_timedlocks) @@ -45,10 +46,10 @@ index ee99def..c46a5f4 100644 #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD @apr_procattr_user_set_requires_password@ diff --git a/test/testlock.c b/test/testlock.c -index a43f477..6233d0b 100644 +index e3437c1..04e01b9 100644 --- a/test/testlock.c +++ b/test/testlock.c -@@ -396,13 +396,13 @@ abts_suite *testlock(abts_suite *suite) +@@ -535,7 +535,7 @@ abts_suite *testlock(abts_suite *suite) abts_run_test(suite, threads_not_impl, NULL); #else abts_run_test(suite, test_thread_mutex, NULL); @@ -56,6 +57,8 @@ index a43f477..6233d0b 100644 +#if APR_HAS_TIMEDLOCKS && APR_HAVE_TIME_DEPENDANT_TESTS abts_run_test(suite, test_thread_timedmutex, NULL); #endif + abts_run_test(suite, test_thread_nestedmutex, NULL); +@@ -543,7 +543,7 @@ abts_suite *testlock(abts_suite *suite) abts_run_test(suite, test_thread_rwlock, NULL); abts_run_test(suite, test_cond, NULL); abts_run_test(suite, test_timeoutcond, NULL); @@ -63,7 +66,4 @@ index a43f477..6233d0b 100644 +#if APR_HAS_TIMEDLOCKS && APR_HAVE_TIME_DEPENDANT_TESTS abts_run_test(suite, test_timeoutmutex, NULL); #endif - #endif --- -2.23.0 - + #ifdef WIN32 diff --git a/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch b/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch new file mode 100644 index 0000000000..3480deaa4d --- /dev/null +++ b/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch @@ -0,0 +1,58 @@ +From 316b81c462f065927d7fec56aadd5c8cb94d1cf0 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 26 Aug 2022 00:28:08 -0700 +Subject: [PATCH] configure: Remove runtime test for mmap that can map + /dev/zero + +This never works for cross-compile moreover it ends up disabling +ac_cv_file__dev_zero which then results in compiler errors in shared +mutexes + +Upstream-Status: Inappropriate [Cross-compile specific] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + configure.in | 30 ------------------------------ + 1 file changed, 30 deletions(-) + +diff --git a/configure.in b/configure.in +index 3663220..dce9789 100644 +--- a/configure.in ++++ b/configure.in +@@ -1303,36 +1303,6 @@ AC_CHECK_FUNCS([mmap munmap shm_open shm_unlink shmget shmat shmdt shmctl \ + APR_CHECK_DEFINE(MAP_ANON, sys/mman.h) + AC_CHECK_FILE(/dev/zero) + +-# Not all systems can mmap /dev/zero (such as HP-UX). Check for that. +-if test "$ac_cv_func_mmap" = "yes" && +- test "$ac_cv_file__dev_zero" = "yes"; then +- AC_CACHE_CHECK([for mmap that can map /dev/zero], +- [ac_cv_mmap__dev_zero], +- [AC_TRY_RUN([#include <sys/types.h> +-#include <sys/stat.h> +-#include <fcntl.h> +-#ifdef HAVE_SYS_MMAN_H +-#include <sys/mman.h> +-#endif +- int main(int argc, const char *argv[]) +- { +- int fd; +- void *m; +- fd = open("/dev/zero", O_RDWR); +- if (fd < 0) { +- return 1; +- } +- m = mmap(0, sizeof(void*), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); +- if (m == (void *)-1) { /* aka MAP_FAILED */ +- return 2; +- } +- if (munmap(m, sizeof(void*)) < 0) { +- return 3; +- } +- return 0; +- }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])]) +-fi +- + # Now we determine which one is our anonymous shmem preference. + haveshmgetanon="0" + havemmapzero="0" diff --git a/meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch b/meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch new file mode 100644 index 0000000000..8ba181b887 --- /dev/null +++ b/meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch @@ -0,0 +1,37 @@ +From a25be1aaa92a6d2e7f4cc3fdfbb92e5a10b63035 Mon Sep 17 00:00:00 2001 +From: Greg Beard <gmbeard@googlemail.com> +Date: Sat, 25 Mar 2023 08:31:36 +0000 +Subject: [PATCH] dso: Check for NULL handle in apr_dso_sym + +Upstream-Status: Backport [https://github.com/apache/apr/pull/40/commits/0efce00093b1ba405d91c7f0eab9755c8527eead] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + dso/unix/dso.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/dso/unix/dso.c b/dso/unix/dso.c +index fdd56f1..583d5de 100644 +--- a/dso/unix/dso.c ++++ b/dso/unix/dso.c +@@ -173,6 +173,18 @@ APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym, + apr_dso_handle_t *handle, + const char *symname) + { ++ /* This is necessary for `testdso.c`. For some reason, musl ++ * builds fail the `test_unload_library` test if the below ++ * check isn't in place. `test_unload_library` unloads the ++ * library and then immediately calls this function. Maybe ++ * musl's `dlsym()` assumes the handle is never NULL and ++ * some UB is being invoked here... ++ */ ++ if (handle->handle == NULL) { ++ handle->errormsg = "library not loaded"; ++ return APR_ESYMNOTFOUND; ++ } ++ + #if defined(DSO_USE_SHL) + void *symaddr = NULL; + int status; +-- +2.42.0 + diff --git a/meta/recipes-support/apr/apr/0002-apr-Remove-workdir-path-references-from-installed-ap.patch b/meta/recipes-support/apr/apr/0002-apr-Remove-workdir-path-references-from-installed-ap.patch index 72e706f966..d63423f3a1 100644 --- a/meta/recipes-support/apr/apr/0002-apr-Remove-workdir-path-references-from-installed-ap.patch +++ b/meta/recipes-support/apr/apr/0002-apr-Remove-workdir-path-references-from-installed-ap.patch @@ -1,8 +1,7 @@ -From 5925b20da8bbc34d9bf5a5dca123ef38864d43c6 Mon Sep 17 00:00:00 2001 +From 689a8db96a6d1e1cae9cbfb35d05ac82140a6555 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Tue, 30 Jan 2018 09:39:06 +0800 -Subject: [PATCH 2/7] apr: Remove workdir path references from installed apr - files +Subject: [PATCH] apr: Remove workdir path references from installed apr files Upstream-Status: Inappropriate [configuration] @@ -14,20 +13,23 @@ packages at target run time, the workdir path caused confusion. Rebase to 1.6.3 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + --- - apr-config.in | 26 ++------------------------ - 1 file changed, 2 insertions(+), 24 deletions(-) + apr-config.in | 32 ++------------------------------ + 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/apr-config.in b/apr-config.in -index 84b4073..bbbf651 100644 +index bed47ca..47874e5 100644 --- a/apr-config.in +++ b/apr-config.in -@@ -152,14 +152,7 @@ while test $# -gt 0; do +@@ -164,16 +164,7 @@ while test $# -gt 0; do flags="$flags $LDFLAGS" ;; --includes) - if test "$location" = "installed"; then flags="$flags -I$includedir $EXTRA_INCLUDES" +- elif test "$location" = "crosscompile"; then +- flags="$flags -I$APR_TARGET_DIR/$includedir $EXTRA_INCLUDES" - elif test "$location" = "source"; then - flags="$flags -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES" - else @@ -37,13 +39,15 @@ index 84b4073..bbbf651 100644 ;; --srcdir) echo $APR_SOURCE_DIR -@@ -181,29 +174,14 @@ while test $# -gt 0; do +@@ -197,33 +188,14 @@ while test $# -gt 0; do exit 0 ;; --link-ld) - if test "$location" = "installed"; then - ### avoid using -L if libdir is a "standard" location like /usr/lib - flags="$flags -L$libdir -l${APR_LIBNAME}" +- elif test "$location" = "crosscompile"; then +- flags="$flags -L$APR_TARGET_DIR/$libdir -l${APR_LIBNAME}" - else - ### this surely can't work since the library is in .libs? - flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}" @@ -62,6 +66,8 @@ index 84b4073..bbbf651 100644 - # Since the user is specifying they are linking with libtool, we - # *know* that -R will be recognized by libtool. - flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}" +- elif test "$location" = "crosscompile"; then +- flags="$flags -L${APR_TARGET_DIR}/$libdir -l${APR_LIBNAME}" - else - flags="$flags $LA_FILE" - fi @@ -69,6 +75,3 @@ index 84b4073..bbbf651 100644 ;; --shlib-path-var) echo "$SHLIBPATH_VAR" --- -1.8.3.1 - diff --git a/meta/recipes-support/apr/apr/0003-Makefile.in-configure.in-support-cross-compiling.patch b/meta/recipes-support/apr/apr/0003-Makefile.in-configure.in-support-cross-compiling.patch deleted file mode 100644 index 4dd53bd8eb..0000000000 --- a/meta/recipes-support/apr/apr/0003-Makefile.in-configure.in-support-cross-compiling.patch +++ /dev/null @@ -1,63 +0,0 @@ -From d5028c10f156c224475b340cfb1ba025d6797243 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Fri, 2 Feb 2018 15:51:42 +0800 -Subject: [PATCH 3/7] Makefile.in/configure.in: support cross compiling - -While cross compiling, the tools/gen_test_char could not -be executed at build time, use AX_PROG_CC_FOR_BUILD to -build native tools/gen_test_char - -Upstream-Status: Submitted [https://github.com/apache/apr/pull/8] - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - Makefile.in | 10 +++------- - configure.in | 3 +++ - 2 files changed, 6 insertions(+), 7 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 5fb760e..8675f90 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -46,7 +46,7 @@ LT_VERSION = @LT_VERSION@ - - CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.c .make.dirs \ - build/apr_rules.out tools/gen_test_char@EXEEXT@ \ -- tools/gen_test_char.o tools/gen_test_char.lo \ -+ tools/gen_test_char.o \ - include/private/apr_escape_test_char.h - DISTCLEAN_TARGETS = config.cache config.log config.status \ - include/apr.h include/arch/unix/apr_private.h \ -@@ -131,13 +131,9 @@ check: $(TARGET_LIB) - etags: - etags `find . -name '*.[ch]'` - --OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) --tools/gen_test_char.lo: tools/gen_test_char.c -+tools/gen_test_char@EXEEXT@: tools/gen_test_char.c - $(APR_MKDIR) tools -- $(LT_COMPILE) -- --tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char) -- $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS) -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $< -o $@ - - include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@ - $(APR_MKDIR) include/private -diff --git a/configure.in b/configure.in -index 719f331..361120f 100644 ---- a/configure.in -+++ b/configure.in -@@ -183,6 +183,9 @@ dnl can only be used once within a configure script, so this prevents a - dnl preload section from invoking the macro to get compiler info. - AC_PROG_CC - -+dnl Check build CC for gen_test_char compiling which is executed at build time. -+AX_PROG_CC_FOR_BUILD -+ - dnl AC_PROG_SED is only avaliable in recent autoconf versions. - dnl Use AC_CHECK_PROG instead if AC_PROG_SED is not present. - ifdef([AC_PROG_SED], --- -1.8.3.1 - diff --git a/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch b/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch deleted file mode 100644 index d1a2ebe881..0000000000 --- a/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 49661ea3858cf8494926cccf57d3e8c6dcb47117 Mon Sep 17 00:00:00 2001 -From: Dengke Du <dengke.du@windriver.com> -Date: Wed, 14 Dec 2016 18:13:08 +0800 -Subject: [PATCH] apr: fix off_t size doesn't match in glibc when cross - compiling - -In configure.in, it contains the following: - - APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8) - -the macro "APR_CHECK_SIZEOF_EXTENDED" was defined in build/apr_common.m4, -it use the "AC_TRY_RUN" macro, this macro let the off_t to 8, when cross -compiling enable. - -So it was hardcoded for cross compiling, we should detect it dynamic based on -the sysroot's glibc. We change it to the following: - - AC_CHECK_SIZEOF(off_t) - -The same for the following hardcoded types for cross compiling: - - pid_t 8 - ssize_t 8 - size_t 8 - off_t 8 - -Change the above correspondingly. - -Signed-off-by: Dengke Du <dengke.du@windriver.com> - -Upstream-Status: Pending - ---- - configure.in | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.in b/configure.in -index 27b8539..fb408d1 100644 ---- a/configure.in -+++ b/configure.in -@@ -1801,7 +1801,7 @@ else - socklen_t_value="int" - fi - --APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], pid_t, 8) -+AC_CHECK_SIZEOF(pid_t) - - if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then - pid_t_fmt='#define APR_PID_T_FMT "hd"' -@@ -1873,7 +1873,7 @@ APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned long, lu, [size_t_fmt="lu"], [ - APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned int, u, [size_t_fmt="u"]) - ]) - --APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], ssize_t, 8) -+AC_CHECK_SIZEOF(ssize_t) - - dnl the else cases below should no longer occur; - AC_MSG_CHECKING([which format to use for apr_ssize_t]) -@@ -1891,7 +1891,7 @@ fi - - ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\"" - --APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], size_t, 8) -+AC_CHECK_SIZEOF(size_t) - - # else cases below should no longer occur; - AC_MSG_CHECKING([which format to use for apr_size_t]) -@@ -1909,7 +1909,7 @@ fi - - size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\"" - --APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8) -+AC_CHECK_SIZEOF(off_t) - - if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then - # Enable LFS diff --git a/meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch b/meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch deleted file mode 100644 index 8760b0140c..0000000000 --- a/meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch +++ /dev/null @@ -1,50 +0,0 @@ -From c6afc4a4a766478cb6aa6b43a50051881b6318d7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> -Date: Fri, 3 Mar 2017 22:24:17 +0100 -Subject: [PATCH 7/7] explicitly link libapr against phtread to make gold happy - on test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_init' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_settype' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_destroy' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutex_trylock' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_attr_setstacksize' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_create' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_join' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_detach' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_sigmask' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_once' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_key_create' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_getspecific' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_key_delete' -| ../.libs/libapr-1.so: error: undefined reference to 'pthread_setspecific' -| collect2: error: ld returned 1 exit status -| Makefile:114: recipe for target 'globalmutexchild' failed -| make[1]: *** [globalmutexchild] Error 1 -| make[1]: Leaving directory '/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/apr/1.5.2-r0/apr-1.5.2/test' - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> ---- - configure.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.in b/configure.in -index a227e72..cbc0f90 100644 ---- a/configure.in -+++ b/configure.in -@@ -784,6 +784,7 @@ else - APR_PTHREADS_CHECK_RESTORE ] ) - fi - if test "$pthreadh" = "1"; then -+ APR_ADDTO(LIBS,[-lpthread]) - APR_CHECK_PTHREAD_GETSPECIFIC_TWO_ARGS - APR_CHECK_PTHREAD_ATTR_GETDETACHSTATE_ONE_ARG - APR_CHECK_PTHREAD_RECURSIVE_MUTEX --- -1.8.3.1 - diff --git a/meta/recipes-support/apr/apr/autoconf-2.73.patch b/meta/recipes-support/apr/apr/autoconf-2.73.patch new file mode 100644 index 0000000000..a8b7a77566 --- /dev/null +++ b/meta/recipes-support/apr/apr/autoconf-2.73.patch @@ -0,0 +1,26 @@ +To work with autoconf 2.73, tweak the macro ordering in configure.in. + +Upstream-Status: Pending +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: apr-1.7.2/configure.in +=================================================================== +--- apr-1.7.2.orig/configure.in ++++ apr-1.7.2/configure.in +@@ -430,6 +430,8 @@ if test "$host" = "i586-pc-beos"; then + ) dnl + fi + ++APR_CHECK_DEFINE(LOCK_EX, sys/file.h) ++ + # this is the place to put specific options for platform/compiler + # combinations + case "$host:$CC" in +@@ -2384,7 +2386,6 @@ AC_MSG_RESULT([$msg]) + AC_SUBST(have_union_semun) + + dnl Checks for libraries. +-APR_CHECK_DEFINE(LOCK_EX, sys/file.h) + APR_CHECK_DEFINE(F_SETLK, fcntl.h) + APR_CHECK_DEFINE(SEM_UNDO, sys/sem.h) + diff --git a/meta/recipes-support/apr/apr/autoconf270.patch b/meta/recipes-support/apr/apr/autoconf270.patch deleted file mode 100644 index 9f7b5c624c..0000000000 --- a/meta/recipes-support/apr/apr/autoconf270.patch +++ /dev/null @@ -1,22 +0,0 @@ -With autoconf 2.70 confdefs.h is already included. Including it twice generates -compiler warnings and since this macros is to error on warnings, it breaks. - -Fix by not including the file. - -Upstream-Status: Pending -RP - 2021/1/28 - -Index: apr-1.7.0/build/apr_common.m4 -=================================================================== ---- apr-1.7.0.orig/build/apr_common.m4 -+++ apr-1.7.0/build/apr_common.m4 -@@ -505,8 +505,7 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING], - fi - AC_COMPILE_IFELSE( - [AC_LANG_SOURCE( -- [#include "confdefs.h" -- ] -+ [] - [[$1]] - [int main(int argc, const char *const *argv) {] - [[$2]] diff --git a/meta/recipes-support/apr/apr/libtoolize_check.patch b/meta/recipes-support/apr/apr/libtoolize_check.patch index 740792e6b0..80ce43caa4 100644 --- a/meta/recipes-support/apr/apr/libtoolize_check.patch +++ b/meta/recipes-support/apr/apr/libtoolize_check.patch @@ -1,6 +1,7 @@ +From 17835709bc55657b7af1f7c99b3f572b819cf97e Mon Sep 17 00:00:00 2001 From: Helmut Grohne <helmut@subdivi.de> -Subject: check for libtoolize rather than libtool -Last-Update: 2014-09-19 +Date: Tue, 7 Feb 2023 07:04:00 +0000 +Subject: [PATCH] check for libtoolize rather than libtool libtool is now in package libtool-bin, but apr only needs libtoolize. @@ -8,14 +9,22 @@ Upstream-Status: Pending [ from debian: https://sources.debian.org/data/main/a/a Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- apr.orig/build/buildcheck.sh -+++ apr/build/buildcheck.sh -@@ -39,11 +39,11 @@ fi +--- + build/buildcheck.sh | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/build/buildcheck.sh b/build/buildcheck.sh +index 44921b5..08bc8a8 100755 +--- a/build/buildcheck.sh ++++ b/build/buildcheck.sh +@@ -39,13 +39,11 @@ fi # ltmain.sh (GNU libtool 1.1361 2004/01/02 23:10:52) 1.5a # output is multiline from 1.5 onwards -# Require libtool 1.4 or newer --libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14` +-if test -z "$libtool"; then +- libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14` +-fi -lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'` +# Require libtoolize 1.4 or newer +libtoolize=`build/PrintPath glibtoolize1 glibtoolize libtoolize libtoolize15 libtoolize14` diff --git a/meta/recipes-support/apr/apr_1.7.0.bb b/meta/recipes-support/apr/apr_1.7.5.bb index 82317396cd..78796476e2 100644 --- a/meta/recipes-support/apr/apr_1.7.0.bb +++ b/meta/recipes-support/apr/apr_1.7.5.bb @@ -16,18 +16,16 @@ BBCLASSEXTEND = "native nativesdk" SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \ file://run-ptest \ file://0002-apr-Remove-workdir-path-references-from-installed-ap.patch \ - file://0003-Makefile.in-configure.in-support-cross-compiling.patch \ file://0004-Fix-packet-discards-HTTP-redirect.patch \ file://0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch \ - file://0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch \ - file://0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch \ file://libtoolize_check.patch \ file://0001-Add-option-to-disable-timed-dependant-tests.patch \ - file://autoconf270.patch \ + file://0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch \ + file://autoconf-2.73.patch \ + file://0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch \ " -SRC_URI[md5sum] = "7a14a83d664e87599ea25ff4432e48a7" -SRC_URI[sha256sum] = "e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea" +SRC_URI[sha256sum] = "cd0f5d52b9ab1704c72160c5ee3ed5d3d4ca2df4a7f8ab564e3cb352b67232f2" inherit autotools-brokensep lib_package binconfig multilib_header ptest multilib_script @@ -35,19 +33,32 @@ OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'" # Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928 CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes" - +# Enable largefile +CACHED_CONFIGUREVARS += "apr_cv_use_lfs64=yes" +# Additional AC_TRY_RUN tests which will need to be cached for cross compile +CACHED_CONFIGUREVARS += "apr_cv_epoll=yes epoll_create1=yes apr_cv_sock_cloexec=yes \ + ac_cv_struct_rlimit=yes \ + ac_cv_func_sem_open=yes \ + apr_cv_process_shared_works=yes \ + apr_cv_mutex_robust_shared=yes \ + " # Also suppress trying to use sctp. # CACHED_CONFIGUREVARS += "ac_cv_header_netinet_sctp_h=no ac_cv_header_netinet_sctp_uio_h=no" -CACHED_CONFIGUREVARS += "ac_cv_sizeof_struct_iovec=yes" +# ac_cv_sizeof_struct_iovec is deduced using runtime check which will fail during cross-compile +CACHED_CONFIGUREVARS += "${@['ac_cv_sizeof_struct_iovec=16','ac_cv_sizeof_struct_iovec=8'][d.getVar('SITEINFO_BITS') != '32']}" + CACHED_CONFIGUREVARS += "ac_cv_file__dev_zero=yes" +CACHED_CONFIGUREVARS:append:libc-musl = " ac_cv_strerror_r_rc_int=yes" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG:append:libc-musl = " xsi-strerror" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," PACKAGECONFIG[timed-tests] = "--enable-timed-tests,--disable-timed-tests," +PACKAGECONFIG[xsi-strerror] = "ac_cv_strerror_r_rc_int=yes,ac_cv_strerror_r_rc_int=no," -do_configure_prepend() { +do_configure:prepend() { # Avoid absolute paths for grep since it causes failures # when using sstate between different hosts with different # install paths for grep. @@ -61,24 +72,26 @@ do_configure_prepend() { MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apr-1-config \ ${PN}-dev:${datadir}/build-1/apr_rules.mk" -FILES_${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*" -RDEPENDS_${PN}-dev += "bash" +FILES:${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*" +RDEPENDS:${PN}-dev += "bash libtool" -RDEPENDS_${PN}-ptest += "libgcc" +RDEPENDS:${PN}-ptest += "libgcc" #for some reason, build/libtool.m4 handled by buildconf still be overwritten #when autoconf, so handle it again. -do_configure_append() { +do_configure:append() { sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/libtool.m4 sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/apr_rules.mk } -do_install_append() { +do_install:append() { oe_multilib_header apr.h install -d ${D}${datadir}/apr } -do_install_append_class-target() { +do_install:append:class-target() { + rm -f ${D}${datadir}/build-1/libtool + sed -i s,LIBTOOL=.*,LIBTOOL=libtool,g ${D}${datadir}/build-1/apr_rules.mk sed -i -e 's,${DEBUG_PREFIX_MAP},,g' \ -e 's,${STAGING_DIR_HOST},,g' ${D}${datadir}/build-1/apr_rules.mk sed -i -e 's,${STAGING_DIR_HOST},,g' \ @@ -96,12 +109,12 @@ apr_sysroot_preprocess () { cp ${S}/build/apr_rules.mk $d/ sed -i s,apr_builddir=.*,apr_builddir=,g $d/apr_rules.mk sed -i s,apr_builders=.*,apr_builders=,g $d/apr_rules.mk - sed -i s,LIBTOOL=.*,LIBTOOL=${HOST_SYS}-libtool,g $d/apr_rules.mk + sed -i s,LIBTOOL=.*,LIBTOOL=libtool,g $d/apr_rules.mk sed -i s,\$\(apr_builders\),${STAGING_DATADIR}/apr/,g $d/apr_rules.mk cp ${S}/build/mkdir.sh $d/ cp ${S}/build/make_exports.awk $d/ cp ${S}/build/make_var_export.awk $d/ - cp ${S}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${datadir}/build-1/libtool + cp ${S}/libtool ${SYSROOT_DESTDIR}${datadir}/build-1/libtool } do_compile_ptest() { diff --git a/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb b/meta/recipes-support/argp-standalone/argp-standalone_1.4.1.bb index d1db562bb5..00b6036502 100644 --- a/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb +++ b/meta/recipes-support/argp-standalone/argp-standalone_1.4.1.bb @@ -3,25 +3,23 @@ SUMMARY = "Glibc hierarchical argument parsing standalone library" DESCRIPTION = "Standalone version of arguments parsing functions from GLIBC" -HOMEPAGE = "http://www.lysator.liu.se/~nisse/misc/" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://argp.h;beginline=1;endline=20;md5=008b7e53dea6f9e1d9fdef0d9cf3184a" +HOMEPAGE = "https://github.com/ericonr/argp-standalone" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://argp.h;beginline=1;endline=20;md5=464f2cfb1c35a5123f9e309d7afd79f8" SECTION = "libs" -SRC_URI = "http://www.lysator.liu.se/~nisse/misc/argp-standalone-${PV}.tar.gz \ - file://0001-throw-in-funcdef.patch \ - file://0002-isprint.patch \ +SRC_URI = "git://github.com/ericonr/argp-standalone;branch=master;protocol=https \ file://out_of_tree_build.patch \ " -SRC_URI[md5sum] = "720704bac078d067111b32444e24ba69" -SRC_URI[sha256sum] = "dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be" +SRCREV = "e5fe9ad9e83e6765cf8fa787f903d4c6792338b5" +S = "${WORKDIR}/git" inherit autotools CFLAGS += "-fPIC -U__OPTIMIZE__" -RDEPENDS_${PN}-dev = "" -RDEPENDS_${PN}-staticdev = "" +DEV_PKG_DEPENDENCY = "" +RDEPENDS:${PN}-staticdev = "" do_install() { install -D -m 0644 ${B}/libargp.a ${D}${libdir}/libargp.a diff --git a/meta/recipes-support/argp-standalone/files/0001-throw-in-funcdef.patch b/meta/recipes-support/argp-standalone/files/0001-throw-in-funcdef.patch deleted file mode 100644 index a6e2759c5d..0000000000 --- a/meta/recipes-support/argp-standalone/files/0001-throw-in-funcdef.patch +++ /dev/null @@ -1,84 +0,0 @@ -# --- T2-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# T2 SDE: package/.../rng-tools/throw-in-funcdef.patch.argp-standalone -# Copyright (C) 2006 The T2 SDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- T2-COPYRIGHT-NOTE-END --- - - -No __THROW in function implementation. - --jsaw - -Taken from buildroot - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- argp-standalone-1.4-test2/argp.h.orig 2006-01-06 02:29:59.000000000 +0100 -+++ argp-standalone-1.4-test2/argp.h 2006-01-06 02:41:10.000000000 +0100 -@@ -560,17 +560,17 @@ - # endif - - # ifndef ARGP_EI --# define ARGP_EI extern __inline__ -+# define ARGP_EI extern inline - # endif - - ARGP_EI void --__argp_usage (__const struct argp_state *__state) __THROW -+__argp_usage (__const struct argp_state *__state) - { - __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); - } - - ARGP_EI int --__option_is_short (__const struct argp_option *__opt) __THROW -+__option_is_short (__const struct argp_option *__opt) - { - if (__opt->flags & OPTION_DOC) - return 0; -@@ -582,7 +582,7 @@ - } - - ARGP_EI int --__option_is_end (__const struct argp_option *__opt) __THROW -+__option_is_end (__const struct argp_option *__opt) - { - return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; - } ---- argp-standalone-1.4-test2/argp-parse.c.orig 2006-01-06 02:47:48.000000000 +0100 -+++ argp-standalone-1.4-test2/argp-parse.c 2006-01-06 02:48:16.000000000 +0100 -@@ -1290,13 +1290,13 @@ - /* Defined here, in case a user is not inlining the definitions in - * argp.h */ - void --__argp_usage (__const struct argp_state *__state) __THROW -+__argp_usage (__const struct argp_state *__state) - { - __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); - } - - int --__option_is_short (__const struct argp_option *__opt) __THROW -+__option_is_short (__const struct argp_option *__opt) - { - if (__opt->flags & OPTION_DOC) - return 0; -@@ -1310,7 +1310,7 @@ - } - - int --__option_is_end (__const struct argp_option *__opt) __THROW -+__option_is_end (__const struct argp_option *__opt) - { - return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; - } diff --git a/meta/recipes-support/argp-standalone/files/0002-isprint.patch b/meta/recipes-support/argp-standalone/files/0002-isprint.patch deleted file mode 100644 index 1c07eea3c1..0000000000 --- a/meta/recipes-support/argp-standalone/files/0002-isprint.patch +++ /dev/null @@ -1,51 +0,0 @@ -Subject: restrict value range passed to isprint function - -According to C standards isprint argument shall be representable as an -unsigned char or be equal to EOF, otherwise the behaviour is undefined. - -Passing arbitrary ints leads to segfault in nm program from elfutils. - -Restrict isprint argument range to values representable by unsigned char. - -Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> - -Taken from buildroot - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- -Index: b/argp.h -=================================================================== ---- a/argp.h -+++ b/argp.h -@@ -23,6 +23,7 @@ - - #include <stdio.h> - #include <ctype.h> -+#include <limits.h> - - #define __need_error_t - #include <errno.h> -@@ -577,7 +578,7 @@ - else - { - int __key = __opt->key; -- return __key > 0 && isprint (__key); -+ return __key > 0 && __key <= UCHAR_MAX && isprint (__key); - } - } - -Index: b/argp-parse.c -=================================================================== ---- a/argp-parse.c -+++ b/argp-parse.c -@@ -1292,7 +1292,7 @@ - int __key = __opt->key; - /* FIXME: whether or not a particular key implies a short option - * ought not to be locale dependent. */ -- return __key > 0 && isprint (__key); -+ return __key > 0 && __key <= UCHAR_MAX && isprint (__key); - } - } - diff --git a/meta/recipes-support/argp-standalone/files/out_of_tree_build.patch b/meta/recipes-support/argp-standalone/files/out_of_tree_build.patch index b7777cbd91..c863104430 100644 --- a/meta/recipes-support/argp-standalone/files/out_of_tree_build.patch +++ b/meta/recipes-support/argp-standalone/files/out_of_tree_build.patch @@ -2,7 +2,7 @@ Fix the testsuite to built out of tree in OE S != B Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/ericonr/argp-standalone/pull/9] Index: argp-standalone-1.3/testsuite/Makefile.am =================================================================== --- argp-standalone-1.3.orig/testsuite/Makefile.am diff --git a/meta/recipes-support/aspell/aspell/0001-modules-speller-default-vector_hash-t.hpp-fix-gcc-15.patch b/meta/recipes-support/aspell/aspell/0001-modules-speller-default-vector_hash-t.hpp-fix-gcc-15.patch new file mode 100644 index 0000000000..4045e8e412 --- /dev/null +++ b/meta/recipes-support/aspell/aspell/0001-modules-speller-default-vector_hash-t.hpp-fix-gcc-15.patch @@ -0,0 +1,42 @@ +From d45bf96b0a3556acb2c83069a78eaaac973d31b4 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Sun, 21 Jul 2024 22:01:50 +0100 +Subject: [PATCH] modules/speller/default/vector_hash-t.hpp: fix gcc-15 build + +Uncoming `gcc-15` added extra checks for template instantiation that is +guaranteed to fail in + https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=313afcfdabeab3e6705ac0bd1273627075be0023 + +As a result `aspell` build now fails as: + + In file included from modules/speller/default/readonly_ws.cpp:51: + modules/speller/default/vector_hash-t.hpp: In member function 'void aspeller::VectorHashTable<Parms>::recalc_size()': + modules/speller/default/vector_hash-t.hpp:186:43: error: 'class aspeller::VectorHashTable<Parms>' has no member named 'e' + 186 | for (iterator i = begin(); i != this->e; ++i, ++this->_size); + | ^ + modules/speller/default/vector_hash-t.hpp:186:59: error: 'class aspeller::VectorHashTable<Parms>' has no member named '_size'; did you mean 'size'? + 186 | for (iterator i = begin(); i != this->e; ++i, ++this->_size); + | ^~~~~ + | size + +It looks like `_size` is `size_` mis-spelling and `e` was not introduced +here. +Upstream-Status: Backport [https://github.com/GNUAspell/aspell/commit/ee6cbb12ff36a1e6618d7388a78dd4e0a2b44041] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + modules/speller/default/vector_hash-t.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules/speller/default/vector_hash-t.hpp b/modules/speller/default/vector_hash-t.hpp +index 969a80c..e4420b4 100644 +--- a/modules/speller/default/vector_hash-t.hpp ++++ b/modules/speller/default/vector_hash-t.hpp +@@ -183,7 +183,7 @@ namespace aspeller { + template<class Parms> + void VectorHashTable<Parms>::recalc_size() { + size_ = 0; +- for (iterator i = begin(); i != this->e; ++i, ++this->_size); ++ for (iterator i = begin(), e = end(); i != e; ++i, ++size_); + } + + } diff --git a/meta/recipes-support/aspell/aspell_0.60.8.bb b/meta/recipes-support/aspell/aspell_0.60.8.1.bb index 6548c54b64..43940b1e1b 100644 --- a/meta/recipes-support/aspell/aspell_0.60.8.bb +++ b/meta/recipes-support/aspell/aspell_0.60.8.1.bb @@ -10,29 +10,29 @@ SECTION = "console/utils" HOMEPAGE = "http://aspell.net/" -LICENSE = "LGPLv2 | LGPLv2.1" +LICENSE = "LGPL-2.0-only | LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" -SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz" -SRC_URI[md5sum] = "012fa9209203ae4e5a61c2a668fd10e3" -SRC_URI[sha256sum] = "f9b77e515334a751b2e60daab5db23499e26c9209f5e7b7443b05235ad0226f2" +SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz \ + file://0001-modules-speller-default-vector_hash-t.hpp-fix-gcc-15.patch" +SRC_URI[sha256sum] = "d6da12b34d42d457fa604e435ad484a74b2effcd120ff40acd6bb3fb2887d21b" PACKAGECONFIG ??= "" PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses" PACKAGES += "libaspell libpspell aspell-utils" -RDEPENDS_${PN}-utils += "perl" +RDEPENDS:${PN}-utils += "perl" -FILES_libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*" -FILES_aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*" -FILES_${PN} = "${bindir}/aspell" -FILES_libpspell = "${libdir}/libpspell.so.*" -FILES_${PN}-dev += "${bindir}/pspell-config" +FILES:libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*" +FILES:aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*" +FILES:${PN} = "${bindir}/aspell" +FILES:libpspell = "${libdir}/libpspell.so.*" +FILES:${PN}-dev += "${bindir}/pspell-config" -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" +ARM_INSTRUCTION_SET:armv6 = "arm" inherit autotools-brokensep gettext texinfo binconfig-disabled diff --git a/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb b/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb deleted file mode 100644 index c7aee34628..0000000000 --- a/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "AT-SPI 2 Toolkit Bridge" -DESCRIPTION = "Contains a library that bridges ATK to At-Spi2 D-Bus service. Toolkit widgets use it to provide their content to screen readers such as Orca." -HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" -BUGTRACKER = "http://bugzilla.gnome.org/" -LICENSE = "LGPL-2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI[archive.sha256sum] = "cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f" - -DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase upstream-version-is-even - -PACKAGES =+ "${PN}-gnome ${PN}-gtk2" - -FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules" -FILES_${PN}-gtk2 = "${libdir}/gtk-2.0/modules/libatk-bridge.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/atk/at-spi2-core_2.40.0.bb b/meta/recipes-support/atk/at-spi2-core_2.40.0.bb deleted file mode 100644 index e80fa260f0..0000000000 --- a/meta/recipes-support/atk/at-spi2-core_2.40.0.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" - -DESCRIPTION = "It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform and a library against which applications can be linked." - -HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" -BUGTRACKER = "http://bugzilla.gnome.org/" -LICENSE = "LGPL-2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "4196a7d30a0051e52a67b8ce4283fe79ae5e4e14a725719934565adf1d333429" - -X11DEPENDS = "virtual/libx11 libxi libxtst" - -DEPENDS = "dbus glib-2.0" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" - -inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection - -EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ - -Ddbus_daemon=${bindir}/dbus-daemon \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ -" - -GTKDOC_MESON_OPTION = "docs" - -GIR_MESON_OPTION = 'introspection' -GIR_MESON_ENABLE_FLAG = 'yes' -GIR_MESON_DISABLE_FLAG = 'no' - -FILES_${PN} += "${datadir}/dbus-1/services/*.service \ - ${datadir}/dbus-1/accessibility-services/*.service \ - ${datadir}/defaults/at-spi2 \ - ${systemd_user_unitdir}/at-spi-dbus-bus.service \ - " -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/atk/at-spi2-core_2.52.0.bb b/meta/recipes-support/atk/at-spi2-core_2.52.0.bb new file mode 100644 index 0000000000..913b408403 --- /dev/null +++ b/meta/recipes-support/atk/at-spi2-core_2.52.0.bb @@ -0,0 +1,50 @@ +SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" + +DESCRIPTION = "It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform and a library against which applications can be linked." + +HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" +BUGTRACKER = "http://bugzilla.gnome.org/" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +CVE_PRODUCT += "at-spi2-atk" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "0ac3fc8320c8d01fa147c272ba7fa03806389c6b03d3c406d0823e30e35ff5ab" + +DEPENDS = " \ + dbus \ + glib-2.0 \ + glib-2.0-native \ + libxml2 \ + ${@'python3-sphinx-native' if d.getVar('GIDOCGEN_ENABLED') == 'True' else ''} \ +" + +# For backwards compatibility +PROVIDES += "atk at-spi2-atk" +RPROVIDES:${PN} += "atk at-spi2-atk" + +inherit meson gi-docgen gettext systemd pkgconfig upstream-version-is-even gobject-introspection + +EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ + -Ddbus_daemon=${bindir}/dbus-daemon" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxi libxtst" + +GIDOCGEN_MESON_OPTION = "docs" +GIR_MESON_OPTION = 'introspection' +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +FILES:${PN} += "${libdir}/gnome-settings-daemon-3.0/gtk-modules/at-spi2-atk.desktop \ + ${libdir}/gtk-2.0/modules/libatk-bridge.so \ + ${datadir}/dbus-1/services/*.service \ + ${datadir}/dbus-1/accessibility-services/*.service \ + ${datadir}/defaults/at-spi2 \ + ${systemd_user_unitdir}/at-spi-dbus-bus.service \ + " +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/atk/atk_2.36.0.bb b/meta/recipes-support/atk/atk_2.36.0.bb deleted file mode 100644 index ec289e7acc..0000000000 --- a/meta/recipes-support/atk/atk_2.36.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Accessibility toolkit for GNOME" -DESCRIPTION = "Provides application programming interfaces (APIs) for implementing accessibility support in software." -HOMEPAGE = "https://wiki.gnome.org/Accessibility" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/atk/-/issues" -SECTION = "x11/libs" - -LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://atk/atkutil.c;endline=18;md5=6fd31cd2fdc9b30f619ca8d819bc12d3 \ - file://atk/atk.h;endline=18;md5=fcd7710187e0eae485e356c30d1b0c3b" - -# Need gettext-native as Meson can't turn off i18n -DEPENDS = "gettext-native glib-2.0" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection - -SRC_URI[archive.md5sum] = "01aa5ec5138f5f8c9b3a4e3196ed2900" -SRC_URI[archive.sha256sum] = "fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch b/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch index ba2ffee5d2..219feaccd0 100644 --- a/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch +++ b/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch @@ -1,4 +1,4 @@ -From 9e08219e0e99ee2589cf35fa8d52cef3515accce Mon Sep 17 00:00:00 2001 +From 7dec6fa3b3494a55120402ff1ea3eb96b67138e8 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 12 Dec 2019 15:47:49 +0100 Subject: [PATCH] test: patch out failing bits @@ -58,6 +58,3 @@ index 8f8f825..21e8a95 100644 $ : > f $ : <> f >~ .*f: Permission denied$ --- -2.17.1 - diff --git a/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch b/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch index 57ef0bb728..748f37f3e7 100644 --- a/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch +++ b/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch @@ -1,4 +1,4 @@ -From 39d332a8801de5d9ef09dacb3dba85c208b7b2ad Mon Sep 17 00:00:00 2001 +From 42ae3f8a5e32ba0681ccd1552a203ddad8748a6e Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 12 Dec 2019 13:45:52 +0100 Subject: [PATCH] tests: do not hardcode the build path into a helper library @@ -10,7 +10,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Makemodule.am b/test/Makemodule.am -index 17d4927..015de7f 100644 +index e1d715d..cffe732 100644 --- a/test/Makemodule.am +++ b/test/Makemodule.am @@ -30,7 +30,7 @@ EXTRA_DIST += \ @@ -21,4 +21,4 @@ index 17d4927..015de7f 100644 +libtestlookup_la_CFLAGS = -DBASEDIR=\"/tmp/acl-ptest\" libtestlookup_la_LDFLAGS = -rpath $(abs_builddir) - AM_TESTS_ENVIRONMENT = PATH="$(abs_top_builddir):$$PATH"; + # Make sure translations don't break tests when matching output. diff --git a/meta/recipes-support/attr/acl/run-ptest b/meta/recipes-support/attr/acl/run-ptest index 4312823365..3af75c84fe 100644 --- a/meta/recipes-support/attr/acl/run-ptest +++ b/meta/recipes-support/attr/acl/run-ptest @@ -7,4 +7,10 @@ mkdir -p /tmp/acl-ptest/test cp test/test.* /tmp/acl-ptest/test +set +e make test-suite.log +exitcode=$? +if [ $exitcode -ne 0 -a -e test-suite.log ]; then + cat test-suite.log +fi +exit $exitcode diff --git a/meta/recipes-support/attr/acl_2.2.53.bb b/meta/recipes-support/attr/acl_2.3.2.bb index 7cee45948d..6178473873 100644 --- a/meta/recipes-support/attr/acl_2.2.53.bb +++ b/meta/recipes-support/attr/acl_2.3.2.bb @@ -7,9 +7,9 @@ BUGTRACKER = "http://savannah.nongnu.org/bugs/?group=acl" SECTION = "libs" -LICENSE = "LGPLv2.1+ & GPLv2+" -LICENSE_${PN} = "GPLv2+" -LICENSE_lib${BPN} = "LGPLv2.1+" +LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" +LICENSE:${PN} = "GPL-2.0-or-later" +LICENSE:lib${BPN} = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \ file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764" @@ -21,14 +21,15 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.tar.gz \ file://0001-test-patch-out-failing-bits.patch \ " -SRC_URI[md5sum] = "007aabf1dbb550bcddde52a244cd1070" -SRC_URI[sha256sum] = "06be9865c6f418d851ff4494e12406568353b891ffe1f596b34693c387af26c7" +SRC_URI[sha256sum] = "5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c" inherit autotools gettext ptest +EXTRA_OECONF += "--enable-largefile" + PACKAGES =+ "lib${BPN}" -FILES_lib${BPN} = "${libdir}/lib*${SOLIBS}" +FILES:lib${BPN} = "${libdir}/lib*${SOLIBS}" PTEST_BUILD_HOST_FILES = "builddefs" PTEST_BUILD_HOST_PATTERN = "^RPM" @@ -59,10 +60,15 @@ do_install_ptest() { rm ${D}${PTEST_PATH}/.libs/libtestlookup.lai } -RDEPENDS_${PN}-ptest = "acl \ +do_install_ptest:append:libc-musl() { + sed -i -e '/test\/misc.test/d' ${D}${PTEST_PATH}/Makefile +} + +RDEPENDS:${PN}-ptest = "acl \ bash \ coreutils \ perl \ + perl-module-constant \ perl-module-filehandle \ perl-module-getopt-std \ perl-module-posix \ diff --git a/meta/recipes-support/attr/attr.inc b/meta/recipes-support/attr/attr.inc index e427ba9901..75d616893a 100644 --- a/meta/recipes-support/attr/attr.inc +++ b/meta/recipes-support/attr/attr.inc @@ -6,9 +6,9 @@ SECTION = "libs" DEPENDS = "virtual/libintl" -LICENSE = "LGPLv2.1+ & GPLv2+" -LICENSE_${PN} = "GPLv2+" -LICENSE_lib${BPN} = "LGPLv2.1+" +LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" +LICENSE:${PN} = "GPL-2.0-or-later" +LICENSE:lib${BPN} = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://doc/COPYING;md5=2d0aa14b3fce4694e4f615e30186335f \ file://doc/COPYING.LGPL;md5=b8d31f339300bc239d73461d68e77b9c \ file://tools/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \ @@ -16,16 +16,17 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=2d0aa14b3fce4694e4f615e30186335f \ SRC_URI = "${SAVANNAH_GNU_MIRROR}/attr/${BP}.tar.gz \ file://run-ptest \ + file://0001-attr.c-Include-libgen.h-for-posix-version-of-basenam.patch \ " inherit ptest update-alternatives autotools gettext PACKAGES =+ "lib${BPN}" -FILES_lib${BPN} = "${libdir}/lib*${SOLIBS}" +FILES:lib${BPN} = "${libdir}/lib*${SOLIBS} ${sysconfdir}" ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "setfattr" +ALTERNATIVE:${PN} = "setfattr" ALTERNATIVE_TARGET[setfattr] = "${bindir}/setfattr" PTEST_BUILD_HOST_FILES = "builddefs" @@ -48,8 +49,14 @@ do_install_ptest() { cp -rf ${S}/test/ ${D}${PTEST_PATH} } -RDEPENDS_${PN}-ptest = "attr \ +do_install_ptest:append:libc-musl() { + sed -i -e 's|f: Operation n|f: N|g' ${D}${PTEST_PATH}/test/attr.test +} + +RDEPENDS:${PN}-ptest = "attr \ + bash \ coreutils \ + perl-module-constant \ perl-module-filehandle \ perl-module-getopt-std \ perl-module-posix \ diff --git a/meta/recipes-support/attr/attr/0001-attr.c-Include-libgen.h-for-posix-version-of-basenam.patch b/meta/recipes-support/attr/attr/0001-attr.c-Include-libgen.h-for-posix-version-of-basenam.patch new file mode 100644 index 0000000000..1e2bea5067 --- /dev/null +++ b/meta/recipes-support/attr/attr/0001-attr.c-Include-libgen.h-for-posix-version-of-basenam.patch @@ -0,0 +1,35 @@ +From 6d9e827bcacf387bb3cfae64bd4fe520168ccad4 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 3 Dec 2023 19:29:27 -0800 +Subject: [PATCH] attr.c: Include libgen.h for posix version of basename API + +Musl has removed the definition from string.h [1] which results in +compile failures with clang + +| ../attr-2.5.1/tools/attr.c:69:13: error: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] +| 69 | progname = basename(argv[0]); +| | ^ + +[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 + +Upstream-Status: Submitted [https://savannah.nongnu.org/bugs/index.php?64972] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tools/attr.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/attr.c b/tools/attr.c +index 312aef1..90dab83 100644 +--- a/tools/attr.c ++++ b/tools/attr.c +@@ -26,6 +26,7 @@ + #include <stdlib.h> + #include <unistd.h> + #include <errno.h> ++#include <libgen.h> + #include <string.h> + #include <locale.h> + +-- +2.43.0 + diff --git a/meta/recipes-support/attr/attr/run-ptest b/meta/recipes-support/attr/attr/run-ptest index f64244f239..3e7a3a17a0 100644 --- a/meta/recipes-support/attr/attr/run-ptest +++ b/meta/recipes-support/attr/attr/run-ptest @@ -1,3 +1,10 @@ #!/bin/sh +set +e make test-suite.log +exitcode=$? +if [ $exitcode -ne 0 -a -e test-suite.log ]; then + cat test-suite.log +fi +exit $exitcode + diff --git a/meta/recipes-support/attr/attr_2.5.1.bb b/meta/recipes-support/attr/attr_2.5.1.bb deleted file mode 100644 index 5c5f7bcffb..0000000000 --- a/meta/recipes-support/attr/attr_2.5.1.bb +++ /dev/null @@ -1,5 +0,0 @@ -require attr.inc - -SRC_URI[sha256sum] = "bae1c6949b258a0d68001367ce0c741cebdacdd3b62965d17e5eb23cd78adaf8" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/attr/attr_2.5.2.bb b/meta/recipes-support/attr/attr_2.5.2.bb new file mode 100644 index 0000000000..2110c6d885 --- /dev/null +++ b/meta/recipes-support/attr/attr_2.5.2.bb @@ -0,0 +1,5 @@ +require attr.inc + +SRC_URI[sha256sum] = "39bf67452fa41d0948c2197601053f48b3d78a029389734332a6309a680c6c87" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/bash-completion/bash-completion_2.11.bb b/meta/recipes-support/bash-completion/bash-completion_2.14.0.bb index 4076535902..06c81beaa0 100644 --- a/meta/recipes-support/bash-completion/bash-completion_2.11.bb +++ b/meta/recipes-support/bash-completion/bash-completion_2.14.0.bb @@ -7,36 +7,32 @@ as installing them." HOMEPAGE = "https://github.com/scop/bash-completion" BUGTRACKER = "https://github.com/scop/bash-completion/issues" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SECTION = "console/utils" -SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz" +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "2514c6772d0de6254758b98c53f91861" -SRC_URI[sha256sum] = "73a8894bad94dee83ab468fa09f628daffd567e8bef1a24277f1e9a0daf911ac" -UPSTREAM_CHECK_REGEX = "bash-completion-(?P<pver>(?!2008).+)\.tar" -UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases" +SRC_URI[sha256sum] = "5c7494f968280832d6adb5aa19f745a56f1a79df311e59338c5efa6f7285e168" +GITHUB_BASE_URI = "https://github.com/scop/bash-completion/releases" PARALLEL_MAKE = "" -inherit autotools +inherit autotools github-releases -do_install_append() { +do_install:append() { # compatdir install -d ${D}${sysconfdir}/bash_completion.d/ echo '. ${datadir}/${BPN}/bash_completion' >${D}${sysconfdir}/bash_completion } -RDEPENDS_${PN} = "bash" +RDEPENDS:${PN} = "bash" # Some recipes are providing ${PN}-bash-completion packages PACKAGES =+ "${PN}-extra" -FILES_${PN}-extra = "${datadir}/${BPN}/completions/ \ +FILES:${PN}-extra = "${datadir}/${BPN}/completions/ \ ${datadir}/${BPN}/helpers/" -FILES_${PN}-dev += "${datadir}/cmake" - BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb b/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb deleted file mode 100644 index 611c0fb680..0000000000 --- a/meta/recipes-support/bmap-tools/bmap-tools_3.6.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Tools to generate block map (AKA bmap) and flash images using bmap" -DESCRIPTION = "Bmap-tools - tools to generate block map (AKA bmap) and flash images using \ -bmap. Bmaptool is a generic tool for creating the block map (bmap) for a file, \ -and copying files using the block map. The idea is that large file containing \ -unused blocks, like raw system image files, can be copied or flashed a lot \ -faster with bmaptool than with traditional tools like "dd" or "cp"." -HOMEPAGE = "https://github.com/01org/bmap-tools" -SECTION = "console/utils" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/intel/${BPN}" - -SRCREV = "c0673962a8ec1624b5189dc1d24f33fe4f06785a" -S = "${WORKDIR}/git" -PV .= "+git${SRCPV}" - -UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" - -# Need df from coreutils -RDEPENDS_${PN} = "python3-core python3-compression python3-mmap python3-setuptools python3-fcntl python3-six coreutils" - -inherit python3native -inherit setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/bmaptool/bmaptool_git.bb b/meta/recipes-support/bmaptool/bmaptool_git.bb new file mode 100644 index 0000000000..c38f05e1a1 --- /dev/null +++ b/meta/recipes-support/bmaptool/bmaptool_git.bb @@ -0,0 +1,32 @@ +SUMMARY = "Tools to generate block map (AKA bmap) and flash images using bmap" +DESCRIPTION = "bmaptool - tools to generate block map (AKA bmap) and flash images using \ +bmap. bmaptool is a generic tool for creating the block map (bmap) for a file, \ +and copying files using the block map. The idea is that large file containing \ +unused blocks, like raw system image files, can be copied or flashed a lot \ +faster with bmaptool than with traditional tools like "dd" or "cp"." +HOMEPAGE = "https://github.com/yoctoproject/bmaptool" +SECTION = "console/utils" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/yoctoproject/${BPN};branch=main;protocol=https" +SRCREV = "2ff5750b8a3e0b36a9993c20e2ea10a07bc62085" +S = "${WORKDIR}/git" +BASEVER = "3.8.0" +PV = "${BASEVER}+git" + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" + +# Need df from coreutils +RDEPENDS:${PN} = "python3-core python3-compression python3-misc python3-mmap python3-setuptools python3-fcntl python3-six coreutils" + +inherit setuptools3 + +# For compatibility with layers before scarthgap +RREPLACES:${PN} = "bmap-tools" +RCONFLICTS:${PN} = "bmap-tools" + +# Poetry backend appears incomplete, upstream has moved to hatch +INSANE_SKIP = "pep517-backend" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/boost/boost-1.75.0.inc b/meta/recipes-support/boost/boost-1.86.0.inc index e5a8488c58..2378b27575 100644 --- a/meta/recipes-support/boost/boost-1.75.0.inc +++ b/meta/recipes-support/boost/boost-1.86.0.inc @@ -11,10 +11,10 @@ BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}" BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}" BOOST_P = "boost_${BOOST_VER}" -SRC_URI = "https://dl.bintray.com/boostorg/release/${PV}/source/${BOOST_P}.tar.bz2" -SRC_URI[sha256sum] = "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb" +SRC_URI = "https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/${BOOST_P}.tar.bz2" +SRC_URI[sha256sum] = "1bed88e40401b2cb7a1f76d4bab499e352fa4d0c5f31c0dbae64e24d34d7513b" UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" -UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/" +UPSTREAM_CHECK_REGEX = "release/(?P<pver>.*)/source/" S = "${WORKDIR}/${BOOST_P}" diff --git a/meta/recipes-support/boost/boost-build-native_4.4.1.bb b/meta/recipes-support/boost/boost-build-native_1.86.0.bb index ad675ce731..764f410780 100644 --- a/meta/recipes-support/boost/boost-build-native_4.4.1.bb +++ b/meta/recipes-support/boost/boost-build-native_1.86.0.bb @@ -6,10 +6,11 @@ SECTION = "devel" LICENSE = "BSL-1.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" -SRC_URI = "git://github.com/boostorg/build;protocol=https" -SRCREV = "76da80f33187a3d9e5336157cdfae12ce82e37eb" +SRC_URI = "git://github.com/boostorg/build;protocol=https;branch=master" +SRCREV = "4a52d8c06635435b64e31a56eaf7ca5dc912a71d" +PE = "1" -UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+){2,}))" +UPSTREAM_CHECK_GITTAGREGEX = "boost-(?P<pver>(\d+(\.\d+)+))" inherit native @@ -20,8 +21,8 @@ do_compile() { } do_install() { - ./b2 install --prefix=${prefix} staging-prefix=${D}${prefix} + HOME=/var/run ./b2 install --prefix=${D}${prefix} } # The build is either release mode (pre-stripped) or debug (-O0). -INSANE_SKIP_${PN} = "already-stripped" +INSANE_SKIP:${PN} = "already-stripped" diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc index 291a052ec6..77105aa1fa 100644 --- a/meta/recipes-support/boost/boost.inc +++ b/meta/recipes-support/boost/boost.inc @@ -8,8 +8,8 @@ DEPENDS = "boost-build-native zlib bzip2" CVE_PRODUCT = "boost:boost" -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" B = "${WORKDIR}/build" do_configure[cleandirs] = "${B}" @@ -28,6 +28,7 @@ BOOST_LIBS = "\ graph \ headers \ iostreams \ + json \ log \ math \ program_options \ @@ -39,6 +40,7 @@ BOOST_LIBS = "\ thread \ timer \ type_erasure \ + url \ wave \ " @@ -71,35 +73,35 @@ python __anonymous () { if "-native" in pn: pkg = pkg + "-native" packages.append(mlprefix + pkg) - if not d.getVar("FILES_%s" % pkg): - d.setVar("FILES_%s%s" % (mlprefix, pkg), "${libdir}/libboost_%s*.so.*" % lib) + if not d.getVar("FILES:%s" % pkg): + d.setVar("FILES:%s%s" % (mlprefix, pkg), "${libdir}/libboost_%s*.so.*" % lib) else: - d.setVar("FILES_%s%s" % (mlprefix, pkg), d.getVar("FILES_%s" % pkg)) + d.setVar("FILES:%s%s" % (mlprefix, pkg), d.getVar("FILES:%s" % pkg)) d.setVar("BOOST_PACKAGES", " ".join(packages)) d.setVar("BJAM_EXTRA", " ".join(extras)) } # Override the contents of specific packages -FILES_${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*" -FILES_${PN}-locale = "${libdir}/libboost_locale.so.*" -FILES_${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*" -FILES_boost-serialization = "${libdir}/libboost_serialization*.so.* \ +FILES:${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*" +FILES:${PN}-locale = "${libdir}/libboost_locale.so.*" +FILES:${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*" +FILES:boost-serialization = "${libdir}/libboost_serialization*.so.* \ ${libdir}/libboost_wserialization*.so.*" -FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \ +FILES:boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \ ${libdir}/libboost_unit_test_framework*.so.*" # -dev last to pick up the remaining stuff PACKAGES += "${PN}-dev ${PN}-staticdev" -FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/cmake" -FILES_${PN}-staticdev = "${libdir}/libboost_*.a" +FILES:${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/cmake" +FILES:${PN}-staticdev = "${libdir}/libboost_*.a" # "boost" is a metapackage which pulls in all boost librabries PACKAGES += "${PN}" -FILES_${PN} = "" -ALLOW_EMPTY_${PN} = "1" -RRECOMMENDS_${PN} += "${BOOST_PACKAGES}" -RRECOMMENDS_${PN}_class-native = "" +FILES:${PN} = "" +ALLOW_EMPTY:${PN} = "1" +RRECOMMENDS:${PN} += "${BOOST_PACKAGES}" +RRECOMMENDS:${PN}:class-native = "" # to avoid GNU_HASH QA errors added LDFLAGS to ARCH; a little bit dirty but at least it works TARGET_CC_ARCH += "${LDFLAGS}" @@ -150,19 +152,20 @@ BOOST_PARALLEL_MAKE = "${@oe.utils.parallel_make_argument(d, '-j%d')}" BJAM_OPTS = '${BOOST_PARALLEL_MAKE} -d+2 -q \ ${BJAM_TOOLS} \ -sBOOST_BUILD_USER_CONFIG=${WORKDIR}/user-config.jam \ + -sICU_PATH=${STAGING_EXECPREFIXDIR} \ --build-dir=${B} \ --disable-icu \ ${BJAM_EXTRA}' # Native compilation of bzip2 isn't working -BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1' +BJAM_OPTS:append:class-native = ' -sNO_BZIP2=1' # Adjust the build for x32 -BJAM_OPTS_append_x86-x32 = " abi=x32 address-model=64" +BJAM_OPTS:append:x86-x32 = " abi=x32 address-model=64" # cross compiling for arm fails to detect abi, so provide some help -BJAM_OPTS_append_arm = " abi=aapcs architecture=arm" -BJAM_OPTS_append_aarch64 = " abi=aapcs address-model=64 architecture=arm" +BJAM_OPTS:append:arm = " abi=aapcs architecture=arm" +BJAM_OPTS:append:aarch64 = " abi=aapcs address-model=64 architecture=arm" do_configure() { cd ${S} diff --git a/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch b/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch index 91ab53efd9..78f652f619 100644 --- a/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch +++ b/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch @@ -1,4 +1,4 @@ -From 8e1d30454afde37eaa3c593ec19d108cd5ed10d0 Mon Sep 17 00:00:00 2001 +From f88354966fe3af33fd6d9ec889a8e3926b886a8a Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Tue, 18 Dec 2018 15:42:57 +0100 Subject: [PATCH] Don't set up arch/instruction-set flags, we do that @@ -8,16 +8,15 @@ ourselves Upstream-Status: Inappropriate Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - --- - tools/build/src/tools/gcc.jam | 139 ---------------------------------- - 1 file changed, 139 deletions(-) + tools/build/src/tools/gcc.jam | 153 ---------------------------------- + 1 file changed, 153 deletions(-) diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam -index ff3209f7b..70cbc39a5 100644 +index b7825d4e6..ed7e39baf 100644 --- a/tools/build/src/tools/gcc.jam +++ b/tools/build/src/tools/gcc.jam -@@ -1217,142 +1217,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + : +@@ -1144,156 +1144,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + : <architecture>$(architecture)/<instruction-set>$(instruction-set) : $(values) ; } @@ -72,6 +71,9 @@ index ff3209f7b..70cbc39a5 100644 -cpu-flags gcc OPTIONS : x86 : cascadelake : -march=skylake-avx512 -mavx512vnni ; -cpu-flags gcc OPTIONS : x86 : cooperlake : -march=cooperlake ; -cpu-flags gcc OPTIONS : x86 : tigerlake : -march=tigerlake ; +-cpu-flags gcc OPTIONS : x86 : rocketlake : -march=rocketlake ; +-cpu-flags gcc OPTIONS : x86 : alderlake : -march=alderlake ; +-cpu-flags gcc OPTIONS : x86 : sapphirerapids : -march=sapphirerapids ; -cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ; -cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ; -cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ; @@ -98,6 +100,7 @@ index ff3209f7b..70cbc39a5 100644 -cpu-flags gcc OPTIONS : x86 : btver2 : -march=btver2 ; -cpu-flags gcc OPTIONS : x86 : znver1 : -march=znver1 ; -cpu-flags gcc OPTIONS : x86 : znver2 : -march=znver2 ; +-cpu-flags gcc OPTIONS : x86 : znver3 : -march=znver3 ; -cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ; -cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ; -cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ; @@ -158,5 +161,15 @@ index ff3209f7b..70cbc39a5 100644 -cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ; -cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ; -cpu-flags gcc OPTIONS : s390x : z15 : -march=z15 ; +-# ARM +-cpu-flags gcc OPTIONS : arm : cortex-a9+vfpv3 : -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard ; +-cpu-flags gcc OPTIONS : arm : cortex-a53 : -mcpu=cortex-a53 ; +-cpu-flags gcc OPTIONS : arm : cortex-r5 : -mcpu=cortex-r5 ; +-cpu-flags gcc OPTIONS : arm : cortex-r5+vfpv3-d16 : -mcpu=cortex-r5 -mfpu=vfpv3-d16 -mfloat-abi=hard ; -# AIX variant of RS/6000 & PowerPC -toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ; +- +-# Enable response file control +-toolset.flags gcc RESPONSE_FILE_SUB <response-file>auto : a ; +-toolset.flags gcc RESPONSE_FILE_SUB <response-file>file : f ; +-toolset.flags gcc RESPONSE_FILE_SUB <response-file>contents : c ; diff --git a/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch b/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch index 78b19225d4..8f130348b0 100644 --- a/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch +++ b/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch @@ -1,4 +1,4 @@ -From 59402e3a61d14eb7ce8c2019ea1a87ad4bd28605 Mon Sep 17 00:00:00 2001 +From 7130850d74863d1e9a0ae3e85462f1466bdf6d88 Mon Sep 17 00:00:00 2001 From: Anuj Mittal <anuj.mittal@intel.com> Date: Thu, 14 Nov 2019 10:13:53 +0800 Subject: [PATCH] dont setup compiler flags -m32/-m64 @@ -9,17 +9,18 @@ Upstream-Status: Inappropriate [OE-specific] Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> --- - tools/build/src/tools/gcc.jam | 14 -------------- - 1 file changed, 14 deletions(-) + tools/build/src/tools/gcc.jam | 16 ---------------- + 1 file changed, 16 deletions(-) diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam -index c7e3cf3..24486e0 100644 +index ed7e39baf..90513f84a 100644 --- a/tools/build/src/tools/gcc.jam +++ b/tools/build/src/tools/gcc.jam -@@ -430,20 +430,6 @@ local rule compile-link-flags ( * ) +@@ -377,22 +377,6 @@ local rule compile-link-flags ( * ) + compile-link-flags <link>shared/<target-os>$(non-windows) : -fPIC ; } - { +-{ - # Handle address-model - compile-link-flags <target-os>aix/<address-model>32 : -maix32 ; - compile-link-flags <target-os>aix/<address-model>64 : -maix64 ; @@ -28,15 +29,13 @@ index c7e3cf3..24486e0 100644 - compile-link-flags <target-os>hpux/<address-model>64 : -mlp64 ; - - local generic-os = [ set.difference $(all-os) : aix hpux ] ; +- compile-link-flags <target-os>$(generic-os)/<architecture>s390x/<address-model>32 : -m31 ; +- compile-link-flags <target-os>$(generic-os)/<architecture>s390x/<address-model>64 : -m64 ; - local arch = power sparc x86 ; - compile-link-flags <target-os>$(generic-os)/<architecture>$(arch)/<address-model>32 : -m32 ; - compile-link-flags <target-os>$(generic-os)/<architecture>$(arch)/<address-model>64 : -m64 ; -} - --{ + { # Handle threading local rule threading-flags ( * ) - { --- -2.7.4 - diff --git a/meta/recipes-support/boost/boost/0001-fiber-libs-Define-SYS_futex-if-it-does-not-exist.patch b/meta/recipes-support/boost/boost/0001-fiber-libs-Define-SYS_futex-if-it-does-not-exist.patch deleted file mode 100644 index 523568e9bc..0000000000 --- a/meta/recipes-support/boost/boost/0001-fiber-libs-Define-SYS_futex-if-it-does-not-exist.patch +++ /dev/null @@ -1,54 +0,0 @@ -From d6f7b6064dc91d1d5fa18554b40b14822ab7a32b Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 16 Oct 2020 11:13:22 -0700 -Subject: [PATCH] fiber,libs: Define SYS_futex if it does not exist - -__NR_futex is not defines by newer architectures e.g. arc, riscv32 as -they only have 64bit variant of time_t. Glibc defines SYS_futex interface based on -__NR_futex, since this is used in applications, such applications start -to fail to build for these newer architectures. This patch defines a -fallback to alias __NR_futex to __NR_futex_tim64 so SYS_futex keeps -working - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - boost/fiber/detail/futex.hpp | 5 +++++ - libs/log/src/event.cpp | 4 ++++ - 2 files changed, 9 insertions(+) - -diff --git a/boost/fiber/detail/futex.hpp b/boost/fiber/detail/futex.hpp -index e64bd5990..16bee64f1 100644 ---- a/boost/fiber/detail/futex.hpp -+++ b/boost/fiber/detail/futex.hpp -@@ -17,6 +17,11 @@ extern "C" { - #include <linux/futex.h> - #include <sys/syscall.h> - } -+ -+#if !defined(SYS_futex) && defined(SYS_futex_time64) -+#define SYS_futex SYS_futex_time64 -+#endif -+ - #elif BOOST_OS_WINDOWS - #include <windows.h> - #endif -diff --git a/libs/log/src/event.cpp b/libs/log/src/event.cpp -index 5485154d7..2c7c0381f 100644 ---- a/libs/log/src/event.cpp -+++ b/libs/log/src/event.cpp -@@ -31,6 +31,10 @@ - #include <linux/futex.h> - #include <boost/memory_order.hpp> - -+#if !defined(SYS_futex) && defined(SYS_futex_time64) -+#define SYS_futex SYS_futex_time64 -+#endif -+ - // Some Android NDKs (Google NDK and older Crystax.NET NDK versions) don't define SYS_futex - #if defined(SYS_futex) - #define BOOST_LOG_SYS_FUTEX SYS_futex --- -2.28.0 - diff --git a/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch b/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch deleted file mode 100644 index 917617a044..0000000000 --- a/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch +++ /dev/null @@ -1,112 +0,0 @@ -Reference - -https://svn.boost.org/trac/boost/changeset/78326 - -Upstream-Status: Backport -CVE: CVE-2012-2677 -Signed-off-by: Yue Tao <yue.tao@windriver.com> - -diff --git a/boost/pool/pool.hpp.old b/boost/pool/pool.hpp -index c47b11f..417a1e0 100644 ---- a/boost/pool/pool.hpp.old -+++ b/boost/pool/pool.hpp -@@ -26,6 +26,8 @@ - - #include <boost/pool/poolfwd.hpp> - -+// std::numeric_limits -+#include <boost/limits.hpp> - // boost::integer::static_lcm - #include <boost/integer/common_factor_ct.hpp> - // boost::simple_segregated_storage -@@ -355,6 +357,15 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t - return s; - } - -+ size_type max_chunks() const -+ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool. -+ size_type partition_size = alloc_size(); -+ size_type POD_size = integer::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type); -+ size_type max_chunks = (std::numeric_limits<size_type>::max() - POD_size) / alloc_size(); -+ -+ return max_chunks; -+ } -+ - static void * & nextof(void * const ptr) - { //! \returns Pointer dereferenced. - //! (Provided and used for the sake of code readability :) -@@ -375,6 +386,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t - //! the first time that object needs to allocate system memory. - //! The default is 32. This parameter may not be 0. - //! \param nmax_size is the maximum number of chunks to allocate in one block. -+ set_next_size(nnext_size); -+ set_max_size(nmax_size); - } - - ~pool() -@@ -398,8 +411,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t - } - void set_next_size(const size_type nnext_size) - { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. -- //! \returns nnext_size. -- next_size = start_size = nnext_size; -+ BOOST_USING_STD_MIN(); -+ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks()); - } - size_type get_max_size() const - { //! \returns max_size. -@@ -407,7 +420,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t - } - void set_max_size(const size_type nmax_size) - { //! Set max_size. -- max_size = nmax_size; -+ BOOST_USING_STD_MIN(); -+ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks()); - } - size_type get_requested_size() const - { //! \returns the requested size passed into the constructor. -@@ -708,9 +722,9 @@ void * pool<UserAllocator>::malloc_need_resize() - - BOOST_USING_STD_MIN(); - if(!max_size) -- next_size <<= 1; -+ set_next_size(next_size << 1); - else if( next_size*partition_size/requested_size < max_size) -- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); -+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); - - // initialize it, - store().add_block(node.begin(), node.element_size(), partition_size); -@@ -748,9 +762,9 @@ void * pool<UserAllocator>::ordered_malloc_need_resize() - - BOOST_USING_STD_MIN(); - if(!max_size) -- next_size <<= 1; -+ set_next_size(next_size << 1); - else if( next_size*partition_size/requested_size < max_size) -- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); -+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); - - // initialize it, - // (we can use "add_block" here because we know that -@@ -792,6 +806,8 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n) - { //! Gets address of a chunk n, allocating new memory if not already available. - //! \returns Address of chunk n if allocated ok. - //! \returns 0 if not enough memory for n chunks. -+ if (n > max_chunks()) -+ return 0; - - const size_type partition_size = alloc_size(); - const size_type total_req_size = n * requested_size; -@@ -840,9 +856,9 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n) - - BOOST_USING_STD_MIN(); - if(!max_size) -- next_size <<= 1; -+ set_next_size(next_size << 1); - else if( next_size*partition_size/requested_size < max_size) -- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); -+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); - - // insert it into the list, - // handle border case. diff --git a/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch b/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch index 595ba17865..dde21fa076 100644 --- a/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch +++ b/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch @@ -1,4 +1,4 @@ -From cabfcba1ff7511ffd6b91ca244288d44f585aad2 Mon Sep 17 00:00:00 2001 +From c6009cdc1fe76db0092443593396e4d5f0eaa86b Mon Sep 17 00:00:00 2001 From: Jackie Huang <jackie.huang@windriver.com> Date: Fri, 23 Sep 2016 01:04:50 -0700 Subject: [PATCH] boost-math: disable pch for gcc @@ -14,18 +14,15 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/math/build/Jamfile.v2 b/libs/math/build/Jamfile.v2 -index e19fb2e..82472a7 100644 +index 6549e06b7..342cbf0b1 100644 --- a/libs/math/build/Jamfile.v2 +++ b/libs/math/build/Jamfile.v2 @@ -13,7 +13,7 @@ project + <toolset>intel-win:<linkflags>-nologo #<toolset>intel-linux:<pch>off <toolset>intel-darwin:<pch>off - <toolset>msvc-7.1:<pch>off - <toolset>gcc,<target-os>windows:<pch>off + <toolset>gcc:<pch>off #<toolset>gcc:<cxxflags>-fvisibility=hidden <toolset>intel-linux:<cxxflags>-fvisibility=hidden #<toolset>sun:<cxxflags>-xldscope=hidden --- -2.7.4 - diff --git a/meta/recipes-support/boost/boost_1.75.0.bb b/meta/recipes-support/boost/boost_1.86.0.bb index 23b0ffc67e..4b580d078b 100644 --- a/meta/recipes-support/boost/boost_1.75.0.bb +++ b/meta/recipes-support/boost/boost_1.86.0.bb @@ -1,10 +1,7 @@ require boost-${PV}.inc require boost.inc -SRC_URI += " \ - file://boost-CVE-2012-2677.patch \ - file://boost-math-disable-pch-for-gcc.patch \ +SRC_URI += "file://boost-math-disable-pch-for-gcc.patch \ file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ file://0001-dont-setup-compiler-flags-m32-m64.patch \ - file://0001-fiber-libs-Define-SYS_futex-if-it-does-not-exist.patch \ " diff --git a/meta/recipes-support/ca-certificates/ca-certificates/0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch b/meta/recipes-support/ca-certificates/ca-certificates/0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch new file mode 100644 index 0000000000..78898f5150 --- /dev/null +++ b/meta/recipes-support/ca-certificates/ca-certificates/0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch @@ -0,0 +1,80 @@ +From cb43ec15b700b25f3c4fe44043a1a021aaf5b768 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Mon, 18 Oct 2021 12:05:49 +0200 +Subject: [PATCH] Revert "mozilla/certdata2pem.py: print a warning for expired + certificates." + +This avoids a dependency on python3-cryptography, and only checks +for expired certs (which is upstream concern, but not ours). + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + debian/changelog | 1 - + debian/control | 2 +- + mozilla/certdata2pem.py | 11 ----------- + 3 files changed, 1 insertion(+), 13 deletions(-) + +diff --git a/debian/changelog b/debian/changelog +index 531e4d0..4006509 100644 +--- a/debian/changelog ++++ b/debian/changelog +@@ -120,7 +120,6 @@ ca-certificates (20211004) unstable; urgency=low + - "Trustis FPS Root CA" + - "Staat der Nederlanden Root CA - G3" + * Blacklist expired root certificate "DST Root CA X3" (closes: #995432) +- * mozilla/certdata2pem.py: print a warning for expired certificates. + + -- Julien Cristau <jcristau@debian.org> Thu, 07 Oct 2021 17:12:47 +0200 + +diff --git a/debian/control b/debian/control +index 4434b7a..5c6ba24 100644 +--- a/debian/control ++++ b/debian/control +@@ -3,7 +3,7 @@ Section: misc + Priority: optional + Maintainer: Julien Cristau <jcristau@debian.org> + Build-Depends: debhelper-compat (= 13), po-debconf +-Build-Depends-Indep: python3, openssl, python3-cryptography ++Build-Depends-Indep: python3, openssl + Standards-Version: 4.6.2 + Rules-Requires-Root: no + Vcs-Git: https://salsa.debian.org/debian/ca-certificates.git +diff --git a/mozilla/certdata2pem.py b/mozilla/certdata2pem.py +index ede23d4..7d796f1 100644 +--- a/mozilla/certdata2pem.py ++++ b/mozilla/certdata2pem.py +@@ -21,16 +21,12 @@ + # USA. + + import base64 +-import datetime + import os.path + import re + import sys + import textwrap + import io + +-from cryptography import x509 +- +- + objects = [] + + # Dirty file parser. +@@ -121,13 +117,6 @@ for obj in objects: + if obj['CKA_CLASS'] == 'CKO_CERTIFICATE': + if not obj['CKA_LABEL'] in trust or not trust[obj['CKA_LABEL']]: + continue +- +- cert = x509.load_der_x509_certificate(bytes(obj['CKA_VALUE'])) +- if cert.not_valid_after < datetime.datetime.utcnow(): +- print('!'*74) +- print('Trusted but expired certificate found: %s' % obj['CKA_LABEL']) +- print('!'*74) +- + bname = obj['CKA_LABEL'][1:-1].replace('/', '_')\ + .replace(' ', '_')\ + .replace('(', '=')\ +-- +2.20.1 + diff --git a/meta/recipes-support/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch b/meta/recipes-support/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch index 4a8ae5f4b5..1feefeb96a 100644 --- a/meta/recipes-support/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch +++ b/meta/recipes-support/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch @@ -21,14 +21,14 @@ Index: git/sbin/update-ca-certificates =================================================================== --- git.orig/sbin/update-ca-certificates +++ git/sbin/update-ca-certificates -@@ -191,9 +191,7 @@ if [ -d "$HOOKSDIR" ] +@@ -202,9 +202,7 @@ if [ -d "$HOOKSDIR" ] then echo "Running hooks in $HOOKSDIR..." - VERBOSE_ARG= - [ "$verbose" = 0 ] || VERBOSE_ARG="--verbose" -- eval run-parts "$VERBOSE_ARG" --test -- "$HOOKSDIR" | while read hook -+ eval run-parts --test "$HOOKSDIR" | while read hook +- eval run-parts "$VERBOSE_ARG" --test -- "$HOOKSDIR" | while read -r hook ++ eval run-parts --test "$HOOKSDIR" | while read -r hook do ( cat "$ADDED" cat "$REMOVED" ) | "$hook" || echo "E: $hook exited with code $?." diff --git a/meta/recipes-support/ca-certificates/ca-certificates/sbindir.patch b/meta/recipes-support/ca-certificates/ca-certificates/sbindir.patch deleted file mode 100644 index f343ebf16e..0000000000 --- a/meta/recipes-support/ca-certificates/ca-certificates/sbindir.patch +++ /dev/null @@ -1,26 +0,0 @@ -sbin/Makefile: Allow the sbin path to be configurable - -Some project sharing ca-certificates from Debian allow configuration -of the installation location. Make the sbin location configurable. - -Also ensure the target directory exists - -Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> -Upstream-Status: Submitted [https://salsa.debian.org/debian/ca-certificates/-/merge_requests/5] - ---- ca-certificates-20130119.orig/sbin/Makefile -+++ ca-certificates-20130119/sbin/Makefile -@@ -3,9 +3,12 @@ - # - # - -+SBINDIR = /usr/sbin -+ - all: - - clean: - - install: -- install -m755 update-ca-certificates $(DESTDIR)/usr/sbin/ -+ install -d $(DESTDIR)$(SBINDIR) -+ install -m755 update-ca-certificates $(DESTDIR)$(SBINDIR)/ diff --git a/meta/recipes-support/ca-certificates/ca-certificates/update-ca-certificates-support-Toybox.patch b/meta/recipes-support/ca-certificates/ca-certificates/update-ca-certificates-support-Toybox.patch deleted file mode 100644 index f78790923c..0000000000 --- a/meta/recipes-support/ca-certificates/ca-certificates/update-ca-certificates-support-Toybox.patch +++ /dev/null @@ -1,33 +0,0 @@ -update-ca-certificates: Replace deprecated mktemp -t with mktemp --tmpdir - -According to coreutils docs, mktemp -t is deprecated, switch to the ---tmpdir option instead. - -Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> -Upstream-Status: Submitted [https://salsa.debian.org/debian/ca-certificates/-/merge_requests/5] - -[This was originally for compatibility with toybox but toybox now -supports -t] ---- - sbin/update-ca-certificates | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/sbin/update-ca-certificates b/sbin/update-ca-certificates -index 79c41bb..ae9e3f1 100755 ---- a/sbin/update-ca-certificates -+++ b/sbin/update-ca-certificates -@@ -113,9 +113,9 @@ trap cleanup 0 - - # Helper files. (Some of them are not simple arrays because we spawn - # subshells later on.) --TEMPBUNDLE="$(mktemp -t "${CERTBUNDLE}.tmp.XXXXXX")" --ADDED="$(mktemp -t "ca-certificates.tmp.XXXXXX")" --REMOVED="$(mktemp -t "ca-certificates.tmp.XXXXXX")" -+TEMPBUNDLE="$(mktemp --tmpdir "${CERTBUNDLE}.tmp.XXXXXX")" -+ADDED="$(mktemp --tmpdir "ca-certificates.tmp.XXXXXX")" -+REMOVED="$(mktemp --tmpdir "ca-certificates.tmp.XXXXXX")" - - # Adds a certificate to the list of trusted ones. This includes a symlink - # in /etc/ssl/certs to the certificate file and its inclusion into the --- -2.1.4 diff --git a/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb b/meta/recipes-support/ca-certificates/ca-certificates_20240203.bb index 7dcc86fdc1..eff1d97bc5 100644 --- a/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb +++ b/meta/recipes-support/ca-certificates/ca-certificates_20240203.bb @@ -4,30 +4,25 @@ SSL-based applications to check for the authenticity of SSL connections. \ This derived from Debian's CA Certificates." HOMEPAGE = "http://packages.debian.org/sid/ca-certificates" SECTION = "misc" -LICENSE = "GPL-2.0+ & MPL-2.0" +LICENSE = "GPL-2.0-or-later & MPL-2.0" LIC_FILES_CHKSUM = "file://debian/copyright;md5=ae5b36b514e3f12ce1aa8e2ee67f3d7e" # This is needed to ensure we can run the postinst at image creation time DEPENDS = "" -DEPENDS_class-native = "openssl-native" -DEPENDS_class-nativesdk = "openssl-native" +DEPENDS:class-native = "openssl-native" +DEPENDS:class-nativesdk = "openssl-native" # Need rehash from openssl and run-parts from debianutils PACKAGE_WRITE_DEPS += "openssl-native debianutils-native" -SRCREV = "181be7ebd169b4a6fb5d90c3e6dc791e90534144" - -SRC_URI = "git://salsa.debian.org/debian/ca-certificates.git;protocol=https \ +SRC_URI[sha256sum] = "3286d3fc42c4d11b7086711a85f865b44065ce05cf1fb5376b2abed07622a9c6" +SRC_URI = "${DEBIAN_MIRROR}/main/c/ca-certificates/${BPN}_${PV}.tar.xz \ file://0002-update-ca-certificates-use-SYSROOT.patch \ file://0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch \ - file://update-ca-certificates-support-Toybox.patch \ file://default-sysroot.patch \ - file://sbindir.patch \ file://0003-update-ca-certificates-use-relative-symlinks-from-ET.patch \ + file://0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch \ " -UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+)" - -S = "${WORKDIR}/git" - +S = "${WORKDIR}/ca-certificates" inherit allarch EXTRA_OEMAKE = "\ @@ -35,7 +30,7 @@ EXTRA_OEMAKE = "\ 'SBINDIR=${sbindir}' \ " -do_compile_prepend() { +do_compile:prepend() { oe_runmake clean } @@ -58,7 +53,7 @@ do_install () { } >${D}${sysconfdir}/ca-certificates.conf } -do_install_append_class-target () { +do_install:append:class-target () { sed -i -e 's,/etc/,${sysconfdir}/,' \ -e 's,/usr/share/,${datadir}/,' \ -e 's,/usr/local,${prefix}/local,' \ @@ -66,25 +61,25 @@ do_install_append_class-target () { ${D}${mandir}/man8/update-ca-certificates.8 } -pkg_postinst_${PN}_class-target () { +pkg_postinst:${PN}:class-target () { SYSROOT="$D" $D${sbindir}/update-ca-certificates } -CONFFILES_${PN} += "${sysconfdir}/ca-certificates.conf" +CONFFILES:${PN} += "${sysconfdir}/ca-certificates.conf" # Rather than make a postinst script that works for both target and nativesdk, # we just run update-ca-certificate from do_install() for nativesdk. -CONFFILES_${PN}_append_class-nativesdk = " ${sysconfdir}/ssl/certs/ca-certificates.crt" -do_install_append_class-nativesdk () { +CONFFILES:${PN}:append:class-nativesdk = " ${sysconfdir}/ssl/certs/ca-certificates.crt" +do_install:append:class-nativesdk () { SYSROOT="${D}${SDKPATHNATIVE}" ${D}${sbindir}/update-ca-certificates } -do_install_append_class-native () { +do_install:append:class-native () { SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates } -RDEPENDS_${PN}_append_class-target = " openssl-bin openssl" -RDEPENDS_${PN}_append_class-native = " openssl-native" -RDEPENDS_${PN}_append_class-nativesdk = " nativesdk-openssl-bin nativesdk-openssl" +RDEPENDS:${PN}:append:class-target = " openssl-bin openssl" +RDEPENDS:${PN}:append:class-native = " openssl-native" +RDEPENDS:${PN}:append:class-nativesdk = " nativesdk-openssl-bin nativesdk-openssl" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/consolekit/consolekit_0.4.6.bb b/meta/recipes-support/consolekit/consolekit_0.4.6.bb index 22e755747b..0f2153d493 100644 --- a/meta/recipes-support/consolekit/consolekit_0.4.6.bb +++ b/meta/recipes-support/consolekit/consolekit_0.4.6.bb @@ -4,12 +4,12 @@ of any of these items or of any of the metadata associated with them." HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ConsoleKit" BUGTRACKER = "https://bugs.freedesktop.org/buglist.cgi?query_format=specific&product=ConsoleKit" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://src/main.c;endline=21;md5=0a994e09769780220163255d8f9071c3" DEPENDS = "glib-2.0 glib-2.0-native dbus dbus-glib virtual/libx11" -RDEPENDS_${PN} += "base-files" +RDEPENDS:${PN} += "base-files" inherit autotools pkgconfig features_check # depends on virtual/libx11 @@ -29,17 +29,20 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd polkit', d PACKAGECONFIG[pam] = "--enable-pam-module --with-pam-module-dir=${base_libdir}/security,--disable-pam-module,libpam" PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit" -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--with-systemdsystemunitdir=" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/,--with-systemdsystemunitdir=" -FILES_${PN} += "${exec_prefix}/lib/ConsoleKit \ +# Fails to build with GCC14 with incompatible pointer error warning being treated as error +CFLAGS += "-Wno-error=incompatible-pointer-types" + +FILES:${PN} += "${exec_prefix}/lib/ConsoleKit \ ${libdir}/ConsoleKit ${systemd_unitdir} ${base_libdir} \ ${datadir}/dbus-1 ${datadir}/PolicyKit ${datadir}/polkit*" PACKAGES =+ "pam-plugin-ck-connector" -FILES_pam-plugin-ck-connector += "${base_libdir}/security/*.so" -RDEPENDS_pam-plugin-ck-connector += "${PN}" +FILES:pam-plugin-ck-connector += "${base_libdir}/security/*.so" +RDEPENDS:pam-plugin-ck-connector += "${PN}" -do_install_append() { +do_install:append() { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/tmpfiles.d echo "d ${localstatedir}/log/ConsoleKit - - - -" \ diff --git a/meta/recipes-support/curl/curl/0001-replace-krb5-config-with-pkg-config.patch b/meta/recipes-support/curl/curl/0001-replace-krb5-config-with-pkg-config.patch deleted file mode 100644 index a7db1b3c9e..0000000000 --- a/meta/recipes-support/curl/curl/0001-replace-krb5-config-with-pkg-config.patch +++ /dev/null @@ -1,44 +0,0 @@ -From ed70f0623708b8a6c1f58a5d243d87c5ff45b24d Mon Sep 17 00:00:00 2001 -From: Roy Li <rongqing.li@windriver.com> -Date: Tue, 26 Apr 2016 13:13:01 +0800 -Subject: [PATCH] replace krb5-config with pkg-config - -Upstream-Status: Pending - -Signed-off-by: Roy Li <rongqing.li@windriver.com> - ---- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5569a26..56b0380 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -1290,7 +1290,7 @@ AC_ARG_WITH(gssapi, - fi - ]) - --: ${KRB5CONFIG:="$GSSAPI_ROOT/bin/krb5-config"} -+KRB5CONFIG=`which pkg-config` - - save_CPPFLAGS="$CPPFLAGS" - AC_MSG_CHECKING([if GSS-API support is requested]) -@@ -1301,7 +1301,7 @@ if test x"$want_gss" = xyes; then - if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then - GSSAPI_INCS=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --cflags gssapi` - elif test -f "$KRB5CONFIG"; then -- GSSAPI_INCS=`$KRB5CONFIG --cflags gssapi` -+ GSSAPI_INCS=`$KRB5CONFIG --cflags mit-krb5-gssapi` - elif test "$GSSAPI_ROOT" != "yes"; then - GSSAPI_INCS="-I$GSSAPI_ROOT/include" - fi -@@ -1394,7 +1394,7 @@ if test x"$want_gss" = xyes; then - elif test -f "$KRB5CONFIG"; then - dnl krb5-config doesn't have --libs-only-L or similar, put everything - dnl into LIBS -- gss_libs=`$KRB5CONFIG --libs gssapi` -+ gss_libs=`$KRB5CONFIG --libs mit-krb5-gssapi` - LIBS="$gss_libs $LIBS" - else - case $host in diff --git a/meta/recipes-support/curl/curl/0001-sigpipe-init-the-struct-so-that-first-apply-ignores.patch b/meta/recipes-support/curl/curl/0001-sigpipe-init-the-struct-so-that-first-apply-ignores.patch new file mode 100644 index 0000000000..15c69e1430 --- /dev/null +++ b/meta/recipes-support/curl/curl/0001-sigpipe-init-the-struct-so-that-first-apply-ignores.patch @@ -0,0 +1,38 @@ +From 3eec5afbd0b6377eca893c392569b2faf094d970 Mon Sep 17 00:00:00 2001 +From: Daniel Stenberg <daniel@haxx.se> +Date: Mon, 5 Aug 2024 00:17:17 +0200 +Subject: [PATCH] sigpipe: init the struct so that first apply ignores + +Initializes 'no_signal' to TRUE, so that a call to sigpipe_apply() after +init ignores the signal (unless CURLOPT_NOSIGNAL) is set. + +I have read the existing code multiple times now and I think it gets the +initial state reversed this missing to ignore. + +Regression from 17e6f06ea37136c36d27 + +Reported-by: Rasmus Thomsen +Fixes #14344 +Closes #14390 + +Upstream-Status: Backport [https://github.com/curl/curl/commit/3eec5afbd0b6377eca893c392569b2faf094d970] +Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org> +--- + lib/sigpipe.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/sigpipe.h b/lib/sigpipe.h +index b91a2f513..d78afd905 100644 +--- a/lib/sigpipe.h ++++ b/lib/sigpipe.h +@@ -39,6 +39,7 @@ struct sigpipe_ignore { + static void sigpipe_init(struct sigpipe_ignore *ig) + { + memset(ig, 0, sizeof(*ig)); ++ ig->no_signal = TRUE; + } + + /* +-- +2.44.2 + diff --git a/meta/recipes-support/curl/curl/disable-tests b/meta/recipes-support/curl/curl/disable-tests new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/meta/recipes-support/curl/curl/disable-tests diff --git a/meta/recipes-support/curl/curl/no-test-timeout.patch b/meta/recipes-support/curl/curl/no-test-timeout.patch new file mode 100644 index 0000000000..7122b6f043 --- /dev/null +++ b/meta/recipes-support/curl/curl/no-test-timeout.patch @@ -0,0 +1,25 @@ +From 42cddb52e821cfc2f09f1974742714e5f2f1856e Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Fri, 15 Mar 2024 14:37:37 +0000 +Subject: [PATCH] Set the max-time timeout to 600 so the timeout is 10 minutes + instead of 13 seconds. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + tests/servers.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/servers.pm b/tests/servers.pm +index d4472d5..9999938 100644 +--- a/tests/servers.pm ++++ b/tests/servers.pm +@@ -120,7 +120,7 @@ my $sshdverstr; # for socks server, ssh daemon version string + my $sshderror; # for socks server, ssh daemon version error + my %doesntrun; # servers that don't work, identified by pidfile + my %PORT = (nolisten => 47); # port we use for a local non-listening service +-my $server_response_maxtime=13; ++my $server_response_maxtime=600; + my $httptlssrv = find_httptlssrv(); + my %run; # running server + my %runcert; # cert file currently in use by an ssl running server diff --git a/meta/recipes-support/curl/curl/run-ptest b/meta/recipes-support/curl/curl/run-ptest new file mode 100644 index 0000000000..597cf92dbb --- /dev/null +++ b/meta/recipes-support/curl/curl/run-ptest @@ -0,0 +1,19 @@ +#!/bin/sh + +cd tests + +# Run all tests, don't stop on first failure +# Don't use valgrind if it is found +# Use automake-style output +# Run four tests in parallel +# Print log output on failure + +# Don't run the flaky or timing dependent tests +# Until https://github.com/curl/curl/issues/13350 is resolved, don't run FTP tests +# We don't enable --libcurl +# Don't assume curl-config exists +# We don't have the source tree +./runtests.pl \ + -a -c curl -vc curl -n -am -j4 -p \ + !flaky !timing-dependent !FTP \ + !--libcurl !curl-config !source\ analysis !checksrc !documentation diff --git a/meta/recipes-support/curl/curl_7.76.0.bb b/meta/recipes-support/curl/curl_7.76.0.bb deleted file mode 100644 index db6318148f..0000000000 --- a/meta/recipes-support/curl/curl_7.76.0.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Command line tool and library for client-side URL transfers" -DESCRIPTION = "It uses URL syntax to transfer data to and from servers. \ -curl is a widely used because of its ability to be flexible and complete \ -complex tasks. For example, you can use curl for things like user authentication, \ -HTTP post, SSL connections, proxy support, FTP uploads, and more!" -HOMEPAGE = "http://curl.haxx.se/" -BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" -SECTION = "console/network" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=425f6fdc767cc067518eef9bbdf4ab7b" - -SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \ - file://0001-replace-krb5-config-with-pkg-config.patch \ -" - -SRC_URI[sha256sum] = "e29bfe3633701590d75b0071bbb649ee5ca4ca73f00649268bd389639531c49a" - -# Curl has used many names over the years... -CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" - -inherit autotools pkgconfig binconfig multilib_header - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} ssl libidn proxy threaded-resolver verbose zlib" -PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" -PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" - -# 'ares' and 'threaded-resolver' are mutually exclusive -PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver" -PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" -PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" -PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," -PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" -PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," -PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," -PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," -PACKAGECONFIG[libgsasl] = "--with-libgsasl,--without-libgsasl,libgsasl" -PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" -PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" -PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" -PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt," -PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" -PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," -PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," -PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" -PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," -PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," -PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," -PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" -PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" -PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," -PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," -PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" -PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" -PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" - -EXTRA_OECONF = " \ - --disable-libcurl-option \ - --disable-ntlm-wb \ - --enable-crypto-auth \ - --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ - --without-libmetalink \ - --without-libpsl \ - --enable-debug \ - --enable-optimize \ - --disable-curldebug \ -" - -do_install_append_class-target() { - # cleanup buildpaths from curl-config - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - ${D}${bindir}/curl-config -} - -PACKAGES =+ "lib${BPN}" - -FILES_lib${BPN} = "${libdir}/lib*.so.*" -RRECOMMENDS_lib${BPN} += "ca-certificates" - -FILES_${PN} += "${datadir}/zsh" - -inherit multilib_script -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/curl/curl_8.9.1.bb b/meta/recipes-support/curl/curl_8.9.1.bb new file mode 100644 index 0000000000..745224929b --- /dev/null +++ b/meta/recipes-support/curl/curl_8.9.1.bb @@ -0,0 +1,156 @@ +SUMMARY = "Command line tool and library for client-side URL transfers" +DESCRIPTION = "It uses URL syntax to transfer data to and from servers. \ +curl is a widely used because of its ability to be flexible and complete \ +complex tasks. For example, you can use curl for things like user authentication, \ +HTTP post, SSL connections, proxy support, FTP uploads, and more!" +HOMEPAGE = "https://curl.se/" +BUGTRACKER = "https://github.com/curl/curl/issues" +SECTION = "console/network" +LICENSE = "curl" +LIC_FILES_CHKSUM = "file://COPYING;md5=eed2e5088e1ac619c9a1c747da291d75" + +SRC_URI = " \ + https://curl.se/download/${BP}.tar.xz \ + file://run-ptest \ + file://disable-tests \ + file://no-test-timeout.patch \ + file://0001-sigpipe-init-the-struct-so-that-first-apply-ignores.patch \ +" +SRC_URI[sha256sum] = "f292f6cc051d5bbabf725ef85d432dfeacc8711dd717ea97612ae590643801e5" + +# Curl has used many names over the years... +CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" +CVE_STATUS[CVE-2024-32928] = "ignored: CURLOPT_SSL_VERIFYPEER was disabled on google cloud services causing a potential man in the middle attack" + +inherit autotools pkgconfig binconfig multilib_header ptest + +# Entropy source for random PACKAGECONFIG option +RANDOM ?= "/dev/urandom" + +COMMON_PACKAGECONFIG = "basic-auth bearer-auth digest-auth negotiate-auth openssl proxy random threaded-resolver verbose zlib" +PACKAGECONFIG ??= "${COMMON_PACKAGECONFIG} ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} aws libidn" +PACKAGECONFIG:class-native = "${COMMON_PACKAGECONFIG} ipv6" +PACKAGECONFIG:class-nativesdk = "${COMMON_PACKAGECONFIG} ipv6" + +# 'ares' and 'threaded-resolver' are mutually exclusive +PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver" +PACKAGECONFIG[aws] = "--enable-aws,--disable-aws" +PACKAGECONFIG[basic-auth] = "--enable-basic-auth,--disable-basic-auth" +PACKAGECONFIG[bearer-auth] = "--enable-bearer-auth,--disable-bearer-auth" +PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" +PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" +# Don't use this in production +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" +PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," +PACKAGECONFIG[digest-auth] = "--enable-digest-auth,--disable-digest-auth" +PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" +PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," +PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[kerberos-auth] = "--enable-kerberos-auth,--disable-kerberos-auth" +PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap" +PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,openldap" +PACKAGECONFIG[libgsasl] = "--with-libgsasl,--without-libgsasl,libgsasl" +PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" +PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" +PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" +PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt," +PACKAGECONFIG[negotiate-auth] = "--enable-negotiate-auth,--disable-negotiate-auth" +PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" +PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," +PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," +PACKAGECONFIG[random] = "--with-random=${RANDOM},--without-random" +PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" +PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," +PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," +PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," +PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," +PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," +PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" +PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" +PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" +PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd" + +EXTRA_OECONF = " \ + --disable-libcurl-option \ + --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ + --without-libpsl \ + --enable-optimize \ + ${@'--without-ssl' if (bb.utils.filter('PACKAGECONFIG', 'gnutls mbedtls openssl', d) == '') else ''} \ +" + +fix_absolute_paths () { + # cleanup buildpaths from curl-config + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's|${@" ".join(d.getVar("DEBUG_PREFIX_MAP").split())}||g' \ + ${D}${bindir}/curl-config +} + +do_install:append:class-target() { + fix_absolute_paths +} + +do_install:append:class-nativesdk() { + fix_absolute_paths +} + +do_compile_ptest() { + oe_runmake -C ${B}/tests +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp ${S}/tests/*.p[lmy] ${D}${PTEST_PATH}/tests/ + + install -d ${D}${PTEST_PATH}/tests/libtest + for name in $(makefile-getvar ${B}/tests/libtest/Makefile noinst_PROGRAMS noinst_LTLIBRARIES); do + ${B}/libtool --mode=install install ${B}/tests/libtest/$name ${D}${PTEST_PATH}/tests/libtest + done + cp ${S}/tests/libtest/notexists.pl ${D}${PTEST_PATH}/tests/libtest + rm -f ${D}${PTEST_PATH}/tests/libtest/libhostname.la + + install -d ${D}${PTEST_PATH}/tests/server + for name in $(makefile-getvar ${B}/tests/server/Makefile noinst_PROGRAMS); do + ${B}/libtool --mode=install install ${B}/tests/server/$name ${D}${PTEST_PATH}/tests/server + done + + cp -r ${S}/tests/data ${D}${PTEST_PATH}/tests/ + + # More tests that we disable for automated QA as they're not reliable + cat ${UNPACKDIR}/disable-tests >>${D}${PTEST_PATH}/tests/data/DISABLED +} + +RDEPENDS:${PN}-ptest += " \ + locale-base-en-us \ + perl-module-b \ + perl-module-base \ + perl-module-cwd \ + perl-module-digest \ + perl-module-digest-md5 \ + perl-module-file-basename \ + perl-module-file-spec \ + perl-module-file-temp \ + perl-module-io-socket \ + perl-module-ipc-open2 \ + perl-module-list-util \ + perl-module-memoize \ + perl-module-storable \ + perl-module-time-hires \ +" + +PACKAGES =+ "lib${BPN}" + +FILES:lib${BPN} = "${libdir}/lib*.so.*" +RRECOMMENDS:lib${BPN} += "ca-certificates" + +FILES:${PN} += "${datadir}/zsh" + +inherit multilib_script +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/db/db/0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch b/meta/recipes-support/db/db/0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch index a4ff2ecb0c..c82e7c375f 100644 --- a/meta/recipes-support/db/db/0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch +++ b/meta/recipes-support/db/db/0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch @@ -7,7 +7,7 @@ db5 does not build because it is redefining a C++11 standard library identifier, atomic_init(). Therefore prefix all its internal defines with '__db_', to avoid collisions. -Upstream-Status: Pending +Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- diff --git a/meta/recipes-support/db/db/0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch b/meta/recipes-support/db/db/0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch index 571708e03e..2374885e77 100644 --- a/meta/recipes-support/db/db/0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch +++ b/meta/recipes-support/db/db/0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch @@ -11,7 +11,7 @@ Fixes ../db-5.3.28/src/dbinc/atomic.h:179:19: error: definition of builtin function '__atomic_compare_exchange' static inline int __atomic_compare_exchange( -Upstream-Status: Pending +Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- diff --git a/meta/recipes-support/db/db/0001-clock-Do-not-define-own-timespec.patch b/meta/recipes-support/db/db/0001-clock-Do-not-define-own-timespec.patch index 9d51a44a26..d238b0f063 100644 --- a/meta/recipes-support/db/db/0001-clock-Do-not-define-own-timespec.patch +++ b/meta/recipes-support/db/db/0001-clock-Do-not-define-own-timespec.patch @@ -10,7 +10,7 @@ its 12-bytes here and libc has 16-bytes This can cause problems especially with 64bit time_t -Upstream-Status: Pending +Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- src/dbinc/clock.h | 17 +---------------- diff --git a/meta/recipes-support/db/db/0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch b/meta/recipes-support/db/db/0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch index cb28db1343..a574cf67b9 100644 --- a/meta/recipes-support/db/db/0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch +++ b/meta/recipes-support/db/db/0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch @@ -7,7 +7,7 @@ This helps cross compile when tag inference via heuristics fail because CC variable is having -fPIE -pie and libtool smartly removes it when building libraries -Upstream-Status: Pending +Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- diff --git a/meta/recipes-support/db/db/fix-parallel-build.patch b/meta/recipes-support/db/db/fix-parallel-build.patch index 27632e1ddb..42c2407cf2 100644 --- a/meta/recipes-support/db/db/fix-parallel-build.patch +++ b/meta/recipes-support/db/db/fix-parallel-build.patch @@ -2,7 +2,7 @@ With higher paralelism it sometimes fails with: libtool: link: `util_log.lo' is not a valid libtool object make: *** [db_replicate] Error 1 -Upstream-Status: Pending +Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> diff --git a/meta/recipes-support/db/db/sequence-type.patch b/meta/recipes-support/db/db/sequence-type.patch index a6fe3d62a0..fc9f7f0113 100644 --- a/meta/recipes-support/db/db/sequence-type.patch +++ b/meta/recipes-support/db/db/sequence-type.patch @@ -6,7 +6,7 @@ in stdint.h. This then breaks the overly complicated type check but as we know that int64_t exists and works, we can just delete that. -Upstream-Status: Pending +Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead] Signed-off-by: Ross Burton <ross.burton@intel.com> --- a/dist/aclocal/sequence.m4~ 2013-09-09 16:35:02.000000000 +0100 diff --git a/meta/recipes-support/db/db_5.3.28.bb b/meta/recipes-support/db/db_5.3.28.bb index 9cb57e6a53..a7d061e0da 100644 --- a/meta/recipes-support/db/db_5.3.28.bb +++ b/meta/recipes-support/db/db_5.3.28.bb @@ -13,12 +13,11 @@ SUMMARY = "Berkeley Database v5" DESCRIPTION = "Provides the foundational storage services for your application, no matter how demanding and unique your requirements may seem to be" HOMEPAGE = "https://www.oracle.com/database/technologies/related/berkeleydb.html" LICENSE = "Sleepycat" -RCONFLICTS_${PN} = "db3" +RCONFLICTS:${PN} = "db3" -CVE_PRODUCT = "oracle_berkeley_db" +CVE_PRODUCT = "oracle_berkeley_db berkeley_db" CVE_VERSION = "11.2.${PV}" -PR = "r1" PE = "1" SRC_URI = "https://download.oracle.com/berkeley-db/db-${PV}.tar.gz" @@ -47,7 +46,7 @@ inherit autotools inherit lib_package PACKAGES =+ "${PN}-cxx" -FILES_${PN}-cxx = "${libdir}/*cxx*so" +FILES:${PN}-cxx = "${libdir}/*cxx*so" # The dev package has the .so link (as in db3) and the .a's - # it is therefore incompatible (cannot be installed at the @@ -66,8 +65,6 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[verify] = "--enable-verify, --disable-verify" PACKAGECONFIG[dbm] = "--enable-dbm,--disable-dbm," -EXTRA_OEMAKE += "LIBTOOL='./${HOST_SYS}-libtool'" - EXTRA_AUTORECONF += "--exclude=autoheader -I ${S}/dist/aclocal -I${S}/dist/aclocal_java" AUTOTOOLS_SCRIPT_PATH = "${S}/dist" @@ -75,7 +72,7 @@ AUTOTOOLS_SCRIPT_PATH = "${S}/dist" # configure. CONFIG_SITE = "" -oe_runconf_prepend() { +oe_runconf:prepend() { . ${S}/dist/RELEASE # Edit version information we couldn't pre-compute. sed -i -e "s/__EDIT_DB_VERSION_FAMILY__/$DB_VERSION_FAMILY/g" \ @@ -89,12 +86,12 @@ oe_runconf_prepend() { -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" ${S}/dist/configure } -do_compile_prepend() { +do_compile:prepend() { # Stop libtool adding RPATHs - sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' ${B}/${HOST_SYS}-libtool + sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' ${B}/libtool } -do_install_append() { +do_install:append() { mkdir -p ${D}/${includedir}/db51 mv ${D}/${includedir}/db.h ${D}/${includedir}/db51/. mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db51/. @@ -115,7 +112,11 @@ do_install_append() { fi } -INSANE_SKIP_${PN} = "dev-so" -INSANE_SKIP_${PN}-cxx = "dev-so" +INSANE_SKIP:${PN} = "dev-so" +INSANE_SKIP:${PN}-cxx = "dev-so" BBCLASSEXTEND = "native nativesdk" + +# many configure tests are failing with gcc-14 +CFLAGS += "-Wno-error=implicit-int -Wno-error=implicit-function-declaration" +BUILD_CFLAGS += "-Wno-error=implicit-int -Wno-error=implicit-function-declaration" diff --git a/meta/recipes-support/debianutils/debianutils_4.11.2.bb b/meta/recipes-support/debianutils/debianutils_5.20.bb index 1aedd8e6f3..61438121da 100644 --- a/meta/recipes-support/debianutils/debianutils_4.11.2.bb +++ b/meta/recipes-support/debianutils/debianutils_5.20.bb @@ -5,56 +5,54 @@ you may use them directly. " HOMEPAGE = "https://packages.debian.org/sid/debianutils" BUGTRACKER = "https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=debianutils;dist=unstable" SECTION = "base" -LICENSE = "GPLv2 & SMAIL_GPL" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=9b912cd0cc654134c0ef3424a0705b94" +LICENSE = "GPL-2.0-only & SMAIL_GPL" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=4b667f30411d21bc8fd7db85d502a8e9" -SRC_URI = "http://snapshot.debian.org/archive/debian/20200929T025235Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz" -# the package is taken from snapshots.debian.org; that source is static and goes stale -# so we check the latest upstream from a directory that does get updated -UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/" +SRC_URI = "git://salsa.debian.org/debian/debianutils.git;protocol=https;branch=master \ + " -SRC_URI[sha256sum] = "3b680e81709b740387335fac8f8806d71611dcf60874e1a792e862e48a1650de" +SRCREV = "9f3d6fa6b8d91849a78d681294fa8ea7bfa9086f" inherit autotools update-alternatives -S = "${WORKDIR}/debianutils" -do_configure_prepend() { - sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am +S = "${WORKDIR}/git" + +# Disable po4a (translated manpages) sub-directory, as that requires po4a to build +do_configure:prepend() { + sed -i -e 's:po4a::g' ${S}/Makefile.am } -do_install_append() { + +do_install:append() { if [ "${base_bindir}" != "${bindir}" ]; then # Debian places some utils into ${base_bindir} as does busybox install -d ${D}${base_bindir} - for app in run-parts tempfile; do + for app in run-parts; do mv ${D}${bindir}/$app ${D}${base_bindir}/$app done fi + mv ${D}${bindir}/which.debianutils ${D}${bindir}/which } # Note that we package the update-alternatives name. # PACKAGES =+ "${PN}-run-parts" -FILES_${PN}-run-parts = "${base_bindir}/run-parts.debianutils" +FILES:${PN}-run-parts = "${base_bindir}/run-parts.debianutils" -RDEPENDS_${PN} += "${PN}-run-parts" -RDEPENDS_${PN}_class-native = "" +RDEPENDS:${PN} += "${PN}-run-parts" +RDEPENDS:${PN}:class-native = "" ALTERNATIVE_PRIORITY = "30" -ALTERNATIVE_${PN} = "add-shell installkernel remove-shell savelog tempfile which" +ALTERNATIVE:${PN} = "add-shell installkernel remove-shell savelog which" ALTERNATIVE_PRIORITY_${PN}-run-parts = "60" -ALTERNATIVE_${PN}-run-parts = "run-parts" - -ALTERNATIVE_${PN}-doc = "which.1" -ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1" +ALTERNATIVE:${PN}-run-parts = "run-parts" ALTERNATIVE_LINK_NAME[add-shell] = "${sbindir}/add-shell" ALTERNATIVE_LINK_NAME[installkernel] = "${sbindir}/installkernel" ALTERNATIVE_LINK_NAME[remove-shell] = "${sbindir}/remove-shell" ALTERNATIVE_LINK_NAME[run-parts] = "${base_bindir}/run-parts" ALTERNATIVE_LINK_NAME[savelog] = "${bindir}/savelog" -ALTERNATIVE_LINK_NAME[tempfile] = "${base_bindir}/tempfile" ALTERNATIVE_LINK_NAME[which] = "${bindir}/which" BBCLASSEXTEND = "native" diff --git a/meta/recipes-support/diffoscope/diffoscope_172.bb b/meta/recipes-support/diffoscope/diffoscope_277.bb index bf4726e778..f609e607f3 100644 --- a/meta/recipes-support/diffoscope/diffoscope_172.bb +++ b/meta/recipes-support/diffoscope/diffoscope_277.bb @@ -5,24 +5,38 @@ various binary formats into more human-readable form to compare them. \ It can compare two tarballs, ISO images, or PDF just as easily." HOMEPAGE = "https://diffoscope.org/" BUGTRACKER = "https://salsa.debian.org/reproducible-builds/diffoscope/-/issues" -LICENSE = "GPL-3.0+" +LICENSE = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" PYPI_PACKAGE = "diffoscope" inherit pypi setuptools3 -SRC_URI[sha256sum] = "5ffe7f38555c6409bc7e7edc277ed77dd78641fe1306fc38d153dbbe445ddea4" +SRC_URI[sha256sum] = "d2d4236d7b72be8344b0c7a19506350a7b17d316bcd79d7bfc113e10400b0e10" -RDEPENDS_${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm" +RDEPENDS:${PN} += "\ + binutils \ + python3-curses \ + python3-difflib \ + python3-fcntl \ + python3-json \ + python3-libarchive-c \ + python3-magic \ + python3-multiprocessing \ + python3-pprint \ + python3-rpm \ + squashfs-tools \ + vim \ + " # Dependencies don't build for musl -COMPATIBLE_HOST_libc-musl = 'null' +COMPATIBLE_HOST:libc-musl = 'null' -do_install_append_class-native() { +do_install:append:class-native() { create_wrapper ${D}${bindir}/diffoscope \ MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} } diff --git a/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb b/meta/recipes-support/dos2unix/dos2unix_7.5.2.bb index 9005bdea59..06338dd62f 100644 --- a/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb +++ b/meta/recipes-support/dos2unix/dos2unix_7.5.2.bb @@ -6,12 +6,12 @@ HOMEPAGE = "http://waterlan.home.xs4all.nl/dos2unix.html" SECTION = "support" LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=8a7c3499a1142df819e727253cd53a12" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=49ec74e0139712398b9ddb06d824929a" -SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix" +SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix;branch=master;protocol=https" UPSTREAM_CHECK_GITTAGREGEX = "dos2unix-(?P<pver>(\d+(\.\d+)+))" -SRCREV = "72596f0ae21faa25a07a872d4843bc885475115d" +SRCREV = "c16a0b31a64c7eb6b2d76960e5144732b57f2993" S = "${WORKDIR}/git/dos2unix" @@ -25,7 +25,7 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[nls] = "ENABLE_NLS=1,ENABLE_NLS=,po4a-native" EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} LDFLAGS_USER='${LDFLAGS}'" -EXTRA_OEMAKE_class-native = "ENABLE_NLS=" +EXTRA_OEMAKE:class-native = "ENABLE_NLS=" do_install () { oe_runmake DESTDIR="${D}${base_prefix}" install diff --git a/meta/recipes-support/enchant/enchant2_2.2.15.bb b/meta/recipes-support/enchant/enchant2_2.8.2.bb index ed87f11a8a..f0da896e59 100644 --- a/meta/recipes-support/enchant/enchant2_2.2.15.bb +++ b/meta/recipes-support/enchant/enchant2_2.8.2.bb @@ -4,28 +4,26 @@ different spelling libraries and programs with a consistent interface." SECTION = "libs" HOMEPAGE = "https://abiword.github.io/enchant/" BUGTRACKER = "https://github.com/AbiWord/enchant/issues/" -LICENSE = "LGPLv2.1+" +LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" -DEPENDS = "glib-2.0" +DEPENDS = "glib-2.0 groff-native" -inherit autotools pkgconfig +inherit autotools pkgconfig github-releases -SRC_URI = "https://github.com/AbiWord/enchant/releases/download/v${PV}/enchant-${PV}.tar.gz" -SRC_URI[sha256sum] = "3b0f2215578115f28e2a6aa549b35128600394304bd79d6f28b0d3b3d6f46c03" +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/enchant-${PV}.tar.gz" +SRC_URI[sha256sum] = "8f19535adb5577b83b00e02f330fe9b9eb40dd21f19e2899636fc4d3a7696375" -UPSTREAM_CHECK_URI = "https://github.com/AbiWord/enchant/releases" +GITHUB_BASE_URI = "https://github.com/AbiWord/enchant/releases" S = "${WORKDIR}/enchant-${PV}" -EXTRA_OEMAKE = "pkgdatadir=${datadir}/enchant-2" - PACKAGECONFIG ??= "aspell" PACKAGECONFIG[aspell] = "--with-aspell,--without-aspell,aspell,aspell" PACKAGECONFIG[hunspell] = "--with-hunspell,--without-hunspell,hunspell,hunspell" -FILES_${PN} += " \ +FILES:${PN} += " \ ${datadir}/enchant-2 \ ${libdir}/enchant-2 \ " -FILES_${PN}-staticdev += "${libdir}/enchant-2/*.a" +FILES:${PN}-staticdev += "${libdir}/enchant-2/*.a" diff --git a/meta/recipes-support/fribidi/fribidi_1.0.10.bb b/meta/recipes-support/fribidi/fribidi_1.0.15.bb index b2ef77349a..14d901a530 100644 --- a/meta/recipes-support/fribidi/fribidi_1.0.10.bb +++ b/meta/recipes-support/fribidi/fribidi_1.0.15.bb @@ -6,17 +6,14 @@ as Hebrew, Arabic, Syriac, and Thaana. " SECTION = "libs" HOMEPAGE = "http://fribidi.org/" BUGTRACKER = "https://github.com/fribidi/fribidi/issues" -LICENSE = "LGPLv2.1+" +LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.xz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.xz \ " -SRC_URI[md5sum] = "97c87da9930e8e70fbfc8e2bcd031554" -SRC_URI[sha256sum] = "7f1c687c7831499bcacae5e8675945a39bacbad16ecaa945e9454a32df653c01" +SRC_URI[sha256sum] = "0bbc7ff633bfa208ae32d7e369cf5a7d20d5d2557a0b067c9aa98bcbf9967587" -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" - -inherit meson lib_package pkgconfig +inherit meson lib_package pkgconfig github-releases CVE_PRODUCT = "gnu_fribidi fribidi" diff --git a/meta/recipes-support/gdbm/files/ptest.patch b/meta/recipes-support/gdbm/files/ptest.patch index 1e67dbd554..989f9524bc 100644 --- a/meta/recipes-support/gdbm/files/ptest.patch +++ b/meta/recipes-support/gdbm/files/ptest.patch @@ -1,4 +1,4 @@ -From 41448708e163c8ec1f980464e7dd6741db427c8a Mon Sep 17 00:00:00 2001 +From ed0b5a48c7ce59ea971a10c7e522933cf613841a Mon Sep 17 00:00:00 2001 From: Josep Puigdemont <josep.puigdemont@enea.com> Date: Sun, 4 May 2014 16:02:07 +0200 Subject: [PATCH] Add install-ptest rules. @@ -6,19 +6,18 @@ Subject: [PATCH] Add install-ptest rules. Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> Signed-off-by: Maxin B. John <maxin.john@enea.com> Upstream-Status: Pending - --- Makefile.am | 5 +++++ - tests/Makefile.am | 11 +++++++++++ - 2 files changed, 16 insertions(+) + tests/Makefile.am | 12 ++++++++++++ + 2 files changed, 17 insertions(+) diff --git a/Makefile.am b/Makefile.am -index ecc03df..9fbbda5 100644 +index d0b46ea..6c57b11 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -55,3 +55,8 @@ ChangeLog: - awk -f $(top_srcdir)/git2chg.awk \ - -v append=$(top_srcdir)/$(prev_change_log) > ChangeLog; \ +@@ -64,3 +64,8 @@ ChangeLog: + mv ChangeLog.tmp ChangeLog; \ + rm -f ChangeLog.tmp; \ fi + +install-ptest: @@ -26,13 +25,14 @@ index ecc03df..9fbbda5 100644 + $(MAKE) -C $$subdir DESTDIR=$(DESTDIR)/$$subdir $@; \ + done diff --git a/tests/Makefile.am b/tests/Makefile.am -index dbe17dd..06f537f 100644 +index eb071ac..9d14fe8 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am -@@ -169,3 +169,14 @@ EXTRA_DIST += \ - gdbmtool/base.exp\ - config/default.exp +@@ -145,3 +145,15 @@ d_creat_ce_LDADD = ../src/libgdbm.la ../compat/libgdbm_compat.la + t_wordwrap_LDADD = ../tools/libgdbmapp.a + SUBDIRS = gdbmtool ++ +buildtests: $(check_PROGRAMS) $(TESTSUITE) + +install-ptest: $(check_PROGRAMS) $(TESTSUITE) diff --git a/meta/recipes-support/gdbm/files/run-ptest b/meta/recipes-support/gdbm/files/run-ptest index 615da8444b..8d6481185d 100755 --- a/meta/recipes-support/gdbm/files/run-ptest +++ b/meta/recipes-support/gdbm/files/run-ptest @@ -4,4 +4,4 @@ cd tests -./testsuite AUTOTEST_PATH=$PWD abs_builddir=$PWD COMPAT=1 | sed 's/^[^0-9]*\([0-9]\+\): \(.*\)\(ok\|pass\|skipped\|fail\|FAILED\)\(.*\)$/\3: \2 \4/;s/ \+/ /g;s/^ok/PASS/;s/^skipped/SKIP/;s/^fail/FAIL/;s/^FAILED/FAIL/' +./testsuite --am-fmt AUTOTEST_PATH=$PWD abs_builddir=$PWD COMPAT=1 diff --git a/meta/recipes-support/gdbm/gdbm_1.19.bb b/meta/recipes-support/gdbm/gdbm_1.24.bb index cd2617b130..88f9fa47cf 100644 --- a/meta/recipes-support/gdbm/gdbm_1.19.bb +++ b/meta/recipes-support/gdbm/gdbm_1.24.bb @@ -4,7 +4,7 @@ and work similar to the standard UNIX dbm. These routines are provided \ to a programmer needing to create and manipulate a hashed database." HOMEPAGE = "http://www.gnu.org/software/gdbm/" SECTION = "libs" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=241da1b9fe42e642cbb2c24d5e0c4d24" @@ -13,8 +13,7 @@ SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \ file://ptest.patch \ " -SRC_URI[md5sum] = "aeb29c6a90350a4c959cd1df38cd0a7e" -SRC_URI[sha256sum] = "37ed12214122b972e18a0d94995039e57748191939ef74115b1d41d8811364bc" +SRC_URI[sha256sum] = "695e9827fdf763513f133910bc7e6cfdb9187943a4fec943e57449723d2b8dbf" inherit autotools gettext texinfo lib_package ptest @@ -26,7 +25,7 @@ CACHED_CONFIGUREVARS += "ac_cv_lib_ndbm_main=no ac_cv_lib_dbm_main=no" BBCLASSEXTEND = "native nativesdk" -do_install_append () { +do_install:append () { # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find # these headers install -d ${D}${includedir}/gdbm @@ -34,7 +33,7 @@ do_install_append () { ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h } -RDEPENDS_${PN}-ptest += "diffutils ${PN}-bin" +RDEPENDS:${PN}-ptest += "diffutils ${PN}-bin" do_compile_ptest() { oe_runmake -C tests buildtests @@ -42,5 +41,5 @@ do_compile_ptest() { PACKAGES =+ "${PN}-compat \ " -FILES_${PN}-compat = "${libdir}/libgdbm_compat${SOLIBS} \ +FILES:${PN}-compat = "${libdir}/libgdbm_compat${SOLIBS} \ " diff --git a/meta/recipes-support/gmp/gmp.inc b/meta/recipes-support/gmp/gmp.inc index 948b89288e..1872226616 100644 --- a/meta/recipes-support/gmp/gmp.inc +++ b/meta/recipes-support/gmp/gmp.inc @@ -8,5 +8,5 @@ inherit autotools texinfo multilib_header PACKAGECONFIG ??= "" PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline" -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" diff --git a/meta/recipes-support/gmp/gmp/0001-confiure.ac-Believe-the-cflags-from-environment.patch b/meta/recipes-support/gmp/gmp/0001-confiure.ac-Believe-the-cflags-from-environment.patch index 56564db505..b26f4db98e 100644 --- a/meta/recipes-support/gmp/gmp/0001-confiure.ac-Believe-the-cflags-from-environment.patch +++ b/meta/recipes-support/gmp/gmp/0001-confiure.ac-Believe-the-cflags-from-environment.patch @@ -12,8 +12,8 @@ Secondly, dont set armv4 for march when no selection is made, since it is passed from cmdline Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Inappropriate [OE-Specific] --- -Upstream-Status: Inappropriate[OE-Specific] configure.ac | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/meta/recipes-support/gmp/gmp_6.2.1.bb b/meta/recipes-support/gmp/gmp_6.3.0.bb index 3c50f928ab..fd4aec92fd 100644 --- a/meta/recipes-support/gmp/gmp_6.2.1.bb +++ b/meta/recipes-support/gmp/gmp_6.3.0.bb @@ -1,10 +1,12 @@ require gmp.inc -LICENSE = "GPLv2+ | LGPLv3+" +LICENSE = "GPL-2.0-or-later | LGPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYINGv3;md5=11cc2d3ee574f9d6b7ee797bdce4d423 \ " REVISION = "" @@ -13,28 +15,35 @@ SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \ file://0001-Append-the-user-provided-flags-to-the-auto-detected-.patch \ file://0001-confiure.ac-Believe-the-cflags-from-environment.patch \ " -SRC_URI[md5sum] = "28971fc21cf028042d4897f02fd355ea" -SRC_URI[sha256sum] = "eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c" +SRC_URI[sha256sum] = "ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb" acpaths = "" EXTRA_OECONF += " --enable-cxx=detect" -EXTRA_OECONF_mipsarchr6_append = " --disable-assembly" +EXTRA_OECONF:append:mipsarchr6 = " --disable-assembly" PACKAGES =+ "libgmpxx" -FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}" +FILES:libgmpxx = "${libdir}/libgmpxx${SOLIBS}" -do_install_append() { +do_install:append() { oe_multilib_header gmp.h } -do_install_prepend_class-target() { +fix_absolute_paths () { sed -i \ -e "s|--sysroot=${STAGING_DIR_HOST}||g" \ -e "s|${DEBUG_PREFIX_MAP}||g" \ ${B}/gmp.h } +do_install:prepend:class-target() { + fix_absolute_paths +} + +do_install:prepend:class-nativesdk() { + fix_absolute_paths +} + SSTATE_SCAN_FILES += "gmp.h" # Doesn't compile in MIPS16e mode due to use of hand-written diff --git a/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-fix-non-literal-format-string-issue-with-clang.patch b/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-fix-non-literal-format-string-issue-with-clang.patch new file mode 100644 index 0000000000..39efa4a463 --- /dev/null +++ b/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-fix-non-literal-format-string-issue-with-clang.patch @@ -0,0 +1,31 @@ +From df625a36be8e0c7afa68b3dd23907dc7d658c59a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 8 Jul 2021 23:13:30 -0700 +Subject: [PATCH] fix non-literal format string issue with clang + +clang errors out when using -Werror=format-nonliteral +since the definition of g_strdup_vprintf() from glib-2.0 +is using va_list and clang seems to still warn where as +gcc doesn't do that for va_list arguments + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-desktop-testing/-/merge_requests/9] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/gnome-desktop-testing-runner.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gnome-desktop-testing-runner.c b/src/gnome-desktop-testing-runner.c +index d75b71c..da49e14 100644 +--- a/src/gnome-desktop-testing-runner.c ++++ b/src/gnome-desktop-testing-runner.c +@@ -74,7 +74,7 @@ static const char * const test_log_message_ids[] = { + static gboolean opt_quiet = FALSE; + static gboolean opt_tap = FALSE; + +-static void ++static void G_GNUC_PRINTF (3, 0) + test_log (TestLog what, + const char *test_name, + const char *format, +-- +2.32.0 diff --git a/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2018.1.bb b/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb index e5c69c0c46..1173dd4af3 100644 --- a/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2018.1.bb +++ b/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb @@ -4,13 +4,15 @@ These tests are useful for verifying the functionality of software as \ installed and packaged, and complement rather than replace build-time \ ('make check') tests." HOMEPAGE = "https://wiki.gnome.org/GnomeGoals/InstalledTests" -LICENSE = "LGPLv2+" +LICENSE = "LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ file://src/gnome-desktop-testing-runner.c;beginline=1;endline=20;md5=7ef3ad9da2ffcf7707dc11151fe007f4" -SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-desktop-testing.git;protocol=http" -SRCREV = "4decade67b29ad170fcf3de148e41695fc459f48" +SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-desktop-testing.git;protocol=https;branch=master \ + file://0001-fix-non-literal-format-string-issue-with-clang.patch \ + " +SRCREV = "e346cd4ed2e2102c9b195b614f3c642d23f5f6e7" DEPENDS = "glib-2.0" diff --git a/meta/recipes-support/gnupg/gnupg/0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch b/meta/recipes-support/gnupg/gnupg/0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch deleted file mode 100644 index 5c9c022226..0000000000 --- a/meta/recipes-support/gnupg/gnupg/0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 59a3c76d4016ffc615f1c45184f4c6820061d69c Mon Sep 17 00:00:00 2001 -From: Richard Purdie <richard.purdie@linuxfoundation.org> -Date: Wed, 16 Aug 2017 11:14:12 +0800 -Subject: [PATCH 1/4] Use pkg-config to find pth instead of pth-config. - -Upstream-Status: Denied -[not submitted but they've been clear they don't want a pkg-config -dependency] - -RP 2014/5/22 - -Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> - -Rebase to 2.1.23 -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - m4/gnupg-pth.m4 | 53 ++++++++--------------------------------------------- - 1 file changed, 8 insertions(+), 45 deletions(-) - -diff --git a/m4/gnupg-pth.m4 b/m4/gnupg-pth.m4 -index 6dc9e0e..5892531 100644 ---- a/m4/gnupg-pth.m4 -+++ b/m4/gnupg-pth.m4 -@@ -17,33 +17,9 @@ dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - # Taken and modified from the m4 macros which come with Pth. - AC_DEFUN([GNUPG_PTH_VERSION_CHECK], - [ -- _pth_version=`$PTH_CONFIG --version | awk 'NR==1 {print [$]3}'` - _req_version="ifelse([$1],,1.2.0,$1)" -+ PKG_CHECK_MODULES(PTH, [pth >= $_req_version], [have_pth=yes], [have_pth=no]) - -- AC_MSG_CHECKING(for PTH - version >= $_req_version) -- for _var in _pth_version _req_version; do -- eval "_val=\"\$${_var}\"" -- _major=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\1/'` -- _minor=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\2/'` -- _rtype=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\3/'` -- _micro=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\4/'` -- case $_rtype in -- "a" ) _rtype=0 ;; -- "b" ) _rtype=1 ;; -- "." ) _rtype=2 ;; -- esac -- _hex=`echo dummy | awk '{ printf("%d%02d%1d%02d", major, minor, rtype, micro); }' \ -- "major=$_major" "minor=$_minor" "rtype=$_rtype" "micro=$_micro"` -- eval "${_var}_hex=\"\$_hex\"" -- done -- have_pth=no -- if test ".$_pth_version_hex" != .; then -- if test ".$_req_version_hex" != .; then -- if test $_pth_version_hex -ge $_req_version_hex; then -- have_pth=yes -- fi -- fi -- fi - if test $have_pth = yes; then - AC_MSG_RESULT(yes) - AC_MSG_CHECKING([whether PTH installation is sane]) -@@ -51,9 +27,9 @@ AC_DEFUN([GNUPG_PTH_VERSION_CHECK], - _gnupg_pth_save_cflags=$CFLAGS - _gnupg_pth_save_ldflags=$LDFLAGS - _gnupg_pth_save_libs=$LIBS -- CFLAGS="$CFLAGS `$PTH_CONFIG --cflags`" -- LDFLAGS="$LDFLAGS `$PTH_CONFIG --ldflags`" -- LIBS="$LIBS `$PTH_CONFIG --libs --all`" -+ CFLAGS="$CFLAGS $PTH_CFLAGS" -+ LDFLAGS="$LDFLAGS $PTH_LDFLAGS" -+ LIBS="$LIBS $PTH_LIBS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pth.h> - ], - [[ pth_init ();]])], -@@ -80,26 +56,13 @@ AC_DEFUN([GNUPG_PTH_VERSION_CHECK], - # PTH_CLFAGS and PTH_LIBS are AS_SUBST. - # - AC_DEFUN([GNUPG_PATH_PTH], --[ AC_ARG_WITH(pth-prefix, -- AC_HELP_STRING([--with-pth-prefix=PFX], -- [prefix where GNU Pth is installed (optional)]), -- pth_config_prefix="$withval", pth_config_prefix="") -- if test x$pth_config_prefix != x ; then -- PTH_CONFIG="$pth_config_prefix/bin/pth-config" -- fi -- AC_PATH_PROG(PTH_CONFIG, pth-config, no) -+[ - tmp=ifelse([$1], ,1.3.7,$1) -- if test "$PTH_CONFIG" != "no"; then -- GNUPG_PTH_VERSION_CHECK($tmp) -- if test $have_pth = yes; then -- PTH_CFLAGS=`$PTH_CONFIG --cflags` -- PTH_LIBS=`$PTH_CONFIG --ldflags` -- PTH_LIBS="$PTH_LIBS `$PTH_CONFIG --libs --all`" -- AC_DEFINE(HAVE_PTH, 1, -+ GNUPG_PTH_VERSION_CHECK($tmp) -+ if test $have_pth = yes; then -+ AC_DEFINE(HAVE_PTH, 1, - [Defined if the GNU Pth is available]) -- fi - fi - AC_SUBST(PTH_CFLAGS) - AC_SUBST(PTH_LIBS) - ]) -- --- -1.8.3.1 - diff --git a/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch b/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch index 83195b5bd4..77d7507edc 100644 --- a/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch +++ b/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch @@ -1,4 +1,4 @@ -From e3adc816d2d56dd929016073937ba24e01e03cb8 Mon Sep 17 00:00:00 2001 +From 6392cb71a23adfd601537049da4e5e06e51d2e50 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 20 Dec 2018 17:37:48 -0800 Subject: [PATCH] Woverride-init is not needed with gcc 9 @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dirmngr/dns.h b/dirmngr/dns.h -index 024d6dcc8..c6e141e16 100644 +index 1f647e1..334acb6 100644 --- a/dirmngr/dns.h +++ b/dirmngr/dns.h @@ -139,7 +139,7 @@ DNS_PUBLIC int *dns_debug_p(void); @@ -29,6 +29,3 @@ index 024d6dcc8..c6e141e16 100644 #define DNS_PRAGMA_PUSH _Pragma("GCC diagnostic push") #define DNS_PRAGMA_QUIET _Pragma("GCC diagnostic ignored \"-Woverride-init\"") #define DNS_PRAGMA_POP _Pragma("GCC diagnostic pop") --- -2.17.1 - diff --git a/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch b/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch index a0af2d48dc..12b1447138 100644 --- a/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch +++ b/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch @@ -1,4 +1,4 @@ -From abc5c396aaddaef2e6811362e3e0cc0da28c2b34 Mon Sep 17 00:00:00 2001 +From a0e986b487891ef8e3bb41b95f969e00edd4923f Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Mon, 22 Jan 2018 18:00:21 +0200 Subject: [PATCH] configure.ac: use a custom value for the location of @@ -8,16 +8,15 @@ This should avoid clashes with the host gpg-agent observed on autobuilders. Upstream-Status: Inappropriate [oe-core specific, and only for -native] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 64cb8c6..3fe9027 100644 +index e4f8c0e..fa75ec8 100644 --- a/configure.ac +++ b/configure.ac -@@ -1824,7 +1824,7 @@ AC_DEFINE_UNQUOTED(GPGCONF_DISP_NAME, "GPGConf", +@@ -1925,7 +1925,7 @@ AC_DEFINE_UNQUOTED(GPGCONF_DISP_NAME, "GPGConf", AC_DEFINE_UNQUOTED(GPGTAR_NAME, "gpgtar", [The name of the gpgtar tool]) diff --git a/meta/recipes-support/gnupg/gnupg/0001-fix-compile-failure-with-musl.patch b/meta/recipes-support/gnupg/gnupg/0001-fix-compile-failure-with-musl.patch new file mode 100644 index 0000000000..fef05cf3c8 --- /dev/null +++ b/meta/recipes-support/gnupg/gnupg/0001-fix-compile-failure-with-musl.patch @@ -0,0 +1,36 @@ +From 4a7d4d6e45c68708ec95335b0f11d6596b23095a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 22 Aug 2024 15:31:16 +0800 +Subject: [PATCH] fix compile failure with musl + +``` +../../gnupg-2.5.0/scd/app.c:379:3: error: implicit declaration of function 'write'; did you mean 'fwrite'? [-Wimplicit-function-declaration] + 379 | write (card_list_lock.notify_pipe[1], "", 1); + | ^~~~~ + | fwrite +``` +To access the Posix low level file interface such as open, read, +write and close, should include <unistd.h>. + +Upstream-Status: Backport [https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=1d5cfa9b7fd22e1c46eeed5fa9fed2af6f81d34f] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + scd/app.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/scd/app.c b/scd/app.c +index 926ab79..7bf58a2 100644 +--- a/scd/app.c ++++ b/scd/app.c +@@ -23,6 +23,7 @@ + #include <stdlib.h> + #include <string.h> + #include <npth.h> ++#include <unistd.h> + + #include "scdaemon.h" + #include "../common/exechelp.h" +-- +2.27.0 + diff --git a/meta/recipes-support/gnupg/gnupg/0002-use-pkgconfig-instead-of-npth-config.patch b/meta/recipes-support/gnupg/gnupg/0002-use-pkgconfig-instead-of-npth-config.patch index 6d86e5c99b..945abb55ff 100644 --- a/meta/recipes-support/gnupg/gnupg/0002-use-pkgconfig-instead-of-npth-config.patch +++ b/meta/recipes-support/gnupg/gnupg/0002-use-pkgconfig-instead-of-npth-config.patch @@ -1,7 +1,7 @@ -From 53c2aec2e13f4e2d09be7148869c862f07dfdd4d Mon Sep 17 00:00:00 2001 +From fa93b5f7c2da0e5846b80de9c6296966ca2a3d83 Mon Sep 17 00:00:00 2001 From: Saul Wold <sgw@linux.intel.com> Date: Wed, 16 Aug 2017 11:16:30 +0800 -Subject: [PATCH 2/4] use pkgconfig instead of npth config +Subject: [PATCH] use pkgconfig instead of npth config Upstream-Status: Inappropriate [openembedded specific] @@ -10,28 +10,43 @@ Signed-off-by: Saul Wold <sgw@linux.intel.com> Rebase to 2.1.23 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- - m4/npth.m4 | 34 ++++++++-------------------------- - 1 file changed, 8 insertions(+), 26 deletions(-) + m4/npth.m4 | 53 ++++++++--------------------------------------------- + 1 file changed, 8 insertions(+), 45 deletions(-) diff --git a/m4/npth.m4 b/m4/npth.m4 -index 17c2644..15a931b 100644 +index 619ed89..0cb354d 100644 --- a/m4/npth.m4 +++ b/m4/npth.m4 -@@ -17,10 +17,10 @@ AC_DEFUN([_AM_PATH_NPTH_CONFIG], +@@ -19,25 +19,10 @@ AC_DEFUN([_AM_PATH_NPTH_CONFIG], if test "x$npth_config_prefix" != x ; then NPTH_CONFIG="$npth_config_prefix/bin/npth-config" fi -- AC_PATH_PROG(NPTH_CONFIG, npth-config, no) + AC_PATH_PROG(PKGCONFIG, pkg-config, no) +- use_gpgrt_config="" +- if test x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then +- if $GPGRT_CONFIG npth --exists; then +- NPTH_CONFIG="$GPGRT_CONFIG npth" +- AC_MSG_NOTICE([Use gpgrt-config as npth-config]) +- use_gpgrt_config=yes +- fi +- fi +- if test -z "$use_gpgrt_config"; then +- AC_PATH_PROG(NPTH_CONFIG, npth-config, no) +- fi +- - if test "$NPTH_CONFIG" != "no" ; then -- npth_version=`$NPTH_CONFIG --version` +- if test -z "$use_gpgrt_config"; then +- npth_version=`$NPTH_CONFIG --version` +- else +- npth_version=`$NPTH_CONFIG --modversion` +- fi + if test "$PKGCONFIG" != "no" ; then + npth_version=`$PKGCONFIG --modversion npth` fi npth_version_major=`echo $npth_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` -@@ -45,7 +45,7 @@ AC_DEFUN([AM_PATH_NPTH], +@@ -62,7 +47,7 @@ AC_DEFUN([AM_PATH_NPTH], AC_MSG_CHECKING(for NPTH - version >= $min_npth_version) ok=no @@ -40,7 +55,7 @@ index 17c2644..15a931b 100644 req_major=`echo $min_npth_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` req_minor=`echo $min_npth_version | \ -@@ -66,28 +66,9 @@ AC_DEFUN([AM_PATH_NPTH], +@@ -83,32 +68,9 @@ AC_DEFUN([AM_PATH_NPTH], fi if test $ok = yes; then AC_MSG_RESULT([yes ($npth_version)]) @@ -48,20 +63,24 @@ index 17c2644..15a931b 100644 - AC_MSG_RESULT(no) - fi - if test $ok = yes; then -- # If we have a recent NPTH, we should also check that the -- # API is compatible. -- if test "$req_npth_api" -gt 0 ; then +- # If we have a recent NPTH, we should also check that the +- # API is compatible. +- if test "$req_npth_api" -gt 0 ; then +- if test -z "$use_gpgrt_config"; then - tmp=`$NPTH_CONFIG --api-version 2>/dev/null || echo 0` -- if test "$tmp" -gt 0 ; then -- AC_MSG_CHECKING([NPTH API version]) -- if test "$req_npth_api" -eq "$tmp" ; then -- AC_MSG_RESULT([okay]) -- else -- ok=no -- AC_MSG_RESULT([does not match. want=$req_npth_api got=$tmp]) -- fi +- else +- tmp=`$NPTH_CONFIG --variable=api_version 2>/dev/null || echo 0` +- fi +- if test "$tmp" -gt 0 ; then +- AC_MSG_CHECKING([NPTH API version]) +- if test "$req_npth_api" -eq "$tmp" ; then +- AC_MSG_RESULT([okay]) +- else +- ok=no +- AC_MSG_RESULT([does not match. want=$req_npth_api got=$tmp]) - fi -- fi +- fi +- fi - fi - if test $ok = yes; then - NPTH_CFLAGS=`$NPTH_CONFIG --cflags` @@ -70,9 +89,9 @@ index 17c2644..15a931b 100644 + NPTH_LIBS=`$PKGCONFIG --libs npth` + AC_MSG_WARN([[GOT HERE - $NPTH_LIBS ]]) ifelse([$2], , :, [$2]) - npth_config_host=`$NPTH_CONFIG --host 2>/dev/null || echo none` - if test x"$npth_config_host" != xnone ; then -@@ -103,6 +84,7 @@ AC_DEFUN([AM_PATH_NPTH], + if test -z "$use_gpgrt_config"; then + npth_config_host=`$NPTH_CONFIG --host 2>/dev/null || echo none` +@@ -128,6 +90,7 @@ AC_DEFUN([AM_PATH_NPTH], fi fi else @@ -80,6 +99,3 @@ index 17c2644..15a931b 100644 NPTH_CFLAGS="" NPTH_LIBS="" ifelse([$3], , :, [$3]) --- -1.8.3.1 - diff --git a/meta/recipes-support/gnupg/gnupg/0003-dirmngr-uses-libgpg-error.patch b/meta/recipes-support/gnupg/gnupg/0003-dirmngr-uses-libgpg-error.patch deleted file mode 100644 index a13b4d5fb5..0000000000 --- a/meta/recipes-support/gnupg/gnupg/0003-dirmngr-uses-libgpg-error.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 6c75656b68cb6e38b039ae532bd39437cd6daec5 Mon Sep 17 00:00:00 2001 -From: Saul Wold <sgw@linux.intel.com> -Date: Wed, 16 Aug 2017 11:18:01 +0800 -Subject: [PATCH] dirmngr uses libgpg error - -Upstream-Status: Pending -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Rebase to 2.1.23 - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> - ---- - dirmngr/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dirmngr/Makefile.am b/dirmngr/Makefile.am -index 00d3c42..450d873 100644 ---- a/dirmngr/Makefile.am -+++ b/dirmngr/Makefile.am -@@ -101,6 +101,7 @@ dirmngr_LDADD = $(libcommonpth) \ - $(DNSLIBS) $(LIBASSUAN_LIBS) \ - $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(NPTH_LIBS) \ - $(NTBTLS_LIBS) $(LIBGNUTLS_LIBS) $(LIBINTL) $(LIBICONV) $(NETLIBS) \ -+ $(GPG_ERROR_LIBS) \ - $(dirmngr_robj) - if USE_LDAP - dirmngr_LDADD += $(ldaplibs) diff --git a/meta/recipes-support/gnupg/gnupg/0004-autogen.sh-fix-find-version-for-beta-checking.patch b/meta/recipes-support/gnupg/gnupg/0004-autogen.sh-fix-find-version-for-beta-checking.patch index dcd8582ca6..761fd6c608 100644 --- a/meta/recipes-support/gnupg/gnupg/0004-autogen.sh-fix-find-version-for-beta-checking.patch +++ b/meta/recipes-support/gnupg/gnupg/0004-autogen.sh-fix-find-version-for-beta-checking.patch @@ -1,7 +1,7 @@ -From 914ae4a3f7529fb069467bf0ded57dd24ee2e763 Mon Sep 17 00:00:00 2001 +From e8f67e3bbbdbaa17cfe88c1f7a8f488eb4936281 Mon Sep 17 00:00:00 2001 From: Wenzong Fan <wenzong.fan@windriver.com> Date: Wed, 16 Aug 2017 11:23:22 +0800 -Subject: [PATCH 4/4] autogen.sh: fix find-version for beta checking +Subject: [PATCH] autogen.sh: fix find-version for beta checking find-version always assumes that gnupg is beta if autogen.sh is run out of git-repo. This doesn't work for users whom just take release @@ -18,17 +18,14 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 1 file changed, 1 deletion(-) diff --git a/autogen.sh b/autogen.sh -index e5ba5bf..05e0e11 100755 +index 9f91297..116fb7f 100755 --- a/autogen.sh +++ b/autogen.sh -@@ -245,7 +245,6 @@ if [ "$myhost" = "find-version" ]; then +@@ -270,7 +270,6 @@ if [ "$myhost" = "find-version" ]; then rvd=$((0x$(echo ${rev} | dd bs=1 count=4 2>/dev/null))) else ingit=no - beta=yes tmp="-unknown" + cid="0000000" rev="0000000" - rvd="0" --- -1.8.3.1 - diff --git a/meta/recipes-support/gnupg/gnupg/relocate.patch b/meta/recipes-support/gnupg/gnupg/relocate.patch index 7f7812cd46..5c4d81f87a 100644 --- a/meta/recipes-support/gnupg/gnupg/relocate.patch +++ b/meta/recipes-support/gnupg/gnupg/relocate.patch @@ -1,4 +1,4 @@ -From bd66af2ac7bb6d9294ac8055a55462ba7c4f9c9b Mon Sep 17 00:00:00 2001 +From 4e556a5edde8a97312abae63f8e9b5f989ca5c91 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Wed, 19 Sep 2018 14:44:40 +0100 Subject: [PATCH] Allow the environment to override where gnupg looks for its @@ -7,83 +7,75 @@ Subject: [PATCH] Allow the environment to override where gnupg looks for its Upstream-Status: Inappropriate [OE-specific] Signed-off-by: Ross Burton <ross.burton@intel.com> +Signed-off-by: Alexander Kanavin <alex@linutronix.de> --- - common/homedir.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) + common/homedir.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/common/homedir.c b/common/homedir.c -index 4b6e46e..58989b4 100644 +index 3929108..d3a7b8f 100644 --- a/common/homedir.c +++ b/common/homedir.c -@@ -763,7 +763,7 @@ gnupg_socketdir (void) +@@ -1439,7 +1439,7 @@ gnupg_socketdir (void) if (!name) { unsigned int dummy; - name = _gnupg_socketdir_internal (0, &dummy); + name = getenv("GNUPG_SOCKETDIR") ?: _gnupg_socketdir_internal (0, &dummy); + gpgrt_annotate_leaked_object (name); } - return name; -@@ -789,7 +789,7 @@ gnupg_sysconfdir (void) - } - return name; - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_SYSCONFDIR; -+ return getenv("GNUPG_SYSCONFDIR") ?: GNUPG_SYSCONFDIR; - #endif /*!HAVE_W32_SYSTEM*/ - } - -@@ -818,7 +818,7 @@ gnupg_bindir (void) +@@ -1468,7 +1468,7 @@ gnupg_sysconfdir (void) + if (dir) + return dir; else - return rdir; - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_BINDIR; -+ return getenv("GNUPG_BINDIR") ?: GNUPG_BINDIR; +- return GNUPG_SYSCONFDIR; ++ return getenv("GNUPG_SYSCONFDIR") ?: GNUPG_SYSCONFDIR; #endif /*!HAVE_W32_SYSTEM*/ } -@@ -831,7 +831,7 @@ gnupg_libexecdir (void) - #ifdef HAVE_W32_SYSTEM - return gnupg_bindir (); - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_LIBEXECDIR; -+ return getenv("GNUPG_LIBEXECDIR") ?: GNUPG_LIBEXECDIR; +@@ -1504,7 +1504,7 @@ gnupg_bindir (void) + return name; + } + else +- return GNUPG_BINDIR; ++ return getenv("GNUPG_BINDIR") ?: GNUPG_BINDIR; #endif /*!HAVE_W32_SYSTEM*/ } -@@ -845,7 +845,7 @@ gnupg_libdir (void) - name = xstrconcat (w32_rootdir (), DIRSEP_S "lib" DIRSEP_S "gnupg", NULL); - return name; - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_LIBDIR; -+ return getenv("GNUPG_LIBDIR") ?: GNUPG_LIBDIR; +@@ -1531,7 +1531,7 @@ gnupg_libexecdir (void) + return name; + } + else +- return GNUPG_LIBEXECDIR; ++ return getenv("GNUPG_LIBEXECDIR") ?: GNUPG_LIBEXECDIR; #endif /*!HAVE_W32_SYSTEM*/ } -@@ -859,7 +859,7 @@ gnupg_datadir (void) - name = xstrconcat (w32_rootdir (), DIRSEP_S "share" DIRSEP_S "gnupg", NULL); - return name; - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_DATADIR; -+ return getenv("GNUPG_DATADIR") ?: GNUPG_DATADIR; +@@ -1561,7 +1561,7 @@ gnupg_libdir (void) + return name; + } + else +- return GNUPG_LIBDIR; ++ return getenv("GNUPG_LIBDIR") ?: GNUPG_LIBDIR; #endif /*!HAVE_W32_SYSTEM*/ } -@@ -875,7 +875,7 @@ gnupg_localedir (void) - NULL); - return name; - #else /*!HAVE_W32_SYSTEM*/ -- return LOCALEDIR; -+ return getenv("LOCALEDIR") ?: LOCALEDIR; +@@ -1592,7 +1592,7 @@ gnupg_datadir (void) + return name; + } + else +- return GNUPG_DATADIR; ++ return getenv("GNUPG_DATADIR") ?: GNUPG_DATADIR; #endif /*!HAVE_W32_SYSTEM*/ } -@@ -943,7 +943,7 @@ gnupg_cachedir (void) +@@ -1624,7 +1624,7 @@ gnupg_localedir (void) + return name; } - return dir; - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_LOCALSTATEDIR "/cache/" PACKAGE_NAME; -+ return getenv("GNUPG_LOCALSTATEDIR") ?: GNUPG_LOCALSTATEDIR "/cache/" PACKAGE_NAME; + else +- return LOCALEDIR; ++ return getenv("LOCALEDIR") ?: LOCALEDIR; #endif /*!HAVE_W32_SYSTEM*/ } diff --git a/meta/recipes-support/gnupg/gnupg_2.2.27.bb b/meta/recipes-support/gnupg/gnupg_2.5.0.bb index 1181c8341b..9cfdbdf0a4 100644 --- a/meta/recipes-support/gnupg/gnupg_2.2.27.bb +++ b/meta/recipes-support/gnupg/gnupg_2.5.0.bb @@ -5,7 +5,7 @@ and sign your data and communications; it features a versatile key \ management system, along with access modules for all kinds of public \ key directories." HOMEPAGE = "http://www.gnupg.org/" -LICENSE = "GPLv3 & LGPLv3" +LICENSE = "GPL-3.0-only & LGPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=189af8afca6d6075ba6c9e0aa8077626 \ file://COPYING.LGPL3;md5=a2b6bf2cb38ee52619e60f30a1fc7257" @@ -15,29 +15,32 @@ inherit autotools gettext texinfo pkgconfig UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch \ file://0002-use-pkgconfig-instead-of-npth-config.patch \ - file://0003-dirmngr-uses-libgpg-error.patch \ file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \ file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \ + file://0001-fix-compile-failure-with-musl.patch \ " -SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \ +SRC_URI:append:class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \ file://relocate.patch" -SRC_URI_append_class-nativesdk = " file://relocate.patch" +SRC_URI:append:class-nativesdk = " file://relocate.patch" -SRC_URI[sha256sum] = "34e60009014ea16402069136e0a5f63d9b65f90096244975db5cea74b3d02399" +SRC_URI[sha256sum] = "2222c827d4e7087f15e7f72739d004abc1d05c6c5f0a5a12b24c6a6cc5d173fb" EXTRA_OECONF = "--disable-ldap \ --disable-ccid-driver \ --with-zlib=${STAGING_LIBDIR}/.. \ --with-bzip2=${STAGING_LIBDIR}/.. \ --with-readline=${STAGING_LIBDIR}/.. \ + --with-mailprog=${sbindir}/sendmail \ --enable-gpg-is-gpg2 \ + --disable-tests \ " +# yat2m can be found from recipe-sysroot-native non-deterministically with different versioning otherwise +CACHED_CONFIGUREVARS += "ac_cv_path_YAT2M=./yat2m" # A minimal package containing just enough to run gpg+gpgagent (E.g. use gpgme in opkg) PACKAGES =+ "${PN}-gpg" -FILES_${PN}-gpg = " \ +FILES:${PN}-gpg = " \ ${bindir}/gpg \ ${bindir}/gpg2 \ ${bindir}/gpg-agent \ @@ -47,11 +50,11 @@ FILES_${PN}-gpg = " \ # to ensure all tools are included. This is done only in non-native # builds. Native builds don't have sub-packages, so appending RDEPENDS # in this case breaks recipe parsing. -RDEPENDS_${PN} += "${@ "" if ("native" in d.getVar("PN")) else (d.getVar("PN") + "-gpg")}" +RDEPENDS:${PN} += "${@ "" if ("native" in d.getVar("PN")) else (d.getVar("PN") + "-gpg")}" -RRECOMMENDS_${PN} = "pinentry" +RRECOMMENDS:${PN} = "pinentry" -do_configure_prepend () { +do_configure:prepend () { # Else these could be used in prefernce to those in aclocal-copy rm -f ${S}/m4/gpg-error.m4 rm -f ${S}/m4/libassuan.m4 @@ -59,16 +62,16 @@ do_configure_prepend () { rm -f ${S}/m4/libgcrypt.m4 } -do_install_append() { +do_install:append() { ln -sf gpg2 ${D}${bindir}/gpg ln -sf gpgv2 ${D}${bindir}/gpgv } -do_install_append_class-native() { +do_install:append:class-native() { create_wrappers ${STAGING_BINDIR_NATIVE} } -do_install_append_class-nativesdk() { +do_install:append:class-nativesdk() { create_wrappers ${SDKPATHNATIVE}${bindir_nativesdk} } @@ -83,3 +86,7 @@ PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls" PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3" BBCLASSEXTEND = "native nativesdk" + +lcl_maybe_fortify:mipsarch = "" + +CVE_STATUS[CVE-2022-3219] = "upstream-wontfix: Upstream doesn't seem to be keen on merging the proposed commit - https://dev.gnupg.org/T5993" diff --git a/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch b/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch new file mode 100644 index 0000000000..59824d35f1 --- /dev/null +++ b/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch @@ -0,0 +1,26 @@ +From c4f6cb380471b5e5478ae6f7f8c5604a6a64ec1c Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@fujitsu.com> +Date: Mon, 23 May 2022 10:44:43 +0900 +Subject: [PATCH] Creating .hmac file should be excuted in target environment, + so deleted it from build process. + +Upstream-Status: Inappropriate [https://gitlab.com/gnutls/gnutls/-/issues/1373] +Signed-off-by: Lei Maohui <leimaohui@fujitsu.com> +--- + lib/Makefile.am | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/lib/Makefile.am b/lib/Makefile.am +index a50d311..193ea19 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -198,8 +198,7 @@ hmac_file = .libs/.$(gnutls_so).hmac + + all-local: $(hmac_file) + +-$(hmac_file): libgnutls.la fipshmac +- $(AM_V_GEN) $(builddir)/fipshmac > $@-t && mv $@-t $@ ++.libs/.$(gnutls_so).hmac: + + CLEANFILES = $(hmac_file) + endif diff --git a/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch b/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch new file mode 100644 index 0000000000..8e4df7b37e --- /dev/null +++ b/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch @@ -0,0 +1,57 @@ +From 6abc86acecff5a30173eb78a971ec5b65f77e1de Mon Sep 17 00:00:00 2001 +From: Ravineet Singh <ravineet.a.singh@est.tech> +Date: Tue, 10 Jan 2023 16:11:10 +0100 +Subject: [PATCH] gnutls: add ptest support + +Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: Ravineet Singh <ravineet.a.singh@est.tech> +--- + Makefile.am | 3 +++ + configure.ac | 2 ++ + tests/Makefile.am | 6 ++++++ + 3 files changed, 11 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index 843193f..816b09f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -191,6 +191,9 @@ dist-hook: + mv ChangeLog $(distdir) + touch -c $(distdir)/doc/*.html $(distdir)/doc/*.pdf $(distdir)/doc/*.info + ++install-ptest: ++ $(MAKE) -C tests DESTDIR=$(DESTDIR)/tests $@ ++ + .PHONY: abi-check abi-dump-versioned abi-dump-latest pic-check symbol-check local-code-coverage-output files-update AUTHORS + + include $(top_srcdir)/cligen/cligen.mk +diff --git a/configure.ac b/configure.ac +index 1744813..efb9e34 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1226,6 +1226,8 @@ AC_SUBST(LIBGNUTLS_CFLAGS) + + AM_CONDITIONAL(NEEDS_LIBRT, test "$gnutls_needs_librt" = "yes") + ++AM_EXTRA_RECURSIVE_TARGETS([buildtest-TESTS]) ++ + AC_DEFINE([GNUTLS_INTERNAL_BUILD], 1, [We allow temporarily usage of deprecated functions - until they are removed.]) + + hw_features= +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 189d068..8430b05 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -668,6 +668,12 @@ SH_LOG_COMPILER = $(SHELL) + AM_VALGRINDFLAGS = --suppressions=$(srcdir)/suppressions.valgrind + LOG_COMPILER = $(LOG_VALGRIND) + ++install-ptest: $(check_PROGRAMS) ++ @$(INSTALL) -d $(DESTDIR) ++ @for file in $^; do \ ++ $(INSTALL_PROGRAM) $$file $(DESTDIR) ; \ ++ done ++ + distclean-local: + rm -rf softhsm-*.db softhsm-*.config *.tmp tmp-* x509-crt-list-import-url.config.db port.lock.d + diff --git a/meta/recipes-support/gnutls/gnutls/arm_eabi.patch b/meta/recipes-support/gnutls/gnutls/arm_eabi.patch index 6eb1edbdb1..d493448aab 100644 --- a/meta/recipes-support/gnutls/gnutls/arm_eabi.patch +++ b/meta/recipes-support/gnutls/gnutls/arm_eabi.patch @@ -1,4 +1,4 @@ -From 8a5c96057cf305bbeac0d6e0e59ee24fbb9497fe Mon Sep 17 00:00:00 2001 +From 46b3079095c5ceb0dc742785853bbaf288f325c6 Mon Sep 17 00:00:00 2001 From: Joe Slater <jslater@windriver.com> Date: Wed, 25 Jan 2017 13:52:59 -0800 Subject: [PATCH] gnutls: account for ARM_EABI @@ -9,16 +9,15 @@ reference to them. Upstream-Status: Pending Signed-off-by: Joe Slater <jslater@windriver.com> - --- tests/seccomp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/seccomp.c b/tests/seccomp.c -index ed14d00..3c5b726 100644 +index 881f0bb..5f9204a 100644 --- a/tests/seccomp.c +++ b/tests/seccomp.c -@@ -53,7 +53,9 @@ int disable_system_calls(void) +@@ -55,7 +55,9 @@ int disable_system_calls(void) ADD_SYSCALL(nanosleep, 0); ADD_SYSCALL(clock_nanosleep, 0); diff --git a/meta/recipes-support/gnutls/gnutls/run-ptest b/meta/recipes-support/gnutls/gnutls/run-ptest new file mode 100644 index 0000000000..17e26eae70 --- /dev/null +++ b/meta/recipes-support/gnutls/gnutls/run-ptest @@ -0,0 +1,100 @@ +#!/bin/sh + +rjob() { + local job=$1 + local log=$2 + + # TODO: Output will be garbled + ./${job} >> ${log} 2>&1 + + ret=$? + case $ret in + 0) + echo "PASS: $t" >> ${log} + echo "PASS: $t" + ;; + 77) + echo "SKIP: $t" >> ${log} + echo "SKIP: $t" + ;; + *) + echo "FAIL: $t" >> ${log} + echo "FAIL: $t" + ;; + esac +} + +is_disallowed() { + local key=$1 + $(echo ${test_disallowlist} | grep -w -q ${key}) + return $? +} + +# TODO +# This list should probably be in a external file +# Testcases defined here either take very long time (dtls-stress) +# or are dependent on local files (certs, etc) in local file system +# currently not exported to target. + +test_disallowlist="" +test_disallowlist="${test_disallowlist} dtls-stress" +test_disallowlist="${test_disallowlist} handshake-large-cert" +test_disallowlist="${test_disallowlist} id-on-xmppAddr" +test_disallowlist="${test_disallowlist} mini-x509-cas" +test_disallowlist="${test_disallowlist} pkcs12_simple" +test_disallowlist="${test_disallowlist} protocol-set-allowlist" +test_disallowlist="${test_disallowlist} psk-file" +test_disallowlist="${test_disallowlist} rawpk-api" +test_disallowlist="${test_disallowlist} set_pkcs12_cred" +test_disallowlist="${test_disallowlist} system-override-curves-allowlist" +test_disallowlist="${test_disallowlist} system-override-hash" +test_disallowlist="${test_disallowlist} system-override-sig" +test_disallowlist="${test_disallowlist} system-override-sig-tls" +test_disallowlist="${test_disallowlist} system-prio-file" +test_disallowlist="${test_disallowlist} x509cert-tl" + +LOG=${PWD}/tests.log +cd tests +max_njobs=$(grep -c ^processor /proc/cpuinfo) +njobs=0 + +set +e + +for t in *; do + [ -x $t ] || continue + [ -f $t ] || continue + + is_disallowed ${t} + [ $? -eq 0 ] && continue + + rjob ${t} ${LOG} & + one=1 + njobs=$(expr ${njobs} + ${one}) + if [ ${njobs} -eq ${max_njobs} ]; then + wait + njobs=0 + fi +done +wait + +skipped=$(grep -c SKIP ${LOG}) +passed=$(grep -c PASS ${LOG}) +failed=$(grep -c FAIL ${LOG}) +total=$(expr ${passed} + ${failed} + ${skipped}) + +if [ ${failed} -ne 0 ]; then + echo + echo "Tests failed for gnutls, log is:" + echo "--------------------" + cat ${LOG} + echo +fi + +echo +echo "gnutls test summary:" +echo "--------------------" +echo "total: ${total}" +echo "pass : ${passed}" +echo "fail : ${failed}" +echo "skip : ${skipped}" +echo diff --git a/meta/recipes-support/gnutls/gnutls_3.7.1.bb b/meta/recipes-support/gnutls/gnutls_3.7.1.bb deleted file mode 100644 index 51d472c828..0000000000 --- a/meta/recipes-support/gnutls/gnutls_3.7.1.bb +++ /dev/null @@ -1,69 +0,0 @@ -SUMMARY = "GNU Transport Layer Security Library" -DESCRIPTION = "a secure communications library implementing the SSL, \ -TLS and DTLS protocols and technologies around them." -HOMEPAGE = "https://gnutls.org/" -BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls" - -LICENSE = "GPLv3+ & LGPLv2.1+" -LICENSE_${PN} = "LGPLv2.1+" -LICENSE_${PN}-xx = "LGPLv2.1+" -LICENSE_${PN}-bin = "GPLv3+" -LICENSE_${PN}-openssl = "GPLv3+" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \ - file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \ - file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343" - -DEPENDS = "nettle gmp virtual/libiconv libunistring" -DEPENDS_append_libc-musl = " argp-standalone" - -SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" - -SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ - file://arm_eabi.patch \ - " - -SRC_URI[sha256sum] = "3777d7963eca5e06eb315686163b7b3f5045e2baac5e54e038ace9835e5cac6f" - -inherit autotools texinfo pkgconfig gettext lib_package gtk-doc - -PACKAGECONFIG ??= "libidn" - -# You must also have CONFIG_SECCOMP enabled in the kernel for -# seccomp to work. -PACKAGECONFIG[seccomp] = "ac_cv_libseccomp=yes,ac_cv_libseccomp=no,libseccomp" -PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2" -PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1" -PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit" -PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers" - -EXTRA_OECONF = " \ - --enable-doc \ - --disable-libdane \ - --disable-guile \ - --disable-rpath \ - --enable-local-libopts \ - --enable-openssl-compatibility \ - --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ - --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \ - --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ -" - -# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell. -export POSIX_SHELL="${base_bindir}/sh" - -LDFLAGS_append_libc-musl = " -largp" - -do_configure_prepend() { - for dir in . lib; do - rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4 - done -} - -PACKAGES =+ "${PN}-openssl ${PN}-xx" - -FILES_${PN}-dev += "${bindir}/gnutls-cli-debug" -FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*" -FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/gnutls/gnutls_3.8.6.bb b/meta/recipes-support/gnutls/gnutls_3.8.6.bb new file mode 100644 index 0000000000..37d12fb5ea --- /dev/null +++ b/meta/recipes-support/gnutls/gnutls_3.8.6.bb @@ -0,0 +1,100 @@ +SUMMARY = "GNU Transport Layer Security Library" +DESCRIPTION = "a secure communications library implementing the SSL, \ +TLS and DTLS protocols and technologies around them." +HOMEPAGE = "https://gnutls.org/" +BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls" + +LICENSE = "GPL-3.0-or-later & LGPL-2.1-or-later" +LICENSE:${PN} = "LGPL-2.1-or-later" +LICENSE:${PN}-xx = "LGPL-2.1-or-later" +LICENSE:${PN}-bin = "GPL-3.0-or-later" +LICENSE:${PN}-openssl = "GPL-3.0-or-later" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \ + file://doc/COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \ + file://doc/COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "nettle gmp virtual/libiconv libunistring" + +SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" + +SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ + file://arm_eabi.patch \ + file://0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch \ + file://run-ptest \ + file://Add-ptest-support.patch \ + " + +SRC_URI[sha256sum] = "2e1588aae53cb32d43937f1f4eca28febd9c0c7aa1734fc5dd61a7e81e0ebcdd" + +inherit autotools texinfo pkgconfig gettext lib_package gtk-doc ptest + +PACKAGECONFIG ??= "libidn libtasn1 ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}" + +# You must also have CONFIG_SECCOMP enabled in the kernel for +# seccomp to work. +PACKAGECONFIG[seccomp] = "--with-libseccomp-prefix=${STAGING_EXECPREFIXDIR},ac_cv_libseccomp=no,libseccomp" +PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2" +PACKAGECONFIG[libtasn1] = "--without-included-libtasn1,--with-included-libtasn1,libtasn1" +PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit" +PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers" +PACKAGECONFIG[fips] = "--enable-fips140-mode --with-libdl-prefix=${STAGING_BASELIBDIR}" +PACKAGECONFIG[dane] = "--enable-libdane,--disable-libdane,unbound" +# Certificate compression +PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" +PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd" + +EXTRA_OECONF = " \ + --enable-doc \ + --disable-rpath \ + --enable-openssl-compatibility \ + --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ +" + +# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell. +export POSIX_SHELL="${base_bindir}/sh" + +do_configure:prepend() { + for dir in . lib; do + rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4 + done +} + +do_compile_ptest() { + oe_runmake -C tests buildtest-TESTS +} + +do_install:append:class-target() { + if ${@bb.utils.contains('PACKAGECONFIG', 'fips', 'true', 'false', d)}; then + install -d ${D}${bindir}/bin + install -m 0755 ${B}/lib/.libs/fipshmac ${D}/${bindir}/ + fi +} + +PACKAGES =+ "${PN}-dane ${PN}-openssl ${PN}-xx ${PN}-fips" + +FILES:${PN}-dev += "${bindir}/gnutls-cli-debug" + +FILES:${PN}-dane = "${libdir}/libgnutls-dane.so.*" +FILES:${PN}-openssl = "${libdir}/libgnutls-openssl.so.*" +FILES:${PN}-xx = "${libdir}/libgnutlsxx.so.*" +FILES:${PN}-fips = "${bindir}/fipshmac" + +RDEPENDS:${PN}-ptest += "python3" + +BBCLASSEXTEND = "native nativesdk" + +pkg_postinst_ontarget:${PN}-fips () { + if test -x ${bindir}/fipshmac + then + mkdir ${sysconfdir}/gnutls + touch ${sysconfdir}/gnutls/config + ${bindir}/fipshmac ${libdir}/libgnutls.so.30.*.* > ${libdir}/.libgnutls.so.30.hmac + ${bindir}/fipshmac ${libdir}/libnettle.so.8.* > ${libdir}/.libnettle.so.8.hmac + ${bindir}/fipshmac ${libdir}/libgmp.so.10.*.* > ${libdir}/.libgmp.so.10.hmac + ${bindir}/fipshmac ${libdir}/libhogweed.so.6.* > ${libdir}/.libhogweed.so.6.hmac + fi +} diff --git a/meta/recipes-support/gnutls/libtasn1/dont-depend-on-help2man.patch b/meta/recipes-support/gnutls/libtasn1/dont-depend-on-help2man.patch index 2ac89f3b32..216d636793 100644 --- a/meta/recipes-support/gnutls/libtasn1/dont-depend-on-help2man.patch +++ b/meta/recipes-support/gnutls/libtasn1/dont-depend-on-help2man.patch @@ -1,14 +1,26 @@ +From 629fc6427710e48b78f8b1f300dd698fe898cfd4 Mon Sep 17 00:00:00 2001 +From: Marko Lindqvist <cazfi74@gmail.com> +Date: Mon, 7 Jan 2013 01:49:40 +0200 +Subject: [PATCH] libtasn1: remove help2man dependency + Upstream-Status: Inappropriate Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -diff -Nurd libtasn1-2.14/doc/Makefile.am libtasn1-2.14/doc/Makefile.am ---- libtasn1-2.14/doc/Makefile.am 2012-09-24 15:08:42.000000000 +0300 -+++ libtasn1-2.14/doc/Makefile.am 2013-01-03 07:35:26.702763403 +0200 -@@ -31,7 +31,7 @@ - AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) \ - --no-split --number-sections --css-include=texinfo.css +--- + doc/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/doc/Makefile.am b/doc/Makefile.am +index a0171a5..8aa4d3d 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -28,7 +28,7 @@ libtasn1_TEXINFOS += asn1Coding-help.texi asn1Decoding-help.texi asn1Parser-help + + AM_MAKEINFOHTMLFLAGS = --no-split $(AM_MAKEINFOFLAGS) + -dist_man_MANS = $(gdoc_MANS) asn1Parser.1 asn1Coding.1 asn1Decoding.1 +dist_man_MANS = $(gdoc_MANS) - + HELP2MAN_OPTS = --info-page libtasn1 + diff --git a/meta/recipes-support/gnutls/libtasn1_4.16.0.bb b/meta/recipes-support/gnutls/libtasn1_4.19.0.bb index 21ef5c3de4..5fb8b54c06 100644 --- a/meta/recipes-support/gnutls/libtasn1_4.16.0.bb +++ b/meta/recipes-support/gnutls/libtasn1_4.19.0.bb @@ -3,12 +3,12 @@ DESCRIPTION = "A highly portable C library that encodes and decodes \ DER/BER data following an ASN.1 schema. " HOMEPAGE = "http://www.gnu.org/software/libtasn1/" -LICENSE = "GPLv3+ & LGPLv2.1+" -LICENSE_${PN}-bin = "GPLv3+" -LICENSE_${PN} = "LGPLv2.1+" +LICENSE = "GPL-3.0-or-later & LGPL-2.1-or-later" +LICENSE:${PN}-bin = "GPL-3.0-or-later" +LICENSE:${PN} = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://doc/COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \ - file://LICENSE;md5=75ac100ec923f959898182307970c360" + file://COPYING;md5=75ac100ec923f959898182307970c360" SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \ file://dont-depend-on-help2man.patch \ @@ -16,8 +16,7 @@ SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \ DEPENDS = "bison-native" -SRC_URI[md5sum] = "531208de3729d42e2af0a32890f08736" -SRC_URI[sha256sum] = "0e0fb0903839117cb6e3b56e68222771bebf22ad7fc2295a0ed7d576e8d4329d" +SRC_URI[sha256sum] = "1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a" inherit autotools texinfo lib_package gtk-doc diff --git a/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch b/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch index 0c15cc7c38..8ed39280ca 100644 --- a/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch +++ b/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch @@ -1,4 +1,4 @@ -From a001b3c23bf80fd752044615b9bba6b926ff9666 Mon Sep 17 00:00:00 2001 +From ee1421f7a7a9f31400ba992a5be52b88d20170c9 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Fri, 10 May 2019 14:18:04 +0800 Subject: [PATCH] Revert "build: Make gpgme.m4 use gpgrt-config with *.pc." @@ -10,36 +10,21 @@ The oe-core does not support gpgrt-config, so revert it Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + --- - src/gpgme.m4 | 58 +++++++++------------------------------------------- - 1 file changed, 10 insertions(+), 48 deletions(-) + src/gpgme.m4 | 54 ++++++++-------------------------------------------- + 1 file changed, 8 insertions(+), 46 deletions(-) diff --git a/src/gpgme.m4 b/src/gpgme.m4 -index c749a5d..8579146 100644 +index f2906c1..8cc2898 100644 --- a/src/gpgme.m4 +++ b/src/gpgme.m4 -@@ -1,5 +1,5 @@ - # gpgme.m4 - autoconf macro to detect GPGME. --# Copyright (C) 2002, 2003, 2004, 2014, 2018 g10 Code GmbH -+# Copyright (C) 2002, 2003, 2004, 2014 g10 Code GmbH - # - # This file is free software; as a special exception the author gives - # unlimited permission to copy and/or distribute it, with or without -@@ -9,7 +9,7 @@ - # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the - # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - # --# Last-changed: 2020-11-20 -+# Last-changed: 2014-10-02 - - - AC_DEFUN([_AM_PATH_GPGME_CONFIG], -@@ -36,24 +36,10 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG], +@@ -125,24 +125,10 @@ AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl fi fi - use_gpgrt_config="" -- if test x"${GPGME_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then +- if test x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then - if $GPGRT_CONFIG gpgme --exists; then - GPGME_CONFIG="$GPGRT_CONFIG gpgme" - AC_MSG_NOTICE([Use gpgrt-config as gpgme-config]) @@ -61,7 +46,7 @@ index c749a5d..8579146 100644 fi gpgme_version_major=`echo $gpgme_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` -@@ -66,16 +52,12 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG], +@@ -155,16 +141,12 @@ AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl AC_DEFUN([_AM_PATH_GPGME_CONFIG_HOST_CHECK], [ @@ -80,7 +65,7 @@ index c749a5d..8579146 100644 *** built for $gpgme_config_host and thus may not match the *** used host $host. *** You may want to use the configure option --with-gpgme-prefix -@@ -136,11 +118,7 @@ AC_DEFUN([AM_PATH_GPGME], +@@ -225,11 +207,7 @@ AC_DEFUN([AM_PATH_GPGME], # If we have a recent GPGME, we should also check that the # API is compatible. if test "$req_gpgme_api" -gt 0 ; then @@ -93,7 +78,7 @@ index c749a5d..8579146 100644 if test "$tmp" -gt 0 ; then if test "$req_gpgme_api" -ne "$tmp" ; then ok=no -@@ -280,11 +258,7 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], +@@ -372,11 +350,7 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], # If we have a recent GPGME, we should also check that the # API is compatible. if test "$req_gpgme_api" -gt 0 ; then @@ -106,7 +91,7 @@ index c749a5d..8579146 100644 if test "$tmp" -gt 0 ; then if test "$req_gpgme_api" -ne "$tmp" ; then ok=no -@@ -293,20 +267,8 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], +@@ -385,20 +359,8 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], fi fi if test $ok = yes; then @@ -129,6 +114,3 @@ index c749a5d..8579146 100644 AC_MSG_RESULT(yes) ifelse([$2], , :, [$2]) _AM_PATH_GPGME_CONFIG_HOST_CHECK --- -2.25.1 - diff --git a/meta/recipes-support/gpgme/gpgme/0001-autogen.sh-remove-unknown-in-version.patch b/meta/recipes-support/gpgme/gpgme/0001-autogen.sh-remove-unknown-in-version.patch new file mode 100644 index 0000000000..6d67e6d6c9 --- /dev/null +++ b/meta/recipes-support/gpgme/gpgme/0001-autogen.sh-remove-unknown-in-version.patch @@ -0,0 +1,32 @@ +From acc4750ffa79a5c2ef3c95cf31ef51352a68837b Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Tue, 28 Feb 2023 13:43:51 +0800 +Subject: [PATCH] autogen.sh: remove '-unknown' in version + +python setuptools >=66.0.0 treats '-unknown' as an invalid version. +The error message is as below: + pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '1.18.0-unknown' + +Remove the '-unknown' suffix to fix this issue. + +Upstream-Status: Submitted [https://lists.gnupg.org/pipermail/gnupg-devel/2023-February/035293.html] + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> + +--- + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/autogen.sh b/autogen.sh +index 4e1665b..a55326d 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -269,7 +269,7 @@ if [ "$myhost" = "find-version" ]; then + else + ingit=no + beta=yes +- tmp="-unknown" ++ tmp="" + rev="0000000" + rvd="0" + fi diff --git a/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch b/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch index 827d95a151..831771ca2d 100644 --- a/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch +++ b/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch @@ -1,4 +1,4 @@ -From 98ce65902b197faa8f660564613ca2e504c2f8f8 Mon Sep 17 00:00:00 2001 +From 7b3a00cb0fc27c896dd85c9afc474bd9c2aea30d Mon Sep 17 00:00:00 2001 From: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Fri, 10 May 2019 14:23:55 +0800 Subject: [PATCH] pkgconfig @@ -12,22 +12,24 @@ RP 2015/4/17 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Rebase to 1.13.0 - Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +Rebase to 1.17.0 +Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> + --- configure.ac | 1 + src/Makefile.am | 4 +- - src/gpgme-pthread.pc.in | 15 +++++++ - src/gpgme.m4 | 114 ++++-------------------------------------------- + src/gpgme-pthread.pc.in | 15 +++++ + src/gpgme.m4 | 119 +++------------------------------------- src/gpgme.pc.in | 4 +- - 5 files changed, 28 insertions(+), 110 deletions(-) + 5 files changed, 29 insertions(+), 114 deletions(-) create mode 100644 src/gpgme-pthread.pc.in diff --git a/configure.ac b/configure.ac -index 25184f4..1c0a386 100644 +index ae4c7da..df892c9 100644 --- a/configure.ac +++ b/configure.ac -@@ -899,6 +899,7 @@ AC_CONFIG_FILES(Makefile src/Makefile +@@ -1112,6 +1112,7 @@ AC_CONFIG_FILES(Makefile src/Makefile src/gpgme-glib.pc src/gpgme.h) AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config) @@ -36,7 +38,7 @@ index 25184f4..1c0a386 100644 AC_CONFIG_FILES(lang/cpp/tests/Makefile) AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig-w32.cmake.in) diff --git a/src/Makefile.am b/src/Makefile.am -index d85a85c..d942f3e 100644 +index ca70950..bda5498 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -20,11 +20,11 @@ @@ -51,8 +53,8 @@ index d85a85c..d942f3e 100644 - gpgme.pc.in gpgme-glib.pc.in + gpgme.pc.in gpgme-glib.pc.in gpgme-pthread.pc.in - bin_SCRIPTS = gpgme-config - m4datadir = $(datadir)/aclocal + if USE_GPGRT_CONFIG + noinst_SCRIPTS = gpgme-config diff --git a/src/gpgme-pthread.pc.in b/src/gpgme-pthread.pc.in new file mode 100644 index 0000000..074bbf6 @@ -75,10 +77,10 @@ index 0000000..074bbf6 +Cflags: -I${includedir} +Requires: libassuan gpg-error diff --git a/src/gpgme.m4 b/src/gpgme.m4 -index 6c2be44..d8a75cb 100644 +index 8cc2898..0ff550e 100644 --- a/src/gpgme.m4 +++ b/src/gpgme.m4 -@@ -79,7 +79,7 @@ dnl config script does not match the host specification the script +@@ -168,7 +168,7 @@ dnl config script does not match the host specification the script dnl is added to the gpg_config_script_warn variable. dnl AC_DEFUN([AM_PATH_GPGME], @@ -87,7 +89,7 @@ index 6c2be44..d8a75cb 100644 tmp=ifelse([$1], ,1:0.4.2,$1) if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then req_gpgme_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` -@@ -89,36 +89,12 @@ AC_DEFUN([AM_PATH_GPGME], +@@ -178,36 +178,12 @@ AC_DEFUN([AM_PATH_GPGME], min_gpgme_version="$tmp" fi @@ -126,7 +128,7 @@ index 6c2be44..d8a75cb 100644 if test "$tmp" -gt 0 ; then if test "$req_gpgme_api" -ne "$tmp" ; then ok=no -@@ -127,19 +103,11 @@ AC_DEFUN([AM_PATH_GPGME], +@@ -216,19 +192,11 @@ AC_DEFUN([AM_PATH_GPGME], fi fi if test $ok = yes; then @@ -146,44 +148,45 @@ index 6c2be44..d8a75cb 100644 ]) dnl AM_PATH_GPGME_PTHREAD([MINIMUM-VERSION, -@@ -148,7 +116,7 @@ dnl Test for libgpgme and define GPGME_PTHREAD_CFLAGS +@@ -236,9 +204,8 @@ dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) + dnl Test for libgpgme and define GPGME_PTHREAD_CFLAGS dnl and GPGME_PTHREAD_LIBS. dnl - AC_DEFUN([AM_PATH_GPGME_PTHREAD], --[ AC_REQUIRE([_AM_PATH_GPGME_CONFIG])dnl +-AC_DEFUN([AM_PATH_GPGME_PTHREAD],[ +- AC_OBSOLETE([$0], [; use AM_PATH_GPGME instead to use GPGME_CFLAGS and GPGME_LIBS])dnl +- AC_REQUIRE([_AM_PATH_GPGME_CONFIG])dnl ++AC_DEFUN([AM_PATH_GPGME_PTHREAD], +[ tmp=ifelse([$1], ,1:0.4.2,$1) if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then req_gpgme_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` -@@ -158,38 +126,12 @@ AC_DEFUN([AM_PATH_GPGME_PTHREAD], +@@ -248,40 +215,12 @@ AC_DEFUN([AM_PATH_GPGME_PTHREAD],[ min_gpgme_version="$tmp" fi - AC_MSG_CHECKING(for GPGME pthread - version >= $min_gpgme_version) - ok=no - if test "$GPGME_CONFIG" != "no" ; then -- if `$GPGME_CONFIG --thread=pthread 2> /dev/null` ; then -- req_major=`echo $min_gpgme_version | \ +- req_major=`echo $min_gpgme_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` -- req_minor=`echo $min_gpgme_version | \ +- req_minor=`echo $min_gpgme_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` -- req_micro=`echo $min_gpgme_version | \ +- req_micro=`echo $min_gpgme_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` -- if test "$gpgme_version_major" -gt "$req_major"; then +- if test "$gpgme_version_major" -gt "$req_major"; then - ok=yes -- else +- else - if test "$gpgme_version_major" -eq "$req_major"; then -- if test "$gpgme_version_minor" -gt "$req_minor"; then -- ok=yes -- else -- if test "$gpgme_version_minor" -eq "$req_minor"; then -- if test "$gpgme_version_micro" -ge "$req_micro"; then -- ok=yes -- fi +- if test "$gpgme_version_minor" -gt "$req_minor"; then +- ok=yes +- else +- if test "$gpgme_version_minor" -eq "$req_minor"; then +- if test "$gpgme_version_micro" -ge "$req_micro"; then +- ok=yes +- fi +- fi - fi -- fi - fi -- fi - fi - fi + PKG_CHECK_MODULES(GPGME_PTHREAD, [gpgme-pthread >= $min_gpgme_version], [ok=yes], [ok=no]) @@ -191,17 +194,21 @@ index 6c2be44..d8a75cb 100644 # If we have a recent GPGME, we should also check that the # API is compatible. if test "$req_gpgme_api" -gt 0 ; then -- tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0` +- if test -z "$use_gpgrt_config"; then +- tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0` +- else +- tmp=`$GPGME_CONFIG --variable=api_version 2>/dev/null || echo 0` +- fi + tmp=`$PKG_CONFIG --variable=api_version gpgme-pthread 2>/dev/null || echo 0` if test "$tmp" -gt 0 ; then if test "$req_gpgme_api" -ne "$tmp" ; then ok=no -@@ -198,19 +140,11 @@ AC_DEFUN([AM_PATH_GPGME_PTHREAD], +@@ -290,19 +229,11 @@ AC_DEFUN([AM_PATH_GPGME_PTHREAD],[ fi fi if test $ok = yes; then -- GPGME_PTHREAD_CFLAGS=`$GPGME_CONFIG --thread=pthread --cflags` -- GPGME_PTHREAD_LIBS=`$GPGME_CONFIG --thread=pthread --libs` +- GPGME_PTHREAD_CFLAGS=`$GPGME_CONFIG --cflags` +- GPGME_PTHREAD_LIBS=`$GPGME_CONFIG --libs` - AC_MSG_RESULT(yes) ifelse([$2], , :, [$2]) _AM_PATH_GPGME_CONFIG_HOST_CHECK @@ -216,7 +223,7 @@ index 6c2be44..d8a75cb 100644 ]) -@@ -229,36 +163,12 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], +@@ -321,36 +252,12 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], min_gpgme_version="$tmp" fi @@ -255,7 +262,7 @@ index 6c2be44..d8a75cb 100644 if test "$tmp" -gt 0 ; then if test "$req_gpgme_api" -ne "$tmp" ; then ok=no -@@ -267,17 +177,9 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], +@@ -359,17 +266,9 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], fi fi if test $ok = yes; then @@ -274,18 +281,15 @@ index 6c2be44..d8a75cb 100644 - AC_SUBST(GPGME_GLIB_LIBS) ]) diff --git a/src/gpgme.pc.in b/src/gpgme.pc.in -index be288b8..16f56ac 100644 +index 9ddef5c..932645b 100644 --- a/src/gpgme.pc.in +++ b/src/gpgme.pc.in @@ -9,6 +9,6 @@ Name: gpgme Description: GnuPG Made Easy to access GnuPG - Requires: gpg-error, libassuan + Requires.private: gpg-error, libassuan Version: @PACKAGE_VERSION@ -Cflags: @GPGME_CONFIG_CFLAGS@ -Libs: @GPGME_CONFIG_LIBS@ +Cflags: -I${includedir} +Libs: -L${libdir} -lgpgme URL: https://www.gnupg.org/software/gpgme/index.html --- -2.7.4 - diff --git a/meta/recipes-support/gpgme/gpgme/0001-posix-io.c-Use-off_t-instead-of-off64_t.patch b/meta/recipes-support/gpgme/gpgme/0001-posix-io.c-Use-off_t-instead-of-off64_t.patch new file mode 100644 index 0000000000..be58c42128 --- /dev/null +++ b/meta/recipes-support/gpgme/gpgme/0001-posix-io.c-Use-off_t-instead-of-off64_t.patch @@ -0,0 +1,42 @@ +From be33cf1812b4c2a3ed85fb2532992bfb2b27b3be Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 15 Dec 2022 08:44:13 -0800 +Subject: [PATCH] posix-io.c: Use off_t instead of off64_t + +configure.ac checks for largefile support via AC_SYS_LARGEFILE already, +therefore use off_t and ino_t instead of 64bit variants. Musl e.g. does +not define them without _LARGEFILE64_SOURCE and error is not seen on +glibc because _GNU_SOURCE defines _LARGEFILE64_SOURCE + +Fixes errors like below on 32-bit musl systems + +../../../../../../../../workspace/sources/gpgme/src/posix-io.c:77:3: error: unknown type name 'ino64_t'; did you mean 'int64_t'? + ino64_t d_ino; + ^~~~~~~ + int64_t + ^ +../../../../../../../../workspace/sources/gpgme/src/posix-io.c:78:3: error: unknown type name 'off64_t'; did you mean 'off_t'? + off64_t d_off; + ^~~~~~~ + +Upstream-Status: Submitted [https://lists.gnupg.org/pipermail/gnupg-devel/2022-December/035222.html] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/posix-io.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/posix-io.c b/src/posix-io.c +index 0d0a98b..286a626 100644 +--- a/src/posix-io.c ++++ b/src/posix-io.c +@@ -74,8 +74,8 @@ + * define it ourselves. */ + struct linux_dirent64 + { +- ino64_t d_ino; +- off64_t d_off; ++ ino_t d_ino; ++ off_t d_off; + unsigned short d_reclen; + unsigned char d_type; + char d_name[]; diff --git a/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch b/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch new file mode 100644 index 0000000000..3d05808d63 --- /dev/null +++ b/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch @@ -0,0 +1,28 @@ +From e1fc4b06dcb62e1c2d85ae99f39ef1a8860570e1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 15 Jul 2021 12:33:13 -0700 +Subject: [PATCH] use closefrom() on linux and glibc 2.34+ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Rebase to 1.17.0 +Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> + +--- + src/posix-io.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/posix-io.c b/src/posix-io.c +index a422d8f..0d0a98b 100644 +--- a/src/posix-io.c ++++ b/src/posix-io.c +@@ -577,7 +577,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags, + if (fd_list[i].fd > fd) + fd = fd_list[i].fd; + fd++; +-#if defined(__sun) || defined(__FreeBSD__) || defined(__GLIBC__) ++#if defined(__sun) || defined(__FreeBSD__) || (defined(__GLIBC__) && __GNUC_PREREQ(2, 34)) + closefrom (fd); + max_fds = fd; + #else /*!__sun */ diff --git a/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch b/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch index ecd1793ab9..0d2692912f 100644 --- a/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch +++ b/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch @@ -1,7 +1,7 @@ -From 52f8fd2010b900c7d382a7c4e6c1a317d8160585 Mon Sep 17 00:00:00 2001 +From 9fce0689bc04506e5758444efa24ea99fe1ff5ef Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Fri, 10 May 2019 14:30:36 +0800 -Subject: [PATCH 2/7] gpgme/lang/python: gpg-error-config should not be used +Subject: [PATCH] gpgme/lang/python: gpg-error-config should not be used gpg-error-config was modified by OE to always return an error. So we want to find an alternative way to retrieve whatever it @@ -14,39 +14,23 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Rebase to 1.13.0 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + --- - lang/python/setup.py.in | 9 +-------- - 1 file changed, 1 insertion(+), 8 deletions(-) + lang/python/setup.py.in | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in -index 9785a28..006216d 100755 +index 6f36861..1d9058b 100755 --- a/lang/python/setup.py.in +++ b/lang/python/setup.py.in -@@ -30,7 +30,6 @@ import subprocess - import sys - - # Out-of-tree build of the gpg bindings. --gpg_error_config = ['gpg-error-config'] - gpgme_config_flags = ['--thread=pthread'] - gpgme_config = ['gpgme-config'] + gpgme_config_flags - gpgme_h = '' -@@ -182,15 +181,9 @@ class BuildExtFirstHack(build): +@@ -169,9 +169,8 @@ class BuildExtFirstHack(build): def _generate_errors_i(self): -- try: -- subprocess.check_call( -- gpg_error_config + ['--version'], stdout=devnull) -- except: -- sys.exit('Could not find gpg-error-config. ' + -- 'Please install the libgpg-error development package.') - +- ge_cflags='@GPG_ERROR_CFLAGS@' gpg_error_content = self._read_header( -- 'gpg-error.h', getconfig('cflags', config=gpg_error_config)) +- 'gpg-error.h', ge_cflags.split(' ') if ge_cflags else []) + "gpg-error.h", os.environ.get('CFLAGS').split()) filter_re = re.compile(r'GPG_ERR_[^ ]* =') rewrite_re = re.compile(r' *(.*) = .*') --- -2.7.4 - diff --git a/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch b/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch index de1689ec05..204fe5934d 100644 --- a/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch +++ b/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch @@ -1,7 +1,7 @@ -From f632148fcc8757bb9a9601a6dab275e88cd309d2 Mon Sep 17 00:00:00 2001 +From 8c850aa109c42d0c193bccc7af45dbc2689b23f6 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Tue, 30 Jan 2018 15:28:49 +0800 -Subject: [PATCH 3/7] Correctly install python modules +Subject: [PATCH] Correctly install python modules Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> @@ -12,15 +12,16 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Rebase to 1.10.0 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + --- lang/python/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am -index 6988faf..36c6f7b 100644 +index 68b98e8..bbb9111 100644 --- a/lang/python/Makefile.am +++ b/lang/python/Makefile.am -@@ -93,6 +93,7 @@ install-exec-local: +@@ -97,6 +97,7 @@ install-exec-local: --build-base="$$(basename "$${PYTHON}")-gpg" \ install \ --prefix "$(DESTDIR)$(prefix)" \ @@ -28,6 +29,3 @@ index 6988faf..36c6f7b 100644 --verbose ; \ done --- -2.7.4 - diff --git a/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch b/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch index 50bf21463f..7fe0c9538a 100644 --- a/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch +++ b/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch @@ -1,7 +1,7 @@ -From 8d9613c34ae495bbcbd725a2e7ac48138ba53c30 Mon Sep 17 00:00:00 2001 +From 57475742b0288b4ee53c01c59c3ab03c1ef7932e Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 13 Apr 2017 16:40:27 +0300 -Subject: [PATCH 5/7] gpgme-config: skip all /lib* or /usr/lib* directories in +Subject: [PATCH] gpgme-config: skip all /lib* or /usr/lib* directories in output The logic was not working in multilib setups which use other @@ -9,15 +9,16 @@ directory names than plain /lib or /usr/lib. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- src/gpgme-config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gpgme-config.in b/src/gpgme-config.in -index a4d152e..8342865 100644 +index 56b98f8..e96f3c3 100644 --- a/src/gpgme-config.in +++ b/src/gpgme-config.in -@@ -154,7 +154,7 @@ while test $# -gt 0; do +@@ -157,7 +157,7 @@ while test $# -gt 0; do for i in $libs $tmp_l $assuan_libs $gpg_error_libs $tmp_x; do skip=no case $i in @@ -26,6 +27,3 @@ index a4d152e..8342865 100644 skip=yes ;; -L*|-l*) --- -2.7.4 - diff --git a/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch b/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch index 1471184d67..8d48db2feb 100644 --- a/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch +++ b/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch @@ -1,7 +1,7 @@ -From ef920688bfe1c7328c9e97229d62ccd35304ad84 Mon Sep 17 00:00:00 2001 +From 7938a5a760827aec737ea49d2f8719051abda188 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Wed, 31 Jan 2018 11:01:09 +0800 -Subject: [PATCH 6/7] fix build path issue +Subject: [PATCH] fix build path issue Get the "--root" directory supplied to the "install" command, and use it as a prefix to strip off the purported filename @@ -12,15 +12,16 @@ to use relative path. Upstream-Status: Submitted [gnupg-devel@gnupg.org] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + --- lang/python/Makefile.am | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am -index 36c6f7b..ce9a108 100644 +index bbb9111..cee499e 100644 --- a/lang/python/Makefile.am +++ b/lang/python/Makefile.am -@@ -92,8 +92,9 @@ install-exec-local: +@@ -96,8 +96,9 @@ install-exec-local: build \ --build-base="$$(basename "$${PYTHON}")-gpg" \ install \ @@ -32,6 +33,3 @@ index 36c6f7b..ce9a108 100644 --verbose ; \ done --- -2.7.4 - diff --git a/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch b/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch deleted file mode 100644 index 4c97f63cc2..0000000000 --- a/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 093c88817397425ee4c2333c469467229a46c9e1 Mon Sep 17 00:00:00 2001 -From: Yuan Chao <yuanc.fnst@cn.fujitsu.com> -Date: Mon, 5 Aug 2019 01:00:58 +0900 -Subject: [PATCH 7/7] python: Add variables to tests - -* configure.ac, lang/python/Makefile.am: - New variable to `lang/python', set to `lang/python' if RUN_LANG_PYTHON_TESTS - -Upstream-Status: Submitted [gnupg-devel@gnupg.org] - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> - -Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com> ---- - configure.ac | 5 +++++ - lang/python/Makefile.am | 3 +++ - 2 files changed, 8 insertions(+) - -diff --git a/configure.ac b/configure.ac -index bd85886..b5ae42e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -533,6 +533,11 @@ AC_ARG_ENABLE(g13-test, - run_g13_test=$enableval) - AM_CONDITIONAL(RUN_G13_TESTS, test "$run_g13_test" = "yes") - -+run_lang_python_test="yes" -+AC_ARG_ENABLE(lang-python-test, -+ AC_HELP_STRING([--disable-lang-python-test], [disable Python regression test]), -+ run_lang_python_test=$enableval) -+AM_CONDITIONAL(RUN_LANG_PYTHON_TESTS, test "$run_lang_python_test" = "yes") - - # Checks for header files. - AC_CHECK_HEADERS_ONCE([locale.h sys/select.h sys/uio.h argp.h stdint.h -diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am -index 551deee..0fd555e 100644 ---- a/lang/python/Makefile.am -+++ b/lang/python/Makefile.am -@@ -23,7 +23,10 @@ EXTRA_DIST = \ - gpgme.i \ - helpers.c helpers.h private.h - -+SUBDIRS = . examples doc src -+if RUN_LANG_PYTHON_TESTS - SUBDIRS = . tests examples doc src -+endif - - .PHONY: prepare - prepare: copystamp --- -2.7.4 - diff --git a/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch b/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch index dfea1bf78a..a11621ed64 100644 --- a/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch +++ b/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch @@ -1,4 +1,4 @@ -From 5bbf7a048b6d81d23186340e839f9f65b5b514b6 Mon Sep 17 00:00:00 2001 +From 84c389705e7742d2b68e144a5733e618441d293e Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Fri, 10 May 2019 16:19:54 +0800 Subject: [PATCH] do not auto check var-PYTHON @@ -14,18 +14,19 @@ Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + configure.ac | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac -index 5ef00c0..bbcff93 100644 +index df892c9..8c6194e 100644 --- a/configure.ac +++ b/configure.ac -@@ -425,8 +425,8 @@ if test "$found_py" = "1"; then +@@ -590,9 +590,8 @@ if test "$found_py" = "1"; then if test "$found_py" = "1" -o "$found_py3" = "1"; then # Reset everything, so that we can look for another Python. m4_foreach([mym4pythonver], -- [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[3.9],[all]], +- [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[3.9],[3.10], +- [3.11],[3.12],[all]], - [unset PYTHON + [[2.7],[3.7]], + [ diff --git a/meta/recipes-support/gpgme/gpgme_1.15.1.bb b/meta/recipes-support/gpgme/gpgme_1.23.2.bb index dc38aa8e3c..55f164e4a9 100644 --- a/meta/recipes-support/gpgme/gpgme_1.15.1.bb +++ b/meta/recipes-support/gpgme/gpgme_1.23.2.bb @@ -3,11 +3,18 @@ DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to G HOMEPAGE = "http://www.gnupg.org/gpgme.html" BUGTRACKER = "https://bugs.g10code.com/gnupg/index" -LICENSE = "GPLv2+ & LGPLv2.1+" +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & GPL-3.0-or-later" +LICENSE:${PN} = "GPL-2.0-or-later & LGPL-2.1-or-later" +LICENSE:${PN}-cpp = "GPL-2.0-or-later & LGPL-2.1-or-later" +LICENSE:${PN}-tool = "GPL-3.0-or-later" +LICENSE:python3-gpg = "GPL-2.0-or-later & LGPL-2.1-or-later" + LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \ file://src/gpgme.h.in;endline=23;md5=2f0bf06d1c7dcb28532a9d0f94a7ca1d \ - file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d" + file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d \ + file://src/gpgme-tool.c;endline=21;md5=66c5381e0e05475792e24982d15e7ce8 \ + " UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \ @@ -18,24 +25,24 @@ SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \ file://0004-python-import.patch \ file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \ file://0006-fix-build-path-issue.patch \ - file://0007-python-Add-variables-to-tests.patch \ file://0008-do-not-auto-check-var-PYTHON.patch \ - " + file://0001-use-closefrom-on-linux-and-glibc-2.34.patch \ + file://0001-posix-io.c-Use-off_t-instead-of-off64_t.patch \ + file://0001-autogen.sh-remove-unknown-in-version.patch \ + " -SRC_URI[sha256sum] = "eebc3c1b27f1c8979896ff361ba9bb4778b508b2496c2fc10e3775a40b1de1ad" +SRC_URI[sha256sum] = "9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224" -DEPENDS = "libgpg-error libassuan" -RDEPENDS_${PN}-cpp += "libstdc++" +PYTHON_DEPS = "${@bb.utils.contains('LANGUAGES', 'python', 'swig-native', '', d)}" -RDEPENDS_python2-gpg += "python-unixadmin" -RDEPENDS_python3-gpg += "python3-unixadmin" +DEPENDS = "libgpg-error libassuan ${PYTHON_DEPS}" +RDEPENDS:${PN}-cpp += "libstdc++" -BINCONFIG = "${bindir}/gpgme-config" +RDEPENDS:python3-gpg += "python3-unixadmin" -# Note select python2 or python3, but you can't select both at the same time -PACKAGECONFIG ??= "python3" -PACKAGECONFIG[python2] = ",,python swig-native," -PACKAGECONFIG[python3] = ",,python3 swig-native," +RRECOMMENDS:${PN} += "${PN}-tool" + +BINCONFIG = "${bindir}/gpgme-config" # Default in configure.ac: "cl cpp python qt" # Supported: "cl cpp python python2 python3 qt" @@ -44,45 +51,42 @@ PACKAGECONFIG[python3] = ",,python3 swig-native," # Building the C++ bindings for native requires a C++ compiler with C++11 # support. Since these bindings are currently not needed, we can disable them. DEFAULT_LANGUAGES = "" -DEFAULT_LANGUAGES_class-target = "cpp" -LANGUAGES ?= "${DEFAULT_LANGUAGES} python" +DEFAULT_LANGUAGES:class-target = "cpp" +LANGUAGES ?= "${DEFAULT_LANGUAGES}" -PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}" -PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native python3targetconfig', '', d)}" +PYTHON_INHERIT = "${@bb.utils.contains('LANGUAGES', 'python', 'setuptools3-base', '', d)}" EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \ --disable-gpgconf-test \ --disable-gpg-test \ --disable-gpgsm-test \ --disable-g13-test \ - --disable-lang-python-test \ ' -inherit autotools texinfo binconfig-disabled pkgconfig distutils-common-base ${PYTHON_INHERIT} multilib_header +inherit autotools texinfo binconfig-disabled pkgconfig multilib_header +inherit_defer ${PYTHON_INHERIT} python3native export PKG_CONFIG='pkg-config' BBCLASSEXTEND = "native nativesdk" -PACKAGES =+ "${PN}-cpp" -PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python2-gpg ', '', d)}" -PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-gpg ', '', d)}" +PACKAGES =+ "${PN}-cpp ${PN}-tool python3-gpg" + +FILES:${PN}-cpp = "${libdir}/libgpgmepp.so.*" +FILES:${PN}-tool = "${bindir}/gpgme-tool" +FILES:python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*" +FILES:${PN}-dev += "${datadir}/common-lisp/source/gpgme/*" -FILES_${PN}-cpp = "${libdir}/libgpgmepp.so.*" -FILES_python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*" -FILES_python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*" -FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/* \ - ${libdir}/cmake/* \ -" +CFLAGS:append:libc-musl = " -D__error_t_defined " +CACHED_CONFIGUREVARS:libc-musl = "ac_cv_sys_file_offset_bits=no" -CFLAGS_append_libc-musl = " -D__error_t_defined " -do_configure_prepend () { +do_configure:prepend () { # Else these could be used in preference to those in aclocal-copy rm -f ${S}/m4/gpg-error.m4 rm -f ${S}/m4/libassuan.m4 rm -f ${S}/m4/python.m4 } -do_install_append() { +do_install:append() { oe_multilib_header gpgme.h } diff --git a/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch b/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch index 2968d571bb..c0e9e2806b 100644 --- a/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch +++ b/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch @@ -1,4 +1,4 @@ -From 0c82d6aa02c08e41b13c83b14782bd7024e25d59 Mon Sep 17 00:00:00 2001 +From 0f4e9eee64bd4220aa4fae1ab4f7bbf10b87cd69 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 15 Feb 2014 21:06:42 +0000 Subject: [PATCH] Disable LDFLAGSICUDT for Linux @@ -7,14 +7,14 @@ Upstream-Status: Inappropriate [ OE Configuration ] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - source/config/mh-linux | 2 +- + config/mh-linux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/mh-linux b/config/mh-linux -index 366f0cc..2689aab 100644 +index 53d6780..b622513 100644 --- a/config/mh-linux +++ b/config/mh-linux -@@ -21,7 +21,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN +@@ -23,7 +23,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN LD_RPATH_PRE = -Wl,-rpath, ## These are the library specific LDFLAGS @@ -23,6 +23,3 @@ index 366f0cc..2689aab 100644 ## Compiler switch to embed a library name # The initial tab in the next line is to prevent icu-config from reading it. --- -1.7.10.4 - diff --git a/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch b/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch index c5dc0611c2..a25285fb54 100644 --- a/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch +++ b/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch @@ -1,4 +1,4 @@ -From 500321387ceca48934bb0f323779117cd518bab6 Mon Sep 17 00:00:00 2001 +From cf55c077b77b7a219502364eaadf12c074ab005e Mon Sep 17 00:00:00 2001 From: Lei Maohui <leimaohui@cn.fujitsu.com> Date: Wed, 8 May 2019 14:42:30 +0900 Subject: [PATCH] icu: Added armeb support. @@ -13,10 +13,10 @@ Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h -index c937463..feaad0f 100644 +index 303668f..7d859dc 100644 --- a/i18n/double-conversion-utils.h +++ b/i18n/double-conversion-utils.h -@@ -115,7 +115,7 @@ int main(int argc, char** argv) { +@@ -146,7 +146,7 @@ int main(int argc, char** argv) { // // If it prints "correct" then the architecture should be here, in the "correct" section. #if defined(_M_X64) || defined(__x86_64__) || \ @@ -24,7 +24,4 @@ index c937463..feaad0f 100644 + defined(__arm__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ defined(__hppa__) || defined(__ia64__) || \ defined(__mips__) || \ - defined(__nios2__) || defined(__ghs) || \ --- -2.25.1 - + defined(__loongarch__) || \ diff --git a/meta/recipes-support/icu/icu/ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch b/meta/recipes-support/icu/icu/ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch new file mode 100644 index 0000000000..5b97350e6f --- /dev/null +++ b/meta/recipes-support/icu/icu/ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch @@ -0,0 +1,72 @@ +From db70adaddcfa8050db6a69cdfef080a7f1423ad7 Mon Sep 17 00:00:00 2001 +From: Carlos Alberto Lopez Perez <clopez@igalia.com> +Date: Mon, 1 Jul 2024 22:15:18 +0100 +Subject: [PATCH] ICU-22813 Rise the size of the buffers used for the command + strings at pkgdata + +The tool pkgdata uses snprintf() to build the strings of the commands that +will execute later during the install process. But the maximum size of this +buffers is not enough when there is a long path. + +This has caused issues on some CI systems that use very long paths, causing +the install process to produce a wrong result. + +The maximum path on Linux is 4096 (defined as PATH_MAX at <linux/limits.h>) +So the size of SMALL_BUFFER_MAX_SIZE should be 4096 to avoid errors related +to truncated paths. + +Upstream-Status: Backport [https://github.com/unicode-org/icu/pull/3058] + +Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> +--- + tools/pkgdata/pkgdata.cpp | 6 +++--- + tools/toolutil/pkg_genc.h | 5 ++--- + 2 files changed, 5 insertions(+), 6 deletions(-) + +diff --git a/tools/pkgdata/pkgdata.cpp b/tools/pkgdata/pkgdata.cpp +index c2ac112..8d08c85 100644 +--- a/tools/pkgdata/pkgdata.cpp ++++ b/tools/pkgdata/pkgdata.cpp +@@ -1134,7 +1134,7 @@ static int32_t pkg_createSymLinks(const char *targetDir, UBool specialHandling) + + static int32_t pkg_installLibrary(const char *installDir, const char *targetDir, UBool noVersion) { + int32_t result = 0; +- char cmd[SMALL_BUFFER_MAX_SIZE]; ++ char cmd[LARGE_BUFFER_MAX_SIZE]; + + auto ret = snprintf(cmd, + sizeof(cmd), +@@ -1205,7 +1205,7 @@ static int32_t pkg_installLibrary(const char *installDir, const char *targetDir, + + static int32_t pkg_installCommonMode(const char *installDir, const char *fileName) { + int32_t result = 0; +- char cmd[SMALL_BUFFER_MAX_SIZE] = ""; ++ char cmd[LARGE_BUFFER_MAX_SIZE] = ""; + + if (!T_FileStream_file_exists(installDir)) { + UErrorCode status = U_ZERO_ERROR; +@@ -1237,7 +1237,7 @@ static int32_t pkg_installCommonMode(const char *installDir, const char *fileNam + #endif + static int32_t pkg_installFileMode(const char *installDir, const char *srcDir, const char *fileListName) { + int32_t result = 0; +- char cmd[SMALL_BUFFER_MAX_SIZE] = ""; ++ char cmd[LARGE_BUFFER_MAX_SIZE] = ""; + + if (!T_FileStream_file_exists(installDir)) { + UErrorCode status = U_ZERO_ERROR; +diff --git a/tools/toolutil/pkg_genc.h b/tools/toolutil/pkg_genc.h +index 2dd1b45..f811fe5 100644 +--- a/tools/toolutil/pkg_genc.h ++++ b/tools/toolutil/pkg_genc.h +@@ -59,9 +59,8 @@ + #define PKGDATA_FILE_SEP_STRING U_FILE_SEP_STRING + #endif + +-#define LARGE_BUFFER_MAX_SIZE 2048 +-#define SMALL_BUFFER_MAX_SIZE 512 +-#define SMALL_BUFFER_FLAG_NAMES 32 ++#define LARGE_BUFFER_MAX_SIZE 16384 ++#define SMALL_BUFFER_MAX_SIZE 4096 + #define BUFFER_PADDING_SIZE 20 + + /** End platform defines **/ diff --git a/meta/recipes-support/icu/icu/fix-install-manx.patch b/meta/recipes-support/icu/icu/fix-install-manx.patch index 925b064ebd..16cabc8264 100644 --- a/meta/recipes-support/icu/icu/fix-install-manx.patch +++ b/meta/recipes-support/icu/icu/fix-install-manx.patch @@ -1,4 +1,4 @@ -From a6ddabc8cadb76bfe2d2e374a6702442cfe51cce Mon Sep 17 00:00:00 2001 +From 2d544cac238eccbfc32cafc9502ddf6e00994211 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Fri, 9 Oct 2015 17:50:41 +0100 Subject: [PATCH] icu: fix install race @@ -11,15 +11,16 @@ and one process tries to chown a file that the other process has just deleted. Also install-manx should be a phony target, and for clarity use $^ instead of $? in the install command. -Upstream-Status: Pending -Signed-off-by: Ross Burton <ross.burton@intel.com> +Upstream ticket: https://unicode-org.atlassian.net/jira/software/c/projects/ICU/issues/ICU-21172 +Upstream-Status: Submitted [https://github.com/unicode-org/icu/pull/2966] +Signed-off-by: Ross Burton <ross.burton@intel.com> --- - source/Makefile.in | 8 ++++---- + Makefile.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile.in b/Makefile.in -index be9435b..ada20d7 100644 +index 8366f01..79b91c9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -77,7 +77,7 @@ EXTRA_DATA = diff --git a/meta/recipes-support/icu/icu_69.1.bb b/meta/recipes-support/icu/icu_75-1.bb index bfeea8d2f0..8f7f5e6cc7 100644 --- a/meta/recipes-support/icu/icu_69.1.bb +++ b/meta/recipes-support/icu/icu_75-1.bb @@ -6,36 +6,30 @@ same results on all platforms." HOMEPAGE = "http://site.icu-project.org/" LICENSE = "ICU" -DEPENDS = "icu-native" -DEPENDS_class-native = "" +DEPENDS = "icu-native autoconf-archive-native" CVE_PRODUCT = "international_components_for_unicode" S = "${WORKDIR}/icu/source" -SPDX_S = "${WORKDIR}/icu" STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}" -BINCONFIG = "${bindir}/icu-config" +ICU_MAJOR_VER = "${@d.getVar('PV').split('-')[0]}" -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}" - -inherit autotools pkgconfig binconfig multilib_script - -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config" +inherit autotools pkgconfig github-releases # ICU needs the native build directory as an argument to its --with-cross-build option when # cross-compiling. Taken the situation that different builds may share a common sstate-cache # into consideration, the native build directory needs to be staged. -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}" -EXTRA_OECONF_class-native = "" -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}" +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" +EXTRA_OECONF:class-native = "--disable-icu-config" +EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}" -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}" +EXTRA_OECONF:append:class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}" +TARGET_CXXFLAGS:append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}" ASNEEDED = "" -do_compile_prepend_class-target () { +remove_build_host_references_from_libicutu () { # Make sure certain build host references do not end up being compiled # in the image. This only affects libicutu and icu-dbg sed \ @@ -44,8 +38,16 @@ do_compile_prepend_class-target () { -i ${B}/tools/toolutil/Makefile } +do_compile:prepend:class-target () { + remove_build_host_references_from_libicutu +} + +do_compile:prepend:class-nativesdk () { + remove_build_host_references_from_libicutu +} + PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}" -do_install_append_class-native() { +do_install:append:class-native() { mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config @@ -54,80 +56,92 @@ do_install_append_class-native() { cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE} } -do_install_append_class-target() { - # The native pkgdata can not generate the correct data file. - # Use icupkg to re-generate it. - if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then - rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat - icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat - fi - - # Remove build host references... +remove_build_host_references() { sed -i \ -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ -e 's|${DEBUG_PREFIX_MAP}||g' \ -e 's:${HOSTTOOLS_DIR}/::g' \ - ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \ - ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc + ${D}/${libdir}/${BPN}/${@icu_install_folder(d)}/Makefile.inc \ + ${D}/${libdir}/${BPN}/${@icu_install_folder(d)}/pkgdata.inc +} + +do_install:append:class-target() { + # The native pkgdata can not generate the correct data file. + # Use icupkg to re-generate it. + if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then + rm -f ${D}/${datadir}/${BPN}/${@icu_install_folder(d)}/icudt${ICU_MAJOR_VER}b.dat + icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${@icu_install_folder(d)}/icudt${ICU_MAJOR_VER}b.dat + fi + + remove_build_host_references +} + +do_install:append:class-nativesdk() { + remove_build_host_references } PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio" -FILES_${PN}-dev += "${libdir}/${BPN}/" +FILES:${PN}-dev += "${libdir}/${BPN}/" -FILES_libicudata = "${libdir}/libicudata.so.*" -FILES_libicuuc = "${libdir}/libicuuc.so.*" -FILES_libicui18n = "${libdir}/libicui18n.so.*" -FILES_libicutu = "${libdir}/libicutu.so.*" -FILES_libicuio = "${libdir}/libicuio.so.*" +FILES:libicudata = "${libdir}/libicudata.so.*" +FILES:libicuuc = "${libdir}/libicuuc.so.*" +FILES:libicui18n = "${libdir}/libicui18n.so.*" +FILES:libicutu = "${libdir}/libicutu.so.*" +FILES:libicuio = "${libdir}/libicuio.so.*" BBCLASSEXTEND = "native nativesdk" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=002d2fdc32d17f0ec06e9a47f2c0c8d0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=9cf7c317c3f2a0962437465a9022dbe9" def icu_download_version(d): - pvsplit = d.getVar('PV').split('.') + pvsplit = d.getVar('PV').split('-') return pvsplit[0] + "_" + pvsplit[1] def icu_download_folder(d): - pvsplit = d.getVar('PV').split('.') + pvsplit = d.getVar('PV').split('-') return pvsplit[0] + "-" + pvsplit[1] +def icu_install_folder(d): + pvsplit = d.getVar('PV').split('-') + return pvsplit[0] + "." + pvsplit[1] + ICU_PV = "${@icu_download_version(d)}" ICU_FOLDER = "${@icu_download_folder(d)}" # http://errors.yoctoproject.org/Errors/Details/20486/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" -BASE_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-src.tgz" -DATA_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-data.zip" +BASE_SRC_URI = "${GITHUB_BASE_URI}/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-src.tgz" +DATA_SRC_URI = "${GITHUB_BASE_URI}/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-data.zip" SRC_URI = "${BASE_SRC_URI};name=code \ ${DATA_SRC_URI};name=data \ file://filter.json \ file://fix-install-manx.patch \ file://0001-icu-Added-armeb-support.patch \ + file://ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch \ " -SRC_URI_append_class-target = "\ +SRC_URI:append:class-target = "\ file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ " -SRC_URI[code.sha256sum] = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745" -SRC_URI[data.sha256sum] = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf" +SRC_URI[code.sha256sum] = "cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef" +SRC_URI[data.sha256sum] = "a5104212dc317a64f9b035723ea706f2f4fd5a0f37b7923fae7aeb9d1d0061b1" -UPSTREAM_CHECK_REGEX = "icu4c-(?P<pver>\d+(_\d+)+)-src" -UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>(?!.+rc).+)" +GITHUB_BASE_URI = "https://github.com/unicode-org/icu/releases" -EXTRA_OECONF_append_libc-musl = " ac_cv_func_strtod_l=no" +EXTRA_OECONF:append:libc-musl = " ac_cv_func_strtod_l=no" PACKAGECONFIG ?= "" PACKAGECONFIG[make-icudata] = ",,," -do_make_icudata_class-target () { +do_make_icudata:class-target () { ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)} cd ${S} rm -rf data - cp -a ${WORKDIR}/data . + cp -a ${UNPACKDIR}/data . AR='${BUILD_AR}' \ CC='${BUILD_CC}' \ CPP='${BUILD_CPP}' \ @@ -137,7 +151,7 @@ do_make_icudata_class-target () { CPPFLAGS='${BUILD_CPPFLAGS}' \ CXXFLAGS='${BUILD_CXXFLAGS}' \ LDFLAGS='${BUILD_LDFLAGS}' \ - ICU_DATA_FILTER_FILE=${WORKDIR}/filter.json \ + ICU_DATA_FILTER_FILE=${UNPACKDIR}/filter.json \ ./runConfigureICU Linux --with-data-packaging=archive oe_runmake install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat @@ -147,4 +161,4 @@ do_make_icudata() { : } -addtask make_icudata before do_configure after do_patch +addtask make_icudata before do_configure after do_patch do_prepare_recipe_sysroot diff --git a/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb b/meta/recipes-support/iso-codes/iso-codes_4.16.0.bb index f915716ce7..f33cce1a9d 100644 --- a/meta/recipes-support/iso-codes/iso-codes_4.6.0.bb +++ b/meta/recipes-support/iso-codes/iso-codes_4.16.0.bb @@ -5,11 +5,11 @@ than repeated in many programs throughout the system." HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes" BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=https;branch=main;" -SRCREV = "3c012d266acaeda93d3e61ec11b8c18c1964fce1" +SRCREV = "c2fcaadc832ed9f858950a43994973442d85ef4f" # inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which # are inhibited by allarch @@ -19,4 +19,6 @@ S = "${WORKDIR}/git" inherit allarch autotools -FILES_${PN} += "${datadir}/xml/" +FILES:${PN} += "${datadir}/xml/" + +BBCLASSEXTEND += "native" diff --git a/meta/recipes-support/itstool/itstool/0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch b/meta/recipes-support/itstool/itstool/0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch index 19a858bd75..fdcbe46fed 100644 --- a/meta/recipes-support/itstool/itstool/0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch +++ b/meta/recipes-support/itstool/itstool/0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch @@ -1,4 +1,4 @@ -From 335ef14fc801c9dfbe7e5692dc71cfbe72049d2b Mon Sep 17 00:00:00 2001 +From c47820450ce7f55d22c672cf94d20a5f9fd208bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Sun, 27 Oct 2019 16:38:52 +0100 Subject: [PATCH] Native: Don't use build time hardcoded python binary path. @@ -16,12 +16,13 @@ don't support it [2] Upstream-Status: Inappropriate [OE specific] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> + --- itstool.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/itstool.in b/itstool.in -index e64cd34..05d264f 100755 +index c21ad4b..daea177 100755 --- a/itstool.in +++ b/itstool.in @@ -1,4 +1,4 @@ @@ -30,6 +31,3 @@ index e64cd34..05d264f 100755 # # Copyright (c) 2010-2018 Shaun McCance <shaunm@gnome.org> # --- -2.21.0 - diff --git a/meta/recipes-support/itstool/itstool_2.0.6.bb b/meta/recipes-support/itstool/itstool_2.0.6.bb deleted file mode 100644 index e28e2a2005..0000000000 --- a/meta/recipes-support/itstool/itstool_2.0.6.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "ITS Tool allows you to translate your XML documents with PO files" -DESCRIPTION = "It extracts messages from XML files and outputs PO template \ -files, then merges translations from MO files to create translated \ -XML files. It determines what to translate and how to chunk it into \ -messages using the W3C Internationalization Tag Set (ITS). " -HOMEPAGE = "http://itstool.org/" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=59c57b95fd7d0e9e238ebbc7ad47c5a5" - -inherit autotools python3native - -DEPENDS = "libxml2-native" - -SRC_URI = "http://files.itstool.org/${BPN}/${BPN}-${PV}.tar.bz2" -SRC_URI_append_class-native = " file://0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch" -SRC_URI_append_class-nativesdk = " file://0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch" -SRC_URI_append_class-target = " file://0002-Don-t-use-build-time-hardcoded-python-binary-path.patch" - -SRC_URI[md5sum] = "4306eeba4f4aee6b393d14f9c3c57ca1" -SRC_URI[sha256sum] = "6233cc22726a9a5a83664bf67d1af79549a298c23185d926c3677afa917b92a9" - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS_${PN} += "libxml2-python" diff --git a/meta/recipes-support/itstool/itstool_2.0.7.bb b/meta/recipes-support/itstool/itstool_2.0.7.bb new file mode 100644 index 0000000000..ddbc49b6cf --- /dev/null +++ b/meta/recipes-support/itstool/itstool_2.0.7.bb @@ -0,0 +1,29 @@ +SUMMARY = "ITS Tool allows you to translate your XML documents with PO files" +DESCRIPTION = "It extracts messages from XML files and outputs PO template \ +files, then merges translations from MO files to create translated \ +XML files. It determines what to translate and how to chunk it into \ +messages using the W3C Internationalization Tag Set (ITS). " +HOMEPAGE = "http://itstool.org/" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=59c57b95fd7d0e9e238ebbc7ad47c5a5 \ + file://COPYING.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ +" + +inherit autotools python3native + +DEPENDS = "libxml2-native" + +SRC_URI = "http://files.itstool.org/${BPN}/${BPN}-${PV}.tar.bz2 \ + " +UPSTREAM_CHECK_URI = "https://itstool.org/download.html" + +SRC_URI:append:class-native = " file://0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch" +SRC_URI:append:class-nativesdk = " file://0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch" +SRC_URI:append:class-target = " file://0002-Don-t-use-build-time-hardcoded-python-binary-path.patch" + +SRC_URI[sha256sum] = "6b9a7cd29a12bb95598f5750e8763cee78836a1a207f85b74d8b3275b27e87ca" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += "libxml2-python" diff --git a/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch b/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch index fe811254d3..d67087f4ac 100644 --- a/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch +++ b/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch @@ -1,6 +1,7 @@ -Add pkgconfig support to libassuan. -This patch is rejected by upstream for the reason below: -They think pkgconfig adds no portability and maintaining them is not worthwhile. +From 9d28122b7e7ae3f17364e1ab97355cf5eaf14cb8 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin <tgamblin@baylibre.com> +Date: Wed, 7 Aug 2024 11:36:26 -0400 +Subject: [PATCH] libassuan: add pkgconfig support Upstream-Status: Denied Signed-off-by: Chen Qi <Qi.Chen@windriver.com> @@ -8,18 +9,23 @@ Signed-off-by: Constantin Musca <constantinx.musca@intel.com> forward ported to 2.4.4 Signed-off-by: Armin Kuster <akuster@mvista.com> + +Refactor to apply on top of 3.0.1, including reformatting as an mbox for +easier use. + +Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> --- - src/libassuan.m4 | 81 ++---------------------------------------------- - 1 file changed, 3 insertions(+), 78 deletions(-) + src/libassuan.m4 | 82 ++---------------------------------------------- + 1 file changed, 3 insertions(+), 79 deletions(-) diff --git a/src/libassuan.m4 b/src/libassuan.m4 -index df50484..380a48a 100644 +index 2e98b39..404796f 100644 --- a/src/libassuan.m4 +++ b/src/libassuan.m4 -@@ -17,27 +17,6 @@ dnl Returns ok set to yes or no. - dnl +@@ -103,27 +103,6 @@ dnl AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], - [ AC_REQUIRE([AC_CANONICAL_HOST]) + [ AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl - AC_ARG_WITH(libassuan-prefix, - AS_HELP_STRING([--with-libassuan-prefix=PFX], - [prefix where LIBASSUAN is installed (optional)]), @@ -31,7 +37,7 @@ index df50484..380a48a 100644 - fi - - use_gpgrt_config="" -- if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then +- if test x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then - if $GPGRT_CONFIG libassuan --exists; then - LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan" - AC_MSG_NOTICE([Use gpgrt-config as libassuan-config]) @@ -44,7 +50,7 @@ index df50484..380a48a 100644 tmp=ifelse([$1], ,1:0.9.2,$1) if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then -@@ -47,59 +26,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], +@@ -133,60 +112,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], req_libassuan_api=0 min_libassuan_version="$tmp" fi @@ -90,6 +96,7 @@ index df50484..380a48a 100644 - - if test $ok = yes; then - AC_MSG_RESULT([yes ($libassuan_config_version)]) +- AC_DEFINE(LIBASSUAN_API_REQUESTED, $req_libassuan_api, Requested API version for libassuan) - else - AC_MSG_RESULT(no) - fi @@ -106,7 +113,7 @@ index df50484..380a48a 100644 if test "$tmp" -gt 0 ; then AC_MSG_CHECKING([LIBASSUAN API version]) if test "$req_libassuan_api" -eq "$tmp" ; then -@@ -115,9 +46,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], +@@ -204,9 +134,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], if test $ok = yes; then if test x"$host" != x ; then if test -z "$use_gpgrt_config"; then @@ -117,7 +124,7 @@ index df50484..380a48a 100644 fi if test x"$libassuan_config_host" != xnone ; then if test x"$libassuan_config_host" != x"$host" ; then -@@ -159,12 +88,8 @@ dnl +@@ -248,12 +176,8 @@ dnl AC_DEFUN([AM_PATH_LIBASSUAN], [ _AM_PATH_LIBASSUAN_COMMON($1) if test $ok = yes; then @@ -131,5 +138,5 @@ index df50484..380a48a 100644 fi AC_SUBST(LIBASSUAN_CFLAGS) -- -2.25.1 +2.39.2 diff --git a/meta/recipes-support/libassuan/libassuan_2.5.5.bb b/meta/recipes-support/libassuan/libassuan_3.0.1.bb index 3d12ea09e8..0518ed75aa 100644 --- a/meta/recipes-support/libassuan/libassuan_2.5.5.bb +++ b/meta/recipes-support/libassuan/libassuan_3.0.1.bb @@ -5,9 +5,9 @@ Both, server and client side functions are provided. " HOMEPAGE = "http://www.gnupg.org/related_software/libassuan/" BUGTRACKER = "https://bugs.g10code.com/gnupg/index" -LICENSE = "GPLv3+ & LGPLv2.1+" -LICENSE_${PN} = "LGPLv2.1+" -LICENSE_${PN}-doc = "GPLv3+" +LICENSE = "GPL-3.0-or-later & LGPL-2.1-or-later" +LICENSE:${PN} = "LGPL-2.1-or-later" +LICENSE:${PN}-doc = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ file://src/assuan.c;endline=20;md5=ab92143a5a2adabd06d7994d1467ea5c\ @@ -20,18 +20,18 @@ SRC_URI = "${GNUPG_MIRROR}/libassuan/libassuan-${PV}.tar.bz2 \ file://libassuan-add-pkgconfig-support.patch \ " -SRC_URI[sha256sum] = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4" +SRC_URI[sha256sum] = "c8f0f42e6103dea4b1a6a483cb556654e97302c7465308f58363778f95f194b1" BINCONFIG = "${bindir}/libassuan-config" inherit autotools texinfo binconfig-disabled pkgconfig multilib_header -do_configure_prepend () { +do_configure:prepend () { # Else these could be used in preference to those in aclocal-copy rm -f ${S}/m4/*.m4 } -do_install_append () { +do_install:append () { oe_multilib_header assuan.h } diff --git a/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb b/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb deleted file mode 100644 index 3089d1f7ff..0000000000 --- a/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A library for atomic integer operations" -DESCRIPTION = "Package provides semi-portable access to hardware-provided atomic memory update operations on a number of architectures." -HOMEPAGE = "https://github.com/ivmai/libatomic_ops/" -SECTION = "optional" -PROVIDES += "libatomics-ops" -LICENSE = "GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://doc/LICENSING.txt;md5=e00dd5c8ac03a14c5ae5225a4525fa2d \ - " - -SRC_URI = "https://github.com/ivmai/libatomic_ops/releases/download/v${PV}/libatomic_ops-${PV}.tar.gz" -UPSTREAM_CHECK_URI = "https://github.com/ivmai/libatomic_ops/releases" - -SRC_URI[md5sum] = "90a78a84d9c28ce11f331c25289bfbd0" -SRC_URI[sha256sum] = "587edf60817f56daf1e1ab38a4b3c729b8e846ff67b4f62a6157183708f099af" - -S = "${WORKDIR}/libatomic_ops-${PV}" - -ALLOW_EMPTY_${PN} = "1" - -inherit autotools pkgconfig - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libatomic-ops/libatomic-ops_7.8.2.bb b/meta/recipes-support/libatomic-ops/libatomic-ops_7.8.2.bb new file mode 100644 index 0000000000..39d761abdd --- /dev/null +++ b/meta/recipes-support/libatomic-ops/libatomic-ops_7.8.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "A library for atomic integer operations" +DESCRIPTION = "Package provides semi-portable access to hardware-provided atomic memory update operations on a number of architectures." +HOMEPAGE = "https://github.com/ivmai/libatomic_ops/" +SECTION = "optional" +PROVIDES += "libatomics-ops" +LICENSE = "GPL-2.0-only & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE;md5=5700d28353dfa2f191ca9b1bd707865e \ + " + +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libatomic_ops-${PV}.tar.gz" +GITHUB_BASE_URI = "https://github.com/ivmai/libatomic_ops/releases" + +SRC_URI[sha256sum] = "d305207fe207f2b3fb5cb4c019da12b44ce3fcbc593dfd5080d867b1a2419b51" + +CVE_PRODUCT = "libatomic_ops" + +S = "${WORKDIR}/libatomic_ops-${PV}" + +ALLOW_EMPTY:${PN} = "1" + +inherit autotools pkgconfig github-releases + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libbsd/libbsd_0.11.3.bb b/meta/recipes-support/libbsd/libbsd_0.12.2.bb index 55ecae2ea5..7d5e88f293 100644 --- a/meta/recipes-support/libbsd/libbsd_0.11.3.bb +++ b/meta/recipes-support/libbsd/libbsd_0.12.2.bb @@ -1,6 +1,3 @@ -# Copyright (C) 2013 Khem Raj <raj.khem@gmail.com> -# Released under the MIT license (see COPYING.MIT for the terms) - SUMMARY = "Library of utility functions from BSD systems" DESCRIPTION = "This library provides useful functions commonly found on BSD systems, \ and lacking on others like GNU systems, thus making it easier to port \ @@ -28,13 +25,20 @@ HOMEPAGE = "https://libbsd.freedesktop.org/wiki/" # License: public-domain # License: public-domain-Colin-Plumb LICENSE = "BSD-3-Clause & BSD-4-Clause & ISC & PD" -LICENSE_${PN} = "BSD-3-Clause & ISC & PD" -LIC_FILES_CHKSUM = "file://COPYING;md5=adf6172075bcc5837e33a8a688eb7e22" +LICENSE:${PN} = "BSD-3-Clause & ISC & PD" +LICENSE:${PN}-dbg = "BSD-3-Clause & ISC & PD" +LICENSE:${PN}-dev = "BSD-3-Clause & ISC & PD" +LICENSE:${PN}-doc = "BSD-3-Clause & BSD-4-Clause & ISC & PD" +LICENSE:${PN}-locale = "BSD-3-Clause & ISC & PD" +LICENSE:${PN}-src = "BSD-3-Clause & ISC & PD" +LICENSE:${PN}-staticdev = "BSD-3-Clause & ISC & PD" + +LIC_FILES_CHKSUM = "file://COPYING;md5=9b087a0981a1fcad42efbba6d4925a0f" SECTION = "libs" SRC_URI = "https://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "ff95cf8184151dacae4247832f8d4ea8800fa127dbd15033ecfe839f285b42a1" +SRC_URI[sha256sum] = "b88cc9163d0c652aaf39a99991d974ddba1c3a9711db8f1b5838af2a14731014" inherit autotools pkgconfig diff --git a/meta/recipes-support/libcap-ng/files/0001-Fix-python-path-when-invoking-py-compile-54.patch b/meta/recipes-support/libcap-ng/files/0001-Fix-python-path-when-invoking-py-compile-54.patch new file mode 100644 index 0000000000..a0452ad53d --- /dev/null +++ b/meta/recipes-support/libcap-ng/files/0001-Fix-python-path-when-invoking-py-compile-54.patch @@ -0,0 +1,34 @@ +From 1fe7c1cfeea00ba4eb903fbb39b74361594d4835 Mon Sep 17 00:00:00 2001 +From: Jan Palus <jpalus@fastmail.com> +Date: Wed, 10 Apr 2024 21:30:51 +0200 +Subject: [PATCH] Fix python path when invoking py-compile (#54) + +48eebb2 replaced custom PYTHON3 variable with PYTHON by using standard +AM_PATH_PYTHON macro. Makefile however still referred to old one. +There's no need to set PYTHON explicitly anymore so drop it. + +Fixes #53 + +Upstream-Status: Backport +[https://github.com/stevegrubb/libcap-ng/commit/1fe7c1cfeea00ba4eb903fbb39b74361594d4835] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + bindings/python3/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/bindings/python3/Makefile.am b/bindings/python3/Makefile.am +index 70a1dd8..6072fc2 100644 +--- a/bindings/python3/Makefile.am ++++ b/bindings/python3/Makefile.am +@@ -27,7 +27,6 @@ AM_CPPFLAGS = -I. -I$(top_builddir) $(PYTHON3_INCLUDES) + LIBS = ${top_builddir}/src/libcap-ng.la + SWIG_FLAGS = -python + SWIG_INCLUDES = ${AM_CPPFLAGS} +-PYTHON = $(PYTHON3) + pyexec_PYTHON = capng.py + pyexec_LTLIBRARIES = _capng.la + pyexec_SOLIBRARIES = _capng.so +-- +2.25.1 + diff --git a/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.2.bb b/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.2.bb deleted file mode 100644 index 6cea422d11..0000000000 --- a/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.2.bb +++ /dev/null @@ -1,28 +0,0 @@ -require libcap-ng.inc - -FILESEXTRAPATHS_prepend := "${THISDIR}/libcap-ng:" - -SUMMARY .= " - python" - -inherit lib_package autotools python3targetconfig - -DEPENDS += "libcap-ng python3 swig-native" - -S = "${WORKDIR}/libcap-ng-${PV}" - -EXTRA_OECONF += "--with-python --with-python3" - -do_install_append() { - rm -rf ${D}${bindir} - rm -rf ${D}${libdir}/.debug - rm -f ${D}${libdir}/lib* - rm -rf ${D}${libdir}/pkgconfig - rm -rf ${D}${datadir} - rm -rf ${D}${includedir} -} - -# PACKAGES = "${PN}" - -FILES_${PN} = "${libdir}/python${PYTHON_BASEVERSION}" -FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/.debug/_capng.so" - diff --git a/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.5.bb b/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.5.bb new file mode 100644 index 0000000000..f702056f02 --- /dev/null +++ b/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.5.bb @@ -0,0 +1,17 @@ +require libcap-ng.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/libcap-ng:" + +SUMMARY .= " - python" + +inherit python3targetconfig + +DEPENDS += "libcap-ng python3 swig-native" + +EXTRA_OECONF += "--with-python3" + +do_install() { + oe_runmake 'DESTDIR=${D}' install -C ${B}/bindings/python3 +} + +FILES:${PN} = "${libdir}/python${PYTHON_BASEVERSION}" diff --git a/meta/recipes-support/libcap-ng/libcap-ng.inc b/meta/recipes-support/libcap-ng/libcap-ng.inc index 64bc62de24..4c8ffd41c2 100644 --- a/meta/recipes-support/libcap-ng/libcap-ng.inc +++ b/meta/recipes-support/libcap-ng/libcap-ng.inc @@ -1,19 +1,25 @@ SUMMARY = "An alternate posix capabilities library" DESCRIPTION = "The libcap-ng library is intended to make programming \ with POSIX capabilities much easier than the traditional libcap library." -HOMEPAGE = "http://freecode.com/projects/libcap-ng" +HOMEPAGE = "https://github.com/stevegrubb/libcap-ng" SECTION = "base" -LICENSE = "GPLv2+ & LGPLv2.1+" +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" -SRC_URI = "https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ - file://determinism.patch \ -" +SRC_URI = "git://github.com/stevegrubb/libcap-ng.git;protocol=https;branch=master \ + file://0001-Fix-python-path-when-invoking-py-compile-54.patch \ + " +SRCREV = "f5d39702622208b3ada064d7b2eaeaf1454c9bd3" +S = "${WORKDIR}/git" -SRC_URI[sha256sum] = "52c083b77c2b0d8449dee141f9c3eba76e6d4c5ad44ef05df25891126cb85ae9" +inherit lib_package autotools -EXTRA_OECONF_append_class-target = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h" -EXTRA_OECONF_append_class-nativesdk = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h" +do_configure:prepend() { + touch ${S}/NEWS +} + +EXTRA_OECONF:append:class-target = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h" +EXTRA_OECONF:append:class-nativesdk = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libcap-ng/libcap-ng/determinism.patch b/meta/recipes-support/libcap-ng/libcap-ng/determinism.patch deleted file mode 100644 index fbb7380f56..0000000000 --- a/meta/recipes-support/libcap-ng/libcap-ng/determinism.patch +++ /dev/null @@ -1,59 +0,0 @@ -[PATCH] bindings/python: Allow hardcoded path to capability.h to be overridden - -Currently the path to capability.h is hardcoded. When cross compiling -the host capabiity.h may be different to the target copy, leading -to different options being encoded in the python bindings than -expected. This causes a reproducibility issue amongst other potential -problems. - -Add a configure option to optionally specify the right path to the -correct header as its probably safer/more reliable than trying to -query the compiler to get the header path. - -Signed-off-by: Richard Purdie richard.purdie@linuxfoundation.org -Upstream-Status: Submitted [https://github.com/stevegrubb/libcap-ng/pull/30] - -Index: libcap-ng-0.8.2/configure.ac -=================================================================== ---- libcap-ng-0.8.2.orig/configure.ac -+++ libcap-ng-0.8.2/configure.ac -@@ -63,6 +63,13 @@ AC_CHECK_HEADERS(sys/vfs.h, [ - AC_CHECK_HEADERS(linux/magic.h, [] [AC_MSG_WARN(linux/magic.h is required in order to verify procfs.)]) - ], [AC_MSG_WARN(sys/vfs.h is required in order to verify procfs.)]) - -+ -+AC_ARG_WITH([capability_header], -+ [AS_HELP_STRING([--with-capability_header=path : path to cpapbility.h])], -+ [CAPABILITY_HEADER=$withval], -+ [CAPABILITY_HEADER=/usr/include/linux/capability.h]) -+AC_SUBST(CAPABILITY_HEADER) -+ - AC_C_CONST - AC_C_INLINE - AM_PROG_CC_C_O -Index: libcap-ng-0.8.2/bindings/python3/Makefile.am -=================================================================== ---- libcap-ng-0.8.2.orig/bindings/python3/Makefile.am -+++ libcap-ng-0.8.2/bindings/python3/Makefile.am -@@ -41,7 +41,7 @@ nodist__capng_la_SOURCES = capng_wrap.c - capng.py capng_wrap.c: ${srcdir}/../src/capng_swig.i caps.h capng.h - swig -o capng_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} ${srcdir}/../src/capng_swig.i - caps.h: -- cat /usr/include/linux/capability.h | grep '^#define CAP' | grep -v '[()]' > caps.h -+ cat $(CAPABILITY_HEADER) | grep '^#define CAP' | grep -v '[()]' > caps.h - capng.h: - cat ${top_srcdir}/src/cap-ng.h | grep -v '_state' > capng.h - -Index: libcap-ng-0.8.2/bindings/python/Makefile.am -=================================================================== ---- libcap-ng-0.8.2.orig/bindings/python/Makefile.am -+++ libcap-ng-0.8.2/bindings/python/Makefile.am -@@ -38,7 +38,7 @@ nodist__capng_la_SOURCES = capng_wrap.c - capng.py capng_wrap.c: ${srcdir}/../src/capng_swig.i caps.h capng.h - swig -o capng_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} ${srcdir}/../src/capng_swig.i - caps.h: -- cat /usr/include/linux/capability.h | grep '^#define CAP' | grep -v '[()]' > caps.h -+ cat $(CAPABILITY_HEADER) | grep '^#define CAP' | grep -v '[()]' > caps.h - capng.h: - cat ${top_srcdir}/src/cap-ng.h | grep -v '_state' > capng.h - diff --git a/meta/recipes-support/libcap-ng/libcap-ng_0.8.2.bb b/meta/recipes-support/libcap-ng/libcap-ng_0.8.5.bb index 6e6de45494..b482368a41 100644 --- a/meta/recipes-support/libcap-ng/libcap-ng_0.8.2.bb +++ b/meta/recipes-support/libcap-ng/libcap-ng_0.8.5.bb @@ -1,12 +1,10 @@ require libcap-ng.inc -inherit lib_package autotools - -EXTRA_OECONF += "--without-python --without-python3" +EXTRA_OECONF += "--without-python3" BBCLASSEXTEND = "native nativesdk" -do_install_append() { +do_install:append() { # Moving libcap-ng to base_libdir if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then mkdir -p ${D}/${base_libdir}/ diff --git a/meta/recipes-support/libcap/files/0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch b/meta/recipes-support/libcap/files/0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch index 05c771ac10..e77d0c8c51 100644 --- a/meta/recipes-support/libcap/files/0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch +++ b/meta/recipes-support/libcap/files/0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch @@ -1,4 +1,10 @@ -Ensure the XATTR_NAME_CAPS is defined when it is used +From 2261f47bac78aa77934ca03980ed54d1d86116b9 Mon Sep 17 00:00:00 2001 +From: Roy Li <rongqing.li@windriver.com> +Date: Thu, 23 Jun 2016 16:26:43 +0800 +Subject: [PATCH] Ensure the XATTR_NAME_CAPS is defined when it is used +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit Upstream-Status: Pending @@ -15,10 +21,10 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcap/cap_file.c b/libcap/cap_file.c -index 40756ea..e27ca80 100644 +index 0bc07f7..37bc34e 100644 --- a/libcap/cap_file.c +++ b/libcap/cap_file.c -@@ -25,7 +25,7 @@ extern int fremovexattr(int, const char *); +@@ -44,7 +44,7 @@ extern int fremovexattr(int, const char *); #include "libcap.h" @@ -27,6 +33,3 @@ index 40756ea..e27ca80 100644 #if VFS_CAP_U32 != __CAP_BLKS # error VFS representation of capabilities is not the same size as kernel --- -2.8.1 - diff --git a/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch b/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch new file mode 100644 index 0000000000..ecbdd22099 --- /dev/null +++ b/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch @@ -0,0 +1,33 @@ +From fcb0166c5e991fcf62797b19bea39983214289cb Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 14 Oct 2021 15:57:36 +0800 +Subject: [PATCH] nativesdk-libcap: Raise the size of arrays containing dl + paths + +This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings +and lengths as well as ld.so.cache path in the dynamic loader to specific +sections in memory. The sections that contain paths have been allocated a 4096 +byte section, which is the maximum path length in linux. This will allow the +relocating script to parse the ELF binary, detect the section and easily replace +the strings in a certain path. + +Upstream-Status: Inappropriate [SDK specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + libcap/execable.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libcap/execable.h b/libcap/execable.h +index 7a2d247..682e0ee 100644 +--- a/libcap/execable.h ++++ b/libcap/execable.h +@@ -23,7 +23,7 @@ + #endif + #define __EXECABLE_H + +-const char __execable_dl_loader[] __attribute((section(".interp"))) = ++const char __execable_dl_loader[4096] __attribute((section(".interp"))) = + SHARED_LOADER ; + + static void __execable_parse_args(int *argc_p, char ***argv_p) diff --git a/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch b/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch deleted file mode 100644 index d2653afb75..0000000000 --- a/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 6aa15fe548e5b1d6ca3b373779beb7521ea95ba9 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 15 Jan 2020 17:16:28 +0100 -Subject: [PATCH] tests: do not statically link a test - -This fails on e.g. centos 7 - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - progs/Makefile | 2 +- - tests/Makefile | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/progs/Makefile b/progs/Makefile -index 1d7fc7a..37db8f7 100644 ---- a/progs/Makefile -+++ b/progs/Makefile -@@ -42,7 +42,7 @@ endif - test: $(PROGS) - - tcapsh-static: capsh.c $(DEPS) -- $(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS) --static -+ $(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS) - - sudotest: test tcapsh-static - sudo $(LDPATH) ./quicktest.sh -diff --git a/tests/Makefile b/tests/Makefile -index 01f7589..094ec57 100644 ---- a/tests/Makefile -+++ b/tests/Makefile -@@ -22,7 +22,7 @@ ifeq ($(PTHREADS),yes) - DEPS += ../libcap/libpsx.so - endif - else --LDFLAGS += --static -+LDFLAGS += - DEPS=../libcap/libcap.a - ifeq ($(PTHREADS),yes) - DEPS += ../libcap/libpsx.a -@@ -106,7 +106,7 @@ noexploit: exploit.o $(DEPS) - - # This one runs in a chroot with no shared library files. - noop: noop.c -- $(CC) $(CFLAGS) $< -o $@ --static -+ $(CC) $(CFLAGS) $< -o $@ - - clean: - rm -f psx_test libcap_psx_test libcap_launch_test *~ --- -2.17.1 - diff --git a/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch b/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch index 69287152eb..31f27e914f 100644 --- a/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch +++ b/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch @@ -1,30 +1,29 @@ -From 652071e430d5eea758965176b7648e79ad404daa Mon Sep 17 00:00:00 2001 +From a3368b38abfb703e730fc5462f42cc5d177d864d Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 20 Dec 2019 16:54:05 +0100 Subject: [PATCH] tests: do not run target executables Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - --- tests/Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/Makefile b/tests/Makefile -index fc39fee..3431df9 100644 +index ecb7d1b..8950c73 100644 --- a/tests/Makefile +++ b/tests/Makefile -@@ -59,13 +59,11 @@ endif +@@ -61,13 +61,11 @@ endif # unprivileged run_psx_test: psx_test - ./psx_test psx_test: psx_test.c $(DEPS) - $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LINKEXTRA) $(LIBPSXLIB) $(LDFLAGS) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $< -o $@ $(LINKEXTRA) $(LIBPSXLIB) run_libcap_psx_test: libcap_psx_test - ./libcap_psx_test libcap_psx_test: libcap_psx_test.c $(DEPS) - $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LINKEXTRA) $(LIBCAPLIB) $(LIBPSXLIB) $(LDFLAGS) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $< -o $@ $(LINKEXTRA) $(LIBCAPLIB) $(LIBPSXLIB) diff --git a/meta/recipes-support/libcap/libcap_2.49.bb b/meta/recipes-support/libcap/libcap_2.70.bb index 3f4a9256cf..6e2fd728e2 100644 --- a/meta/recipes-support/libcap/libcap_2.49.bb +++ b/meta/recipes-support/libcap/libcap_2.70.bb @@ -4,33 +4,29 @@ These allow giving various kinds of specific privileges to individual \ users, without giving them full root permissions." HOMEPAGE = "http://sites.google.com/site/fullycapable/" # no specific GPL version required -LICENSE = "BSD | GPLv2" -LIC_FILES_CHKSUM = "file://License;md5=e2370ba375efe9e1a095c26d37e483b8" +LICENSE = "BSD-3-Clause | GPL-2.0-only" +LIC_FILES_CHKSUM_PAM = "file://pam_cap/License;md5=905326f41d3d1f8df21943f9a4ed6b50" +LIC_FILES_CHKSUM = "file://License;md5=2965a646645b72ecee859b43c592dcaa \ + ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${LIC_FILES_CHKSUM_PAM}', '', d)} \ + " DEPENDS = "hostperl-runtime-native gperf-native" SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \ file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \ file://0002-tests-do-not-run-target-executables.patch \ - file://0001-tests-do-not-statically-link-a-test.patch \ " -SRC_URI[sha256sum] = "e98bc4d93645082ec787730b0fd1a712b38882465c505777de17c338831ee181" +SRC_URI:append:class-nativesdk = " \ + file://0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch \ + " +SRC_URI[sha256sum] = "23a6ef8aadaf1e3e875f633bb2d116cfef8952dba7bc7c569b13458e1952b30f" UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/" inherit lib_package -# do NOT pass target cflags to host compilations -# -do_configure() { - # libcap uses := for compilers, fortunately, it gives us a hint - # on what should be replaced with ?= - sed -e 's,:=,?=,g' -i Make.Rules - sed -e 's,^BUILD_CFLAGS ?= ,BUILD_CFLAGS := $(BUILD_CFLAGS) ,' -i Make.Rules -} - PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" -PACKAGECONFIG_class-native ??= "" +PACKAGECONFIG:class-native ??= "" PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam" @@ -39,16 +35,21 @@ EXTRA_OEMAKE = " \ lib='${baselib}' \ RAISE_SETFCAP=no \ DYNAMIC=yes \ - BUILD_GPERF=yes \ + USE_GPERF=yes \ " -EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}" - -# these are present in the libcap defaults, so include in our CFLAGS too -CFLAGS += "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" +EXTRA_OEMAKE:append:class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}" do_compile() { - oe_runmake ${PACKAGECONFIG_CONFARGS} + unset CFLAGS BUILD_CFLAGS + oe_runmake \ + ${PACKAGECONFIG_CONFARGS} \ + AR="${AR}" \ + CC="${CC}" \ + RANLIB="${RANLIB}" \ + OBJCOPY="${OBJCOPY}" \ + COPTS="${CFLAGS}" \ + BUILD_COPTS="${BUILD_CFLAGS}" } do_install() { @@ -59,7 +60,7 @@ do_install() { SBINDIR="${sbindir}" } -do_install_append() { +do_install:append() { # Move the library to base_libdir install -d ${D}${base_libdir} if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then @@ -70,9 +71,9 @@ do_install_append() { fi } -FILES_${PN}-dev += "${base_libdir}/*.so" +FILES:${PN}-dev += "${base_libdir}/*.so" # pam files -FILES_${PN} += "${base_libdir}/security/*.so" +FILES:${PN} += "${base_libdir}/security/*.so" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libcheck/libcheck/automake-output.patch b/meta/recipes-support/libcheck/libcheck/automake-output.patch new file mode 100644 index 0000000000..c860f0cc0f --- /dev/null +++ b/meta/recipes-support/libcheck/libcheck/automake-output.patch @@ -0,0 +1,82 @@ +Add optional output in automake style, for integration with ptest. +Export CK_AUTOMAKE=1 when running a test suite and you'll get +PASS/FAIL lines on standard output. + +Marking this as Inappropriate right now as it's a little rough on the +edges. Filed https://github.com/libcheck/check/issues/349 to discuss +with upstream. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@arm.com> + +diff --git a/src/check_log.c b/src/check_log.c +index 0844661..ad23c65 100644 +--- a/src/check_log.c ++++ b/src/check_log.c +@@ -26,6 +26,7 @@ + #if ENABLE_SUBUNIT + #include <subunit/child.h> + #endif ++#include <libgen.h> + + #include "check_error.h" + #include "check_list.h" +@@ -381,6 +382,34 @@ void tap_lfun(SRunner * sr CK_ATTRIBUTE_UNUSED, FILE * file, + } + } + ++void am_lfun(SRunner * sr CK_ATTRIBUTE_UNUSED, FILE * file, ++ enum print_output printmode CK_ATTRIBUTE_UNUSED, void *obj, ++ enum cl_event evt) ++{ ++ TestResult *tr; ++ const char* types[] = { "INVALID", "PASS", "FAIL", "ERROR"}; ++ ++ switch (evt) ++ { ++ case CLINITLOG_SR: ++ case CLENDLOG_SR: ++ case CLSTART_SR: ++ case CLSTART_S: ++ case CLEND_SR: ++ case CLEND_S: ++ case CLSTART_T: ++ break; ++ case CLEND_T: ++ tr = (TestResult *)obj; ++ fprintf(file, "%s: %s:%s:%s %s\n", ++ types[tr->rtype], basename(tr->file), tr->tcname, tr->tname, tr->msg); ++ fflush(file); ++ break; ++ default: ++ eprintf("Bad event type received in am_lfun", __FILE__, __LINE__); ++ } ++} ++ + #if ENABLE_SUBUNIT + void subunit_lfun(SRunner * sr, FILE * file, enum print_output printmode, + void *obj, enum cl_event evt) +@@ -527,6 +556,9 @@ void srunner_init_logging(SRunner * sr, enum print_output print_mode) + { + srunner_register_lfun(sr, f, f != stdout, tap_lfun, print_mode); + } ++ if (getenv("CK_AUTOMAKE")) ++ srunner_register_lfun(sr, stdout, 0, am_lfun, print_mode); ++ + srunner_send_evt(sr, NULL, CLINITLOG_SR); + } + +diff --git a/src/check_log.h b/src/check_log.h +index 7223b98..bfe1de3 100644 +--- a/src/check_log.h ++++ b/src/check_log.h +@@ -40,6 +40,9 @@ void xml_lfun(SRunner * sr, FILE * file, enum print_output, + void tap_lfun(SRunner * sr, FILE * file, enum print_output, + void *obj, enum cl_event evt); + ++void am_lfun(SRunner * sr, FILE * file, enum print_output, ++ void *obj, enum cl_event evt); ++ + void subunit_lfun(SRunner * sr, FILE * file, enum print_output, + void *obj, enum cl_event evt); + diff --git a/meta/recipes-support/libcheck/libcheck_0.15.2.bb b/meta/recipes-support/libcheck/libcheck_0.15.2.bb index 62823023c7..5ab67b8728 100644 --- a/meta/recipes-support/libcheck/libcheck_0.15.2.bb +++ b/meta/recipes-support/libcheck/libcheck_0.15.2.bb @@ -7,27 +7,30 @@ reportable in the following: Subunit, TAP, XML, and a generic logging format." HOMEPAGE = "https://libcheck.github.io/check/" SECTION = "devel" -LICENSE = "LGPLv2.1+" +LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=2d5025d4aa3495befef8f17206a5b0a1" -SRC_URI = "https://github.com/${BPN}/check/releases/download/${PV}/check-${PV}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/check-${PV}.tar.gz \ + file://automake-output.patch \ file://not-echo-compiler-info-to-check_stdint.h.patch" SRC_URI[sha256sum] = "a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a" -UPSTREAM_CHECK_URI = "https://github.com/libcheck/check/releases/" +GITHUB_BASE_URI = "https://github.com/libcheck/check/releases/" S = "${WORKDIR}/check-${PV}" -inherit autotools pkgconfig texinfo +inherit autotools pkgconfig texinfo github-releases CACHED_CONFIGUREVARS += "ac_cv_path_AWK_PATH=${bindir}/gawk" -RREPLACES_${PN} = "check (<= 0.9.5)" +RREPLACES:${PN} = "check (<= 0.9.5)" +do_install:append:class-native() { + create_cmdline_shebang_wrapper ${D}${bindir}/checkmk +} BBCLASSEXTEND = "native nativesdk" PACKAGES =+ "checkmk" -FILES_checkmk = "${bindir}/checkmk" - -RDEPENDS_checkmk = "gawk" +FILES:checkmk = "${bindir}/checkmk" +RDEPENDS:checkmk = "gawk" diff --git a/meta/recipes-support/libcroco/files/CVE-2020-12825.patch b/meta/recipes-support/libcroco/files/CVE-2020-12825.patch deleted file mode 100644 index 42f92e3607..0000000000 --- a/meta/recipes-support/libcroco/files/CVE-2020-12825.patch +++ /dev/null @@ -1,192 +0,0 @@ -From fdf78a4877afa987ba646a8779b513f258e6d04c Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro <mcatanzaro@gnome.org> -Date: Fri, 31 Jul 2020 15:21:53 -0500 -Subject: [PATCH] libcroco: Limit recursion in block and any productions - - (CVE-2020-12825) - -If we don't have any limits, we can recurse forever and overflow the -stack. - -Fixes #8 -This is per https://gitlab.gnome.org/Archive/libcroco/-/issues/8 - -https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1404 - -CVE: CVE-2020-12825 -Upstream-Status: Backport [https://gitlab.gnome.org/Archive/libcroco/-/commit/6eb257e5c731c691eb137fca94e916ca73941a5a] -Comment: No refreshing changes done. -Signed-off-by: Saloni Jain <Saloni.Jain@kpit.com> - ---- - src/cr-parser.c | 44 +++++++++++++++++++++++++++++--------------- - 1 file changed, 29 insertions(+), 15 deletions(-) - -diff --git a/src/cr-parser.c b/src/cr-parser.c -index 18c9a01..f4a62e3 100644 ---- a/src/cr-parser.c -+++ b/src/cr-parser.c -@@ -136,6 +136,8 @@ struct _CRParserPriv { - - #define CHARS_TAB_SIZE 12 - -+#define RECURSIVE_CALLERS_LIMIT 100 -+ - /** - * IS_NUM: - *@a_char: the char to test. -@@ -344,9 +346,11 @@ static enum CRStatus cr_parser_parse_selector_core (CRParser * a_this); - - static enum CRStatus cr_parser_parse_declaration_core (CRParser * a_this); - --static enum CRStatus cr_parser_parse_any_core (CRParser * a_this); -+static enum CRStatus cr_parser_parse_any_core (CRParser * a_this, -+ guint n_calls); - --static enum CRStatus cr_parser_parse_block_core (CRParser * a_this); -+static enum CRStatus cr_parser_parse_block_core (CRParser * a_this, -+ guint n_calls); - - static enum CRStatus cr_parser_parse_value_core (CRParser * a_this); - -@@ -784,7 +788,7 @@ cr_parser_parse_atrule_core (CRParser * a_this) - cr_parser_try_to_skip_spaces_and_comments (a_this); - - do { -- status = cr_parser_parse_any_core (a_this); -+ status = cr_parser_parse_any_core (a_this, 0); - } while (status == CR_OK); - - status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -@@ -795,7 +799,7 @@ cr_parser_parse_atrule_core (CRParser * a_this) - cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, - token); - token = NULL; -- status = cr_parser_parse_block_core (a_this); -+ status = cr_parser_parse_block_core (a_this, 0); - CHECK_PARSING_STATUS (status, - FALSE); - goto done; -@@ -930,11 +934,11 @@ cr_parser_parse_selector_core (CRParser * a_this) - - RECORD_INITIAL_POS (a_this, &init_pos); - -- status = cr_parser_parse_any_core (a_this); -+ status = cr_parser_parse_any_core (a_this, 0); - CHECK_PARSING_STATUS (status, FALSE); - - do { -- status = cr_parser_parse_any_core (a_this); -+ status = cr_parser_parse_any_core (a_this, 0); - - } while (status == CR_OK); - -@@ -956,10 +960,12 @@ cr_parser_parse_selector_core (CRParser * a_this) - *in chapter 4.1 of the css2 spec. - *block ::= '{' S* [ any | block | ATKEYWORD S* | ';' ]* '}' S*; - *@param a_this the current instance of #CRParser. -+ *@param n_calls used to limit recursion depth - *FIXME: code this function. - */ - static enum CRStatus --cr_parser_parse_block_core (CRParser * a_this) -+cr_parser_parse_block_core (CRParser * a_this, -+ guint n_calls) - { - CRToken *token = NULL; - CRInputPos init_pos; -@@ -967,6 +973,9 @@ cr_parser_parse_block_core (CRParser * a_this) - - g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); - -+ if (n_calls > RECURSIVE_CALLERS_LIMIT) -+ return CR_ERROR; -+ - RECORD_INITIAL_POS (a_this, &init_pos); - - status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -@@ -996,13 +1005,13 @@ cr_parser_parse_block_core (CRParser * a_this) - } else if (token->type == CBO_TK) { - cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); - token = NULL; -- status = cr_parser_parse_block_core (a_this); -+ status = cr_parser_parse_block_core (a_this, n_calls + 1); - CHECK_PARSING_STATUS (status, FALSE); - goto parse_block_content; - } else { - cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); - token = NULL; -- status = cr_parser_parse_any_core (a_this); -+ status = cr_parser_parse_any_core (a_this, n_calls + 1); - CHECK_PARSING_STATUS (status, FALSE); - goto parse_block_content; - } -@@ -1109,7 +1118,7 @@ cr_parser_parse_value_core (CRParser * a_this) - status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, - token); - token = NULL; -- status = cr_parser_parse_block_core (a_this); -+ status = cr_parser_parse_block_core (a_this, 0); - CHECK_PARSING_STATUS (status, FALSE); - ref++; - goto continue_parsing; -@@ -1123,7 +1132,7 @@ cr_parser_parse_value_core (CRParser * a_this) - status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, - token); - token = NULL; -- status = cr_parser_parse_any_core (a_this); -+ status = cr_parser_parse_any_core (a_this, 0); - if (status == CR_OK) { - ref++; - goto continue_parsing; -@@ -1162,10 +1171,12 @@ cr_parser_parse_value_core (CRParser * a_this) - * | FUNCTION | DASHMATCH | '(' any* ')' | '[' any* ']' ] S*; - * - *@param a_this the current instance of #CRParser. -+ *@param n_calls used to limit recursion depth - *@return CR_OK upon successfull completion, an error code otherwise. - */ - static enum CRStatus --cr_parser_parse_any_core (CRParser * a_this) -+cr_parser_parse_any_core (CRParser * a_this, -+ guint n_calls) - { - CRToken *token1 = NULL, - *token2 = NULL; -@@ -1174,6 +1185,9 @@ cr_parser_parse_any_core (CRParser * a_this) - - g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); - -+ if (n_calls > RECURSIVE_CALLERS_LIMIT) -+ return CR_ERROR; -+ - RECORD_INITIAL_POS (a_this, &init_pos); - - status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token1); -@@ -1212,7 +1226,7 @@ cr_parser_parse_any_core (CRParser * a_this) - *We consider parameter as being an "any*" production. - */ - do { -- status = cr_parser_parse_any_core (a_this); -+ status = cr_parser_parse_any_core (a_this, n_calls + 1); - } while (status == CR_OK); - - ENSURE_PARSING_COND (status == CR_PARSING_ERROR); -@@ -1237,7 +1251,7 @@ cr_parser_parse_any_core (CRParser * a_this) - } - - do { -- status = cr_parser_parse_any_core (a_this); -+ status = cr_parser_parse_any_core (a_this, n_calls + 1); - } while (status == CR_OK); - - ENSURE_PARSING_COND (status == CR_PARSING_ERROR); -@@ -1265,7 +1279,7 @@ cr_parser_parse_any_core (CRParser * a_this) - } - - do { -- status = cr_parser_parse_any_core (a_this); -+ status = cr_parser_parse_any_core (a_this, n_calls + 1); - } while (status == CR_OK); - - ENSURE_PARSING_COND (status == CR_PARSING_ERROR); diff --git a/meta/recipes-support/libcroco/libcroco_0.6.13.bb b/meta/recipes-support/libcroco/libcroco_0.6.13.bb deleted file mode 100644 index 66ee647ffa..0000000000 --- a/meta/recipes-support/libcroco/libcroco_0.6.13.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Cascading Style Sheet (CSS) parsing and manipulation toolkit" -DESCRIPTION = "The Libcroco project is an effort to build a generic \ -Cascading Style Sheet (CSS) parsing and manipulation toolkit that can be \ -used by GNOME applications in need of CSS support." -HOMEPAGE = "http://www.gnome.org/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \ - file://src/cr-rgb.c;endline=22;md5=31d5f0944d556c8589d04ea6055fcc66 \ - file://tests/cr-test-utils.c;endline=21;md5=2382c27934cae1d3792fcb17a6142c4e" - -SECTION = "x11/utils" -DEPENDS = "glib-2.0 libxml2 zlib" -BBCLASSEXTEND = "native nativesdk" -EXTRA_OECONF += "--enable-Bsymbolic=auto" - -BINCONFIG = "${bindir}/croco-0.6-config" - -inherit gnomebase gtk-doc binconfig-disabled - -SRC_URI[archive.md5sum] = "c80c5a8385011a0260dce6bd0da93dce" -SRC_URI[archive.sha256sum] = "767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4" - -SRC_URI +="file://CVE-2020-12825.patch \ -" diff --git a/meta/recipes-support/libdaemon/libdaemon_0.14.bb b/meta/recipes-support/libdaemon/libdaemon_0.14.bb index 85a30bcac3..089f19d1cd 100644 --- a/meta/recipes-support/libdaemon/libdaemon_0.14.bb +++ b/meta/recipes-support/libdaemon/libdaemon_0.14.bb @@ -4,9 +4,8 @@ facilities for logging and a signal handler to enable graceful shutdown, \ as well as file locking to ensure that only a single copy of a given daemon \ is running at a time." SECTION = "libs" -AUTHOR = "Lennart Poettering <lennart@poettering.net>" HOMEPAGE = "http://0pointer.de/lennart/projects/libdaemon/" -LICENSE = "LGPLv2.1+" +LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ file://libdaemon/daemon.h;beginline=9;endline=21;md5=bd9fbe57cd96d1a5848a8ba12d9a6bf4" diff --git a/meta/recipes-support/libevdev/libevdev/determinism.patch b/meta/recipes-support/libevdev/libevdev/determinism.patch deleted file mode 100644 index 71cbd876eb..0000000000 --- a/meta/recipes-support/libevdev/libevdev/determinism.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 4f196323aba5b0f49979826533c65633b8a9b6a2 Mon Sep 17 00:00:00 2001 -From: Richard Purdie <richard.purdie@linuxfoundation.org> -Date: Fri, 7 Feb 2020 12:29:56 +0000 -Subject: [PATCH] libevdev: Fix determinism issue - -The order of dict values is not deterministic leading to differing header file generation. -Sort to remove this inconsistency. - -RP 2020/2/7 - -Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> -Submitted: https://lists.freedesktop.org/archives/input-tools/2021-February/001560.html -Upstream-Status: Backport [https://gitlab.freedesktop.org/libevdev/libevdev/-/commit/8d70f449892c6f7659e07bb0f06b8347677bb7d8] - ---- - libevdev/make-event-names.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/libevdev/make-event-names.py b/libevdev/make-event-names.py -index 88addd7..c973e2a 100755 ---- a/libevdev/make-event-names.py -+++ b/libevdev/make-event-names.py -@@ -70,10 +70,10 @@ def print_bits(bits, prefix): - if not hasattr(bits, prefix): - return - print("static const char * const %s_map[%s_MAX + 1] = {" % (prefix, prefix.upper())) -- for val, name in list(getattr(bits, prefix).items()): -+ for val, name in sorted(list(getattr(bits, prefix).items())): - print(" [%s] = \"%s\"," % (name, name)) - if prefix == "key": -- for val, name in list(getattr(bits, "btn").items()): -+ for val, name in sorted(list(getattr(bits, "btn").items())): - print(" [%s] = \"%s\"," % (name, name)) - print("};") - print("") -@@ -118,7 +118,7 @@ def print_lookup(bits, prefix): - if not hasattr(bits, prefix): - return - -- names = list(getattr(bits, prefix).items()) -+ names = sorted(list(getattr(bits, prefix).items())) - if prefix == "btn": - names = names + btn_additional - diff --git a/meta/recipes-support/libevdev/libevdev_1.11.0.bb b/meta/recipes-support/libevdev/libevdev_1.13.2.bb index 5aca76dbd7..fd2bfdad9b 100644 --- a/meta/recipes-support/libevdev/libevdev_1.11.0.bb +++ b/meta/recipes-support/libevdev/libevdev_1.13.2.bb @@ -9,9 +9,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=80c550b3197bcb8da7d7557ebcc3fc46 \ " -SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz \ - file://determinism.patch" -SRC_URI[sha256sum] = "63f4ea1489858a109080e0b40bd43e4e0903a1e12ea888d581db8c495747c2d0" +SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz" +SRC_URI[sha256sum] = "3eca86a6ce55b81d5bce910637fc451c8bbe373b1f9698f375c7f1ad0de3ac48" inherit autotools pkgconfig diff --git a/meta/recipes-support/libevent/libevent/0002-test-regress.h-Increase-default-timeval-tolerance-50.patch b/meta/recipes-support/libevent/libevent/0002-test-regress.h-Increase-default-timeval-tolerance-50.patch new file mode 100644 index 0000000000..0b20eda3c0 --- /dev/null +++ b/meta/recipes-support/libevent/libevent/0002-test-regress.h-Increase-default-timeval-tolerance-50.patch @@ -0,0 +1,33 @@ +From dff8fd27edb23bc1486809186c6a4fe1f75f2179 Mon Sep 17 00:00:00 2001 +From: Yi Fan Yu <yifan.yu@windriver.com> +Date: Thu, 22 Apr 2021 22:35:59 -0400 +Subject: [PATCH] test/regress.h: Increase default timeval tolerance 50 ms -> + 100 ms + +The default timeout tolerance is 50 ms, +which causes intermittent failure in many the +related tests in arm64 QEMU. + +See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14163 +(The root cause seems to be a heavy load) + +Upstream-Status: Submitted [https://github.com/libevent/libevent/pull/1157] + +Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> +--- + test/regress.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/regress.h b/test/regress.h +index f06a7669..829af4a7 100644 +--- a/test/regress.h ++++ b/test/regress.h +@@ -127,7 +127,7 @@ int test_ai_eq_(const struct evutil_addrinfo *ai, const char *sockaddr_port, + tt_int_op(labs(timeval_msec_diff((tv1), (tv2)) - diff), <=, tolerance) + + #define test_timeval_diff_eq(tv1, tv2, diff) \ +- test_timeval_diff_leq((tv1), (tv2), (diff), 50) ++ test_timeval_diff_leq((tv1), (tv2), (diff), 100) + + long timeval_msec_diff(const struct timeval *start, const struct timeval *end); + diff --git a/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch b/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch new file mode 100644 index 0000000000..ddc19c495f --- /dev/null +++ b/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch @@ -0,0 +1,28 @@ +From d01a57a998798da977c470f3b8d6a457c1adb144 Mon Sep 17 00:00:00 2001 +From: Azat Khuzhin <azat@libevent.org> +Date: Sun, 19 Sep 2021 00:57:31 +0300 +Subject: [PATCH] test: mark util/monotonic_prc_fallback as retriable + +Refs: #1193 + +Upstream-Status: Backport +--- + test/regress_util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/regress_util.c b/test/regress_util.c +index 45caa2700a40..a9e80db20149 100644 +--- a/test/regress_util.c ++++ b/test/regress_util.c +@@ -1672,7 +1672,7 @@ struct testcase_t util_testcases[] = { + { "monotonic_res_fallback", test_evutil_monotonic_res, TT_OFF_BY_DEFAULT, &basic_setup, (void*)"fallback" }, + { "monotonic_prc", test_evutil_monotonic_prc, 0, &basic_setup, (void*)"" }, + { "monotonic_prc_precise", test_evutil_monotonic_prc, TT_RETRIABLE, &basic_setup, (void*)"precise" }, +- { "monotonic_prc_fallback", test_evutil_monotonic_prc, 0, &basic_setup, (void*)"fallback" }, ++ { "monotonic_prc_fallback", test_evutil_monotonic_prc, TT_RETRIABLE, &basic_setup, (void*)"fallback" }, + { "date_rfc1123", test_evutil_date_rfc1123, 0, NULL, NULL }, + { "evutil_v4addr_is_local", test_evutil_v4addr_is_local, 0, NULL, NULL }, + { "evutil_v6addr_is_local", test_evutil_v6addr_is_local, 0, NULL, NULL }, +-- +2.31.1 + diff --git a/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch b/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch new file mode 100644 index 0000000000..26b707ad31 --- /dev/null +++ b/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch @@ -0,0 +1,81 @@ +From 36ebd92fa53c0097f1e2f9ec5aa5b5c6ec1b411d Mon Sep 17 00:00:00 2001 +From: Thomas Perrot <thomas.perrot@bootlin.com> +Date: Wed, 29 Sep 2021 13:50:35 +0200 +Subject: [PATCH] test: retriable tests are marked failed only when all + attempts have failed + +Fixes: #1193 + +Upstream-Status: Backport [https://github.com/libevent/libevent/commit/3daebf308a01b4b2d3fb867be3d6631f7b5a2dbb] + +Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> +--- + test/tinytest.c | 13 ++++++------- + test/tinytest.h | 2 +- + 2 files changed, 7 insertions(+), 8 deletions(-) + +diff --git a/test/tinytest.c b/test/tinytest.c +index 85dfe74a720e..bf2882418eb6 100644 +--- a/test/tinytest.c ++++ b/test/tinytest.c +@@ -310,7 +310,8 @@ testcase_run_forked_(const struct testgroup_t *group, + + int + testcase_run_one(const struct testgroup_t *group, +- const struct testcase_t *testcase) ++ const struct testcase_t *testcase, ++ const int test_attempts) + { + enum outcome outcome; + +@@ -348,7 +349,7 @@ testcase_run_one(const struct testgroup_t *group, + if (opt_verbosity>0 && !opt_forked) + puts("SKIPPED"); + } else { +- if (!opt_forked) ++ if (!opt_forked && (testcase->flags & TT_RETRIABLE) && !test_attempts) + printf("\n [%s FAILED]\n", testcase->name); + } + +@@ -525,22 +526,20 @@ tinytest_main(int c, const char **v, struct testgroup_t *groups) + struct testgroup_t *group = &groups[i]; + for (j = 0; group->cases[j].name; ++j) { + struct testcase_t *testcase = &group->cases[j]; +- int test_attempts = 3; ++ int test_attempts = (testcase->flags & TT_RETRIABLE) ? 3: 1; + int test_ret_err; + + if (!(testcase->flags & TT_ENABLED_)) + continue; + + for (;;) { +- test_ret_err = testcase_run_one(group, testcase); ++ test_ret_err = testcase_run_one(group, testcase, test_attempts); + + if (test_ret_err == OK) + break; +- if (!(testcase->flags & TT_RETRIABLE)) ++ if (!--test_attempts) + break; + printf("\n [RETRYING %s (%i)]\n", testcase->name, test_attempts); +- if (!test_attempts--) +- break; + } + + switch (test_ret_err) { +diff --git a/test/tinytest.h b/test/tinytest.h +index d321dd467542..c276b5339331 100644 +--- a/test/tinytest.h ++++ b/test/tinytest.h +@@ -92,7 +92,7 @@ char *tinytest_format_hex_(const void *, unsigned long); + tinytest_set_flag_(groups, named, 1, TT_SKIP) + + /** Run a single testcase in a single group. */ +-int testcase_run_one(const struct testgroup_t *,const struct testcase_t *); ++int testcase_run_one(const struct testgroup_t *,const struct testcase_t *, const int test_attempts); + + void tinytest_set_aliases(const struct testlist_alias_t *aliases); + +-- +2.31.1 + diff --git a/meta/recipes-support/libevent/libevent/run-ptest b/meta/recipes-support/libevent/libevent/run-ptest index d3b5e793c3..ef4260d1c4 100644 --- a/meta/recipes-support/libevent/libevent/run-ptest +++ b/meta/recipes-support/libevent/libevent/run-ptest @@ -1,14 +1,14 @@ #!/bin/sh # run-ptest - 'ptest' test infrastructure shell script that -# wraps the libevent test scripts +# wraps the libevent test scripts # # Trevor Gamblin <trevor.gamblin@windriver.com> ############################################################### LIBEVENTLIB=@libdir@/libevent LOG="${LIBEVENTLIB}/ptest/libevent_ptest_$(date +%Y%m%d-%H%M%S).log" -cd ${LIBEVENTLIB}/ptest +cd ${LIBEVENTLIB}/ptest # Run only the libevent "regress" test. All other test scripts in the # libevent "test" folder are related to performance, e.g. read/write @@ -16,9 +16,9 @@ cd ${LIBEVENTLIB}/ptest # in the ptest log. ./test/regress 2>&1| sed -e '/TESTS/d' -e '/tests/d' -e '/OK/ s/^/PASS: / ; /FAILED/ s/^/FAIL: / ; /SKIPPED/ s/^/SKIP: / ; /DISABLED/ s/^/SKIP: /' | cut -f1,2 -d ':' | tee -a ${LOG} -passed=`grep PASS ${LOG}|wc -l` -failed=`grep FAIL ${LOG}|wc -l` -skipped=`grep -E SKIP ${LOG}|wc -l` +passed=`grep PASS: ${LOG}|wc -l` +failed=`grep FAIL: ${LOG}|wc -l` +skipped=`grep -E SKIP: ${LOG}|wc -l` all=$((passed + failed + skipped)) ( echo "=== Test Summary ===" diff --git a/meta/recipes-support/libevent/libevent_2.1.12.bb b/meta/recipes-support/libevent/libevent_2.1.12.bb index dd4533cce5..25388fb4d7 100644 --- a/meta/recipes-support/libevent/libevent_2.1.12.bb +++ b/meta/recipes-support/libevent/libevent_2.1.12.bb @@ -8,25 +8,27 @@ HOMEPAGE = "http://libevent.org/" BUGTRACKER = "https://github.com/libevent/libevent/issues" SECTION = "libs" -LICENSE = "BSD & MIT" +LICENSE = "BSD-3-Clause & MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=17f20574c0b154d12236d5fbe964f549" -SRC_URI = "https://github.com/libevent/libevent/releases/download/release-${PV}-stable/${BP}-stable.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/release-${PV}-stable/${BP}-stable.tar.gz \ file://Makefile-missing-test-dir.patch \ file://run-ptest \ file://0001-test-regress_dns.c-patch-out-tests-that-require-a-wo.patch \ + file://0002-test-regress.h-Increase-default-timeval-tolerance-50.patch \ + file://0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch \ + file://0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch \ " SRC_URI[sha256sum] = "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb" - -UPSTREAM_CHECK_URI = "http://libevent.org/" +UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>.+)-stable" S = "${WORKDIR}/${BPN}-${PV}-stable" PACKAGECONFIG ??= "" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" -inherit autotools +inherit autotools github-releases # Needed for Debian packaging LEAD_SONAME = "libevent-2.1.so" @@ -39,11 +41,11 @@ PACKAGES_DYNAMIC = "^${PN}-.*$" python split_libevent_libs () { do_split_packages(d, '${libdir}', r'^libevent_([a-z]*)-.*\.so\..*', '${PN}-%s', '${SUMMARY} (%s)', prepend=True, allow_links=True) } -PACKAGESPLITFUNCS_prepend = "split_libevent_libs " +PACKAGESPLITFUNCS =+ "split_libevent_libs" BBCLASSEXTEND = "native nativesdk" -do_install_append() { +do_install:append() { rm ${D}${bindir}/event_rpcgen.py rmdir ${D}${bindir} oe_multilib_header event2/event-config.h @@ -55,7 +57,7 @@ do_install_ptest() { do install -m 0755 $file ${D}${PTEST_PATH}/test done - + # handle multilib sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest } diff --git a/meta/recipes-support/libexif/files/CVE-2020-0198.patch b/meta/recipes-support/libexif/files/CVE-2020-0198.patch deleted file mode 100644 index 2a48844cb2..0000000000 --- a/meta/recipes-support/libexif/files/CVE-2020-0198.patch +++ /dev/null @@ -1,66 +0,0 @@ -From ca71eda33fe8421f98fbe20eb4392473357c1c43 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Wed, 30 Dec 2020 10:22:47 +0800 -Subject: [PATCH] fixed another unsigned integer overflow - -first fixed by google in android fork, -https://android.googlesource.com/platform/external/libexif/+/1e187b62682ffab5003c702657d6d725b4278f16%5E%21/#F0 - -(use a more generic overflow check method, also check second overflow instance.) - -https://security-tracker.debian.org/tracker/CVE-2020-0198 - -Upstream-Status: Backport[https://github.com/libexif/libexif/commit/ce03ad7ef4e8aeefce79192bf5b6f69fae396f0c] -CVE: CVE-2020-0198 - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - libexif/exif-data.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/libexif/exif-data.c b/libexif/exif-data.c -index 8b280d3..34d58fc 100644 ---- a/libexif/exif-data.c -+++ b/libexif/exif-data.c -@@ -47,6 +47,8 @@ - #undef JPEG_MARKER_APP1 - #define JPEG_MARKER_APP1 0xe1 - -+#define CHECKOVERFLOW(offset,datasize,structsize) (( offset >= datasize) || (structsize > datasize) || (offset > datasize - structsize )) -+ - static const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00}; - - struct _ExifDataPrivate -@@ -327,7 +329,7 @@ exif_data_load_data_thumbnail (ExifData *data, const unsigned char *d, - exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Bogus thumbnail offset (%u).", o); - return; - } -- if (s > ds - o) { -+ if (CHECKOVERFLOW(o,ds,s)) { - exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Bogus thumbnail size (%u), max would be %u.", s, ds-o); - return; - } -@@ -420,9 +422,9 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd, - } - - /* Read the number of entries */ -- if ((offset + 2 < offset) || (offset + 2 < 2) || (offset + 2 > ds)) { -+ if (CHECKOVERFLOW(offset, ds, 2)) { - exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifData", -- "Tag data past end of buffer (%u > %u)", offset+2, ds); -+ "Tag data past end of buffer (%u+2 > %u)", offset, ds); - return; - } - n = exif_get_short (d + offset, data->priv->order); -@@ -431,7 +433,7 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd, - offset += 2; - - /* Check if we have enough data. */ -- if (offset + 12 * n > ds) { -+ if (CHECKOVERFLOW(offset, ds, 12*n)) { - n = (ds - offset) / 12; - exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", - "Short data; only loading %hu entries...", n); --- -2.17.1 - diff --git a/meta/recipes-support/libexif/files/CVE-2020-0452.patch b/meta/recipes-support/libexif/files/CVE-2020-0452.patch deleted file mode 100644 index a117b8b369..0000000000 --- a/meta/recipes-support/libexif/files/CVE-2020-0452.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 302acd49eba0a125b0f20692df6abc6f7f7ca53e Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Wed, 30 Dec 2020 10:18:51 +0800 -Subject: [PATCH] fixed a incorrect overflow check that could be optimized - away. - -inspired by: -https://android.googlesource.com/platform/external/libexif/+/8e7345f3bc0bad06ac369d6cbc1124c8ceaf7d4b - -https://source.android.com/security/bulletin/2020-11-01 - -CVE-2020-0452 - -Upsteam-Status: Backport[https://github.com/libexif/libexif/commit/9266d14b5ca4e29b970fa03272318e5f99386e06] -CVE: CVE-2020-0452 - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - libexif/exif-entry.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libexif/exif-entry.c b/libexif/exif-entry.c -index 5de215f..3a6ce84 100644 ---- a/libexif/exif-entry.c -+++ b/libexif/exif-entry.c -@@ -1371,8 +1371,8 @@ exif_entry_get_value (ExifEntry *e, char *val, unsigned int maxlen) - { - unsigned char *utf16; - -- /* Sanity check the size to prevent overflow */ -- if (e->size+sizeof(uint16_t)+1 < e->size) break; -+ /* Sanity check the size to prevent overflow. Note EXIF files are 64kb at most. */ -+ if (e->size >= 65536 - sizeof(uint16_t)*2) break; - - /* The tag may not be U+0000-terminated , so make a local - U+0000-terminated copy before converting it */ --- -2.17.1 - diff --git a/meta/recipes-support/libexif/libexif/0001-Add-serial-tests-config-needed-by-ptest.patch b/meta/recipes-support/libexif/libexif/0001-Add-serial-tests-config-needed-by-ptest.patch new file mode 100644 index 0000000000..505aa07330 --- /dev/null +++ b/meta/recipes-support/libexif/libexif/0001-Add-serial-tests-config-needed-by-ptest.patch @@ -0,0 +1,26 @@ +From 1ee7217c8ae724d793f9a9876c3608057a2ccbf8 Mon Sep 17 00:00:00 2001 +From: Julien Stephan <jstephan@baylibre.com> +Date: Tue, 11 Jul 2023 16:07:54 +0200 +Subject: [PATCH] Add serial-tests config needed by ptest + +Add serial-tests support, ptest needs it. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Julien Stephan <jstephan@baylibre.com> +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index cd48047..5413907 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -16,6 +16,7 @@ AM_INIT_AUTOMAKE([ + dist-zip + check-news + subdir-objects ++ serial-tests + ]) + AM_MAINTAINER_MODE + diff --git a/meta/recipes-support/libexif/libexif/run-ptest b/meta/recipes-support/libexif/libexif/run-ptest new file mode 100644 index 0000000000..2d23159eb0 --- /dev/null +++ b/meta/recipes-support/libexif/libexif/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +make -o Makefile runtest-TESTS diff --git a/meta/recipes-support/libexif/libexif_0.6.22.bb b/meta/recipes-support/libexif/libexif_0.6.22.bb deleted file mode 100644 index 9ca96d548c..0000000000 --- a/meta/recipes-support/libexif/libexif_0.6.22.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Library for reading extended image information (EXIF) from JPEG files" -DESCRIPTION = "libexif is a library for parsing, editing, and saving EXIF data. It is \ -intended to replace lots of redundant implementations in command-line \ -utilities and programs with GUIs." -HOMEPAGE = "https://libexif.github.io/" -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad" - -def version_underscore(v): - return "_".join(v.split(".")) - -SRC_URI = "https://github.com/libexif/libexif/releases/download/libexif-${@version_underscore("${PV}")}-release/libexif-${PV}.tar.xz \ - file://CVE-2020-0198.patch \ - file://CVE-2020-0452.patch \ - " - -SRC_URI[sha256sum] = "5048f1c8fc509cc636c2f97f4b40c293338b6041a5652082d5ee2cf54b530c56" - -UPSTREAM_CHECK_URI = "https://github.com/libexif/libexif/releases/" - -inherit autotools gettext - -EXTRA_OECONF += "--disable-docs" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libexif/libexif_0.6.24.bb b/meta/recipes-support/libexif/libexif_0.6.24.bb new file mode 100644 index 0000000000..b407ee52de --- /dev/null +++ b/meta/recipes-support/libexif/libexif_0.6.24.bb @@ -0,0 +1,47 @@ +SUMMARY = "Library for reading extended image information (EXIF) from JPEG files" +DESCRIPTION = "libexif is a library for parsing, editing, and saving EXIF data. It is \ +intended to replace lots of redundant implementations in command-line \ +utilities and programs with GUIs." +HOMEPAGE = "https://libexif.github.io/" +SECTION = "libs" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad" + +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libexif-${PV}.tar.bz2 \ + file://0001-Add-serial-tests-config-needed-by-ptest.patch \ + file://run-ptest \ + " + +SRC_URI[sha256sum] = "d47564c433b733d83b6704c70477e0a4067811d184ec565258ac563d8223f6ae" + +inherit autotools gettext github-releases ptest + +EXTRA_OECONF += "--disable-docs" + +do_compile_ptest() { + oe_runmake -C test buildtest-TESTS +} + +do_install_ptest() { + install ${B}/test/test*[!\.o] ${D}${PTEST_PATH} + for f in ${D}${PTEST_PATH}/test*; do + sed -i "s/\(LD_LIBRARY_PATH=\).*\(:\$LD_LIBRARY_PATH\)\"/\1.\2/" $f + done + + install ${B}/test/Makefile ${D}${PTEST_PATH} + sed -i -e "/^srcdir/c srcdir = \$\{PWD\}" ${D}${PTEST_PATH}/Makefile + + install -d ${D}${PTEST_PATH}/nls + install ${B}/test/nls/*[!\.o] ${D}${PTEST_PATH}/nls + install -d ${D}${PTEST_PATH}/.libs + install ${B}/test/.libs/* ${D}${PTEST_PATH}/.libs + + install ${S}/test/*.sh ${D}${PTEST_PATH} + + install -d ${D}${PTEST_PATH}/testdata + install ${S}/test/testdata/* ${D}${PTEST_PATH}/testdata +} + +RDEPENDS:${PN}-ptest += "make bash" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128-part2.patch b/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128-part2.patch deleted file mode 100644 index 6b5b7d4747..0000000000 --- a/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128-part2.patch +++ /dev/null @@ -1,34 +0,0 @@ -Address platforms with no __int128. - -Fixes remaining pieces from -https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326 - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- a/src/powerpc/ffi_linux64.c.org 2019-12-05 14:48:33.140579431 -0800 -+++ a/src/powerpc/ffi_linux64.c 2019-12-05 14:53:58.827244495 -0800 -@@ -680,9 +680,9 @@ ffi_prep_args64 (extended_cif *ecif, uns - { - if (vecarg_count < NUM_VEC_ARG_REGISTERS64 - && i < nfixedargs) -- *vec_base.f128++ = *arg.f128++; -+ memcpy (vec_base.f128++, arg.f128, sizeof (float128)); - else -- *next_arg.f128 = *arg.f128++; -+ memcpy (next_arg.f128, arg.f128++, sizeof (float128)); - if (++next_arg.f128 == gpr_end.f128) - next_arg.f128 = rest.f128; - vecarg_count++; -@@ -986,9 +986,9 @@ ffi_closure_helper_LINUX64 (ffi_cif *cif - do - { - if (pvec < end_pvec && i < nfixedargs) -- *to.f128 = *pvec++; -+ memcpy (to.f128, pvec++, sizeof (float128)); - else -- *to.f128 = *from.f128; -+ memcpy (to.f128, from.f128, sizeof (float128)); - to.f128++; - from.f128++; - } diff --git a/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128.patch b/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128.patch deleted file mode 100644 index 2e32a50296..0000000000 --- a/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 68f45b9049dffb54f5a29a3a495ab3dfcf010634 Mon Sep 17 00:00:00 2001 -From: Anthony Green <green@moxielogic.com> -Date: Fri, 29 Nov 2019 07:00:35 -0500 -Subject: [PATCH] Address platforms with no __int128. - -Upstream-Status: Backport [https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/powerpc/ffi_linux64.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c -index de0d033..7364770 100644 ---- a/src/powerpc/ffi_linux64.c -+++ b/src/powerpc/ffi_linux64.c -@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack) - if (next_arg.ul == gpr_end.ul) - next_arg.ul = rest.ul; - if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs) -- *vec_base.f128++ = **p_argv.f128; -+ memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128)); - else -- *next_arg.f128 = **p_argv.f128; -+ memcpy (next_arg.f128, *p_argv.f128, sizeof (float128)); - if (++next_arg.f128 == gpr_end.f128) - next_arg.f128 = rest.f128; - vecarg_count++; diff --git a/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch b/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch deleted file mode 100644 index 397194bc93..0000000000 --- a/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 14e2e74682db3bfcf057688f738fdd842a02ff2d Mon Sep 17 00:00:00 2001 -From: Carl Hurd <carl@Carls-MacBook-Pro.local> -Date: Wed, 18 Jul 2018 09:04:32 -0400 -Subject: [PATCH] Fixed missed #ifndef for __mips_soft_float - -Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> -Upstream-Status: Submitted [https://github.com/libffi/libffi/pull/442] ---- - src/mips/o32.S | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/mips/o32.S b/src/mips/o32.S -index 44e74cb..799139b 100644 ---- a/src/mips/o32.S -+++ b/src/mips/o32.S -@@ -282,9 +282,11 @@ $LCFI12: - li $13, 1 # FFI_O32 - bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT - -+#ifndef __mips_soft_float - # Store all possible float/double registers. - s.d $f12, FA_0_0_OFF2($fp) - s.d $f14, FA_1_0_OFF2($fp) -+#endif - 1: - # prepare arguments for ffi_closure_mips_inner_O32 - REG_L a0, 4($15) # cif diff --git a/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch b/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch deleted file mode 100644 index 782dce70d8..0000000000 --- a/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 501a6b55853af549fae72723e74271f2a4ec7cf6 Mon Sep 17 00:00:00 2001 -From: Brett Warren <brett.warren@arm.com> -Date: Fri, 27 Nov 2020 15:28:42 +0000 -Subject: [PATCH] arm/sysv: reverted clang VFP mitigation - -Since commit e3d2812ce43940aacae5bab2d0e965278cb1e7ea, -seperate instructions were used when compiling under clang, -as clang didn't allow the directives at the time. This mitigation -now causes compilation to fail under clang 10, as described by -https://github.com/libffi/libffi/issues/607. Now that -clang supports the LDC and SDC instructions, this mitigation -has been reverted. - -Upstream-Status: Pending -Signed-off-by: Brett Warren <brett.warren@arm.com> ---- - src/arm/sysv.S | 33 --------------------------------- - 1 file changed, 33 deletions(-) - -diff --git a/src/arm/sysv.S b/src/arm/sysv.S -index 63180a4..e3ce526 100644 ---- a/src/arm/sysv.S -+++ b/src/arm/sysv.S -@@ -128,13 +128,8 @@ ARM_FUNC_START(ffi_call_VFP) - cfi_startproc - - cmp r3, #3 @ load only d0 if possible --#ifdef __clang__ -- vldrle d0, [sp] -- vldmgt sp, {d0-d7} --#else - ldcle p11, cr0, [r0] @ vldrle d0, [sp] - ldcgt p11, cr0, [r0], {16} @ vldmgt sp, {d0-d7} --#endif - add r0, r0, #64 @ discard the vfp register args - /* FALLTHRU */ - ARM_FUNC_END(ffi_call_VFP) -@@ -172,25 +167,13 @@ ARM_FUNC_START(ffi_call_SYSV) - nop - 0: - E(ARM_TYPE_VFP_S) --#ifdef __clang__ -- vstr s0, [r2] --#else - stc p10, cr0, [r2] @ vstr s0, [r2] --#endif - pop {fp,pc} - E(ARM_TYPE_VFP_D) --#ifdef __clang__ -- vstr d0, [r2] --#else - stc p11, cr0, [r2] @ vstr d0, [r2] --#endif - pop {fp,pc} - E(ARM_TYPE_VFP_N) --#ifdef __clang__ -- vstm r2, {d0-d3} --#else - stc p11, cr0, [r2], {8} @ vstm r2, {d0-d3} --#endif - pop {fp,pc} - E(ARM_TYPE_INT64) - str r1, [r2, #4] -@@ -287,11 +270,7 @@ ARM_FUNC_START(ffi_closure_VFP) - add ip, sp, #16 - sub sp, sp, #64+32 @ allocate frame - cfi_adjust_cfa_offset(64+32) --#ifdef __clang__ -- vstm sp, {d0-d7} --#else - stc p11, cr0, [sp], {16} @ vstm sp, {d0-d7} --#endif - stmdb sp!, {ip,lr} - - /* See above. */ -@@ -320,25 +299,13 @@ ARM_FUNC_START_LOCAL(ffi_closure_ret) - cfi_rel_offset(lr, 4) - 0: - E(ARM_TYPE_VFP_S) --#ifdef __clang__ -- vldr s0, [r2] --#else - ldc p10, cr0, [r2] @ vldr s0, [r2] --#endif - ldm sp, {sp,pc} - E(ARM_TYPE_VFP_D) --#ifdef __clang__ -- vldr d0, [r2] --#else - ldc p11, cr0, [r2] @ vldr d0, [r2] --#endif - ldm sp, {sp,pc} - E(ARM_TYPE_VFP_N) --#ifdef __clang__ -- vldm r2, {d0-d3} --#else - ldc p11, cr0, [r2], {8} @ vldm r2, {d0-d3} --#endif - ldm sp, {sp,pc} - E(ARM_TYPE_INT64) - ldr r1, [r2, #4] --- -2.17.1 - diff --git a/meta/recipes-support/libffi/libffi/0001-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch b/meta/recipes-support/libffi/libffi/0001-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch deleted file mode 100644 index 52e6e4536b..0000000000 --- a/meta/recipes-support/libffi/libffi/0001-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch +++ /dev/null @@ -1,62 +0,0 @@ -From de93adfb6f48100946bba2c3abad2a77a0cfde0b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine <fontaine.fabrice@gmail.com> -Date: Sun, 24 Nov 2019 09:52:01 +0100 -Subject: [PATCH] ffi_powerpc.h: fix build failure with powerpc7 - -This is a patch pulled down from the following: -https://github.com/buildroot/buildroot/blob/78926f610b1411b03464152472fd430012deb9ac/package/libffi/0004-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch - -This issue is being hit on OpenBMC code when pulling the latest -libffi tag and building on a P8 ppc64le machine. I verified this -patch fixes the issue we are seeing. - -Below is the original commit message: - -Sicne commit 73dd43afc8a447ba98ea02e9aad4c6898dc77fb0, build on powerpc7 -fails on: - -In file included from ../src/powerpc/ffi.c:33:0: -../src/powerpc/ffi_powerpc.h:61:9: error: '_Float128' is not supported on this target - typedef _Float128 float128; - ^~~~~~~~~ - -Fix this build failure by checking for __HAVE_FLOAT128 before using -_Float128, as _Float128 is enabled only on specific conditions, see -output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/floatn.h: - - /* Defined to 1 if the current compiler invocation provides a - floating-point type with the IEEE 754 binary128 format, and this glibc - includes corresponding *f128 interfaces for it. */ - #if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \ - && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH - # define __HAVE_FLOAT128 1 - #else - # define __HAVE_FLOAT128 0 - #endif - -Fixes: - - http://autobuild.buildroot.org/results/5c9dd8fb3b6a128882b6250f197c80232d8a3b53 - -Upstream-Status: Submitted [https://github.com/libffi/libffi/pull/561] -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> -Signed-off-by: Andrew Geissler <geissonator@yahoo.com> ---- - src/powerpc/ffi_powerpc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h -index 8e2f2f0..960a5c4 100644 ---- a/src/powerpc/ffi_powerpc.h -+++ b/src/powerpc/ffi_powerpc.h -@@ -57,7 +57,7 @@ typedef union - double d; - } ffi_dblfl; - --#if defined(__FLOAT128_TYPE__) -+#if defined(__FLOAT128_TYPE__) && defined(__HAVE_FLOAT128) - typedef _Float128 float128; - #elif defined(__FLOAT128__) - typedef __float128 float128; --- -2.21.0 (Apple Git-122) - diff --git a/meta/recipes-support/libffi/libffi/0001-powerpc-fix-build-failure-on-power7-and-older-532.patch b/meta/recipes-support/libffi/libffi/0001-powerpc-fix-build-failure-on-power7-and-older-532.patch deleted file mode 100644 index 8a7aea4311..0000000000 --- a/meta/recipes-support/libffi/libffi/0001-powerpc-fix-build-failure-on-power7-and-older-532.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4dc6cc961300b9deffb648b1237390a5bea1c6d6 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich <slyfox@gentoo.org> -Date: Thu, 28 Nov 2019 12:42:41 +0000 -Subject: [PATCH] powerpc: fix build failure on power7 and older (#532) - -Build failure looks as: -``` -libtool: compile: powerpc-unknown-linux-gnu-gcc \ - -O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ... -In file included from src/powerpc/ffi.c:33: -src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target - 65 | typedef __int128 float128; - | ^~~~~~~~ -``` - -The fix avoids using __int128 in favour of aligned char[16]. - -Closes: https://github.com/libffi/libffi/issues/531 -Upstream-Status: Backport [https://github.com/libffi/libffi/commit/01a75ed76ea7e57f1b7a5c183e2b1e890e6aa0fd] -Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/powerpc/ffi_powerpc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h -index 5ee2a70..8e2f2f0 100644 ---- a/src/powerpc/ffi_powerpc.h -+++ b/src/powerpc/ffi_powerpc.h -@@ -62,7 +62,7 @@ typedef _Float128 float128; - #elif defined(__FLOAT128__) - typedef __float128 float128; - #else --typedef __int128 float128; -+typedef char float128[16] __attribute__((aligned(16))); - #endif - - void FFI_HIDDEN ffi_closure_SYSV (void); diff --git a/meta/recipes-support/libffi/libffi/not-win32.patch b/meta/recipes-support/libffi/libffi/not-win32.patch index 62daaf4b38..f4ed839ed8 100644 --- a/meta/recipes-support/libffi/libffi/not-win32.patch +++ b/meta/recipes-support/libffi/libffi/not-win32.patch @@ -1,4 +1,4 @@ -From 306719369a0d3608b4ff2737de74ae284788a14b Mon Sep 17 00:00:00 2001 +From be9d4cc110c159812699780348686da371296b94 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Thu, 4 Feb 2016 16:22:50 +0000 Subject: [PATCH] libffi: ensure sysroot paths are not in libffi.pc @@ -15,17 +15,16 @@ As this block is generally pointless, disable it. Upstream-Status: Inappropriate Signed-off-by: Ross Burton <ross.burton@intel.com> - --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b764368..d51ce91 100644 +index 816bfd6..e37c5a8 100644 --- a/configure.ac +++ b/configure.ac -@@ -354,7 +354,7 @@ AC_ARG_ENABLE(multi-os-directory, - +@@ -401,7 +401,7 @@ AC_ARG_ENABLE(multi-os-directory, + # These variables are only ever used when we cross-build to X86_WIN32. # And we only support this with GCC, so... -if test "x$GCC" = "xyes"; then diff --git a/meta/recipes-support/libffi/libffi_3.3.bb b/meta/recipes-support/libffi/libffi_3.3.bb deleted file mode 100644 index 10ef003242..0000000000 --- a/meta/recipes-support/libffi/libffi_3.3.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "A portable foreign function interface library" -HOMEPAGE = "http://sourceware.org/libffi/" -DESCRIPTION = "The `libffi' library provides a portable, high level programming interface to various calling \ -conventions. This allows a programmer to call any function specified by a call interface description at run \ -time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the \ -interface that allows code written in one language to call code written in another language. The `libffi' \ -library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. \ -A layer must exist above `libffi' that handles type conversions for values passed between the two languages." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=492385fe22195952f5b9b197868ba268" - -SRC_URI = "https://github.com/libffi/libffi/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ - file://not-win32.patch \ - file://0001-Fixed-missed-ifndef-for-__mips_soft_float.patch \ - file://0001-arm-sysv-reverted-clang-VFP-mitigation.patch \ - file://0001-powerpc-fix-build-failure-on-power7-and-older-532.patch \ - file://0001-Address-platforms-with-no-__int128.patch \ - file://0001-Address-platforms-with-no-__int128-part2.patch \ - file://0001-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch \ - " -SRC_URI[md5sum] = "6313289e32f1d38a9df4770b014a2ca7" -SRC_URI[sha256sum] = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056" -UPSTREAM_CHECK_URI = "https://github.com/libffi/libffi/releases/" -UPSTREAM_CHECK_REGEX = "libffi-(?P<pver>\d+(\.\d+)+)\.tar" - -EXTRA_OECONF += "--disable-builddir" -EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'" -inherit autotools texinfo multilib_header - -do_install_append() { - oe_multilib_header ffi.h ffitarget.h -} - -FILES_${PN}-dev += "${libdir}/libffi-${PV}" - -# Doesn't compile in MIPS16e mode due to use of hand-written -# assembly -MIPS_INSTRUCTION_SET = "mips" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/meta/recipes-support/libffi/libffi_3.4.6.bb b/meta/recipes-support/libffi/libffi_3.4.6.bb new file mode 100644 index 0000000000..a6857a3981 --- /dev/null +++ b/meta/recipes-support/libffi/libffi_3.4.6.bb @@ -0,0 +1,32 @@ +SUMMARY = "A portable foreign function interface library" +HOMEPAGE = "http://sourceware.org/libffi/" +DESCRIPTION = "The `libffi' library provides a portable, high level programming interface to various calling \ +conventions. This allows a programmer to call any function specified by a call interface description at run \ +time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the \ +interface that allows code written in one language to call code written in another language. The `libffi' \ +library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. \ +A layer must exist above `libffi' that handles type conversions for values passed between the two languages." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1db54c9fd307a12218766c3c7f650ca7" + +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BPN}-${PV}.tar.gz \ + file://not-win32.patch \ + " +SRC_URI[sha256sum] = "b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e" + +EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp" +EXTRA_OECONF:class-native += "--with-gcc-arch=generic" +EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" + +inherit autotools texinfo multilib_header github-releases + +do_install:append() { + oe_multilib_header ffi.h ffitarget.h +} + +# Doesn't compile in MIPS16e mode due to use of hand-written +# assembly +MIPS_INSTRUCTION_SET = "mips" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libfm/libfm-extra/0001-nls.m4-Take-it-from-gettext-0.15.patch b/meta/recipes-support/libfm/libfm-extra/0001-nls.m4-Take-it-from-gettext-0.15.patch deleted file mode 100644 index 69a51d5662..0000000000 --- a/meta/recipes-support/libfm/libfm-extra/0001-nls.m4-Take-it-from-gettext-0.15.patch +++ /dev/null @@ -1,54 +0,0 @@ -From c320799c941d42a9b7e351805359694ea3b36d2d Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 5 Apr 2015 09:08:38 -0700 -Subject: [PATCH] nls.m4: Take it from gettext-0.15 - -It otherwise expects gettext to provide it. Lets go independent - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending ---- - m4/nls.m4 | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) - create mode 100644 m4/nls.m4 - -diff --git a/m4/nls.m4 b/m4/nls.m4 -new file mode 100644 -index 0000000..2c8fe69 ---- /dev/null -+++ b/m4/nls.m4 -@@ -0,0 +1,30 @@ -+dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+dnl -+dnl This file can can be used in projects which are not available under -+dnl the GNU General Public License or the GNU Library General Public -+dnl License but which still want to provide support for the GNU gettext -+dnl functionality. -+dnl Please note that the actual code of the GNU gettext library is covered -+dnl by the GNU Library General Public License, and the rest of the GNU -+dnl gettext package package is covered by the GNU General Public License. -+dnl They are not in the public domain. -+ -+dnl Authors: -+dnl Ulrich Drepper drepper@cygnus.com, 1995-2000. -+dnl Bruno Haible haible@clisp.cons.org, 2000-2003. -+ -+AC_PREREQ(2.50) -+ -+AC_DEFUN([AM_NLS], -+[ -+AC_MSG_CHECKING([whether NLS is requested]) -+dnl Default is enabled NLS -+AC_ARG_ENABLE(nls, -+[ --disable-nls do not use Native Language Support], -+USE_NLS=$enableval, USE_NLS=yes) -+AC_MSG_RESULT($USE_NLS) -+AC_SUBST(USE_NLS) -+]) --- -2.1.4 - diff --git a/meta/recipes-support/libfm/libfm-extra_1.3.2.bb b/meta/recipes-support/libfm/libfm-extra_1.3.2.bb index 0adb3b6415..eff1b54f73 100644 --- a/meta/recipes-support/libfm/libfm-extra_1.3.2.bb +++ b/meta/recipes-support/libfm/libfm-extra_1.3.2.bb @@ -2,14 +2,13 @@ SUMMARY = "Library for file management" DESCRIPTION = "Contains a library and other files required by menu-cache-gen libexec of menu-cache-1.1.0. " HOMEPAGE = "http://pcmanfm.sourceforge.net/" -LICENSE = "LGPLv2+" +LICENSE = "LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://src/fm-extra.h;beginline=8;endline=21;md5=ef1f84da64b3c01cca447212f7ef6007" SECTION = "x11/libs" DEPENDS = "glib-2.0-native glib-2.0 intltool-native" SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.xz \ - file://0001-nls.m4-Take-it-from-gettext-0.15.patch \ " SRC_URI[sha256sum] = "a5042630304cf8e5d8cff9d565c6bd546f228b48c960153ed366a34e87cad1e5" diff --git a/meta/recipes-support/libfm/libfm/0001-Correctly-check-the-stamp-file-that-indicates-if-we-.patch b/meta/recipes-support/libfm/libfm/0001-Correctly-check-the-stamp-file-that-indicates-if-we-.patch index fb91d90cf2..701b259cf9 100644 --- a/meta/recipes-support/libfm/libfm/0001-Correctly-check-the-stamp-file-that-indicates-if-we-.patch +++ b/meta/recipes-support/libfm/libfm/0001-Correctly-check-the-stamp-file-that-indicates-if-we-.patch @@ -4,7 +4,7 @@ Date: Fri, 16 Dec 2016 16:52:04 +0200 Subject: [PATCH] Correctly check the stamp file that indicates if we need to re-build vala code -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/lxde/libfm/pull/85] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- configure.ac | 2 +- diff --git a/meta/recipes-support/libfm/libfm/0001-Do-not-add-library-path-to-avoid-host-contamination.patch b/meta/recipes-support/libfm/libfm/0001-Do-not-add-library-path-to-avoid-host-contamination.patch index f4c89127fc..0437000adc 100644 --- a/meta/recipes-support/libfm/libfm/0001-Do-not-add-library-path-to-avoid-host-contamination.patch +++ b/meta/recipes-support/libfm/libfm/0001-Do-not-add-library-path-to-avoid-host-contamination.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 2 May 2018 16:48:47 +0300 Subject: [PATCH] Do not add library path to avoid host contamination -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/lxde/libfm/pull/86] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- src/modules/Makefile.am | 1 - diff --git a/meta/recipes-support/libfm/libfm_1.3.1.bb b/meta/recipes-support/libfm/libfm_1.3.2.bb index b6f9df0c55..1d7609165b 100644 --- a/meta/recipes-support/libfm/libfm_1.3.1.bb +++ b/meta/recipes-support/libfm/libfm_1.3.2.bb @@ -3,7 +3,7 @@ DESCRIPTION = "LibFM provides file management functions built on top of Glib/GIO giving a convenient higher-level API." HOMEPAGE = "http://pcmanfm.sourceforge.net/" -LICENSE = "GPLv2+ & LGPLv2+" +LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b \ file://src/fm.h;beginline=8;endline=21;md5=ef1f84da64b3c01cca447212f7ef6007 \ file://src/base/fm-config.h;beginline=10;endline=23;md5=ef1f84da64b3c01cca447212f7ef6007 \ @@ -18,8 +18,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.xz \ file://0001-Do-not-add-library-path-to-avoid-host-contamination.patch \ " -SRC_URI[md5sum] = "c15ecd2c9317e2c385cd3f046d0b61ba" -SRC_URI[sha256sum] = "96b1244bde41ca0eef0332cfb5c67bb16725dfd102128f3e6f74fadc13a1cfe4" +SRC_URI[sha256sum] = "a5042630304cf8e5d8cff9d565c6bd546f228b48c960153ed366a34e87cad1e5" inherit autotools pkgconfig gtk-doc gettext features_check mime mime-xdg ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" @@ -30,7 +29,7 @@ do_configure[dirs] =+ "${S}/m4" PACKAGES =+ "libfm-gtk" PACKAGES += "${PN}-mime" -FILES_libfm-gtk = " \ +FILES:libfm-gtk = " \ ${libdir}/libfm-gtk*so.* \ ${libdir}/libfm/modules/gtk* \ ${bindir}/libfm-pref-apps \ @@ -41,9 +40,9 @@ FILES_libfm-gtk = " \ ${datadir}/libfm/images/unknown.png \ ${datadir}/libfm/ui/*.ui \ " -FILES_${PN}-mime = "${datadir}/mime/" +FILES:${PN}-mime = "${datadir}/mime/" -do_install_append () { +do_install:append () { # remove files which are part of libfm-extra rm -f ${D}${includedir}/libfm-1.0/fm-xml-file.h rm -f ${D}${includedir}/libfm-1.0/fm-version.h @@ -54,3 +53,7 @@ do_install_append () { rm -f ${D}${libdir}/libfm-extra.a rm -f ${D}${libdir}/libfm-extra.la } + +# http://errors.yoctoproject.org/Errors/Details/766924/ +# libfm-1.3.2/src/actions/action.c:2050:25: error: assignment to 'gchar **' {aka 'char **'} from incompatible pointer type 'const gchar * const*' {aka 'const char * const*'} [-Wincompatible-pointer-types] +CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch b/meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch deleted file mode 100644 index 8fbed9add6..0000000000 --- a/meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b8192ff67ed46ea2cc4282fa1856ce2868223737 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 24 Feb 2021 19:43:07 +0000 -Subject: [PATCH] Makefile.am: add a missing space - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - cipher/Makefile.am | 2 +- - doc/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cipher/Makefile.am b/cipher/Makefile.am -index 1cf5072..b3ca225 100644 ---- a/cipher/Makefile.am -+++ b/cipher/Makefile.am -@@ -143,7 +143,7 @@ gost-sb.h: gost-s-box - - gost-s-box: gost-s-box.c - $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \ -- $(CPPFLAGS_FOR_BUILD)-o $@ $(srcdir)/gost-s-box.c -+ $(CPPFLAGS_FOR_BUILD) -o $@ $(srcdir)/gost-s-box.c - - - if ENABLE_O_FLAG_MUNGING -diff --git a/doc/Makefile.am b/doc/Makefile.am -index fd7aac2..1703bd9 100644 ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -43,7 +43,7 @@ man_MANS = $(myman_pages) - - yat2m: yat2m.c - $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \ -- $(CPPFLAGS_FOR_BUILD)-o $@ $(srcdir)/yat2m.c -+ $(CPPFLAGS_FOR_BUILD) -o $@ $(srcdir)/yat2m.c - - .fig.png: - fig2dev -L png `test -f '$<' || echo '$(srcdir)/'`$< $@ --- -2.17.1 - diff --git a/meta/recipes-support/libgcrypt/files/0001-libgcrypt-fix-m4-file-for-oe-core.patch b/meta/recipes-support/libgcrypt/files/0001-libgcrypt-fix-m4-file-for-oe-core.patch index c873e24ed5..9615611f6e 100644 --- a/meta/recipes-support/libgcrypt/files/0001-libgcrypt-fix-m4-file-for-oe-core.patch +++ b/meta/recipes-support/libgcrypt/files/0001-libgcrypt-fix-m4-file-for-oe-core.patch @@ -1,4 +1,4 @@ -From 839f38e5ecc22b7f1b837284bbbffac8cb32ab1e Mon Sep 17 00:00:00 2001 +From bcfd89abdb5110b93314297120412d4c7f2da313 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin <trevor.gamblin@windriver.com> Date: Tue, 29 Oct 2019 14:08:32 -0400 Subject: [PATCH] libgcrypt: fix m4 file for oe-core @@ -17,13 +17,13 @@ Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> 1 file changed, 4 insertions(+), 86 deletions(-) diff --git a/src/libgcrypt.m4 b/src/libgcrypt.m4 -index 19d514f..21125c7 100644 +index 353df81b6d..b195e22894 100644 --- a/src/libgcrypt.m4 +++ b/src/libgcrypt.m4 -@@ -29,41 +29,6 @@ dnl is added to the gpg_config_script_warn variable. - dnl +@@ -116,41 +116,6 @@ dnl AC_DEFUN([AM_PATH_LIBGCRYPT], - [ AC_REQUIRE([AC_CANONICAL_HOST]) + [ AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl - AC_ARG_WITH(libgcrypt-prefix, - AS_HELP_STRING([--with-libgcrypt-prefix=PFX], - [prefix where LIBGCRYPT is installed (optional)]), @@ -35,7 +35,7 @@ index 19d514f..21125c7 100644 - fi - - use_gpgrt_config="" -- if test x"${LIBGCRYPT_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then +- if test x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then - if $GPGRT_CONFIG libgcrypt --exists; then - LIBGCRYPT_CONFIG="$GPGRT_CONFIG libgcrypt" - AC_MSG_NOTICE([Use gpgrt-config as libgcrypt-config]) @@ -62,7 +62,7 @@ index 19d514f..21125c7 100644 tmp=ifelse([$1], ,1:1.2.0,$1) if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then -@@ -74,56 +39,13 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], +@@ -161,56 +126,13 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], min_libgcrypt_version="$tmp" fi @@ -122,7 +122,7 @@ index 19d514f..21125c7 100644 if test "$tmp" -gt 0 ; then AC_MSG_CHECKING([LIBGCRYPT API version]) if test "$req_libgcrypt_api" -eq "$tmp" ; then -@@ -136,11 +58,9 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], +@@ -223,11 +145,9 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], fi fi if test $ok = yes; then @@ -135,7 +135,7 @@ index 19d514f..21125c7 100644 else libgcrypt_config_host=`$LIBGCRYPT_CONFIG --variable=host 2>/dev/null || echo none` fi -@@ -158,8 +78,6 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], +@@ -245,8 +165,6 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], fi fi else @@ -144,3 +144,6 @@ index 19d514f..21125c7 100644 ifelse([$3], , :, [$3]) fi AC_SUBST(LIBGCRYPT_CFLAGS) +-- +2.34.1 + diff --git a/meta/recipes-support/libgcrypt/files/0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch b/meta/recipes-support/libgcrypt/files/0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch index f9c362431c..78b02eda9d 100644 --- a/meta/recipes-support/libgcrypt/files/0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch +++ b/meta/recipes-support/libgcrypt/files/0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch @@ -1,39 +1,49 @@ -From 3c6c10eae0993c8ca60879494c6650f7b8f54ebe Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Wed, 16 Aug 2017 10:44:41 +0800 -Subject: [PATCH] libgcrypt: fix building error with '-O2' in sysroot path +From e96df0c82e086bf348753d2d0fa37fa6191b4b14 Mon Sep 17 00:00:00 2001 +From: "simit.ghane" <simit.ghane@lge.com> +Date: Tue, 11 Jun 2024 07:22:28 +0530 +Subject: [PATCH] random:cipher: handle substitution in sed command -Upstream-Status: Pending +Upstream-Status: Backport [https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=e96df0c82e086bf348753d2d0fa37fa6191b4b14] -Characters like '-O2' or '-Ofast' will be replaced by '-O1' when -compiling cipher. -If we are cross compiling libgcrypt and sysroot contains such -characters, we would -get compile errors because the sysroot path has been modified. +* cipher/Makefile.am (o_flag_munging): Add 'g' flag for first sed +expression. +* random/Makefile.am (o_flag_munging): Likewise. +-- -Fix this by adding blank spaces before and after the original matching -pattern in the -sed command. - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - -Rebase to 1.8.0 -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +It was there earlier and accidentally removed from +Makefile.am of cipher and random +Signed-off-by: simit.ghane <simit.ghane@lge.com> +[jk: add changelog to commit message] +Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> --- cipher/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + random/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cipher/Makefile.am b/cipher/Makefile.am -index d644005..1cf5072 100644 +index ea9014cc98..149c9f2101 100644 --- a/cipher/Makefile.am +++ b/cipher/Makefile.am -@@ -147,7 +147,7 @@ gost-s-box: gost-s-box.c +@@ -169,7 +169,7 @@ gost-s-box$(EXEEXT_FOR_BUILD): gost-s-box.c if ENABLE_O_FLAG_MUNGING --o_flag_munging = sed -e 's/-O\([2-9sg][2-9sg]*\)/-O1/' -e 's/-Ofast/-O1/g' -+o_flag_munging = sed -e 's/ -O\([2-9sg][2-9sg]*\) / -O1 /' -e 's/ -Ofast / -O1 /g' +-o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /' -e 's/[[:blank:]]-Ofast/ -O1 /g' ++o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /g' -e 's/[[:blank:]]-Ofast/ -O1 /g' + else + o_flag_munging = cat + endif +diff --git a/random/Makefile.am b/random/Makefile.am +index c7100ef8b8..a42e430649 100644 +--- a/random/Makefile.am ++++ b/random/Makefile.am +@@ -56,7 +56,7 @@ jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h + + # The rndjent module needs to be compiled without optimization. */ + if ENABLE_O_FLAG_MUNGING +-o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /' -e 's/[[:blank:]]-Ofast/ -O0 /g' ++o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /g' -e 's/[[:blank:]]-Ofast/ -O0 /g' else o_flag_munging = cat endif diff --git a/meta/recipes-support/libgcrypt/files/0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch b/meta/recipes-support/libgcrypt/files/0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch deleted file mode 100644 index 105df2957e..0000000000 --- a/meta/recipes-support/libgcrypt/files/0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 7cc702c7b5a1ccc2b0091f3effa1391b6c3030fd Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Wed, 16 Aug 2017 10:46:28 +0800 -Subject: [PATCH 3/4] tests/bench-slope.c: workaround ICE failure on mips with - '-O -g' - -Hit a ICE and could reduce it to the following minimal example: - -1. Only the size of array assigned with 2 caused the issue: -$ cat > mipgcc-test.c << END - -int main (int argc, char **argv) -{ - char *pStrArry[ARRAY_SIZE_MAX] = {"hello"}; - int i = 0; - - while(pStrArry[i] && i<ARRAY_SIZE_MAX) - { - printf("%s\n", pStrArry[i]); - i++; - } - - return 0; -} - -END - -2. Only -O1 and -g on mips caused the issue: -$ mips-poky-linux-gcc -O1 -g -o mipgcc-test mipgcc-test.c -mipgcc-test.c: In function 'main': -mipgcc-test.c:18:1: internal compiler error: in dwarf2out_var_location, -at dwarf2out.c:20810 - } - ^ -Please submit a full bug report, -with preprocessed source if appropriate. -See <http://gcc.gnu.org/bugs.html> for instructions - -3. The quick workround is trying to enlarge the size of array with -larger -than 2. - -4. File a bug to GNU, but it could not be reproduced on there -environment. -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60643 - -Upstream-Status: Inappropriate [oe specific] - -Rebase to 1.8.0 -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - tests/bench-slope.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/bench-slope.c b/tests/bench-slope.c -index 75e6e43..4e70842 100644 ---- a/tests/bench-slope.c -+++ b/tests/bench-slope.c -@@ -1463,7 +1463,7 @@ static struct bench_ops hash_ops = { - }; - - --static struct bench_hash_mode hash_modes[] = { -+static struct bench_hash_mode hash_modes[3] = { - {"", &hash_ops}, - {0}, - }; -@@ -1629,7 +1629,7 @@ static struct bench_ops mac_ops = { - }; - - --static struct bench_mac_mode mac_modes[] = { -+static struct bench_mac_mode mac_modes[3] = { - {"", &mac_ops}, - {0}, - }; --- -1.8.3.1 - diff --git a/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch b/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch index 5bf0c7f8a3..4233fa7877 100644 --- a/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch +++ b/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch @@ -1,4 +1,4 @@ -From cb06d218ee36e303a64f27c690f30040d5d87960 Mon Sep 17 00:00:00 2001 +From 9182bc2dc676858a823c477d8f45a578b8c4f69f Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Sun, 12 Jun 2016 04:44:29 -0400 Subject: [PATCH] tests/Makefile.am: fix undefined reference to @@ -11,14 +11,14 @@ Upstream-Status: Pending Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- - tests/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + tests/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Makefile.am b/tests/Makefile.am -index ab201f0..1cf82d0 100644 +index e6953fd..f47e1d3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am -@@ -75,7 +75,7 @@ t_mpi_bit_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@ +@@ -76,7 +76,7 @@ t_mpi_bit_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@ t_secmem_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@ testapi_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@ t_lock_LDADD = $(standard_ldadd) $(GPG_ERROR_MT_LIBS) @LDADD_FOR_TESTS_KLUDGE@ @@ -27,3 +27,12 @@ index ab201f0..1cf82d0 100644 testdrv_LDADD = $(LDADD_FOR_TESTS_KLUDGE) # Build a version of the test driver for the build platform. +@@ -95,7 +95,7 @@ else + xtestsuite_libs = ../src/.libs/libgcrypt.so* + xtestsuite_driver = testdrv + t_kdf_LDADD = $(standard_ldadd) $(GPG_ERROR_MT_LIBS) @LDADD_FOR_TESTS_KLUDGE@ +-t_kdf_CFLAGS = $(GPG_ERROR_MT_CFLAGS) ++t_kdf_CFLAGS = $(GPG_ERROR_MT_CFLAGS) -lpthread + endif + + # xcheck uses our new testdrv instead of the automake test runner. diff --git a/meta/recipes-support/libgcrypt/files/no-bench-slope.patch b/meta/recipes-support/libgcrypt/files/no-bench-slope.patch new file mode 100644 index 0000000000..ed65ed4e67 --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/no-bench-slope.patch @@ -0,0 +1,24 @@ +The bench-slope test appears to be aborting fairly frequently, which causes +failures on the autobuilder. + +Until this has been root-caused, disable the test. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + tests/testdrv.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/tests/testdrv.c b/tests/testdrv.c +index bfca4c2314..5a755f512e 100644 +--- a/tests/testdrv.c ++++ b/tests/testdrv.c +@@ -77,7 +77,6 @@ static struct { + { "t-x448" }, + { "t-ed448" }, + { "benchmark" }, +- { "bench-slope" }, + { "hashtest-6g", "hashtest", "--hugeblock --gigs 6 SHA1 SHA256 SHA512 " + "SHA3-512 SM3 BLAKE2S_256 " + "BLAKE2B_512 CRC32 " + diff --git a/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch b/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch new file mode 100644 index 0000000000..b9a607863d --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch @@ -0,0 +1,18 @@ +Don't depend on a native libgpg-error to build the test driver, as it's +an optional dependency for some C annotations. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@arm.com> + +diff --git a/tests/testdrv.c b/tests/testdrv.c +index 0ccde326..6d6abd57 100644 +--- a/tests/testdrv.c ++++ b/tests/testdrv.c +@@ -32,7 +32,6 @@ + # include <fcntl.h> + # include <sys/wait.h> + #endif +-#include <gpg-error.h> /* For some macros. */ + + #include "stopwatch.h" + diff --git a/meta/recipes-support/libgcrypt/files/run-ptest b/meta/recipes-support/libgcrypt/files/run-ptest new file mode 100644 index 0000000000..c349ae1944 --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/run-ptest @@ -0,0 +1,9 @@ +#!/bin/sh + +# Run the tests in regression mode so they are quicker +export GCRYPT_IN_REGRESSION_TEST=1 +# The 'random' test invokes itself, so we need to be sure that the test +# directory is on PATH. +export PATH=$PATH:. + +./testdrv --verbose diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.11.0.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.11.0.bb new file mode 100644 index 0000000000..ea1f34e8ce --- /dev/null +++ b/meta/recipes-support/libgcrypt/libgcrypt_1.11.0.bb @@ -0,0 +1,54 @@ +SUMMARY = "General purpose cryptographic library based on the code from GnuPG" +DESCRIPTION = "A cryptography library developed as a separated module of GnuPG. \ +It can also be used independently of GnuPG, but depends on its error-reporting \ +library Libgpg-error." +HOMEPAGE = "http://directory.fsf.org/project/libgcrypt/" +BUGTRACKER = "https://bugs.g10code.com/gnupg/index" +SECTION = "libs" + +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & BSD-3-Clause" +LICENSE:${PN} = "LGPL-2.1-or-later & BSD-3-Clause" +LICENSE:${PN}-dev = "GPL-2.0-or-later & LGPL-2.1-or-later" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ + file://LICENSES;md5=034b4e369944ad4b52a68368f1cf98b8 \ + " + +DEPENDS = "libgpg-error" + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \ + file://0001-libgcrypt-fix-m4-file-for-oe-core.patch \ + file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ + file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \ + file://no-native-gpg-error.patch \ + file://no-bench-slope.patch \ + file://run-ptest \ + " +SRC_URI[sha256sum] = "09120c9867ce7f2081d6aaa1775386b98c2f2f246135761aae47d81f58685b9c" + +BINCONFIG = "${bindir}/libgcrypt-config" + +inherit autotools texinfo binconfig-disabled pkgconfig ptest + +EXTRA_OECONF = "--disable-asm" +EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" + +PACKAGECONFIG ??= "capabilities" +PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap" + +do_configure:prepend () { + # Else this could be used in preference to the one in aclocal-copy + rm -f ${S}/m4/gpg-error.m4 +} + +do_install_ptest() { + cd tests + oe_runmake testdrv-build testdrv + install testdrv $(srcdir=${S}/tests ./testdrv-build --files | sort | uniq) ${D}${PTEST_PATH} +} + +FILES:${PN}-dev += "${bindir}/hmac256 ${bindir}/dumpsexp" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.9.2.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.9.2.bb deleted file mode 100644 index 34735ea5d7..0000000000 --- a/meta/recipes-support/libgcrypt/libgcrypt_1.9.2.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "General purpose cryptographic library based on the code from GnuPG" -DESCRIPTION = "A cryptography library developed as a separated module of GnuPG. \ -It can also be used independently of GnuPG, but depends on its error-reporting \ -library Libgpg-error." -HOMEPAGE = "http://directory.fsf.org/project/libgcrypt/" -BUGTRACKER = "https://bugs.g10code.com/gnupg/index" -SECTION = "libs" - -# helper program gcryptrnd and getrandom are under GPL, rest LGPL -LICENSE = "GPLv2+ & LGPLv2.1+ & GPLv3+" -LICENSE_${PN} = "LGPLv2.1+" -LICENSE_${PN}-dev = "GPLv2+ & LGPLv2.1+" -LICENSE_dumpsexp-dev = "GPLv3+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff \ - file://LICENSES;md5=2dae15d91a37cfde72fe9eae75f8ea14 \ - " - -DEPENDS = "libgpg-error" - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \ - file://0001-libgcrypt-fix-m4-file-for-oe-core.patch \ - file://0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch \ - file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ - file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \ - file://0001-Makefile.am-add-a-missing-space.patch \ - " -SRC_URI[sha256sum] = "b2c10d091513b271e47177274607b1ffba3d95b188bbfa8797f948aec9053c5a" - -# Below whitelisted CVEs are disputed and not affecting crypto libraries for any distro. -CVE_CHECK_WHITELIST += "CVE-2018-12433 CVE-2018-12438" - -BINCONFIG = "${bindir}/libgcrypt-config" - -inherit autotools texinfo binconfig-disabled pkgconfig - -EXTRA_OECONF = "--disable-asm" -EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'" - -PACKAGECONFIG ??= "capabilities" -PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap" - -do_configure_prepend () { - # Else this could be used in preference to the one in aclocal-copy - rm -f ${S}/m4/gpg-error.m4 -} - -# libgcrypt.pc is added locally and thus installed here -do_install_append() { - install -d ${D}/${libdir}/pkgconfig - install -m 0644 ${B}/src/libgcrypt.pc ${D}/${libdir}/pkgconfig/ -} - -PACKAGES =+ "dumpsexp-dev" - -FILES_${PN}-dev += "${bindir}/hmac256" -FILES_dumpsexp-dev += "${bindir}/dumpsexp" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libgit2/libgit2_1.1.0.bb b/meta/recipes-support/libgit2/libgit2_1.1.0.bb deleted file mode 100644 index 2bbf59ea74..0000000000 --- a/meta/recipes-support/libgit2/libgit2_1.1.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "the Git linkable library" -HOMEPAGE = "http://libgit2.github.com/" -LICENSE = "GPL-2.0-with-GCC-exception & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=5b002a195fb7ea2d8d583f07eaff3a8e" - -DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2" - -SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.1" -SRCREV = "7f4fa178629d559c037a1f72f79f79af9c1ef8ce" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE = "\ - -DBUILD_CLAR=OFF \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DLIB_INSTALL_DIR=${libdir} \ - -DREGEX_BACKEND='pcre2' \ -" - -BBCLASSEXTEND = "native" diff --git a/meta/recipes-support/libgit2/libgit2_1.8.1.bb b/meta/recipes-support/libgit2/libgit2_1.8.1.bb new file mode 100644 index 0000000000..618a4ea6ea --- /dev/null +++ b/meta/recipes-support/libgit2/libgit2_1.8.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "the Git linkable library" +HOMEPAGE = "http://libgit2.github.com/" +LICENSE = "GPL-2.0-with-GCC-exception & MIT & OpenSSL & BSD-3-Clause & Zlib & ISC & LGPL-2.1-or-later & CC0-1.0 & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=8eacfdc17c8f4d219e131a073973b97d" + +DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2" + +SRC_URI = "git://github.com/libgit2/libgit2.git;branch=main;protocol=https" +SRCREV = "36f7e21ad757a3dacc58cf7944329da6bc1d6e96" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "\ + -DBUILD_TESTS=OFF \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DREGEX_BACKEND='pcre2' \ +" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-support/libgpg-error/libgpg-error/0001-Do-not-fail-when-testing-config-scripts.patch b/meta/recipes-support/libgpg-error/libgpg-error/0001-Do-not-fail-when-testing-config-scripts.patch index a0ab4f23ff..d72838bb05 100644 --- a/meta/recipes-support/libgpg-error/libgpg-error/0001-Do-not-fail-when-testing-config-scripts.patch +++ b/meta/recipes-support/libgpg-error/libgpg-error/0001-Do-not-fail-when-testing-config-scripts.patch @@ -1,4 +1,4 @@ -From 137805890951b6b585c1d23097e0a51e8c7a8a50 Mon Sep 17 00:00:00 2001 +From 75622f8b21459eb556b36edc3537fdaded7f04bf Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 28 Feb 2020 09:19:56 +0000 Subject: [PATCH] Do not fail when testing config scripts @@ -14,14 +14,13 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am -index 9303954..7630540 100644 +index 9389e99..6ded263 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -344,7 +344,6 @@ gpg-error-config: gpgrt-config gpg-error-config-old +@@ -324,6 +324,5 @@ gpg-error-config: gpgrt-config gpg-error-config-old gpg-error-config-test.sh else \ echo "no"; \ echo "*** Please report to <https://bugs.gnupg.org> with gpg-error-config-test.log"; \ - exit 1; \ fi cp gpg-error-config-old $@ - diff --git a/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch b/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch index 83054a9c44..794a3993e7 100644 --- a/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch +++ b/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch @@ -1,9 +1,9 @@ -From ec309e20b5a27d42a5fb915c328d61e924ab5f19 Mon Sep 17 00:00:00 2001 +From ba5ec5615d76dfa4afb429a4e11f3e7e3bc9de76 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Thu, 29 Mar 2018 15:12:17 +0800 -Subject: [PATCH] support pkgconfig +Date: Wed, 21 Aug 2024 20:03:29 -0700 +Subject: [PATCH 1/2] support pkgconfig -Upstream-Status: Pending +Upstream-Status: Inappropriate [gnupg upstream will not take this, it has been tried with other components] Rebase to 1.28 @@ -12,18 +12,23 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Refactored for 1.33 Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> + +Rebase to 1.50 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- - src/gpg-error.m4 | 142 +---------------------------------------------- - 1 file changed, 3 insertions(+), 139 deletions(-) + src/gpg-error.m4 | 200 ++--------------------------------------------- + 1 file changed, 5 insertions(+), 195 deletions(-) diff --git a/src/gpg-error.m4 b/src/gpg-error.m4 -index c9b235f..176bd6a 100644 +index 2d24071..c561725 100644 --- a/src/gpg-error.m4 +++ b/src/gpg-error.m4 -@@ -26,139 +26,12 @@ dnl is added to the gpg_config_script_warn variable. +@@ -15,196 +15,14 @@ dnl - AC_DEFUN([AM_PATH_GPG_ERROR], - [ AC_REQUIRE([AC_CANONICAL_HOST]) + dnl Find gpg-error-config, for backward compatibility + dnl +-dnl _AM_PATH_POSSIBLE_GPG_ERROR_CONFIG +-AC_DEFUN([_AM_PATH_POSSIBLE_GPG_ERROR_CONFIG],[dnl - gpg_error_config_prefix="" - dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, - dnl since that is consistent with how our three siblings use the directory/ @@ -59,50 +64,121 @@ index c9b235f..176bd6a 100644 - fi - - AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no) -- min_gpg_error_version=ifelse([$1], ,1.33,$1) -- ok=no +-]) - -- if test "$prefix" = NONE ; then -- prefix_option_expanded=/usr/local -- else -- prefix_option_expanded="$prefix" -- fi -- if test "$exec_prefix" = NONE ; then -- exec_prefix_option_expanded=$prefix_option_expanded -- else -- exec_prefix_option_expanded=$(prefix=$prefix_option_expanded eval echo $exec_prefix) -- fi -- libdir_option_expanded=$(prefix=$prefix_option_expanded exec_prefix=$exec_prefix_option_expanded eval echo $libdir) +-dnl +-dnl Find gpgrt-config, which uses .pc file +-dnl (minimum pkg-config functionality, supporting cross build) +-dnl +-dnl _AM_PATH_GPGRT_CONFIG +-AC_DEFUN([_AM_PATH_GPGRT_CONFIG],[dnl +- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no, [$prefix/bin:$PATH]) +- if test "$GPGRT_CONFIG" != "no"; then +- # Determine gpgrt_libdir +- # +- # Get the prefix of gpgrt-config assuming it's something like: +- # <PREFIX>/bin/gpgrt-config +- gpgrt_prefix=${GPGRT_CONFIG%/*/*} +- possible_libdir1=${gpgrt_prefix}/lib +- # Determine by using system libdir-format with CC, it's like: +- # Normal style: /usr/lib +- # GNU cross style: /usr/<triplet>/lib +- # Debian style: /usr/lib/<multiarch-name> +- # Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64 +- # It is assumed that CC is specified to the one of host on cross build. +- if libdir_candidates=$(${CC:-cc} -print-search-dirs | \ +- sed -n -e "/^libraries/{s/libraries: =//;s/:/\\ +-/g;p;}"); then +- # From the output of -print-search-dirs, select valid pkgconfig dirs. +- libdir_candidates=$(for dir in $libdir_candidates; do +- if p=$(cd $dir 2>/dev/null && pwd); then +- test -d "$p/pkgconfig" && echo $p; +- fi +- done) - -- if test -f $libdir_option_expanded/pkgconfig/gpg-error.pc; then -- gpgrt_libdir=$libdir_option_expanded -- else -- if crt1_path=$(${CC:-cc} -print-file-name=crt1.o 2>/dev/null); then -- if possible_libdir=$(cd ${crt1_path%/*} && pwd 2>/dev/null); then -- if test -f $possible_libdir/pkgconfig/gpg-error.pc; then -- gpgrt_libdir=$possible_libdir +- for possible_libdir0 in $libdir_candidates; do +- # possible_libdir0: +- # Fallback candidate, the one of system-installed (by $CC) +- # (/usr/<triplet>/lib, /usr/lib/<multiarch-name> or /usr/lib32) +- # possible_libdir1: +- # Another candidate, user-locally-installed +- # (<gpgrt_prefix>/lib) +- # possible_libdir2 +- # Most preferred +- # (<gpgrt_prefix>/<triplet>/lib, +- # <gpgrt_prefix>/lib/<multiarch-name> or <gpgrt_prefix>/lib32) +- if test "${possible_libdir0##*/}" = "lib"; then +- possible_prefix0=${possible_libdir0%/lib} +- possible_prefix0_triplet=${possible_prefix0##*/} +- if test -z "$possible_prefix0_triplet"; then +- continue +- fi +- possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib +- else +- possible_prefix0=${possible_libdir0%%/lib*} +- possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0} +- fi +- if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then +- gpgrt_libdir=${possible_libdir2} +- elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then +- gpgrt_libdir=${possible_libdir1} +- elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then +- gpgrt_libdir=${possible_libdir0} - fi -- fi +- if test -n "$gpgrt_libdir"; then break; fi +- done - fi +- if test -z "$gpgrt_libdir"; then +- # No valid pkgconfig dir in any of the system directories, fallback +- gpgrt_libdir=${possible_libdir1} +- fi +- else +- unset GPGRT_CONFIG - fi - -- if test "$GPG_ERROR_CONFIG" = "no" -a -n "$gpgrt_libdir"; then -- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) -- if test "$GPGRT_CONFIG" = "no"; then +- if test -n "$gpgrt_libdir"; then +- # Add the --libdir option to GPGRT_CONFIG +- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" +- # Make sure if gpgrt-config really works, by testing config gpg-error +- if ! $GPGRT_CONFIG gpg-error --exists; then +- # If it doesn't work, clear the GPGRT_CONFIG variable. - unset GPGRT_CONFIG -- else -- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" -- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then -- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" -- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) -- gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` -- else -- unset GPGRT_CONFIG -- fi - fi - else +- # GPGRT_CONFIG found but no suitable dir for --libdir found. +- # This is a failure. Clear the GPGRT_CONFIG variable. +- unset GPGRT_CONFIG +- fi +-]) +- +-dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION, +-dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +-dnl +-dnl Test for libgpg-error and define GPG_ERROR_CFLAGS, GPG_ERROR_LIBS, +-dnl GPG_ERROR_MT_CFLAGS, and GPG_ERROR_MT_LIBS. The _MT_ variants are +-dnl used for programs requiring real multi thread support. +-dnl +-dnl If a prefix option is not used, the config script is first +-dnl searched in $SYSROOT/bin and then along $PATH. If the used +-dnl config script does not match the host specification the script +-dnl is added to the gpg_config_script_warn variable. +-dnl + AC_DEFUN([AM_PATH_GPG_ERROR], +-[ AC_REQUIRE([AC_CANONICAL_HOST])dnl +- AC_REQUIRE([_AM_PATH_POSSIBLE_GPG_ERROR_CONFIG])dnl +- AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl +- if test x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then +- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" +- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) +- gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` +- elif test x"$GPG_ERROR_CONFIG" != x -a "$GPG_ERROR_CONFIG" != "no"; then - gpg_error_config_version=`$GPG_ERROR_CONFIG --version` +- else +- gpg_error_config_version="0.0" - fi +- +- min_gpg_error_version=ifelse([$1], ,1.33,$1) +- ok=no - if test "$GPG_ERROR_CONFIG" != "no"; then - req_major=`echo $min_gpg_error_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` @@ -121,24 +197,9 @@ index c9b235f..176bd6a 100644 - fi - fi - fi -- if test -z "$GPGRT_CONFIG" -a -n "$gpgrt_libdir"; then -- if test "$major" -gt 1 -o "$major" -eq 1 -a "$minor" -ge 33; then -- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) -- if test "$GPGRT_CONFIG" = "no"; then -- unset GPGRT_CONFIG -- else -- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" -- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then -- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" -- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) -- else -- unset GPGRT_CONFIG -- fi -- fi -- fi -- fi - fi - AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version) ++[ AC_REQUIRE([AC_CANONICAL_HOST]) + min_gpg_error_version=ifelse([$1], ,0.0,$1) + PKG_CHECK_MODULES(GPG_ERROR, [gpg-error >= $min_gpg_error_version], [ok=yes], [ok=no]) if test $ok = yes; then @@ -163,7 +224,7 @@ index c9b235f..176bd6a 100644 fi if test x"$gpg_error_config_host" != xnone ; then if test x"$gpg_error_config_host" != x"$host" ; then -@@ -174,15 +47,6 @@ AC_DEFUN([AM_PATH_GPG_ERROR], +@@ -220,15 +38,7 @@ AC_DEFUN([AM_PATH_GPG_ERROR], fi fi else @@ -179,6 +240,7 @@ index c9b235f..176bd6a 100644 - AC_SUBST(GPG_ERROR_MT_CFLAGS) - AC_SUBST(GPG_ERROR_MT_LIBS) ]) ++ -- 2.25.1 diff --git a/meta/recipes-support/libgpg-error/libgpg-error/run-ptest b/meta/recipes-support/libgpg-error/libgpg-error/run-ptest new file mode 100644 index 0000000000..2d23159eb0 --- /dev/null +++ b/meta/recipes-support/libgpg-error/libgpg-error/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +make -o Makefile runtest-TESTS diff --git a/meta/recipes-support/libgpg-error/libgpg-error_1.41.bb b/meta/recipes-support/libgpg-error/libgpg-error_1.50.bb index a0119729d8..02cdf7707d 100644 --- a/meta/recipes-support/libgpg-error/libgpg-error_1.41.bb +++ b/meta/recipes-support/libgpg-error/libgpg-error_1.50.bb @@ -3,10 +3,10 @@ DESCRIPTION = "Contains common error codes and error handling functions used by HOMEPAGE = "http://www.gnupg.org/related_software/libgpg-error/" BUGTRACKER = "https://bugs.g10code.com/gnupg/index" -LICENSE = "GPLv2+ & LGPLv2.1+" +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://src/gpg-error.h.in;beginline=2;endline=18;md5=d82591bc81561f617da71e00ff4a9d79 \ + file://src/gpg-error.h.in;beginline=2;endline=18;md5=badc79a9308e1cbd2657b2441c7cf017 \ file://src/init.c;beginline=2;endline=17;md5=f01cdfcf747af5380590cfd9bbfeaaf7 \ " @@ -17,25 +17,37 @@ UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \ file://pkgconfig.patch \ file://0001-Do-not-fail-when-testing-config-scripts.patch \ + file://run-ptest \ " -SRC_URI[sha256sum] = "64b078b45ac3c3003d7e352a5e05318880a5778c42331ce1ef33d1a0d9922742" +SRC_URI[sha256sum] = "69405349e0a633e444a28c5b35ce8f14484684518a508dc48a089992fe93e20a" BINCONFIG = "${bindir}/gpg-error-config" -inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script +inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script ptest + +RDEPENDS:${PN}-ptest:append = " make bash" MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config" CPPFLAGS += "-P" -do_install_append() { +do_install:append() { # we don't have common lisp in OE rm -rf "${D}${datadir}/common-lisp/" oe_multilib_header gpg-error.h gpgrt.h } -FILES_${PN}-dev += "${bindir}/gpg-error" -FILES_${PN}-doc += "${datadir}/libgpg-error/errorref.txt" +do_compile_ptest() { + oe_runmake -C tests buildtest-TESTS +} + +do_install_ptest() { + install ${B}/tests/t-*[!\.o] ${D}${PTEST_PATH} + install ${B}/tests/Makefile ${D}${PTEST_PATH} +} + +FILES:${PN}-dev += "${bindir}/gpg-error" +FILES:${PN}-doc += "${datadir}/libgpg-error/errorref.txt" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch b/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch new file mode 100644 index 0000000000..3841c060ee --- /dev/null +++ b/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch @@ -0,0 +1,33 @@ +From c06d8a8990c996cbb854508a944202ba70ba7a7c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 3 Mar 2022 20:10:04 -0800 +Subject: [PATCH] cmake: Do not export CC into gir compiler + +this helps cross compilers where full compiler commandline defines the +compiler rather than just CC variable, therefore let it use the default +values from environment and not synthesize it from CMAKE_C_COMPILER just +for this case. + +Upstream-Status: Submitted [https://github.com/libical/libical/pull/552] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + cmake/modules/GObjectIntrospectionMacros.cmake | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/cmake/modules/GObjectIntrospectionMacros.cmake b/cmake/modules/GObjectIntrospectionMacros.cmake +index 83aff931..d7d3f898 100644 +--- a/cmake/modules/GObjectIntrospectionMacros.cmake ++++ b/cmake/modules/GObjectIntrospectionMacros.cmake +@@ -50,8 +50,7 @@ macro(gir_add_introspections introspections_girs) + set(_gir_libtool "--no-libtool") + + add_custom_command( +- COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'" +- ${GObjectIntrospection_SCANNER} ++ COMMAND ${GObjectIntrospection_SCANNER} + ${GObjectIntrospection_SCANNER_ARGS} + --namespace=${_gir_namespace} + --nsversion=${_gir_version} +-- +2.35.1 + diff --git a/meta/recipes-support/libical/libical_3.0.9.bb b/meta/recipes-support/libical/libical_3.0.18.bb index 4c7027d14b..052ca57cfb 100644 --- a/meta/recipes-support/libical/libical_3.0.9.bb +++ b/meta/recipes-support/libical/libical_3.0.18.bb @@ -5,21 +5,21 @@ calendar clients can communicate with calendar servers so users can store \ their calendar data and arrange meetings with other users. " HOMEPAGE = "https://github.com/libical/libical" BUGTRACKER = "https://github.com/libical/libical/issues" -LICENSE = "LGPLv2.1 | MPL-2.0" +LICENSE = "LGPL-2.1-only | MPL-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \ - file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \ + file://LICENSE.LGPL21.txt;md5=8f690bb538f4b301d931374a6eb864d0 \ file://LICENSE.MPL2.txt;md5=f75d2927d3c1ed2414ef72048f5ad640 \ " SECTION = "libs" -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ -" -SRC_URI[sha256sum] = "bd26d98b7fcb2eb0cd5461747bbb02024ebe38e293ca53a7dfdcb2505265a728" -UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases" +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ + file://0001-cmake-Do-not-export-CC-into-gir-compiler.patch \ + " +SRC_URI[sha256sum] = "72b7dc1a5937533aee5a2baefc990983b66b141dd80d43b51f80aced4aae219c" -inherit cmake pkgconfig +inherit cmake pkgconfig gobject-introspection vala github-releases -DEPENDS_append_class-target = "libical-native" +DEPENDS += "libical-native" PACKAGECONFIG ??= "icu glib" PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db" @@ -29,13 +29,22 @@ PACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu" # No need to use perl-native, the host perl is sufficient. EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl" +# Disable the test suite as we can't install it +EXTRA_OECMAKE += "-DLIBICAL_BUILD_TESTING=false" # doc build fails with linker error (??) for libical-glib so disable it EXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false" - -EXTRA_OECMAKE_append_class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake" - -do_install_append () { - # Remove build host references +# gobject-introspection +EXTRA_OECMAKE:append:class-target = " -DGObjectIntrospection_COMPILER=${STAGING_BINDIR}/g-ir-compiler-wrapper" +EXTRA_OECMAKE:append:class-target = " -DGObjectIntrospection_SCANNER=${STAGING_BINDIR}/g-ir-scanner-wrapper" +EXTRA_OECMAKE += "-DVAPIGEN=${STAGING_BINDIR_NATIVE}/vapigen" +EXTRA_OECMAKE += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DGOBJECT_INTROSPECTION=ON -DICAL_GLIB_VAPI=ON', '-DGOBJECT_INTROSPECTION=OFF -DICAL_GLIB_VAPI=OFF', d)}" +EXTRA_OECMAKE:append:class-native = " -DGOBJECT_INTROSPECTION=OFF -DICAL_GLIB_VAPI=OFF" + +# Tell the cross-libical where the tool it needs to build is +EXTRA_OECMAKE:append:class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake" + +do_install:append () { + # Remove build host references (https://github.com/libical/libical/issues/532) sed -i \ -e 's,${STAGING_LIBDIR},${libdir},g' \ -e 's,${STAGING_INCDIR},${includedir},g' \ diff --git a/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.1.bb b/meta/recipes-support/libjitterentropy/libjitterentropy_3.5.0.bb index 197bb787ac..f23a122a9c 100644 --- a/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.1.bb +++ b/meta/recipes-support/libjitterentropy/libjitterentropy_3.5.0.bb @@ -4,13 +4,13 @@ It does not depend on any system resource other than a high-resolution time \ stamp. It is a small-scale, yet fast entropy source that is viable in almost \ all environments and on a lot of CPU architectures." HOMEPAGE = "http://www.chronox.de/jent.html" -LICENSE = "GPLv2+ | BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=c69090e97c8fd6372d03099c0a5bc382 \ - file://COPYING.gplv2;md5=eb723b61539feef013de476e68b5c50a \ - file://COPYING.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \ +LICENSE = "GPL-2.0-or-later | BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=18a5cada7ee95e61db4180f0cb4a69cf \ + file://LICENSE.gplv2;md5=eb723b61539feef013de476e68b5c50a \ + file://LICENSE.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \ " -SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git" -SRCREV = "747bf030b0ea9c44548b4e29bcfab7ae416675fc" +SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git;branch=master;protocol=https" +SRCREV = "48b2ffc128af776ff3658a70e5d7bb4a82180189" S = "${WORKDIR}/git" do_configure[noexec] = "1" diff --git a/meta/recipes-support/libksba/libksba/ksba-add-pkgconfig-support.patch b/meta/recipes-support/libksba/libksba/ksba-add-pkgconfig-support.patch index af96bd57cd..468fbd76f8 100644 --- a/meta/recipes-support/libksba/libksba/ksba-add-pkgconfig-support.patch +++ b/meta/recipes-support/libksba/libksba/ksba-add-pkgconfig-support.patch @@ -1,4 +1,4 @@ -From 6081640895b6d566fa21123e2de7d111eeab5c4c Mon Sep 17 00:00:00 2001 +From 46c0582d1087220e9404a14a851085b8f29773c4 Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Mon, 3 Dec 2012 18:17:31 +0800 Subject: [PATCH] libksba: add pkgconfig support @@ -10,19 +10,20 @@ This patch is rejected by upstream for the reason below: They think pkgconfig adds no portability and maintaining them is not worthwhile. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - --- - src/ksba.m4 | 90 +++-------------------------------------------------- - 1 file changed, 4 insertions(+), 86 deletions(-) + src/ksba.m4 | 93 +++-------------------------------------------------- + 1 file changed, 5 insertions(+), 88 deletions(-) diff --git a/src/ksba.m4 b/src/ksba.m4 -index 6b55bb8..6e7336f 100644 +index 80f0d38..8f8761a 100644 --- a/src/ksba.m4 +++ b/src/ksba.m4 -@@ -23,37 +23,6 @@ dnl with a changed API. +@@ -107,39 +107,7 @@ dnl this features allows to prevent build against newer versions of libksba + dnl with a changed API. dnl AC_DEFUN([AM_PATH_KSBA], - [ AC_REQUIRE([AC_CANONICAL_HOST]) +-[ AC_REQUIRE([AC_CANONICAL_HOST])dnl +- AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl - dnl --with-libksba-prefix=PFX is the preferred name for this option, - dnl since that is consistent with how our three siblings use the directory/ - dnl package name in --with-$dir_name-prefix=PFX. @@ -44,7 +45,7 @@ index 6b55bb8..6e7336f 100644 - fi - - use_gpgrt_config="" -- if test x"$KSBA_CONFIG" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then +- if test x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then - if $GPGRT_CONFIG ksba --exists; then - KSBA_CONFIG="$GPGRT_CONFIG ksba" - AC_MSG_NOTICE([Use gpgrt-config as ksba-config]) @@ -54,10 +55,11 @@ index 6b55bb8..6e7336f 100644 - if test -z "$use_gpgrt_config"; then - AC_PATH_PROG(KSBA_CONFIG, ksba-config, no) - fi ++[ AC_REQUIRE([AC_CANONICAL_HOST]) tmp=ifelse([$1], ,1:1.0.0,$1) if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then -@@ -64,56 +33,13 @@ AC_DEFUN([AM_PATH_KSBA], +@@ -150,56 +118,13 @@ AC_DEFUN([AM_PATH_KSBA], min_ksba_version="$tmp" fi @@ -117,7 +119,7 @@ index 6b55bb8..6e7336f 100644 if test "$tmp" -gt 0 ; then AC_MSG_CHECKING([KSBA API version]) if test "$req_ksba_api" -eq "$tmp" ; then -@@ -126,14 +52,8 @@ AC_DEFUN([AM_PATH_KSBA], +@@ -212,14 +137,8 @@ AC_DEFUN([AM_PATH_KSBA], fi fi if test $ok = yes; then @@ -133,7 +135,7 @@ index 6b55bb8..6e7336f 100644 if test x"$libksba_config_host" != xnone ; then if test x"$libksba_config_host" != x"$host" ; then AC_MSG_WARN([[ -@@ -147,8 +67,6 @@ AC_DEFUN([AM_PATH_KSBA], +@@ -233,8 +152,6 @@ AC_DEFUN([AM_PATH_KSBA], fi fi else diff --git a/meta/recipes-support/libksba/libksba_1.5.1.bb b/meta/recipes-support/libksba/libksba_1.6.7.bb index aa296c6b9b..b7a9fc4050 100644 --- a/meta/recipes-support/libksba/libksba_1.5.1.bb +++ b/meta/recipes-support/libksba/libksba_1.6.7.bb @@ -5,9 +5,9 @@ the implemented protocols and presents the data in a consistent way. The \ library does not rely on another cryptographic library but provides \ hooks for easy integration with Libgcrypt. " HOMEPAGE = "http://www.gnupg.org/related_software/libksba/" -LICENSE = "GPLv3+ & (GPLv2+ | LGPLv3+)" -LICENSE_${PN} = "GPLv2+ | LGPLv3+" -LICENSE_${PN}-doc = "GPLv3+" +LICENSE = "GPL-3.0-or-later & (GPL-2.0-or-later | LGPL-3.0-or-later)" +LICENSE:${PN} = "GPL-2.0-or-later | LGPL-3.0-or-later" +LICENSE:${PN}-doc = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=fd541d83f75d038c4e0617b672ed8bda \ file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.GPLv3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ @@ -24,9 +24,9 @@ UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://ksba-add-pkgconfig-support.patch" -SRC_URI[sha256sum] = "b0f4c65e4e447d9a2349f6b8c0e77a28be9531e4548ba02c545d1f46dc7bf921" +SRC_URI[sha256sum] = "cf72510b8ebb4eb6693eef765749d83677a03c79291a311040a5bfd79baab763" -do_configure_prepend () { +do_configure:prepend () { # Else these could be used in preference to those in aclocal-copy rm -f ${S}/m4/gpg-error.m4 } diff --git a/meta/recipes-support/libmd/libmd_1.0.3.bb b/meta/recipes-support/libmd/libmd_1.1.0.bb index 2e6762e490..dc588a0f95 100644 --- a/meta/recipes-support/libmd/libmd_1.0.3.bb +++ b/meta/recipes-support/libmd/libmd_1.1.0.bb @@ -9,7 +9,7 @@ LICENSE = "BSD-3-Clause & BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=0436d4fb62a71f661d6e8b7812f9e1df" SRC_URI = "https://archive.hadrons.org/software/libmd/libmd-${PV}.tar.xz" -SRC_URI[sha256sum] = "5a02097f95cc250a3f1001865e4dbba5f1d15554120f95693c0541923c52af4a" +SRC_URI[sha256sum] = "1bd6aa42275313af3141c7cf2e5b964e8b1fd488025caf2f971f43b00776b332" inherit autotools diff --git a/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb b/meta/recipes-support/libmicrohttpd/libmicrohttpd_1.0.1.bb index 66c48da3b7..0628ee71b5 100644 --- a/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb +++ b/meta/recipes-support/libmicrohttpd/libmicrohttpd_1.0.1.bb @@ -1,30 +1,26 @@ -DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application" +SUMMARY = "A small C library that is supposed to make it easy to run an HTTP server as part of another application" HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/" -LICENSE = "LGPL-2.1+" +LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=57d09285feac8a64efa878e692b14f36" SECTION = "net" DEPENDS = "file" SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz" -SRC_URI[md5sum] = "2a286193af88ab2ae3149748d4b46187" -SRC_URI[sha256sum] = "0ae825f8e0d7f41201fd44a0df1cf454c1cb0bc50fe9d59c26552260264c2ff8" +SRC_URI[sha256sum] = "a89e09fc9b4de34dde19f4fcb4faaa1ce10299b9908db1132bbfa1de47882b94" inherit autotools lib_package pkgconfig gettext CFLAGS += "-pthread -D_REENTRANT" -EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../" +EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../ --enable-largefile" PACKAGECONFIG ?= "curl https" -PACKAGECONFIG_append_class-target = "\ - ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \ -" -PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,," + PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl," PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls," -do_compile_append() { +do_compile:append() { sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc } diff --git a/meta/recipes-support/libmpc/libmpc.inc b/meta/recipes-support/libmpc/libmpc.inc index b3742543df..bc564d4dca 100644 --- a/meta/recipes-support/libmpc/libmpc.inc +++ b/meta/recipes-support/libmpc/libmpc.inc @@ -1,7 +1,7 @@ SUMMARY = "C library for complex number arithmetic with arbitrary precision and correct rounding" DESCRIPTION = "Mpc is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. It is built upon and follows the same principles as Mpfr" HOMEPAGE = "http://www.multiprecision.org/" -LICENSE = "LGPLv3" +LICENSE = "LGPL-3.0-only" SECTION = "libs" inherit autotools texinfo diff --git a/meta/recipes-support/libmpc/libmpc_1.2.1.bb b/meta/recipes-support/libmpc/libmpc_1.3.1.bb index 15d382c4ad..ed57396c0a 100644 --- a/meta/recipes-support/libmpc/libmpc_1.2.1.bb +++ b/meta/recipes-support/libmpc/libmpc_1.3.1.bb @@ -5,7 +5,7 @@ DEPENDS = "gmp mpfr" LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02" SRC_URI = "${GNU_MIRROR}/mpc/mpc-${PV}.tar.gz" -SRC_URI[sha256sum] = "17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459" +SRC_URI[sha256sum] = "ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8" S = "${WORKDIR}/mpc-${PV}" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libnl/files/0001-tests-cksuite-all-netns.c-disable-route_1.patch b/meta/recipes-support/libnl/files/0001-tests-cksuite-all-netns.c-disable-route_1.patch new file mode 100644 index 0000000000..cc5e3890a1 --- /dev/null +++ b/meta/recipes-support/libnl/files/0001-tests-cksuite-all-netns.c-disable-route_1.patch @@ -0,0 +1,31 @@ +From 9e45c8809fc4e0aa1dd2ec2ac3e57352049f1b92 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Tue, 20 Aug 2024 19:01:59 +0200 +Subject: [PATCH] tests/cksuite-all-netns.c: disable route_1 + +This is a new test added in https://github.com/thom311/libnl/commit/49f7822961f5bc6b18cd2a2d3f3b8d2ab0896d3f +and while it passes on host Debian, it doesn't inside poky. + +Investigation into why is proceeding slowly, and I'm simply +not skilled enough in AF_NETLINK, so let's disable until the +core reason for the fail is arrived at. + +Upstream-Status: Inappropriate [fail reported and investigated at https://github.com/thom311/libnl/issues/399] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + tests/cksuite-all-netns.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/cksuite-all-netns.c b/tests/cksuite-all-netns.c +index 5b9d3a5..b2fc46a 100644 +--- a/tests/cksuite-all-netns.c ++++ b/tests/cksuite-all-netns.c +@@ -341,7 +341,7 @@ Suite *make_nl_netns_suite(void) + nltst_netns_fixture_teardown); + tcase_add_test(tc, cache_and_clone); + tcase_add_loop_test(tc, test_create_iface, 0, 17); +- tcase_add_test(tc, route_1); ++ //tcase_add_test(tc, route_1); + suite_add_tcase(suite, tc); + + return suite; diff --git a/meta/recipes-support/libnl/files/enable-serial-tests.patch b/meta/recipes-support/libnl/files/enable-serial-tests.patch deleted file mode 100644 index 8ea53f8748..0000000000 --- a/meta/recipes-support/libnl/files/enable-serial-tests.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b1476d89bf7a0bc6062438731ee4e9026696328b Mon Sep 17 00:00:00 2001 -From: Eric Xu <chi.xu@windriver.com> -Date: Fri, 9 Mar 2018 03:38:49 +0000 -Subject: [PATCH] Add ptest for libnl - -serial-tests is required to generate those targets. - -Signed-off-by: Eric Xu <chi.xu@windriver.com> ---- - configure.ac | 2 +- - 1 files changed, 1 insertion(+), 1 deletions(-) - -diff --git a/configure.ac b/configure.ac -index dfead98..2cc8257 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -46,7 +46,7 @@ AC_INIT(libnl, [libnl_version], [], [], [http://www.infradead.org/~tgr/libnl/]) - AC_CONFIG_HEADERS([lib/defs.h]) - AC_CONFIG_AUX_DIR([build-aux]) - AC_CONFIG_MACRO_DIR([m4]) --AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) -+AM_INIT_AUTOMAKE([-Wall foreign subdir-objects serial-tests]) - m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)], []) - m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) - --- -2.13.3 - diff --git a/meta/recipes-support/libnl/files/run-ptest b/meta/recipes-support/libnl/files/run-ptest index e5c9eb0a32..0d0c665cd2 100755 --- a/meta/recipes-support/libnl/files/run-ptest +++ b/meta/recipes-support/libnl/files/run-ptest @@ -1,16 +1,3 @@ -#!/bin/sh +#! /bin/sh -num_fail=0 - -for test in check* -do - ./"$test" \ - && echo "PASS: $test" \ - || { - echo "FAIL: $test" - num_fail=$(( ${num_fail} + 1)) - } - -done - -exit $num_fail +CK_AUTOMAKE=1 ./check-all diff --git a/meta/recipes-support/libnl/libnl_3.10.0.bb b/meta/recipes-support/libnl/libnl_3.10.0.bb new file mode 100644 index 0000000000..441c847a73 --- /dev/null +++ b/meta/recipes-support/libnl/libnl_3.10.0.bb @@ -0,0 +1,66 @@ +SUMMARY = "A library for applications dealing with netlink sockets" +DESCRIPTION = "The libnl suite is a collection of libraries providing \ +APIs to netlink protocol based Linux kernel interfaces. libnl is the core \ +library implementing the fundamentals required to use the netlink protocol \ +such as socket handling, message construction and parsing, and sending \ +and receiving of data." +HOMEPAGE = "https://github.com/thom311/libnl" +SECTION = "libs/network" + +PE = "1" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "flex-native bison-native" + +SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz \ + file://run-ptest \ + file://0001-tests-cksuite-all-netns.c-disable-route_1.patch \ + " + +SRC_URI[sha256sum] = "49b3e2235fdb58f5910bbb3ed0de8143b71ffc220571540502eb6c2471f204f5" + +GITHUB_BASE_URI = "https://github.com/thom311/${BPN}/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/libnl(?P<pver>.+)" + +inherit autotools pkgconfig ptest github-releases + +FILES:${PN} = "${libdir}/libnl-3.so.* \ + ${libdir}/libnl.so.* \ + ${sysconfdir}" +RREPLACES:${PN} = "libnl2" +RCONFLICTS:${PN} = "libnl2" + +FILES:${PN}-dev += "${libdir}/libnl/cli/*/*.la" +FILES:${PN}-staticdev += "${libdir}/libnl/cli/*/*.a" + +PACKAGES += "${PN}-cli ${PN}-genl ${PN}-idiag ${PN}-nf ${PN}-route ${PN}-xfrm" +FILES:${PN}-cli = "${libdir}/libnl-cli-3.so.* \ + ${libdir}/libnl/cli/*/*.so \ + ${bindir}/genl-ctrl-list \ + ${bindir}/idiag-socket-details \ + ${bindir}/nf-* \ + ${bindir}/nl-*" +FILES:${PN}-genl = "${libdir}/libnl-genl-3.so.* \ + ${libdir}/libnl-genl.so.*" +FILES:${PN}-idiag = "${libdir}/libnl-idiag-3.so.*" +FILES:${PN}-nf = "${libdir}/libnl-nf-3.so.*" +FILES:${PN}-route = "${libdir}/libnl-route-3.so.*" +FILES:${PN}-xfrm = "${libdir}/libnl-xfrm-3.so.*" +RREPLACES:${PN}-genl = "libnl-genl2" +RCONFLICTS:${PN}-genl = "libnl-genl2" + +DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}" +RRECOMMENDS:${PN}-ptest += "kernel-module-dummy kernel-module-bonding" +RDEPENDS:${PN}-ptest += "iproute2-ip" + +do_compile_ptest() { + oe_runmake ./tests/check-all +} + +do_install_ptest() { + ./libtool install install ./tests/check-all ${D}${PTEST_PATH}/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libnl/libnl_3.5.0.bb b/meta/recipes-support/libnl/libnl_3.5.0.bb deleted file mode 100644 index 9753f93267..0000000000 --- a/meta/recipes-support/libnl/libnl_3.5.0.bb +++ /dev/null @@ -1,75 +0,0 @@ -SUMMARY = "A library for applications dealing with netlink sockets" -DESCRIPTION = "The libnl suite is a collection of libraries providing \ -APIs to netlink protocol based Linux kernel interfaces. libnl is the core \ -library implementing the fundamentals required to use the netlink protocol \ -such as socket handling, message construction and parsing, and sending \ -and receiving of data." -HOMEPAGE = "http://www.infradead.org/~tgr/libnl/" -SECTION = "libs/network" - -PE = "1" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "flex-native bison-native" - -SRC_URI = " \ - https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz \ - file://enable-serial-tests.patch \ - file://run-ptest \ - " - -SRC_URI[md5sum] = "74ba57b1b1d6f9f92268aa8141d8e8e4" -SRC_URI[sha256sum] = "352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa" - - -UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases" - -inherit autotools pkgconfig ptest - -FILES_${PN} = "${libdir}/libnl-3.so.* \ - ${libdir}/libnl.so.* \ - ${sysconfdir}" -RREPLACES_${PN} = "libnl2" -RCONFLICTS_${PN} = "libnl2" - -FILES_${PN}-dev += "${libdir}/libnl/cli/*/*.la" -FILES_${PN}-staticdev += "${libdir}/libnl/cli/*/*.a" - -PACKAGES += "${PN}-cli ${PN}-genl ${PN}-idiag ${PN}-nf ${PN}-route ${PN}-xfrm" -FILES_${PN}-cli = "${libdir}/libnl-cli-3.so.* \ - ${libdir}/libnl/cli/*/*.so \ - ${bindir}/genl-ctrl-list \ - ${bindir}/idiag-socket-details \ - ${bindir}/nf-* \ - ${bindir}/nl-*" -FILES_${PN}-genl = "${libdir}/libnl-genl-3.so.* \ - ${libdir}/libnl-genl.so.*" -FILES_${PN}-idiag = "${libdir}/libnl-idiag-3.so.*" -FILES_${PN}-nf = "${libdir}/libnl-nf-3.so.*" -FILES_${PN}-route = "${libdir}/libnl-route-3.so.*" -FILES_${PN}-xfrm = "${libdir}/libnl-xfrm-3.so.*" -RREPLACES_${PN}-genl = "libnl-genl2" -RCONFLICTS_${PN}-genl = "libnl-genl2" - -RDEPENDS_${PN}-ptest += "libcheck" -DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}" - -# make sure the tests don't link against wrong so file -EXTRA_OECONF += "${@bb.utils.contains('PTEST_ENABLED', '1', '--disable-rpath', '', d)}" - -do_compile_ptest() { - # hack to remove the call to `make runtest-TESTS` - sed -i 's/$(MAKE) $(AM_MAKEFLAGS) runtest-TESTS//g' Makefile - oe_runmake check -} - -do_install_ptest(){ - # legacy? tests are also installed, but ptest-runner will not run them - # upstream are not running these tests in their CI pipeline - # issue opened https://github.com/thom311/libnl/issues/270 - install -m 0755 tests/.libs/* ${D}${PTEST_PATH}/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libpcre/libpcre2_10.36.bb b/meta/recipes-support/libpcre/libpcre2_10.44.bb index d8077a1224..36f58e4612 100644 --- a/meta/recipes-support/libpcre/libpcre2_10.36.bb +++ b/meta/recipes-support/libpcre/libpcre2_10.44.bb @@ -8,11 +8,14 @@ SUMMARY = "Perl Compatible Regular Expressions version 2" HOMEPAGE = "http://www.pcre.org" SECTION = "devel" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENCE;md5=60c08fab1357bfe9084b333bc33362d6" +LIC_FILES_CHKSUM = "file://LICENCE;md5=321a5eb46acae6b6c1ff2c7a866d836a" -SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2" +SRC_URI = "${GITHUB_BASE_URI}/download/pcre2-${PV}/pcre2-${PV}.tar.bz2" -SRC_URI[sha256sum] = "a9ef39278113542968c7c73a31cfcb81aca1faa64690f400b907e8ab6b4a665c" +GITHUB_BASE_URI = "https://github.com/PCRE2Project/pcre2/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/pcre2-(?P<pver>\d+(\.\d+)+)$" + +SRC_URI[sha256sum] = "d34f02e113cf7193a1ebf2770d3ac527088d485d4e047ed10e5d217c6ef5de96" CVE_PRODUCT = "pcre2" @@ -23,7 +26,7 @@ DEPENDS += "bzip2 zlib" BINCONFIG = "${bindir}/pcre2-config" -inherit autotools binconfig-disabled +inherit autotools binconfig-disabled github-releases EXTRA_OECONF = "\ --enable-newline-is-lf \ @@ -33,20 +36,20 @@ EXTRA_OECONF = "\ --enable-pcre2-32 \ " CFLAGS += "-D_REENTRANT" -CXXFLAGS_append_powerpc = " -lstdc++" +CXXFLAGS:append:powerpc = " -lstdc++" PACKAGES =+ "libpcre2-16 libpcre2-32 pcre2grep pcre2grep-doc pcre2test pcre2test-doc" -SUMMARY_pcre2grep = "grep utility that uses perl 5 compatible regexes" -SUMMARY_pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs" -SUMMARY_pcre2test = "program for testing Perl-comatible regular expressions" -SUMMARY_pcre2test-doc = "program for testing Perl-comatible regular expressions - docs" - -FILES_libpcre2-16 = "${libdir}/libpcre2-16.so.*" -FILES_libpcre2-32 = "${libdir}/libpcre2-32.so.*" -FILES_pcre2grep = "${bindir}/pcre2grep" -FILES_pcre2grep-doc = "${mandir}/man1/pcre2grep.1" -FILES_pcre2test = "${bindir}/pcre2test" -FILES_pcre2test-doc = "${mandir}/man1/pcre2test.1" +SUMMARY:pcre2grep = "grep utility that uses perl 5 compatible regexes" +SUMMARY:pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs" +SUMMARY:pcre2test = "program for testing Perl-comatible regular expressions" +SUMMARY:pcre2test-doc = "program for testing Perl-comatible regular expressions - docs" + +FILES:libpcre2-16 = "${libdir}/libpcre2-16.so.*" +FILES:libpcre2-32 = "${libdir}/libpcre2-32.so.*" +FILES:pcre2grep = "${bindir}/pcre2grep" +FILES:pcre2grep-doc = "${mandir}/man1/pcre2grep.1" +FILES:pcre2test = "${bindir}/pcre2test" +FILES:pcre2test-doc = "${mandir}/man1/pcre2test.1" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libpcre/libpcre_8.44.bb b/meta/recipes-support/libpcre/libpcre_8.45.bb index cd80dc7345..17fb6846a5 100644 --- a/meta/recipes-support/libpcre/libpcre_8.44.bb +++ b/meta/recipes-support/libpcre/libpcre_8.45.bb @@ -6,14 +6,13 @@ SUMMARY = "Perl Compatible Regular Expressions" HOMEPAGE = "http://www.pcre.org" SECTION = "devel" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENCE;md5=3bb381a66a5385b246d4877922e7511e" -SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \ +LIC_FILES_CHKSUM = "file://LICENCE;md5=b5d5d1a69a24ea2718263f1ff85a1c58" +SRC_URI = "${SOURCEFORGE_MIRROR}/pcre/pcre-${PV}.tar.bz2 \ file://run-ptest \ file://Makefile \ " -SRC_URI[md5sum] = "cf7326204cc46c755b5b2608033d9d24" -SRC_URI[sha256sum] = "19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d" +SRC_URI[sha256sum] = "4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8" CVE_PRODUCT = "pcre" @@ -39,25 +38,25 @@ EXTRA_OECONF = "--enable-utf" PACKAGES =+ "libpcrecpp libpcreposix pcregrep pcregrep-doc pcretest pcretest-doc" -SUMMARY_libpcrecpp = "${SUMMARY} - C++ wrapper functions" -SUMMARY_libpcreposix = "${SUMMARY} - C wrapper functions based on the POSIX regex API" -SUMMARY_pcregrep = "grep utility that uses perl 5 compatible regexes" -SUMMARY_pcregrep-doc = "grep utility that uses perl 5 compatible regexes - docs" -SUMMARY_pcretest = "program for testing Perl-comatible regular expressions" -SUMMARY_pcretest-doc = "program for testing Perl-comatible regular expressions - docs" +SUMMARY:libpcrecpp = "${SUMMARY} - C++ wrapper functions" +SUMMARY:libpcreposix = "${SUMMARY} - C wrapper functions based on the POSIX regex API" +SUMMARY:pcregrep = "grep utility that uses perl 5 compatible regexes" +SUMMARY:pcregrep-doc = "grep utility that uses perl 5 compatible regexes - docs" +SUMMARY:pcretest = "program for testing Perl-comatible regular expressions" +SUMMARY:pcretest-doc = "program for testing Perl-comatible regular expressions - docs" -FILES_libpcrecpp = "${libdir}/libpcrecpp.so.*" -FILES_libpcreposix = "${libdir}/libpcreposix.so.*" -FILES_pcregrep = "${bindir}/pcregrep" -FILES_pcregrep-doc = "${mandir}/man1/pcregrep.1" -FILES_pcretest = "${bindir}/pcretest" -FILES_pcretest-doc = "${mandir}/man1/pcretest.1" +FILES:libpcrecpp = "${libdir}/libpcrecpp.so.*" +FILES:libpcreposix = "${libdir}/libpcreposix.so.*" +FILES:pcregrep = "${bindir}/pcregrep" +FILES:pcregrep-doc = "${mandir}/man1/pcregrep.1" +FILES:pcretest = "${bindir}/pcretest" +FILES:pcretest-doc = "${mandir}/man1/pcretest.1" BBCLASSEXTEND = "native nativesdk" do_install_ptest() { t=${D}${PTEST_PATH} - cp ${WORKDIR}/Makefile $t + cp ${UNPACKDIR}/Makefile $t cp -r ${S}/testdata $t for i in pcre_stringpiece_unittest pcregrep pcretest; \ do cp ${B}/.libs/$i $t; \ @@ -71,4 +70,4 @@ do_install_ptest() { sed -i -e 's:do3=yes:do3=no:g' ${D}${PTEST_PATH}/RunTest } -RDEPENDS_${PN}-ptest += "make" +RDEPENDS:${PN}-ptest += "make" diff --git a/meta/recipes-support/libproxy/libproxy/determinism.patch b/meta/recipes-support/libproxy/libproxy/determinism.patch deleted file mode 100644 index 09770f68f0..0000000000 --- a/meta/recipes-support/libproxy/libproxy/determinism.patch +++ /dev/null @@ -1,26 +0,0 @@ -[PATCH] cmake/modules/config_sysconfig: Allow configuration of sysconfig module - -Checking whether the host system has /etc/sysconfig is not deterministic -when cross compiling. Allow this to be disabled by adding a configure -option for it. OpenEmbedded can set this and have deterministic build -output independent of the host OS. - -Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> -Upstream-Status: Submitted [https://github.com/libproxy/libproxy/pull/160] - -Index: libproxy-0.4.17/libproxy/cmake/modules/config_sysconfig.cmk -=================================================================== ---- libproxy-0.4.17.orig/libproxy/cmake/modules/config_sysconfig.cmk -+++ libproxy-0.4.17/libproxy/cmake/modules/config_sysconfig.cmk -@@ -1,5 +1,8 @@ - if (NOT WIN32 AND NOT APPLE) -- if (EXISTS "/etc/sysconfig" AND IS_DIRECTORY "/etc/sysconfig") -- set(SYSCONFIG_FOUND 1) -+ option(WITH_SYSCONFIG "Build sysconfig module for /etc/sysconfig" ON) -+ if(WITH_SYSCONFIG) -+ if (EXISTS "/etc/sysconfig" AND IS_DIRECTORY "/etc/sysconfig") -+ set(SYSCONFIG_FOUND 1) -+ endif() - endif() - endif() -\ No newline at end of file diff --git a/meta/recipes-support/libproxy/libproxy_0.4.17.bb b/meta/recipes-support/libproxy/libproxy_0.4.17.bb deleted file mode 100644 index c2579b3941..0000000000 --- a/meta/recipes-support/libproxy/libproxy_0.4.17.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Library providing automatic proxy configuration management" -DESCRIPTION = "libproxy provides interfaces to get the proxy that will be \ -used to access network resources. It uses various plugins to get proxy \ -configuration via different mechanisms (e.g. environment variables or \ -desktop settings)." -HOMEPAGE = "https://github.com/libproxy/libproxy" -BUGTRACKER = "https://github.com/libproxy/libproxy/issues" -SECTION = "libs" -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ - file://utils/proxy.c;beginline=1;endline=18;md5=55152a1006d7dafbef32baf9c30a99c0" - -DEPENDS = "glib-2.0" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \ - file://determinism.patch" -SRC_URI[sha256sum] = "bc89f842f654ee1985a31c0ba56dc7e2ce8044a0264ddca84e650f46cd7f8b05" - -UPSTREAM_CHECK_URI = "https://github.com/libproxy/libproxy/releases" -UPSTREAM_CHECK_REGEX = "libproxy-(?P<pver>.*)\.tar" - -inherit cmake pkgconfig - -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gnome', '', d)} gnome3" -PACKAGECONFIG[gnome] = "-DWITH_GNOME=yes,-DWITH_GNOME=no,gconf" -PACKAGECONFIG[gnome3] = "-DWITH_GNOME3=yes,-DWITH_GNOME3=no" - -EXTRA_OECMAKE += " \ - -DWITH_KDE=no \ - -DWITH_MOZJS=no \ - -DWITH_NM=no \ - -DWITH_PERL=no \ - -DWITH_PYTHON2=no \ - -DWITH_PYTHON3=no \ - -DWITH_WEBKIT=no \ - -DWITH_SYSCONFIG=no \ - -DLIB_INSTALL_DIR=${libdir} \ - -DLIBEXEC_INSTALL_DIR=${libexecdir} \ -" -SECURITY_PIE_CFLAGS_remove = "-fPIE -pie" - -FILES_${PN} += "${libdir}/${BPN}/${PV}/modules" diff --git a/meta/recipes-support/libproxy/libproxy_0.5.8.bb b/meta/recipes-support/libproxy/libproxy_0.5.8.bb new file mode 100644 index 0000000000..5dcd7d019b --- /dev/null +++ b/meta/recipes-support/libproxy/libproxy_0.5.8.bb @@ -0,0 +1,28 @@ +SUMMARY = "Library providing automatic proxy configuration management" +DESCRIPTION = "libproxy provides interfaces to get the proxy that will be \ +used to access network resources. It uses various plugins to get proxy \ +configuration via different mechanisms (e.g. environment variables or \ +desktop settings)." +HOMEPAGE = "https://github.com/libproxy/libproxy" +BUGTRACKER = "https://github.com/libproxy/libproxy/issues" +SECTION = "libs" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://src/libproxy/proxy.c;beginline=1;endline=20;md5=bb9a177ef1c995311070f34c5638a402 \ + " + +DEPENDS = "glib-2.0" + +SRC_URI = "git://github.com/libproxy/libproxy;protocol=https;branch=main" +SRCREV = "04c5185729e164dcc2d010177f83b6209769d9e7" +S = "${WORKDIR}/git" + +inherit meson pkgconfig gobject-introspection vala gi-docgen +GIDOCGEN_MESON_OPTION = 'docs' + +PACKAGECONFIG ?= "" +PACKAGECONFIG[curl] = "-Dcurl=true,-Dcurl=false,curl" +PACKAGECONFIG[config-gnome] = "-Dconfig-gnome=true,-Dconfig-gnome=false,gsettings-desktop-schemas" +PACKAGECONFIG[pacrunner-duktape] = "-Dpacrunner-duktape=true,-Dpacrunner-duktape=false,duktape" + +FILES:${PN} += "${libdir}/${BPN}/${PV}/modules" diff --git a/meta/recipes-support/libpsl/libpsl_0.21.1.bb b/meta/recipes-support/libpsl/libpsl_0.21.5.bb index 4fc0ad8acb..b9341a986e 100644 --- a/meta/recipes-support/libpsl/libpsl_0.21.1.bb +++ b/meta/recipes-support/libpsl/libpsl_0.21.5.bb @@ -7,16 +7,17 @@ HOMEPAGE = "https://rockdaboot.github.io/libpsl/" BUGTRACKER = "https://github.com/rockdaboot/libpsl/issues" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \ - file://COPYING;md5=f41d10997a12da5ee3c24ceeb0148d18" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9f9e317096db2a598fc44237c5b8a4f7 \ + file://COPYING;md5=9f9e317096db2a598fc44237c5b8a4f7 \ + " -SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${PV}/${BP}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \ " -SRC_URI[sha256sum] = "ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c" +SRC_URI[sha256sum] = "1dcc9ceae8b128f3c0b3f654decd0e1e891afc6ff81098f227ef260449dae208" -UPSTREAM_CHECK_URI = "https://github.com/rockdaboot/libpsl/releases" +GITHUB_BASE_URI = "https://github.com/rockdaboot/libpsl/releases" -inherit autotools gettext gtk-doc manpages pkgconfig lib_package +inherit autotools gettext gtk-doc manpages pkgconfig lib_package github-releases PACKAGECONFIG ?= "icu" PACKAGECONFIG[manpages] = "--enable-man,--disable-man,libxslt-native" diff --git a/meta/recipes-support/libseccomp/files/run-ptest b/meta/recipes-support/libseccomp/files/run-ptest new file mode 100644 index 0000000000..63c79f09c4 --- /dev/null +++ b/meta/recipes-support/libseccomp/files/run-ptest @@ -0,0 +1,7 @@ +#!/bin/sh + +cd tests +sed -i 's/SUCCESS/PASS/g; s/FAILURE/FAIL/g; s/SKIPPED/SKIP/g' regression +sed -i 's/"Test %s result: %s\\n" "$1" "$2"/"%s: %s\\n" "$2" "$1"/g' regression +sed -i 's/"Test %s result: %s %s\\n" "$1" "$2" "$3"/"%s: %s %s\\n" "$2" "$1" "$3"/g' regression +./regression -a diff --git a/meta/recipes-support/libseccomp/libseccomp_2.5.5.bb b/meta/recipes-support/libseccomp/libseccomp_2.5.5.bb new file mode 100644 index 0000000000..478e5f4289 --- /dev/null +++ b/meta/recipes-support/libseccomp/libseccomp_2.5.5.bb @@ -0,0 +1,62 @@ +SUMMARY = "interface to seccomp filtering mechanism" +DESCRIPTION = "The libseccomp library provides an easy to use, platform independent, interface to the Linux Kernel's syscall filtering mechanism: seccomp." +HOMEPAGE = "https://github.com/seccomp/libseccomp" +SECTION = "security" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7c13b3376cea0ce68d2d2da0a1b3a72c" + +DEPENDS += "gperf-native" + +SRCREV = "f0b04ab0b4fc0bc2cde6da1f407b4a487fe6d78f" + +SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=release-2.5;protocol=https \ + file://run-ptest \ + " + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig ptest features_check + +inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} + +REQUIRED_DISTRO_FEATURES = "seccomp" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[python] = "--enable-python, --disable-python, python3-cython-native" + +DISABLE_STATIC = "" + +do_compile_ptest() { + oe_runmake -C tests check-build +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + install -d ${D}${PTEST_PATH}/tools + for file in $(find tests/* -executable -type f); do + install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests + done + for file in $(find tests/*.tests -type f); do + install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests + done + for file in $(find tests/*.pfc -type f); do + install -m 644 ${S}/${file} ${D}/${PTEST_PATH}/tests + done + install -m 644 ${S}/tests/valgrind_test.supp ${D}/${PTEST_PATH}/tests + for file in $(find tools/* -executable -type f); do + install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools + done + # Overwrite libtool wrappers with real executables + for file in $(find tools/.libs/* -executable -type f); do + install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools + done + # fix python shebang + sed -i -e 's@cmd /usr/bin/env python @cmd /usr/bin/env python3 @' ${D}/${PTEST_PATH}/tests/regression + sed -i -e 's@^#!/usr/bin/env python$@#!/usr/bin/env python3@' ${D}/${PTEST_PATH}/tests/*.py +} + +FILES:${PN} = "${bindir} ${libdir}/${BPN}.so* ${PYTHON_SITEPACKAGES_DIR}/" +FILES:${PN}-dbg += "${libdir}/${PN}/tests/.debug/* ${libdir}/${PN}/tools/.debug" + +RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3', '', d)}" +RDEPENDS:${PN}-ptest = "coreutils bash" diff --git a/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch b/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch new file mode 100644 index 0000000000..d867e5bc17 --- /dev/null +++ b/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch @@ -0,0 +1,44 @@ +From ced3c5d8cad0177b297666343f1561799dfefb0d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 22 Nov 2023 18:49:10 -0800 +Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17 + +Fixes build errors about missing function prototypes with clang-17 + +Fixes +| ../libsoup-2.74.3/libsoup/soup-xmlrpc-old.c:512:8: error: call to undeclared function 'xmlParseMemory'; ISO C99 and later do not support implicit function declarations + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/385] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libsoup/soup-xmlrpc-old.c | 1 + + libsoup/soup-xmlrpc.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/libsoup/soup-xmlrpc-old.c b/libsoup/soup-xmlrpc-old.c +index c57086b6..527e3b23 100644 +--- a/libsoup/soup-xmlrpc-old.c ++++ b/libsoup/soup-xmlrpc-old.c +@@ -11,6 +11,7 @@ + + #include <string.h> + ++#include <libxml/parser.h> + #include <libxml/tree.h> + + #include "soup-xmlrpc-old.h" +diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c +index 42dcda9c..e991cbf0 100644 +--- a/libsoup/soup-xmlrpc.c ++++ b/libsoup/soup-xmlrpc.c +@@ -17,6 +17,7 @@ + + #include <string.h> + #include <errno.h> ++#include <libxml/parser.h> + #include <libxml/tree.h> + #include "soup-xmlrpc.h" + #include "soup.h" +-- +2.43.0 + diff --git a/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb b/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb index 5b74119d94..ee20530b64 100644 --- a/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb +++ b/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb @@ -4,15 +4,16 @@ and the glib main loop, to integrate well with GNOME applications." HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" BUGTRACKER = "https://bugzilla.gnome.org/" SECTION = "x11/gnome/libs" -LICENSE = "LGPLv2" +LICENSE = "LGPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" -DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native libpsl" +DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl" SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" -SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz" -SRC_URI[sha256sum] = "170c3f8446b0f65f8e4b93603349172b1085fb8917c181d10962f02bb85f5387" +SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ + file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch" +SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13" CVE_PRODUCT = "libsoup" @@ -20,15 +21,29 @@ S = "${WORKDIR}/libsoup-${PV}" inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc +UPSTREAM_CHECK_REGEX = "libsoup-(?P<pver>2(\.(?!99)\d+)+)\.tar" + GIR_MESON_ENABLE_FLAG = 'enabled' GIR_MESON_DISABLE_FLAG = 'disabled' -# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default. PACKAGECONFIG ??= "" +PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli" +# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false" PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5" +PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled" +PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof" + +# Tell libsoup where the target ntlm_auth is installed +do_write_config:append:class-target() { + cat >${WORKDIR}/soup.cross <<EOF +[binaries] +ntlm_auth = '${bindir}/ntlm_auth' +EOF +} +EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross" -EXTRA_OEMESON_append = " -Dvapi=disabled -Dtls_check=false" +EXTRA_OEMESON += "-Dvapi=disabled -Dtls_check=false" GTKDOC_MESON_OPTION = "gtk_doc" @@ -36,9 +51,9 @@ GTKDOC_MESON_OPTION = "gtk_doc" # and will therefore become subject to renaming by debian.bbclass. Prevent # renaming in order to keep the package name consistent regardless of whether # gnome support is enabled or disabled. -DEBIAN_NOAUTONAME_${PN} = "1" +DEBIAN_NOAUTONAME:${PN} = "1" # glib-networking is needed for SSL, proxies, etc. -RRECOMMENDS_${PN} = "glib-networking" +RRECOMMENDS:${PN} = "glib-networking" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libsoup/libsoup_3.6.0.bb b/meta/recipes-support/libsoup/libsoup_3.6.0.bb new file mode 100644 index 0000000000..195fc4f741 --- /dev/null +++ b/meta/recipes-support/libsoup/libsoup_3.6.0.bb @@ -0,0 +1,59 @@ +SUMMARY = "An HTTP library implementation in C" +DESCRIPTION = "libsoup is an HTTP client/server library for GNOME. It uses GObjects \ +and the glib main loop, to integrate well with GNOME applications." +HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome/libs" +LICENSE = "LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl nghttp2" + +SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" + +SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz" +SRC_URI[sha256sum] = "62959f791e8e8442f8c13cedac8c4919d78f9120d5bb5301be67a5e53318b4a3" + +PROVIDES = "libsoup-3.0" +CVE_PRODUCT = "libsoup" + +S = "${WORKDIR}/libsoup-${PV}" + +inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gi-docgen vala + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +PACKAGECONFIG ??= "" +PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli" +PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5" +PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled" +PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof" + +# Tell libsoup where the target ntlm_auth is installed +do_write_config:append:class-target() { + cat >${WORKDIR}/soup.cross <<EOF +[binaries] +ntlm_auth = '${bindir}/ntlm_auth' +EOF +} +EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross" + +EXTRA_OEMESON += "-Dtls_check=false" +# Disable the test suites +EXTRA_OEMESON += "-Dtests=false -Dautobahn=disabled -Dpkcs11_tests=disabled" + +GIDOCGEN_MESON_OPTION = 'docs' +GIDOCGEN_MESON_ENABLE_FLAG = 'enabled' +GIDOCGEN_MESON_DISABLE_FLAG = 'disabled' + +# When built without gnome support, libsoup will contain only one shared lib +# and will therefore become subject to renaming by debian.bbclass. Prevent +# renaming in order to keep the package name consistent regardless of whether +# gnome support is enabled or disabled. +DEBIAN_NOAUTONAME:${PN} = "1" + +# glib-networking is needed for SSL, proxies, etc. +RRECOMMENDS:${PN} = "glib-networking" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch b/meta/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch deleted file mode 100644 index 5ff9bf8462..0000000000 --- a/meta/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch +++ /dev/null @@ -1,46 +0,0 @@ -From f9e3e2ee7b18ba5bb8efe083171f3e701eb0a663 Mon Sep 17 00:00:00 2001 -From: Your Name <you@example.com> -Date: Mon, 28 Dec 2020 02:08:03 +0000 -Subject: [PATCH] Don't let host enviroment to decide if a test is build - -test ssh2.sh need sshd, for cross compile, we need it on target, so -don't use SSHD on host to decide weither to build a test - -Upstream-Status: Inappropriate[oe specific] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - tests/Makefile.am | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index dc0922f..6cbc35d 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -1,16 +1,12 @@ - AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_builddir)/src - LDADD = ../src/libssh2.la - --if SSHD - noinst_PROGRAMS = ssh2 - ssh2_SOURCES = ssh2.c --endif - - ctests = simple$(EXEEXT) - TESTS = $(ctests) mansyntax.sh --if SSHD - TESTS += ssh2.sh --endif - check_PROGRAMS = $(ctests) - - TESTS_ENVIRONMENT = SSHD=$(SSHD) EXEEXT=$(EXEEXT) -@@ -38,4 +34,4 @@ if OPENSSL - # EXTRA_DIST += test_public_key_auth_succeeds_with_correct_encrypted_ed25519_key.c - # EXTRA_DIST += test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c - EXTRA_DIST += test_public_key_auth_succeeds_with_correct_rsa_openssh_key.c --endif -\ No newline at end of file -+endif --- -2.20.1 - diff --git a/meta/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch b/meta/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch deleted file mode 100644 index 1128c7ea0c..0000000000 --- a/meta/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch +++ /dev/null @@ -1,30 +0,0 @@ -From efe7101786193eaddb749c0583af6b54aec6f289 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 2 Feb 2021 18:45:16 -0800 -Subject: [PATCH] configure: Conditionally undefine backend m4 macro - -Unlike the M4 builtin, this macro fails if macro is not defined -therefore recover the behavior of the builtin. - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index fe5054a..758f8c2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -127,7 +127,7 @@ fi - m4_set_foreach([crypto_backends], [backend], - [AM_CONDITIONAL(m4_toupper(backend), test "$found_crypto" = "backend")] - ) --m4_undefine([backend]) -+m4_ifdef([backend], [m4_undefine([backend])]) - - - # libz --- -2.30.0 - diff --git a/meta/recipes-support/libssh2/files/CVE-2019-17498.patch b/meta/recipes-support/libssh2/files/CVE-2019-17498.patch deleted file mode 100644 index 001080072b..0000000000 --- a/meta/recipes-support/libssh2/files/CVE-2019-17498.patch +++ /dev/null @@ -1,131 +0,0 @@ -From dedcbd106f8e52d5586b0205bc7677e4c9868f9c Mon Sep 17 00:00:00 2001 -From: Will Cosgrove <will@panic.com> -Date: Fri, 30 Aug 2019 09:57:38 -0700 -Subject: [PATCH] packet.c: improve message parsing (#402) - -* packet.c: improve parsing of packets - -file: packet.c - -notes: -Use _libssh2_get_string API in SSH_MSG_DEBUG/SSH_MSG_DISCONNECT. Additional uint32 bounds check in SSH_MSG_GLOBAL_REQUEST. - -Upstream-Status: Backport -CVE: CVE-2019-17498 -Signed-off-by: Li Zhou <li.zhou@windriver.com> ---- - src/packet.c | 68 ++++++++++++++++++++++------------------------------ - 1 file changed, 29 insertions(+), 39 deletions(-) - -diff --git a/src/packet.c b/src/packet.c -index 38ab629..2e01bfc 100644 ---- a/src/packet.c -+++ b/src/packet.c -@@ -419,8 +419,8 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - size_t datalen, int macstate) - { - int rc = 0; -- char *message = NULL; -- char *language = NULL; -+ unsigned char *message = NULL; -+ unsigned char *language = NULL; - size_t message_len = 0; - size_t language_len = 0; - LIBSSH2_CHANNEL *channelp = NULL; -@@ -472,33 +472,23 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - - case SSH_MSG_DISCONNECT: - if(datalen >= 5) { -- size_t reason = _libssh2_ntohu32(data + 1); -+ uint32_t reason = 0; -+ struct string_buf buf; -+ buf.data = (unsigned char *)data; -+ buf.dataptr = buf.data; -+ buf.len = datalen; -+ buf.dataptr++; /* advance past type */ - -- if(datalen >= 9) { -- message_len = _libssh2_ntohu32(data + 5); -+ _libssh2_get_u32(&buf, &reason); -+ _libssh2_get_string(&buf, &message, &message_len); -+ _libssh2_get_string(&buf, &language, &language_len); - -- if(message_len < datalen-13) { -- /* 9 = packet_type(1) + reason(4) + message_len(4) */ -- message = (char *) data + 9; -- -- language_len = -- _libssh2_ntohu32(data + 9 + message_len); -- language = (char *) data + 9 + message_len + 4; -- -- if(language_len > (datalen-13-message_len)) { -- /* bad input, clear info */ -- language = message = NULL; -- language_len = message_len = 0; -- } -- } -- else -- /* bad size, clear it */ -- message_len = 0; -- } - if(session->ssh_msg_disconnect) { -- LIBSSH2_DISCONNECT(session, reason, message, -- message_len, language, language_len); -+ LIBSSH2_DISCONNECT(session, reason, (const char *)message, -+ message_len, (const char *)language, -+ language_len); - } -+ - _libssh2_debug(session, LIBSSH2_TRACE_TRANS, - "Disconnect(%d): %s(%s)", reason, - message, language); -@@ -539,24 +529,24 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - int always_display = data[1]; - - if(datalen >= 6) { -- message_len = _libssh2_ntohu32(data + 2); -- -- if(message_len <= (datalen - 10)) { -- /* 6 = packet_type(1) + display(1) + message_len(4) */ -- message = (char *) data + 6; -- language_len = _libssh2_ntohu32(data + 6 + -- message_len); -- -- if(language_len <= (datalen - 10 - message_len)) -- language = (char *) data + 10 + message_len; -- } -+ struct string_buf buf; -+ buf.data = (unsigned char *)data; -+ buf.dataptr = buf.data; -+ buf.len = datalen; -+ buf.dataptr += 2; /* advance past type & always display */ -+ -+ _libssh2_get_string(&buf, &message, &message_len); -+ _libssh2_get_string(&buf, &language, &language_len); - } - - if(session->ssh_msg_debug) { -- LIBSSH2_DEBUG(session, always_display, message, -- message_len, language, language_len); -+ LIBSSH2_DEBUG(session, always_display, -+ (const char *)message, -+ message_len, (const char *)language, -+ language_len); - } - } -+ - /* - * _libssh2_debug will actually truncate this for us so - * that it's not an inordinate about of data -@@ -579,7 +569,7 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - uint32_t len = 0; - unsigned char want_reply = 0; - len = _libssh2_ntohu32(data + 1); -- if(datalen >= (6 + len)) { -+ if((len <= (UINT_MAX - 6)) && (datalen >= (6 + len))) { - want_reply = data[5 + len]; - _libssh2_debug(session, - LIBSSH2_TRACE_CONN, --- -2.17.1 - diff --git a/meta/recipes-support/libssh2/libssh2/0001-disable-DSA-by-default.patch b/meta/recipes-support/libssh2/libssh2/0001-disable-DSA-by-default.patch new file mode 100644 index 0000000000..1af40abb42 --- /dev/null +++ b/meta/recipes-support/libssh2/libssh2/0001-disable-DSA-by-default.patch @@ -0,0 +1,173 @@ +From 124ab98ed2f3ea6478dd04c7b6947720fef385d3 Mon Sep 17 00:00:00 2001 +From: Viktor Szakats <commit@vsz.me> +Date: Tue, 30 Jul 2024 20:00:05 +0200 +Subject: [PATCH] disable DSA by default + +Also: +- add `LIBSSH2_DSA_ENABLE` to enable it explicitly. +- test the above option in CI. +- say 'deprecated' in docs and public header. +- disable DSA in the CI server config. + (OpenSSH 9.8 no longer builds with it by default) + https://www.openssh.com/txt/release-9.8 + Patch-by: Jose Quaresma +- disable more DSA code when not enabled. + +Fixes #1433 +Closes #1435 + +Upstream-Status: Backport [https://github.com/libssh2/libssh2/commit/b7ab0faa70567a789419798fe079f5678ad4e156] + +Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> +--- + docs/libssh2_knownhost_add.3 | 2 +- + docs/libssh2_knownhost_addc.3 | 2 +- + docs/libssh2_session_hostkey.3 | 2 +- + include/libssh2.h | 4 ++-- + src/hostkey.c | 4 ++++ + src/knownhost.c | 16 ++++++++++------ + tests/openssh_server/sshd_config | 2 +- + 7 files changed, 20 insertions(+), 12 deletions(-) + +diff --git a/docs/libssh2_knownhost_add.3 b/docs/libssh2_knownhost_add.3 +index d0af2b6d..2b529c2e 100644 +--- a/docs/libssh2_knownhost_add.3 ++++ b/docs/libssh2_knownhost_add.3 +@@ -50,7 +50,7 @@ LIBSSH2_KNOWNHOST_KEYENC_RAW or LIBSSH2_KNOWNHOST_KEYENC_BASE64. + + The key is using one of these algorithms: + LIBSSH2_KNOWNHOST_KEY_RSA1, LIBSSH2_KNOWNHOST_KEY_SSHRSA or +-LIBSSH2_KNOWNHOST_KEY_SSHDSS. ++LIBSSH2_KNOWNHOST_KEY_SSHDSS (deprecated). + + \fIstore\fP should point to a pointer that gets filled in to point to the + known host data after the addition. NULL can be passed if you do not care about +diff --git a/docs/libssh2_knownhost_addc.3 b/docs/libssh2_knownhost_addc.3 +index 21367e11..f15f6ea9 100644 +--- a/docs/libssh2_knownhost_addc.3 ++++ b/docs/libssh2_knownhost_addc.3 +@@ -55,7 +55,7 @@ LIBSSH2_KNOWNHOST_KEYENC_RAW or LIBSSH2_KNOWNHOST_KEYENC_BASE64. + + The key is using one of these algorithms: + LIBSSH2_KNOWNHOST_KEY_RSA1, LIBSSH2_KNOWNHOST_KEY_SSHRSA or +-LIBSSH2_KNOWNHOST_KEY_SSHDSS. ++LIBSSH2_KNOWNHOST_KEY_SSHDSS (deprecated). + + \fIstore\fP should point to a pointer that gets filled in to point to the + known host data after the addition. NULL can be passed if you do not care about +diff --git a/docs/libssh2_session_hostkey.3 b/docs/libssh2_session_hostkey.3 +index d57c7eab..0f0ee4c7 100644 +--- a/docs/libssh2_session_hostkey.3 ++++ b/docs/libssh2_session_hostkey.3 +@@ -14,7 +14,7 @@ Returns a pointer to the current host key, the value \fIlen\fP points to will + get the length of the key. + + The value \fItype\fP points to the type of hostkey which is one of: +-LIBSSH2_HOSTKEY_TYPE_RSA, LIBSSH2_HOSTKEY_TYPE_DSS, or ++LIBSSH2_HOSTKEY_TYPE_RSA, LIBSSH2_HOSTKEY_TYPE_DSS (deprecated), or + LIBSSH2_HOSTKEY_TYPE_UNKNOWN. + + .SH RETURN VALUE +diff --git a/include/libssh2.h b/include/libssh2.h +index 97ac5898..4c1faa53 100644 +--- a/include/libssh2.h ++++ b/include/libssh2.h +@@ -470,7 +470,7 @@ typedef struct _LIBSSH2_POLLFD { + /* Hostkey Types */ + #define LIBSSH2_HOSTKEY_TYPE_UNKNOWN 0 + #define LIBSSH2_HOSTKEY_TYPE_RSA 1 +-#define LIBSSH2_HOSTKEY_TYPE_DSS 2 ++#define LIBSSH2_HOSTKEY_TYPE_DSS 2 /* deprecated */ + #define LIBSSH2_HOSTKEY_TYPE_ECDSA_256 3 + #define LIBSSH2_HOSTKEY_TYPE_ECDSA_384 4 + #define LIBSSH2_HOSTKEY_TYPE_ECDSA_521 5 +@@ -1094,7 +1094,7 @@ libssh2_knownhost_init(LIBSSH2_SESSION *session); + #define LIBSSH2_KNOWNHOST_KEY_SHIFT 18 + #define LIBSSH2_KNOWNHOST_KEY_RSA1 (1<<18) + #define LIBSSH2_KNOWNHOST_KEY_SSHRSA (2<<18) +-#define LIBSSH2_KNOWNHOST_KEY_SSHDSS (3<<18) ++#define LIBSSH2_KNOWNHOST_KEY_SSHDSS (3<<18) /* deprecated */ + #define LIBSSH2_KNOWNHOST_KEY_ECDSA_256 (4<<18) + #define LIBSSH2_KNOWNHOST_KEY_ECDSA_384 (5<<18) + #define LIBSSH2_KNOWNHOST_KEY_ECDSA_521 (6<<18) +diff --git a/src/hostkey.c b/src/hostkey.c +index f3823676..a5e07029 100644 +--- a/src/hostkey.c ++++ b/src/hostkey.c +@@ -1346,9 +1346,11 @@ static int hostkey_type(const unsigned char *hostkey, size_t len) + static const unsigned char rsa[] = { + 0, 0, 0, 0x07, 's', 's', 'h', '-', 'r', 's', 'a' + }; ++#if LIBSSH2_DSA + static const unsigned char dss[] = { + 0, 0, 0, 0x07, 's', 's', 'h', '-', 'd', 's', 's' + }; ++#endif + static const unsigned char ecdsa_256[] = { + 0, 0, 0, 0x13, 'e', 'c', 'd', 's', 'a', '-', 's', 'h', 'a', '2', '-', + 'n', 'i', 's', 't', 'p', '2', '5', '6' +@@ -1371,8 +1373,10 @@ static int hostkey_type(const unsigned char *hostkey, size_t len) + if(!memcmp(rsa, hostkey, 11)) + return LIBSSH2_HOSTKEY_TYPE_RSA; + ++#if LIBSSH2_DSA + if(!memcmp(dss, hostkey, 11)) + return LIBSSH2_HOSTKEY_TYPE_DSS; ++#endif + + if(len < 15) + return LIBSSH2_HOSTKEY_TYPE_UNKNOWN; +diff --git a/src/knownhost.c b/src/knownhost.c +index c2231180..afa96508 100644 +--- a/src/knownhost.c ++++ b/src/knownhost.c +@@ -773,18 +773,20 @@ static int hostline(LIBSSH2_KNOWNHOSTS *hosts, + } + key_type_len = key - key_type_name; + +- if(!strncmp(key_type_name, "ssh-dss", key_type_len)) +- key_type = LIBSSH2_KNOWNHOST_KEY_SSHDSS; +- else if(!strncmp(key_type_name, "ssh-rsa", key_type_len)) +- key_type = LIBSSH2_KNOWNHOST_KEY_SSHRSA; ++ if(!strncmp(key_type_name, "ssh-ed25519", key_type_len)) ++ key_type = LIBSSH2_KNOWNHOST_KEY_ED25519; + else if(!strncmp(key_type_name, "ecdsa-sha2-nistp256", key_type_len)) + key_type = LIBSSH2_KNOWNHOST_KEY_ECDSA_256; + else if(!strncmp(key_type_name, "ecdsa-sha2-nistp384", key_type_len)) + key_type = LIBSSH2_KNOWNHOST_KEY_ECDSA_384; + else if(!strncmp(key_type_name, "ecdsa-sha2-nistp521", key_type_len)) + key_type = LIBSSH2_KNOWNHOST_KEY_ECDSA_521; +- else if(!strncmp(key_type_name, "ssh-ed25519", key_type_len)) +- key_type = LIBSSH2_KNOWNHOST_KEY_ED25519; ++ else if(!strncmp(key_type_name, "ssh-rsa", key_type_len)) ++ key_type = LIBSSH2_KNOWNHOST_KEY_SSHRSA; ++#if LIBSSH2_DSA ++ else if(!strncmp(key_type_name, "ssh-dss", key_type_len)) ++ key_type = LIBSSH2_KNOWNHOST_KEY_SSHDSS; ++#endif + else + key_type = LIBSSH2_KNOWNHOST_KEY_UNKNOWN; + +@@ -1020,10 +1022,12 @@ knownhost_writeline(LIBSSH2_KNOWNHOSTS *hosts, + key_type_name = "ssh-rsa"; + key_type_len = 7; + break; ++#if LIBSSH2_DSA + case LIBSSH2_KNOWNHOST_KEY_SSHDSS: + key_type_name = "ssh-dss"; + key_type_len = 7; + break; ++#endif + case LIBSSH2_KNOWNHOST_KEY_ECDSA_256: + key_type_name = "ecdsa-sha2-nistp256"; + key_type_len = 19; +diff --git a/tests/openssh_server/sshd_config b/tests/openssh_server/sshd_config +index 1069566f..5cd2b898 100644 +--- a/tests/openssh_server/sshd_config ++++ b/tests/openssh_server/sshd_config +@@ -1,4 +1,4 @@ + HostKeyAlgorithms +ssh-rsa +-PubkeyAcceptedKeyTypes +ssh-rsa,ssh-dss,ssh-rsa-cert-v01@openssh.com ++PubkeyAcceptedKeyTypes +ssh-rsa,ssh-rsa-cert-v01@openssh.com + MACs +hmac-sha1,hmac-sha1-96,hmac-sha2-256,hmac-sha2-512,hmac-md5,hmac-md5-96,umac-64@openssh.com,umac-128@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-md5-etm@openssh.com,hmac-md5-96-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com + Ciphers +3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com diff --git a/meta/recipes-support/libssh2/libssh2/CVE-2023-48795.patch b/meta/recipes-support/libssh2/libssh2/CVE-2023-48795.patch new file mode 100644 index 0000000000..ab0f419ac5 --- /dev/null +++ b/meta/recipes-support/libssh2/libssh2/CVE-2023-48795.patch @@ -0,0 +1,466 @@ +From d4634630432594b139b3af6b9f254b890c0f275d Mon Sep 17 00:00:00 2001 +From: Michael Buckley <michael@buckleyisms.com> +Date: Thu, 30 Nov 2023 15:08:02 -0800 +Subject: [PATCH] src: add 'strict KEX' to fix CVE-2023-48795 "Terrapin Attack" + +Refs: +https://terrapin-attack.com/ +https://seclists.org/oss-sec/2023/q4/292 +https://osv.dev/list?ecosystem=&q=CVE-2023-48795 +https://github.com/advisories/GHSA-45x7-px36-x8w8 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48795 + +Fixes #1290 +Closes #1291 + +CVE: CVE-2023-48795 +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + src/kex.c | 63 +++++++++++++++++++++++------------ + src/libssh2_priv.h | 18 +++++++--- + src/packet.c | 83 +++++++++++++++++++++++++++++++++++++++++++--- + src/packet.h | 2 +- + src/session.c | 3 ++ + src/transport.c | 12 ++++++- + 6 files changed, 149 insertions(+), 32 deletions(-) + +diff --git a/src/kex.c b/src/kex.c +index d4034a0a..b4b748ca 100644 +--- a/src/kex.c ++++ b/src/kex.c +@@ -3037,6 +3037,13 @@ kex_method_extension_negotiation = { + 0, + }; + ++static const LIBSSH2_KEX_METHOD ++kex_method_strict_client_extension = { ++ "kex-strict-c-v00@openssh.com", ++ NULL, ++ 0, ++}; ++ + static const LIBSSH2_KEX_METHOD *libssh2_kex_methods[] = { + #if LIBSSH2_ED25519 + &kex_method_ssh_curve25519_sha256, +@@ -3055,6 +3062,7 @@ static const LIBSSH2_KEX_METHOD *libssh2_kex_methods[] = { + &kex_method_diffie_helman_group1_sha1, + &kex_method_diffie_helman_group_exchange_sha1, + &kex_method_extension_negotiation, ++ &kex_method_strict_client_extension, + NULL + }; + +@@ -3307,13 +3315,13 @@ static int kexinit(LIBSSH2_SESSION * session) + return 0; + } + +-/* kex_agree_instr ++/* _libssh2_kex_agree_instr + * Kex specific variant of strstr() + * Needle must be preceded by BOL or ',', and followed by ',' or EOL + */ +-static unsigned char * +-kex_agree_instr(unsigned char *haystack, size_t haystack_len, +- const unsigned char *needle, size_t needle_len) ++unsigned char * ++_libssh2_kex_agree_instr(unsigned char *haystack, size_t haystack_len, ++ const unsigned char *needle, size_t needle_len) + { + unsigned char *s; + unsigned char *end_haystack; +@@ -3398,7 +3406,7 @@ static int kex_agree_hostkey(LIBSSH2_SESSION * session, + while(s && *s) { + unsigned char *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); +- if(kex_agree_instr(hostkey, hostkey_len, s, method_len)) { ++ if(_libssh2_kex_agree_instr(hostkey, hostkey_len, s, method_len)) { + const LIBSSH2_HOSTKEY_METHOD *method = + (const LIBSSH2_HOSTKEY_METHOD *) + kex_get_method_by_name((char *) s, method_len, +@@ -3432,9 +3440,9 @@ static int kex_agree_hostkey(LIBSSH2_SESSION * session, + } + + while(hostkeyp && (*hostkeyp) && (*hostkeyp)->name) { +- s = kex_agree_instr(hostkey, hostkey_len, +- (unsigned char *) (*hostkeyp)->name, +- strlen((*hostkeyp)->name)); ++ s = _libssh2_kex_agree_instr(hostkey, hostkey_len, ++ (unsigned char *) (*hostkeyp)->name, ++ strlen((*hostkeyp)->name)); + if(s) { + /* So far so good, but does it suit our purposes? (Encrypting vs + Signing) */ +@@ -3468,6 +3476,12 @@ static int kex_agree_kex_hostkey(LIBSSH2_SESSION * session, unsigned char *kex, + { + const LIBSSH2_KEX_METHOD **kexp = libssh2_kex_methods; + unsigned char *s; ++ const unsigned char *strict = ++ (unsigned char *)"kex-strict-s-v00@openssh.com"; ++ ++ if(_libssh2_kex_agree_instr(kex, kex_len, strict, 28)) { ++ session->kex_strict = 1; ++ } + + if(session->kex_prefs) { + s = (unsigned char *) session->kex_prefs; +@@ -3475,7 +3489,7 @@ static int kex_agree_kex_hostkey(LIBSSH2_SESSION * session, unsigned char *kex, + while(s && *s) { + unsigned char *q, *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); +- q = kex_agree_instr(kex, kex_len, s, method_len); ++ q = _libssh2_kex_agree_instr(kex, kex_len, s, method_len); + if(q) { + const LIBSSH2_KEX_METHOD *method = (const LIBSSH2_KEX_METHOD *) + kex_get_method_by_name((char *) s, method_len, +@@ -3509,9 +3523,9 @@ static int kex_agree_kex_hostkey(LIBSSH2_SESSION * session, unsigned char *kex, + } + + while(*kexp && (*kexp)->name) { +- s = kex_agree_instr(kex, kex_len, +- (unsigned char *) (*kexp)->name, +- strlen((*kexp)->name)); ++ s = _libssh2_kex_agree_instr(kex, kex_len, ++ (unsigned char *) (*kexp)->name, ++ strlen((*kexp)->name)); + if(s) { + /* We've agreed on a key exchange method, + * Can we agree on a hostkey that works with this kex? +@@ -3555,7 +3569,7 @@ static int kex_agree_crypt(LIBSSH2_SESSION * session, + unsigned char *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); + +- if(kex_agree_instr(crypt, crypt_len, s, method_len)) { ++ if(_libssh2_kex_agree_instr(crypt, crypt_len, s, method_len)) { + const LIBSSH2_CRYPT_METHOD *method = + (const LIBSSH2_CRYPT_METHOD *) + kex_get_method_by_name((char *) s, method_len, +@@ -3577,9 +3591,9 @@ static int kex_agree_crypt(LIBSSH2_SESSION * session, + } + + while(*cryptp && (*cryptp)->name) { +- s = kex_agree_instr(crypt, crypt_len, +- (unsigned char *) (*cryptp)->name, +- strlen((*cryptp)->name)); ++ s = _libssh2_kex_agree_instr(crypt, crypt_len, ++ (unsigned char *) (*cryptp)->name, ++ strlen((*cryptp)->name)); + if(s) { + endpoint->crypt = *cryptp; + return 0; +@@ -3619,7 +3633,7 @@ static int kex_agree_mac(LIBSSH2_SESSION * session, + unsigned char *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); + +- if(kex_agree_instr(mac, mac_len, s, method_len)) { ++ if(_libssh2_kex_agree_instr(mac, mac_len, s, method_len)) { + const LIBSSH2_MAC_METHOD *method = (const LIBSSH2_MAC_METHOD *) + kex_get_method_by_name((char *) s, method_len, + (const LIBSSH2_COMMON_METHOD **) +@@ -3640,8 +3654,9 @@ static int kex_agree_mac(LIBSSH2_SESSION * session, + } + + while(*macp && (*macp)->name) { +- s = kex_agree_instr(mac, mac_len, (unsigned char *) (*macp)->name, +- strlen((*macp)->name)); ++ s = _libssh2_kex_agree_instr(mac, mac_len, ++ (unsigned char *) (*macp)->name, ++ strlen((*macp)->name)); + if(s) { + endpoint->mac = *macp; + return 0; +@@ -3672,7 +3687,7 @@ static int kex_agree_comp(LIBSSH2_SESSION *session, + unsigned char *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); + +- if(kex_agree_instr(comp, comp_len, s, method_len)) { ++ if(_libssh2_kex_agree_instr(comp, comp_len, s, method_len)) { + const LIBSSH2_COMP_METHOD *method = + (const LIBSSH2_COMP_METHOD *) + kex_get_method_by_name((char *) s, method_len, +@@ -3694,8 +3709,9 @@ static int kex_agree_comp(LIBSSH2_SESSION *session, + } + + while(*compp && (*compp)->name) { +- s = kex_agree_instr(comp, comp_len, (unsigned char *) (*compp)->name, +- strlen((*compp)->name)); ++ s = _libssh2_kex_agree_instr(comp, comp_len, ++ (unsigned char *) (*compp)->name, ++ strlen((*compp)->name)); + if(s) { + endpoint->comp = *compp; + return 0; +@@ -3876,6 +3892,7 @@ _libssh2_kex_exchange(LIBSSH2_SESSION * session, int reexchange, + session->local.kexinit = key_state->oldlocal; + session->local.kexinit_len = key_state->oldlocal_len; + key_state->state = libssh2_NB_state_idle; ++ session->state &= ~LIBSSH2_STATE_INITIAL_KEX; + session->state &= ~LIBSSH2_STATE_KEX_ACTIVE; + session->state &= ~LIBSSH2_STATE_EXCHANGING_KEYS; + return -1; +@@ -3901,6 +3918,7 @@ _libssh2_kex_exchange(LIBSSH2_SESSION * session, int reexchange, + session->local.kexinit = key_state->oldlocal; + session->local.kexinit_len = key_state->oldlocal_len; + key_state->state = libssh2_NB_state_idle; ++ session->state &= ~LIBSSH2_STATE_INITIAL_KEX; + session->state &= ~LIBSSH2_STATE_KEX_ACTIVE; + session->state &= ~LIBSSH2_STATE_EXCHANGING_KEYS; + return -1; +@@ -3949,6 +3967,7 @@ _libssh2_kex_exchange(LIBSSH2_SESSION * session, int reexchange, + session->remote.kexinit = NULL; + } + ++ session->state &= ~LIBSSH2_STATE_INITIAL_KEX; + session->state &= ~LIBSSH2_STATE_KEX_ACTIVE; + session->state &= ~LIBSSH2_STATE_EXCHANGING_KEYS; + +diff --git a/src/libssh2_priv.h b/src/libssh2_priv.h +index 82c3afe2..ee1d8b5c 100644 +--- a/src/libssh2_priv.h ++++ b/src/libssh2_priv.h +@@ -699,6 +699,9 @@ struct _LIBSSH2_SESSION + /* key signing algorithm preferences -- NULL yields server order */ + char *sign_algo_prefs; + ++ /* Whether to use the OpenSSH Strict KEX extension */ ++ int kex_strict; ++ + /* (remote as source of data -- packet_read ) */ + libssh2_endpoint_data remote; + +@@ -870,6 +873,7 @@ struct _LIBSSH2_SESSION + int fullpacket_macstate; + size_t fullpacket_payload_len; + int fullpacket_packet_type; ++ uint32_t fullpacket_required_type; + + /* State variables used in libssh2_sftp_init() */ + libssh2_nonblocking_states sftpInit_state; +@@ -910,10 +914,11 @@ struct _LIBSSH2_SESSION + }; + + /* session.state bits */ +-#define LIBSSH2_STATE_EXCHANGING_KEYS 0x00000001 +-#define LIBSSH2_STATE_NEWKEYS 0x00000002 +-#define LIBSSH2_STATE_AUTHENTICATED 0x00000004 +-#define LIBSSH2_STATE_KEX_ACTIVE 0x00000008 ++#define LIBSSH2_STATE_INITIAL_KEX 0x00000001 ++#define LIBSSH2_STATE_EXCHANGING_KEYS 0x00000002 ++#define LIBSSH2_STATE_NEWKEYS 0x00000004 ++#define LIBSSH2_STATE_AUTHENTICATED 0x00000008 ++#define LIBSSH2_STATE_KEX_ACTIVE 0x00000010 + + /* session.flag helpers */ + #ifdef MSG_NOSIGNAL +@@ -1144,6 +1149,11 @@ ssize_t _libssh2_send(libssh2_socket_t socket, const void *buffer, + int _libssh2_kex_exchange(LIBSSH2_SESSION * session, int reexchange, + key_exchange_state_t * state); + ++unsigned char *_libssh2_kex_agree_instr(unsigned char *haystack, ++ size_t haystack_len, ++ const unsigned char *needle, ++ size_t needle_len); ++ + /* Let crypt.c/hostkey.c expose their method structs */ + const LIBSSH2_CRYPT_METHOD **libssh2_crypt_methods(void); + const LIBSSH2_HOSTKEY_METHOD **libssh2_hostkey_methods(void); +diff --git a/src/packet.c b/src/packet.c +index b5b41981..35d4d39e 100644 +--- a/src/packet.c ++++ b/src/packet.c +@@ -605,14 +605,13 @@ authagent_exit: + * layer when it has received a packet. + * + * The input pointer 'data' is pointing to allocated data that this function +- * is asked to deal with so on failure OR success, it must be freed fine. +- * The only exception is when the return code is LIBSSH2_ERROR_EAGAIN. ++ * will be freed unless return the code is LIBSSH2_ERROR_EAGAIN. + * + * This function will always be called with 'datalen' greater than zero. + */ + int + _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, +- size_t datalen, int macstate) ++ size_t datalen, int macstate, uint32_t seq) + { + int rc = 0; + unsigned char *message = NULL; +@@ -657,6 +656,70 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, + break; + } + ++ if(session->state & LIBSSH2_STATE_INITIAL_KEX) { ++ if(msg == SSH_MSG_KEXINIT) { ++ if(!session->kex_strict) { ++ if(datalen < 17) { ++ LIBSSH2_FREE(session, data); ++ session->packAdd_state = libssh2_NB_state_idle; ++ return _libssh2_error(session, ++ LIBSSH2_ERROR_BUFFER_TOO_SMALL, ++ "Data too short extracting kex"); ++ } ++ else { ++ const unsigned char *strict = ++ (unsigned char *)"kex-strict-s-v00@openssh.com"; ++ struct string_buf buf; ++ unsigned char *algs = NULL; ++ size_t algs_len = 0; ++ ++ buf.data = (unsigned char *)data; ++ buf.dataptr = buf.data; ++ buf.len = datalen; ++ buf.dataptr += 17; /* advance past type and cookie */ ++ ++ if(_libssh2_get_string(&buf, &algs, &algs_len)) { ++ LIBSSH2_FREE(session, data); ++ session->packAdd_state = libssh2_NB_state_idle; ++ return _libssh2_error(session, ++ LIBSSH2_ERROR_BUFFER_TOO_SMALL, ++ "Algs too short"); ++ } ++ ++ if(algs_len == 0 || ++ _libssh2_kex_agree_instr(algs, algs_len, strict, 28)) { ++ session->kex_strict = 1; ++ } ++ } ++ } ++ ++ if(session->kex_strict && seq) { ++ LIBSSH2_FREE(session, data); ++ session->socket_state = LIBSSH2_SOCKET_DISCONNECTED; ++ session->packAdd_state = libssh2_NB_state_idle; ++ libssh2_session_disconnect(session, "strict KEX violation: " ++ "KEXINIT was not the first packet"); ++ ++ return _libssh2_error(session, LIBSSH2_ERROR_SOCKET_DISCONNECT, ++ "strict KEX violation: " ++ "KEXINIT was not the first packet"); ++ } ++ } ++ ++ if(session->kex_strict && session->fullpacket_required_type && ++ session->fullpacket_required_type != msg) { ++ LIBSSH2_FREE(session, data); ++ session->socket_state = LIBSSH2_SOCKET_DISCONNECTED; ++ session->packAdd_state = libssh2_NB_state_idle; ++ libssh2_session_disconnect(session, "strict KEX violation: " ++ "unexpected packet type"); ++ ++ return _libssh2_error(session, LIBSSH2_ERROR_SOCKET_DISCONNECT, ++ "strict KEX violation: " ++ "unexpected packet type"); ++ } ++ } ++ + if(session->packAdd_state == libssh2_NB_state_allocated) { + /* A couple exceptions to the packet adding rule: */ + switch(msg) { +@@ -1341,6 +1404,15 @@ _libssh2_packet_ask(LIBSSH2_SESSION * session, unsigned char packet_type, + + return 0; + } ++ else if(session->kex_strict && ++ (session->state & LIBSSH2_STATE_INITIAL_KEX)) { ++ libssh2_session_disconnect(session, "strict KEX violation: " ++ "unexpected packet type"); ++ ++ return _libssh2_error(session, LIBSSH2_ERROR_SOCKET_DISCONNECT, ++ "strict KEX violation: " ++ "unexpected packet type"); ++ } + packet = _libssh2_list_next(&packet->node); + } + return -1; +@@ -1402,7 +1474,10 @@ _libssh2_packet_require(LIBSSH2_SESSION * session, unsigned char packet_type, + } + + while(session->socket_state == LIBSSH2_SOCKET_CONNECTED) { +- int ret = _libssh2_transport_read(session); ++ int ret; ++ session->fullpacket_required_type = packet_type; ++ ret = _libssh2_transport_read(session); ++ session->fullpacket_required_type = 0; + if(ret == LIBSSH2_ERROR_EAGAIN) + return ret; + else if(ret < 0) { +diff --git a/src/packet.h b/src/packet.h +index 79018bcf..6ea100a5 100644 +--- a/src/packet.h ++++ b/src/packet.h +@@ -71,6 +71,6 @@ int _libssh2_packet_burn(LIBSSH2_SESSION * session, + int _libssh2_packet_write(LIBSSH2_SESSION * session, unsigned char *data, + unsigned long data_len); + int _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, +- size_t datalen, int macstate); ++ size_t datalen, int macstate, uint32_t seq); + + #endif /* __LIBSSH2_PACKET_H */ +diff --git a/src/session.c b/src/session.c +index a4d602ba..f4bafb57 100644 +--- a/src/session.c ++++ b/src/session.c +@@ -464,6 +464,8 @@ libssh2_session_init_ex(LIBSSH2_ALLOC_FUNC((*my_alloc)), + session->abstract = abstract; + session->api_timeout = 0; /* timeout-free API by default */ + session->api_block_mode = 1; /* blocking API by default */ ++ session->state = LIBSSH2_STATE_INITIAL_KEX; ++ session->fullpacket_required_type = 0; + session->packet_read_timeout = LIBSSH2_DEFAULT_READ_TIMEOUT; + session->flag.quote_paths = 1; /* default behavior is to quote paths + for the scp subsystem */ +@@ -1186,6 +1188,7 @@ libssh2_session_disconnect_ex(LIBSSH2_SESSION *session, int reason, + const char *desc, const char *lang) + { + int rc; ++ session->state &= ~LIBSSH2_STATE_INITIAL_KEX; + session->state &= ~LIBSSH2_STATE_EXCHANGING_KEYS; + BLOCK_ADJUST(rc, session, + session_disconnect(session, reason, desc, lang)); +diff --git a/src/transport.c b/src/transport.c +index 6d902d33..3b30ff84 100644 +--- a/src/transport.c ++++ b/src/transport.c +@@ -187,6 +187,7 @@ fullpacket(LIBSSH2_SESSION * session, int encrypted /* 1 or 0 */ ) + struct transportpacket *p = &session->packet; + int rc; + int compressed; ++ uint32_t seq = session->remote.seqno; + + if(session->fullpacket_state == libssh2_NB_state_idle) { + session->fullpacket_macstate = LIBSSH2_MAC_CONFIRMED; +@@ -318,7 +319,7 @@ fullpacket(LIBSSH2_SESSION * session, int encrypted /* 1 or 0 */ ) + if(session->fullpacket_state == libssh2_NB_state_created) { + rc = _libssh2_packet_add(session, p->payload, + session->fullpacket_payload_len, +- session->fullpacket_macstate); ++ session->fullpacket_macstate, seq); + if(rc == LIBSSH2_ERROR_EAGAIN) + return rc; + if(rc) { +@@ -329,6 +330,11 @@ fullpacket(LIBSSH2_SESSION * session, int encrypted /* 1 or 0 */ ) + + session->fullpacket_state = libssh2_NB_state_idle; + ++ if(session->kex_strict && ++ session->fullpacket_packet_type == SSH_MSG_NEWKEYS) { ++ session->remote.seqno = 0; ++ } ++ + return session->fullpacket_packet_type; + } + +@@ -1091,6 +1097,10 @@ int _libssh2_transport_send(LIBSSH2_SESSION *session, + + session->local.seqno++; + ++ if(session->kex_strict && data[0] == SSH_MSG_NEWKEYS) { ++ session->local.seqno = 0; ++ } ++ + ret = LIBSSH2_SEND(session, p->outbuf, total_length, + LIBSSH2_SOCKET_SEND_FLAGS(session)); + if(ret < 0) +-- +2.34.1 + diff --git a/meta/recipes-support/libssh2/files/run-ptest b/meta/recipes-support/libssh2/libssh2/run-ptest index 5fd7ec65f6..0f5526e316 100644 --- a/meta/recipes-support/libssh2/files/run-ptest +++ b/meta/recipes-support/libssh2/libssh2/run-ptest @@ -2,7 +2,7 @@ ptestdir=$(dirname "$(readlink -f "$0")") cd tests -for test in simple ssh2.sh mansyntax.sh +for test in mansyntax.sh test_simple test_sshd.test do ./../test-driver --test-name $test --log-file ../$test.log --trs-file ../$test.trs --color-tests no --enable-hard-errors yes --expect-failure no -- ./$test done diff --git a/meta/recipes-support/libssh2/libssh2_1.9.0.bb b/meta/recipes-support/libssh2/libssh2_1.11.0.bb index 0b8ccbd217..00ce940678 100644 --- a/meta/recipes-support/libssh2/libssh2_1.9.0.bb +++ b/meta/recipes-support/libssh2/libssh2_1.11.0.bb @@ -5,25 +5,24 @@ SECTION = "libs" DEPENDS = "zlib" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=c5cf34fc0acb44b082ef50ef5e4354ca" +LIC_FILES_CHKSUM = "file://COPYING;md5=24a33237426720395ebb1dd1349ca225" SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz \ - file://CVE-2019-17498.patch \ - file://0001-configure-Conditionally-undefine-backend-m4-macro.patch \ file://run-ptest \ -" + file://CVE-2023-48795.patch \ + file://0001-disable-DSA-by-default.patch \ + " -SRC_URI_append_ptest = " file://0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch" - -SRC_URI[md5sum] = "1beefafe8963982adc84b408b2959927" -SRC_URI[sha256sum] = "d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd" +SRC_URI[sha256sum] = "3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461" inherit autotools pkgconfig ptest EXTRA_OECONF += "\ --with-libz \ --with-libz-prefix=${STAGING_LIBDIR} \ + --disable-rpath \ " +DISABLE_STATIC = "" # only one of openssl and gcrypt could be set PACKAGECONFIG ??= "openssl" @@ -33,8 +32,8 @@ PACKAGECONFIG[gcrypt] = "--with-crypto=libgcrypt --with-libgcrypt-prefix=${STAGI BBCLASSEXTEND = "native nativesdk" # required for ptest on documentation -RDEPENDS_${PN}-ptest = "man-db openssh" -RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us" +RDEPENDS:${PN}-ptest = "bash man-db openssh" +RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us" do_compile_ptest() { sed -i "/\$(MAKE) \$(AM_MAKEFLAGS) check-TESTS/d" tests/Makefile @@ -45,9 +44,11 @@ do_install_ptest() { install -d ${D}${PTEST_PATH}/tests install -m 0755 ${S}/test-driver ${D}${PTEST_PATH}/ cp -rf ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests/ + cp -rf ${B}/tests/test_simple ${D}${PTEST_PATH}/tests/ cp -rf ${S}/tests/mansyntax.sh ${D}${PTEST_PATH}/tests/ - cp -rf ${S}/tests/ssh2.sh ${D}${PTEST_PATH}/tests/ - cp -rf ${S}/tests/etc ${D}${PTEST_PATH}/tests/ + cp -rf ${S}/tests/key* ${D}${PTEST_PATH}/tests/ + cp -rf ${S}/tests/openssh_server/ ${D}${PTEST_PATH}/tests/ + cp -rf ${S}/tests/*.test ${D}${PTEST_PATH}/tests/ mkdir -p ${D}${PTEST_PATH}/docs cp -r ${S}/docs/* ${D}${PTEST_PATH}/docs/ } diff --git a/meta/recipes-support/libunistring/libunistring/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-support/libunistring/libunistring/0001-Unset-need_charset_alias-when-building-for-musl.patch deleted file mode 100644 index 2aeacb868e..0000000000 --- a/meta/recipes-support/libunistring/libunistring/0001-Unset-need_charset_alias-when-building-for-musl.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 13 Apr 2015 17:02:13 -0700 -Subject: [PATCH] Unset need_charset_alias when building for musl - -localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4 -which actually shoudl be fixed in gnulib and then all downstream -projects will get it eventually. For now we apply the fix to -coreutils - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - lib/gnulib.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: libunistring-0.9.4/lib/Makefile.gnulib -=================================================================== ---- libunistring-0.9.4.orig/lib/Makefile.gnulib -+++ libunistring-0.9.4/lib/Makefile.gnulib -@@ -380,7 +380,7 @@ install-exec-localcharset: all-local - case '$(host_os)' in \ - darwin[56]*) \ - need_charset_alias=true ;; \ -- darwin* | cygwin* | mingw* | pw32* | cegcc*) \ -+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \ - need_charset_alias=false ;; \ - *) \ - need_charset_alias=true ;; \ diff --git a/meta/recipes-support/libunistring/libunistring_0.9.10.bb b/meta/recipes-support/libunistring/libunistring_1.2.bb index 0a7b18ed08..3018dbfdfb 100644 --- a/meta/recipes-support/libunistring/libunistring_0.9.10.bb +++ b/meta/recipes-support/libunistring/libunistring_1.2.bb @@ -13,17 +13,15 @@ DESCRIPTION = "Text files are nowadays usually encoded in Unicode, and may\ HOMEPAGE = "http://www.gnu.org/software/libunistring/" SECTION = "devel" -LICENSE = "LGPLv3+ | GPLv2" +LICENSE = "LGPL-3.0-or-later | GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://README;beginline=45;endline=65;md5=08287d16ba8d839faed8d2dc14d7d6a5 \ - file://doc/libunistring.texi;md5=287fa6075f78a3c85c1a52b0a92547cd \ - " + file://README;beginline=45;endline=65;md5=3a896a943b4da2c551e6be1af27eff8d \ + file://doc/libunistring.texi;md5=36b7d20daef7fbcc032333ae2429aa94 \ + " +DEPENDS = "gperf-native" -SRC_URI = "${GNU_MIRROR}/libunistring/libunistring-${PV}.tar.gz \ - file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ -" -SRC_URI[md5sum] = "0d3274e9838396b12200f8b54ddaf43b" -SRC_URI[sha256sum] = "a82e5b333339a88ea4608e4635479a1cfb2e01aafb925e1290b65710d43f610b" +SRC_URI = "${GNU_MIRROR}/libunistring/libunistring-${PV}.tar.gz" +SRC_URI[sha256sum] = "fd6d5662fa706487c48349a758b57bc149ce94ec6c30624ec9fdc473ceabbc8e" inherit autotools texinfo BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libunwind/libunwind.inc b/meta/recipes-support/libunwind/libunwind.inc deleted file mode 100644 index 17ba151933..0000000000 --- a/meta/recipes-support/libunwind/libunwind.inc +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Library for obtaining the call-chain of a program" -DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program" -HOMEPAGE = "http://www.nongnu.org/libunwind" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=2d80c8ed4062b8339b715f90fa68cc9f" -DEPENDS += "libatomic-ops" -DEPENDS_append_libc-musl = " libucontext" - -inherit autotools multilib_header - -PACKAGECONFIG ??= "" -PACKAGECONFIG[lzma] = "--enable-minidebuginfo,--disable-minidebuginfo,xz" -PACKAGECONFIG[latexdocs] = "--enable-documentation, --disable-documentation, latex2man-native" - -EXTRA_OECONF_arm = "--enable-debug-frame" -EXTRA_OECONF_armeb = "--enable-debug-frame" -EXTRA_OECONF_aarch64 = "--enable-debug-frame" - -do_install_append () { - oe_multilib_header libunwind.h -} - -BBCLASSEXTEND = "native" diff --git a/meta/recipes-support/libunwind/libunwind/0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch b/meta/recipes-support/libunwind/libunwind/0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch deleted file mode 100644 index 437b878365..0000000000 --- a/meta/recipes-support/libunwind/libunwind/0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 599f10ac3a24e419a93f97fddbe14de01b1185ea Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Tue, 13 May 2014 23:32:27 +0200 -Subject: [PATCH 1/6] Add AO_REQUIRE_CAS to fix build on ARM < v6 - -ARM earlier than ARMv6, such as ARMv4 and ARMv5 do not provide -optimize atomic operations in libatomic_ops. Since libunwind is using -such operations, it should define AO_REQUIRE_CAS before including -<atomic_ops.h> so that libatomic_ops knows it should use emulated -atomic operations instead (even though they are obviously a lot more -expensive). - -Also, while real atomic operations are all inline functions and -therefore linking against libatomic_ops was not required, the emulated -atomic operations actually require linking against libatomic_ops, so -the commented AC_CHECK_LIB test in acinclude.m4 is uncommented to make -sure we link against libatomic_ops. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - -Upstream-Status: Pending -Taken from: -https://raw.githubusercontent.com/rdnetto/teapot-buildroot/master/package/libunwind/libunwind-02-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch - ---- - acinclude.m4 | 8 +------- - include/libunwind_i.h | 1 + - 2 files changed, 2 insertions(+), 7 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index 497f7c2..9c15af1 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -22,11 +22,5 @@ fi]) - AC_DEFUN([CHECK_ATOMIC_OPS], - [dnl Check whether the system has the atomic_ops package installed. - AC_CHECK_HEADERS(atomic_ops.h) --# --# Don't link against libatomic_ops for now. We don't want libunwind --# to depend on libatomic_ops.so. Fortunately, none of the platforms --# we care about so far need libatomic_ops.a (everything is done via --# inline macros). --# --# AC_CHECK_LIB(atomic_ops, main) -+ AC_CHECK_LIB(atomic_ops, main) - ]) -diff --git a/include/libunwind_i.h b/include/libunwind_i.h -index 36cf7a1..33b4ca3 100644 ---- a/include/libunwind_i.h -+++ b/include/libunwind_i.h -@@ -124,6 +124,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - (pthread_mutex_unlock != NULL ? pthread_mutex_unlock (l) : 0) - - #ifdef HAVE_ATOMIC_OPS_H -+# define AO_REQUIRE_CAS - # include <atomic_ops.h> - static inline int - cmpxchg_ptr (void *addr, void *old, void *new) --- -2.20.1 - diff --git a/meta/recipes-support/libunwind/libunwind/0001-configure-Do-not-enforce-libdir-for-ppc64.patch b/meta/recipes-support/libunwind/libunwind/0001-configure-Do-not-enforce-libdir-for-ppc64.patch deleted file mode 100644 index 751f1b3404..0000000000 --- a/meta/recipes-support/libunwind/libunwind/0001-configure-Do-not-enforce-libdir-for-ppc64.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 154c7465de2aeb9a8ba3416bbed6e6e07f58c583 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 11 Mar 2021 21:52:28 -0800 -Subject: [PATCH] configure: Do not enforce libdir for ppc64 - -OE has its own multilib configuration, therefore hardcoding libdir -breaks that, instead respect the settings coming from build environment -via configure options. - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - configure.ac | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c8d68f7..254440f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -206,12 +206,6 @@ fi - AM_CONDITIONAL(USE_DWARF, [test x$use_dwarf = xyes]) - AC_MSG_RESULT([$use_dwarf]) - --if test x$target_arch = xppc64; then -- libdir='${exec_prefix}/lib64' -- AC_MSG_NOTICE([PowerPC64 detected, lib will be installed ${libdir}]); -- AC_SUBST([libdir]) --fi -- - AC_MSG_CHECKING([whether to restrict build to remote support]) - if test x$target_arch != x$host_arch; then - CPPFLAGS="${CPPFLAGS} -DUNW_REMOTE_ONLY" --- -2.30.2 - diff --git a/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch b/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch new file mode 100644 index 0000000000..5840c2b4f6 --- /dev/null +++ b/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch @@ -0,0 +1,52 @@ +From 9b27fa9bcd5cadd4c841c42710f41a090377e531 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Fri, 24 Mar 2023 16:18:44 +0000 +Subject: [PATCH] src/Gtrace: remove unguarded print() calls + +There is a use of printf() without #include stdio.h in src/arm/Gtrace.c, +which results in a compiler error if clang 16 is used: + +src/arm/Gtrace.c:529:7: error: call to undeclared library function +'printf' with type 'int (const char *, ...)'; ISO C99 and later do not +support implicit function declarations [-Wimplicit-function-declaration] + +Replace the printf("XXX") with a Dprintf, so it doesn't pull stdio in +unless in a debug build, and reword the message to be clearer. + +Also there is another printf("XXX") inside a FreeBSD-specific block in +the UNW_ARM_FRAME_SIGRETURN case, replace this with a #error as the code +needs to be implemented. + +Fixes #482. + +Upstream-Status: Backport [9b27fa9bcd5cadd4c841c42710f41a090377e531] +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + src/arm/Gtrace.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/arm/Gtrace.c b/src/arm/Gtrace.c +index 51fc281d..9e0f25af 100644 +--- a/src/arm/Gtrace.c ++++ b/src/arm/Gtrace.c +@@ -514,7 +514,7 @@ tdep_trace (unw_cursor_t *cursor, void **buffer, int *size) + if (likely(ret >= 0)) + ACCESS_MEM_FAST(ret, c->validate, d, cfa + LINUX_SC_LR_OFF, lr); + #elif defined(__FreeBSD__) +- printf("XXX\n"); ++ #error implement UNW_ARM_FRAME_SIGRETURN on FreeBSD + #endif + + /* Resume stack at signal restoration point. The stack is not +@@ -526,7 +526,7 @@ tdep_trace (unw_cursor_t *cursor, void **buffer, int *size) + break; + + case UNW_ARM_FRAME_SYSCALL: +- printf("XXX1\n"); ++ Dprintf ("%s: implement me\n", __FUNCTION__); + break; + + default: +-- +2.34.1 + diff --git a/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch b/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch deleted file mode 100644 index 508ed6af38..0000000000 --- a/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch +++ /dev/null @@ -1,54 +0,0 @@ -From f6866b9e4a6341c50eb1d923dbf48eca2ca40140 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 22 Mar 2016 16:19:29 +0000 -Subject: [PATCH 3/6] x86: Stub out x86_local_resume() - -its purpose seems -to be unwinding across signal handler boundaries, which cannot happen -in correct programs anyway. Replacing the whole function with -something like *(volatile char *)0=0; (i.e. crash), gets a working -libunwind - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - src/x86/Gos-linux.c | 22 +--------------------- - 1 file changed, 1 insertion(+), 21 deletions(-) - -diff --git a/src/x86/Gos-linux.c b/src/x86/Gos-linux.c -index fb9a5e3..c25ae0c 100644 ---- a/src/x86/Gos-linux.c -+++ b/src/x86/Gos-linux.c -@@ -284,27 +284,7 @@ x86_r_uc_addr (ucontext_t *uc, int reg) - HIDDEN int - x86_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg) - { -- struct cursor *c = (struct cursor *) cursor; -- ucontext_t *uc = c->uc; -- -- /* Ensure c->pi is up-to-date. On x86, it's relatively common to be -- missing DWARF unwind info. We don't want to fail in that case, -- because the frame-chain still would let us do a backtrace at -- least. */ -- dwarf_make_proc_info (&c->dwarf); -- -- if (unlikely (c->sigcontext_format != X86_SCF_NONE)) -- { -- struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr; -- -- Debug (8, "resuming at ip=%x via sigreturn(%p)\n", c->dwarf.ip, sc); -- x86_sigreturn (sc); -- } -- else -- { -- Debug (8, "resuming at ip=%x via setcontext()\n", c->dwarf.ip); -- setcontext (uc); -- } -+ *(volatile char *)0=0; - return -UNW_EINVAL; - } - --- -2.20.1 - diff --git a/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch b/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch deleted file mode 100644 index 124d0e00b1..0000000000 --- a/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 6bdab5cc8f1e2ec5f84fc9f59f1699a726980709 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 23 Mar 2016 06:08:59 +0000 -Subject: [PATCH 4/6] Fix build on mips/musl - -Do not include endian.h on musl it includes -further headers which can not be compiled in __ASSEMBLER__ - mode - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - src/coredump/_UCD_internal.h | 35 +++++++++++++++++++++++++++++++++++ - src/mips/getcontext.S | 3 +-- - 2 files changed, 36 insertions(+), 2 deletions(-) - -diff --git a/src/coredump/_UCD_internal.h b/src/coredump/_UCD_internal.h -index 3c95a2a..21ed1c3 100644 ---- a/src/coredump/_UCD_internal.h -+++ b/src/coredump/_UCD_internal.h -@@ -44,6 +44,41 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - - #include "libunwind_i.h" - -+#ifndef __GLIBC__ -+#include <sys/reg.h> -+ -+#define EF_REG0 6 -+#define EF_REG1 7 -+#define EF_REG2 8 -+#define EF_REG3 9 -+#define EF_REG4 10 -+#define EF_REG5 11 -+#define EF_REG6 12 -+#define EF_REG7 13 -+#define EF_REG8 14 -+#define EF_REG9 15 -+#define EF_REG10 16 -+#define EF_REG11 17 -+#define EF_REG12 18 -+#define EF_REG13 19 -+#define EF_REG14 20 -+#define EF_REG15 21 -+#define EF_REG16 22 -+#define EF_REG17 23 -+#define EF_REG18 24 -+#define EF_REG19 25 -+#define EF_REG20 26 -+#define EF_REG21 27 -+#define EF_REG22 28 -+#define EF_REG23 29 -+#define EF_REG24 30 -+#define EF_REG25 31 -+#define EF_REG28 34 -+#define EF_REG29 35 -+#define EF_REG30 36 -+#define EF_REG31 37 -+#endif -+ - - #if SIZEOF_OFF_T == 4 - typedef uint32_t uoff_t; -diff --git a/src/mips/getcontext.S b/src/mips/getcontext.S -index d1dbd57..de9b681 100644 ---- a/src/mips/getcontext.S -+++ b/src/mips/getcontext.S -@@ -24,12 +24,11 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - - #include "offsets.h" --#include <endian.h> - - .text - - #if _MIPS_SIM == _ABIO32 --# if __BYTE_ORDER == __BIG_ENDIAN -+# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ - # define OFFSET 4 - # else - # define OFFSET 0 --- -2.20.1 - diff --git a/meta/recipes-support/libunwind/libunwind/0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch b/meta/recipes-support/libunwind/libunwind/0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch index edaa822be1..e58a71b741 100644 --- a/meta/recipes-support/libunwind/libunwind/0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch +++ b/meta/recipes-support/libunwind/libunwind/0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch @@ -1,7 +1,8 @@ -From 02919d74b1599979884f9cee466ed392d9fc4819 Mon Sep 17 00:00:00 2001 +From 24c751f9d21e892a9833e1b70a696b07872b0f7f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 9 Jul 2016 01:07:53 +0000 -Subject: [PATCH 5/6] ppc32: Consider ucontext mismatches between glibc and +Subject: [PATCH] ppc32: Consider ucontext mismatches between glibc and + musl This helps in porting libunwind onto musl based systems @@ -29,7 +30,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 3 files changed, 92 insertions(+), 79 deletions(-) diff --git a/src/ppc32/Ginit.c b/src/ppc32/Ginit.c -index ba30244..c5312d9 100644 +index 7b45455..f8d6886 100644 --- a/src/ppc32/Ginit.c +++ b/src/ppc32/Ginit.c @@ -48,12 +48,12 @@ uc_addr (ucontext_t *uc, int reg) @@ -227,7 +228,7 @@ index c6ba806..b79f15c 100644 #endif diff --git a/src/ptrace/_UPT_reg_offset.c b/src/ptrace/_UPT_reg_offset.c -index c82d1c9..6c31baa 100644 +index b7dd3b7..bfaf756 100644 --- a/src/ptrace/_UPT_reg_offset.c +++ b/src/ptrace/_UPT_reg_offset.c @@ -27,6 +27,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ @@ -242,8 +243,5 @@ index c82d1c9..6c31baa 100644 +# undef pt_regs +#endif - #ifdef HAVE_ASM_PTRACE_OFFSETS_H - # include <asm/ptrace_offsets.h> --- -2.20.1 - + #ifdef HAVE_ASM_PTRACE_H + # include <asm/ptrace.h> diff --git a/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch b/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch deleted file mode 100644 index 37ae8124cc..0000000000 --- a/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 7a4fd5933cc795df85cdd85168fe54fbaec4dcec Mon Sep 17 00:00:00 2001 -From: Christopher Larson <chris_larson@mentor.com> -Date: Tue, 13 Dec 2016 09:50:34 -0700 -Subject: [PATCH 6/6] Fix for X32 - -Apply patch to fix the X32 build from https://github.com/sjnewbury/x32. - -Upstream-Status: Pending -Signed-off-by: Christopher Larson <chris_larson@mentor.com> - ---- - src/x86_64/Gos-linux.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/x86_64/Gos-linux.c b/src/x86_64/Gos-linux.c -index bd14234..be1cb5b 100644 ---- a/src/x86_64/Gos-linux.c -+++ b/src/x86_64/Gos-linux.c -@@ -145,8 +145,8 @@ x86_64_sigreturn (unw_cursor_t *cursor) - - Debug (8, "resuming at ip=%llx via sigreturn(%p)\n", - (unsigned long long) c->dwarf.ip, sc); -- __asm__ __volatile__ ("mov %0, %%rsp;" -- "mov %1, %%rax;" -+ __asm__ __volatile__ ("mov %q0, %%rsp;" -+ "mov %q1, %%rax;" - "syscall" - :: "r"(sc), "i"(SYS_rt_sigreturn) - : "memory"); --- -2.20.1 - diff --git a/meta/recipes-support/libunwind/libunwind/mips-byte-order.patch b/meta/recipes-support/libunwind/libunwind/mips-byte-order.patch new file mode 100644 index 0000000000..8848780fd1 --- /dev/null +++ b/meta/recipes-support/libunwind/libunwind/mips-byte-order.patch @@ -0,0 +1,35 @@ +From dbbf8110ed3fd2cbac20a8ec2ac769e13c67bab1 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Tue, 16 Jan 2024 18:22:38 +0000 +Subject: [PATCH 2/2] byte order + +endian.h on musl/mips can't be included in __ASSEMBLER__ mode, +so use the __BYTE_ORDER__ symbol instead. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + src/mips/getcontext.S | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/mips/getcontext.S b/src/mips/getcontext.S +index d1dbd579..de9b6818 100644 +--- a/src/mips/getcontext.S ++++ b/src/mips/getcontext.S +@@ -24,12 +24,11 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ + + #include "offsets.h" +-#include <endian.h> + + .text + + #if _MIPS_SIM == _ABIO32 +-# if __BYTE_ORDER == __BIG_ENDIAN ++# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + # define OFFSET 4 + # else + # define OFFSET 0 +-- +2.34.1 + diff --git a/meta/recipes-support/libunwind/libunwind/mips-coredump-register.patch b/meta/recipes-support/libunwind/libunwind/mips-coredump-register.patch new file mode 100644 index 0000000000..68adcd1d71 --- /dev/null +++ b/meta/recipes-support/libunwind/libunwind/mips-coredump-register.patch @@ -0,0 +1,100 @@ +From 7750e2a29b084ee033acc82abab410035e220d3f Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Tue, 16 Jan 2024 18:21:26 +0000 +Subject: [PATCH 1/2] coredump-mips-register + +glibc and musl have different names for the registers, add a +macro that generates the names appropriately. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@arm.com> + +--- + src/coredump/_UCD_access_reg_linux.c | 69 ++++++++++++++++------------ + 1 file changed, 39 insertions(+), 30 deletions(-) + +diff --git a/src/coredump/_UCD_access_reg_linux.c b/src/coredump/_UCD_access_reg_linux.c +index 27eef123..beefdb47 100644 +--- a/src/coredump/_UCD_access_reg_linux.c ++++ b/src/coredump/_UCD_access_reg_linux.c +@@ -67,38 +67,47 @@ _UCD_access_reg (unw_addr_space_t as, + goto badreg; + #else + #if defined(UNW_TARGET_MIPS) ++ ++/* glibc and musl use different names */ ++#ifdef __GLIBC__ ++#define EF_REG(x) EF_REG ## x ++#else ++#include <sys/reg.h> ++#define EF_REG(x) EF_R ## x ++#endif ++ + static const uint8_t remap_regs[] = + { +- [UNW_MIPS_R0] = EF_REG0, +- [UNW_MIPS_R1] = EF_REG1, +- [UNW_MIPS_R2] = EF_REG2, +- [UNW_MIPS_R3] = EF_REG3, +- [UNW_MIPS_R4] = EF_REG4, +- [UNW_MIPS_R5] = EF_REG5, +- [UNW_MIPS_R6] = EF_REG6, +- [UNW_MIPS_R7] = EF_REG7, +- [UNW_MIPS_R8] = EF_REG8, +- [UNW_MIPS_R9] = EF_REG9, +- [UNW_MIPS_R10] = EF_REG10, +- [UNW_MIPS_R11] = EF_REG11, +- [UNW_MIPS_R12] = EF_REG12, +- [UNW_MIPS_R13] = EF_REG13, +- [UNW_MIPS_R14] = EF_REG14, +- [UNW_MIPS_R15] = EF_REG15, +- [UNW_MIPS_R16] = EF_REG16, +- [UNW_MIPS_R17] = EF_REG17, +- [UNW_MIPS_R18] = EF_REG18, +- [UNW_MIPS_R19] = EF_REG19, +- [UNW_MIPS_R20] = EF_REG20, +- [UNW_MIPS_R21] = EF_REG21, +- [UNW_MIPS_R22] = EF_REG22, +- [UNW_MIPS_R23] = EF_REG23, +- [UNW_MIPS_R24] = EF_REG24, +- [UNW_MIPS_R25] = EF_REG25, +- [UNW_MIPS_R28] = EF_REG28, +- [UNW_MIPS_R29] = EF_REG29, +- [UNW_MIPS_R30] = EF_REG30, +- [UNW_MIPS_R31] = EF_REG31, ++ [UNW_MIPS_R0] = EF_REG(0), ++ [UNW_MIPS_R1] = EF_REG(1), ++ [UNW_MIPS_R2] = EF_REG(2), ++ [UNW_MIPS_R3] = EF_REG(3), ++ [UNW_MIPS_R4] = EF_REG(4), ++ [UNW_MIPS_R5] = EF_REG(5), ++ [UNW_MIPS_R6] = EF_REG(6), ++ [UNW_MIPS_R7] = EF_REG(7), ++ [UNW_MIPS_R8] = EF_REG(8), ++ [UNW_MIPS_R9] = EF_REG(9), ++ [UNW_MIPS_R10] = EF_REG(10), ++ [UNW_MIPS_R11] = EF_REG(11), ++ [UNW_MIPS_R12] = EF_REG(12), ++ [UNW_MIPS_R13] = EF_REG(13), ++ [UNW_MIPS_R14] = EF_REG(14), ++ [UNW_MIPS_R15] = EF_REG(15), ++ [UNW_MIPS_R16] = EF_REG(16), ++ [UNW_MIPS_R17] = EF_REG(17), ++ [UNW_MIPS_R18] = EF_REG(18), ++ [UNW_MIPS_R19] = EF_REG(19), ++ [UNW_MIPS_R20] = EF_REG(20), ++ [UNW_MIPS_R21] = EF_REG(21), ++ [UNW_MIPS_R22] = EF_REG(22), ++ [UNW_MIPS_R23] = EF_REG(23), ++ [UNW_MIPS_R24] = EF_REG(24), ++ [UNW_MIPS_R25] = EF_REG(25), ++ [UNW_MIPS_R28] = EF_REG(28), ++ [UNW_MIPS_R29] = EF_REG(29), ++ [UNW_MIPS_R30] = EF_REG(30), ++ [UNW_MIPS_R31] = EF_REG(31), + [UNW_MIPS_PC] = EF_CP0_EPC, + }; + #elif defined(UNW_TARGET_X86) +-- +2.34.1 + diff --git a/meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch b/meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch deleted file mode 100644 index 63b78a8a30..0000000000 --- a/meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 49b21f0fe5fb93b30b94cc449429fd33de0652a7 Mon Sep 17 00:00:00 2001 -From: Richard Purdie <richard.purdie@linuxfoundation.org> -Date: Thu, 18 Aug 2016 14:46:32 +0100 -Subject: [PATCH] If you: - -TCLIBC=musl bitbake unwind -TCLIBC=musl bitbake gcc-runtime -c cleansstate -TCLIBC=musl bitbake gcc-runtime - -you will see libstdc++ fail to build due to finding libunwind's header file. - -Khem: "When we build any of gcc components they expect to use internal version -and that works with glibc based gcc since the search headers first look into gcc -headers, however with musl the gcc headers are searched after the standard -headers ( which is by design the right thing )." - -This patch hacks around the issue by looking for a define used during gcc-runtime's -build and skipping to the internal header in that case. - -[YOCTO #10129] - -RP 2016/8/18 - -Upstream-Status: Inappropriate [really need to fix gcc] - ---- - include/unwind.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/include/unwind.h b/include/unwind.h -index 7cf128d..31c2871 100644 ---- a/include/unwind.h -+++ b/include/unwind.h -@@ -23,6 +23,10 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - -+#ifdef _GLIBCXX_SHARED -+#include_next <unwind.h> -+#endif -+ - #ifndef _UNWIND_H - #define _UNWIND_H - diff --git a/meta/recipes-support/libunwind/libunwind_1.5.0.bb b/meta/recipes-support/libunwind/libunwind_1.5.0.bb deleted file mode 100644 index 6392cac5c9..0000000000 --- a/meta/recipes-support/libunwind/libunwind_1.5.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -require libunwind.inc - -SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV}.tar.gz \ - file://0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \ - file://0003-x86-Stub-out-x86_local_resume.patch \ - file://0004-Fix-build-on-mips-musl.patch \ - file://0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \ - file://0006-Fix-for-X32.patch \ - file://0001-configure-Do-not-enforce-libdir-for-ppc64.patch \ - " -SRC_URI_append_libc-musl = " file://musl-header-conflict.patch" - -SRC_URI[md5sum] = "c6923dda0675f6a4ef21426164dc8b6a" -SRC_URI[sha256sum] = "90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017" - -EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests --enable-static" - -# http://errors.yoctoproject.org/Errors/Details/20487/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -COMPATIBLE_HOST_riscv64 = "null" -COMPATIBLE_HOST_riscv32 = "null" - -LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -SECURITY_LDFLAGS_append_libc-musl = " -lssp_nonshared" -CACHED_CONFIGUREVARS_append_libc-musl = " LDFLAGS='${LDFLAGS} -lucontext'" diff --git a/meta/recipes-support/libunwind/libunwind_1.6.2.bb b/meta/recipes-support/libunwind/libunwind_1.6.2.bb new file mode 100644 index 0000000000..c7b1604b61 --- /dev/null +++ b/meta/recipes-support/libunwind/libunwind_1.6.2.bb @@ -0,0 +1,50 @@ +SUMMARY = "Library for obtaining the call-chain of a program" +DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program" +HOMEPAGE = "http://www.nongnu.org/libunwind" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d80c8ed4062b8339b715f90fa68cc9f" +DEPENDS += "libatomic-ops" +DEPENDS:append:libc-musl = " libucontext" + +SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV}.tar.gz \ + file://mips-byte-order.patch \ + file://mips-coredump-register.patch \ + file://0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \ + file://0001-src-Gtrace-remove-unguarded-print-calls.patch \ + " + +SRC_URI[sha256sum] = "4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976" + +inherit autotools multilib_header + +COMPATIBLE_HOST:riscv32 = "null" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[lzma] = "--enable-minidebuginfo,--disable-minidebuginfo,xz" +PACKAGECONFIG[zlib] = "--enable-zlibdebuginfo,--disable-zlibdebuginfo,zlib" +PACKAGECONFIG[latexdocs] = "--enable-documentation, --disable-documentation, latex2man-native" + +EXTRA_OECONF = "--enable-static" + +# http://errors.yoctoproject.org/Errors/Details/20487/ +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" + +LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +SECURITY_LDFLAGS:append:libc-musl = " -lssp_nonshared" +CACHED_CONFIGUREVARS:append:libc-musl = " LDFLAGS='${LDFLAGS} -lucontext'" + +do_install:append () { + oe_multilib_header libunwind.h +} + +BBCLASSEXTEND = "native" + +# http://errors.yoctoproject.org/Errors/Build/183144/ +# libunwind-1.6.2/include/tdep-aarch64/libunwind_i.h:123:47: error: passing argument 1 of '_ULaarch64_uc_addr' from incompatible pointer type [-Wincompatible-pointer-types] +# libunwind-1.6.2/src/aarch64/Ginit.c:348:28: error: initialization of 'unw_tdep_context_t *' from incompatible pointer type 'ucontext_t *' [-Wincompatible-pointer-types] +# libunwind-1.6.2/src/aarch64/Ginit.c:377:28: error: initialization of 'unw_tdep_context_t *' from incompatible pointer type 'ucontext_t *' [-Wincompatible-pointer-types] +# libunwind-1.6.2/src/aarch64/Ginit_local.c:51:9: error: assignment to 'ucontext_t *' from incompatible pointer type 'unw_context_t *' {aka 'unw_tdep_context_t *'} [-Wincompatible-pointer-types] +# libunwind-1.6.2/src/aarch64/Gresume.c:37:28: error: initialization of 'unw_tdep_context_t *' from incompatible pointer type 'ucontext_t *' [-Wincompatible-pointer-types] +CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta/recipes-support/liburcu/liburcu_0.12.2.bb b/meta/recipes-support/liburcu/liburcu_0.14.1.bb index b493e939c9..3b083b2514 100644 --- a/meta/recipes-support/liburcu/liburcu_0.12.2.bb +++ b/meta/recipes-support/liburcu/liburcu_0.14.1.bb @@ -5,21 +5,20 @@ with the number of cores. " HOMEPAGE = "http://lttng.org/urcu" BUGTRACKER = "http://lttng.org/project/issues" -LICENSE = "LGPLv2.1+ & MIT-style" +LICENSE = "LGPL-2.1-or-later & MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \ file://include/urcu/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b" SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2" -SRC_URI[md5sum] = "d94347df78e3f1aa744745eb85787df5" -SRC_URI[sha256sum] = "4eefc11e4f6c212fc7d84d871e1cc139da0669a46ff3fda557a6fdd4d74ca67b" +SRC_URI[sha256sum] = "231acb13dc6ec023e836a0f0666f6aab47dc621ecb1d2cd9d9c22f922678abc0" S = "${WORKDIR}/userspace-rcu-${PV}" inherit autotools multilib_header -CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT" +CPPFLAGS:append:riscv64 = " -pthread -D_REENTRANT" -do_install_append() { +do_install:append() { oe_multilib_header urcu/config.h } diff --git a/meta/recipes-support/libusb/libusb1_1.0.24.bb b/meta/recipes-support/libusb/libusb1_1.0.24.bb deleted file mode 100644 index 92e66b1b16..0000000000 --- a/meta/recipes-support/libusb/libusb1_1.0.24.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Userspace library to access USB (version 1.0)" -DESCRIPTION = "A cross-platform library to access USB devices from Linux, \ -macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris userspace." -HOMEPAGE = "http://libusb.sf.net" -BUGTRACKER = "http://www.libusb.org/report" -SECTION = "libs" - -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.bz2 \ - file://run-ptest \ - " - -SRC_URI[sha256sum] = "7efd2685f7b327326dcfb85cee426d9b871fd70e22caa15bb68d595ce2a2b12a" - -S = "${WORKDIR}/libusb-${PV}" - -inherit autotools pkgconfig ptest - -PACKAGECONFIG_class-target ??= "udev" -PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" - -EXTRA_OECONF = "--libdir=${base_libdir}" - -do_install_append() { - install -d ${D}${libdir} - if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then - mv ${D}${base_libdir}/pkgconfig ${D}${libdir} - fi -} - -do_compile_ptest() { - oe_runmake -C tests stress -} - -do_install_ptest() { - install -m 755 ${B}/tests/.libs/stress ${D}${PTEST_PATH} -} - -FILES_${PN} += "${base_libdir}/*.so.*" - -FILES_${PN}-dev += "${base_libdir}/*.so ${base_libdir}/*.la" diff --git a/meta/recipes-support/libusb/libusb1_1.0.27.bb b/meta/recipes-support/libusb/libusb1_1.0.27.bb new file mode 100644 index 0000000000..5bf854f95d --- /dev/null +++ b/meta/recipes-support/libusb/libusb1_1.0.27.bb @@ -0,0 +1,50 @@ +SUMMARY = "Userspace library to access USB (version 1.0)" +DESCRIPTION = "A cross-platform library to access USB devices from Linux, \ +macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris userspace." +HOMEPAGE = "https://libusb.info" +BUGTRACKER = "http://www.libusb.org/report" +SECTION = "libs" + +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +CVE_PRODUCT = "libusb" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libusb-${PV}.tar.bz2 \ + file://run-ptest \ + " + +GITHUB_BASE_URI = "https://github.com/libusb/libusb/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$" + +SRC_URI[sha256sum] = "ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575" + +S = "${WORKDIR}/libusb-${PV}" + +inherit autotools pkgconfig ptest github-releases + +PACKAGECONFIG:class-target ??= "udev" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" + +EXTRA_OECONF = "--libdir=${base_libdir}" + +do_install:append() { + install -d ${D}${libdir} + if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then + mv ${D}${base_libdir}/pkgconfig ${D}${libdir} + fi +} + +do_compile_ptest() { + oe_runmake -C tests stress +} + +do_install_ptest() { + install -m 755 ${B}/tests/stress ${D}${PTEST_PATH} +} + +FILES:${PN} += "${base_libdir}/*.so.*" + +FILES:${PN}-dev += "${base_libdir}/*.so ${base_libdir}/*.la" diff --git a/meta/recipes-support/libxslt/libxslt_1.1.34.bb b/meta/recipes-support/libxslt/libxslt_1.1.42.bb index 63cce6fe06..9985dd8827 100644 --- a/meta/recipes-support/libxslt/libxslt_1.1.34.bb +++ b/meta/recipes-support/libxslt/libxslt_1.1.42.bb @@ -13,21 +13,21 @@ LIC_FILES_CHKSUM = "file://Copyright;md5=0cd9a07afbeb24026c9b03aecfeba458" SECTION = "libs" DEPENDS = "libxml2" -SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz \ - " +SRC_URI = "https://download.gnome.org/sources/libxslt/1.1/libxslt-${PV}.tar.xz" -SRC_URI[md5sum] = "db8765c8d076f1b6caafd9f2542a304a" -SRC_URI[sha256sum] = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f" +SRC_URI[sha256sum] = "85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb" UPSTREAM_CHECK_REGEX = "libxslt-(?P<pver>\d+(\.\d+)+)\.tar" +CVE_STATUS[CVE-2022-29824] = "not-applicable-config: Static linking to libxml2 is not enabled." + S = "${WORKDIR}/libxslt-${PV}" BINCONFIG = "${bindir}/xslt-config" inherit autotools pkgconfig binconfig-disabled lib_package multilib_header -do_configure_prepend () { +do_configure:prepend () { # We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header. # This can be removed when upgrading to 1.1.34. sed -i -e 's/ansidecl.h//' ${S}/configure.ac @@ -37,22 +37,22 @@ do_configure_prepend () { touch ${S}/doc/xsltproc.1 } -EXTRA_OECONF = "--without-python --without-debug --without-mem-debug --without-crypto --with-html-subdir=${BPN}" +EXTRA_OECONF = "--without-python --without-debug --without-crypto" # older versions of this recipe had ${PN}-utils -RPROVIDES_${PN}-bin += "${PN}-utils" -RCONFLICTS_${PN}-bin += "${PN}-utils" -RREPLACES_${PN}-bin += "${PN}-utils" +RPROVIDES:${PN}-bin += "${PN}-utils" +RCONFLICTS:${PN}-bin += "${PN}-utils" +RREPLACES:${PN}-bin += "${PN}-utils" # This is only needed until libxml can load the relocated catalog itself -do_install_append_class-native () { +do_install:append:class-native () { create_wrapper ${D}/${bindir}/xsltproc XML_CATALOG_FILES=${sysconfdir}/xml/catalog } -do_install_append () { +do_install:append () { oe_multilib_header libxslt/xsltconfig.h } -FILES_${PN} += "${libdir}/libxslt-plugins" -FILES_${PN}-dev += "${libdir}/xsltConf.sh" +FILES:${PN} += "${libdir}/libxslt-plugins" +FILES:${PN}-dev += "${libdir}/xsltConf.sh" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libyaml/libyaml_0.2.5.bb b/meta/recipes-support/libyaml/libyaml_0.2.5.bb index 778e091638..aa7fc5e914 100644 --- a/meta/recipes-support/libyaml/libyaml_0.2.5.bb +++ b/meta/recipes-support/libyaml/libyaml_0.2.5.bb @@ -15,7 +15,11 @@ S = "${WORKDIR}/yaml-${PV}" inherit autotools -DISABLE_STATIC_class-nativesdk = "" -DISABLE_STATIC_class-native = "" +DISABLE_STATIC:class-nativesdk = "" +DISABLE_STATIC:class-native = "" + +CVE_STATUS[CVE-2024-35325] = "upstream-wontfix: Upstream thinks this is a misuse (or wrong use) of the libyaml API - https://github.com/yaml/libyaml/issues/303" +CVE_STATUS[CVE-2024-35326] = "upstream-wontfix: Upstream thinks there is no working code that is exploitable - https://github.com/yaml/libyaml/issues/302" +CVE_STATUS[CVE-2024-35328] = "upstream-wontfix: Upstream thinks there is no working code that is exploitable - https://github.com/yaml/libyaml/issues/302" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/lz4/files/run-ptest b/meta/recipes-support/lz4/files/run-ptest deleted file mode 100644 index d3bfc49f1c..0000000000 --- a/meta/recipes-support/lz4/files/run-ptest +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -cd testsuite - -echo -n "---- test-lz4 ----" -make -C tests test-lz4 > /dev/null 2>&1 - -if [ $? -eq 0 ]; then - echo "PASS" -else - echo "FAIL" -fi - -echo -n "---- test-fasttest ----" -make -C tests test-fasttest > /dev/null 2>&1 -if [ $? -eq 0 ]; then - echo "PASS" -else - echo "FAIL" -fi - -echo -n "---- test-frametest ----" -make -C tests test-frametest > /dev/null 2>&1 -if [ $? -eq 0 ]; then - echo "PASS" -else - echo "FAIL" -fi - -echo -n "---- test-fullbench ----" -make -C tests test-fullbench > /dev/null 2>&1 -if [ $? -eq 0 ]; then - echo "PASS" -else - echo "FAIL" -fi - -echo -n "---- test-fuzzer ----" -make -C tests test-fuzzer > /dev/null 2>&1 -if [ $? -eq 0 ]; then - echo "PASS" -else - echo "FAIL" -fi diff --git a/meta/recipes-support/lz4/lz4/reproducibility.patch b/meta/recipes-support/lz4/lz4/reproducibility.patch new file mode 100644 index 0000000000..c138986da8 --- /dev/null +++ b/meta/recipes-support/lz4/lz4/reproducibility.patch @@ -0,0 +1,33 @@ +lib/Makefile: Fix static library reproducibility + +The static library contents varies depending of the order of the object files on disk meaning +it isn't reproducible. + +To avoid this, use the SRCFILES values which are already sorted, mapped to the object names +instead. + + +Upstream-Status: Submitted [https://github.com/lz4/lz4/pull/1497] +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: git/lib/Makefile +=================================================================== +--- git.orig/lib/Makefile ++++ git/lib/Makefile +@@ -55,6 +55,7 @@ CFLAGS = $(DEBUGFLAGS) $(USERCFLAGS) + ALLFLAGS = $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) + + SRCFILES := $(sort $(wildcard *.c)) ++OBJFILES = $(SRCFILES:.c=.o) + + include ../Makefile.inc + +@@ -102,7 +103,7 @@ liblz4.a: $(SRCFILES) + ifeq ($(BUILD_STATIC),yes) # can be disabled on command line + @echo compiling static library + $(COMPILE.c) $^ +- $(AR) rcs $@ *.o ++ $(AR) rcs $@ $(OBJFILES) + endif + + ifeq ($(WINBASED),yes) diff --git a/meta/recipes-support/lz4/lz4/run-ptest b/meta/recipes-support/lz4/lz4/run-ptest new file mode 100644 index 0000000000..f4a46a4f2c --- /dev/null +++ b/meta/recipes-support/lz4/lz4/run-ptest @@ -0,0 +1,17 @@ +#!/bin/sh + +# Define test work dir +WORKDIR=@PTEST_PATH@/tests/ + +# Run test +cd ${WORKDIR} + +case_name="test_frame" +./frametest +ret=$? +if [[ ${ret} == "0" ]]; then + echo "PASS: lz4/$case_name" +else + echo "FAIL: lz4/$case_name" +fi + diff --git a/meta/recipes-support/lz4/lz4_1.10.0.bb b/meta/recipes-support/lz4/lz4_1.10.0.bb new file mode 100644 index 0000000000..f77a2e7bb9 --- /dev/null +++ b/meta/recipes-support/lz4/lz4_1.10.0.bb @@ -0,0 +1,46 @@ +SUMMARY = "Extremely Fast Compression algorithm" +DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems." +HOMEPAGE = "https://github.com/lz4/lz4" + +LICENSE = "BSD-2-Clause | GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=5cd5f851b52ec832b10eedb3f01f885a \ + file://programs/COPYING;md5=492daf447d6db0e5eb344a7922e7ec25 \ + file://LICENSE;md5=c111c47e301c2ffe8776729b40b44477 \ + " + +PE = "1" + +SRCREV = "ebb370ca83af193212df4dcbadcc5d87bc0de2f0" + +SRC_URI = "git://github.com/lz4/lz4.git;branch=release;protocol=https \ + file://reproducibility.patch \ + file://run-ptest" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" + +S = "${WORKDIR}/git" + +inherit ptest + +CVE_STATUS[CVE-2014-4715] = "fixed-version: Fixed in r118, which is larger than the current version." + +EXTRA_OEMAKE = "DESTDIR=${D} BUILD_STATIC=no" + +do_install() { + oe_runmake install +} + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN}-ptest += "bash" + +do_compile_ptest() { + oe_runmake -C ${B}/tests/ +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests/ + install --mode=755 ${B}/tests/frametest ${D}${PTEST_PATH}/tests/ + sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/run-ptest + +} + diff --git a/meta/recipes-support/lz4/lz4_1.9.3.bb b/meta/recipes-support/lz4/lz4_1.9.3.bb deleted file mode 100644 index effc530b94..0000000000 --- a/meta/recipes-support/lz4/lz4_1.9.3.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Extremely Fast Compression algorithm" -DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems." -HOMEPAGE = "https://github.com/lz4/lz4" - -LICENSE = "BSD | BSD-2-Clause | GPL-2.0" -LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \ - file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \ - " - -PE = "1" - -SRCREV = "d44371841a2f1728a3f36839fd4b7e872d0927d3" - -SRC_URI = "git://github.com/lz4/lz4.git;branch=release \ - file://run-ptest \ - " -UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" - -S = "${WORKDIR}/git" - -# Fixed in r118, which is larger than the current version. -CVE_CHECK_WHITELIST += "CVE-2014-4715" - -EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} BUILD_STATIC=no" - -do_install() { - oe_runmake install -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch b/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch index db3a70e803..a0d2502d24 100644 --- a/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch +++ b/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch @@ -10,7 +10,15 @@ Change suggested by Julian Taylor. Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757037 -Upstream-Status: Pending +RP: Patch is still in debian as of 20220524 in a revised form: +https://sources.debian.org/patches/lzo2/2.10-2/ +https://sources.debian.org/patches/lzo2/2.10-2/0001-Conditionally-replace-reinvention-of-memcpy-with-cal.patch/ +It was submitted in 2015, no reply to an email from RP in 2022 either. + +We likely need this in OE to prevent against unaligned accesses +on systems such as armv5. + +Upstream-Status: Inactive-Upstream Signed-off-by: Saul Wold <sgw@linux.intel.com> --- minilzo/minilzo.c | 14 ++++++++++++++ diff --git a/meta/recipes-support/lzo/lzo_2.10.bb b/meta/recipes-support/lzo/lzo_2.10.bb index 85b14b3c5c..195c2f2939 100644 --- a/meta/recipes-support/lzo/lzo_2.10.bb +++ b/meta/recipes-support/lzo/lzo_2.10.bb @@ -3,7 +3,7 @@ DESCRIPTION = "A portable lossless data compression library written in \ ANSI C that offers pretty fast compression and *extremely* fast decompression. " HOMEPAGE = "http://www.oberhumer.com/opensource/lzo/" SECTION = "libs" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://src/lzo_init.c;beginline=5;endline=25;md5=9ae697ca01829b0a383c5d2d163e0108" @@ -18,6 +18,8 @@ SRC_URI[sha256sum] = "c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b42 inherit autotools ptest +CVE_PRODUCT = "lzo oberhumer:lzo2" + EXTRA_OECONF = "--enable-shared" do_install_ptest() { diff --git a/meta/recipes-support/lzop/lzop_1.04.bb b/meta/recipes-support/lzop/lzop_1.04.bb index 59c2003b74..2b83aa06d9 100644 --- a/meta/recipes-support/lzop/lzop_1.04.bb +++ b/meta/recipes-support/lzop/lzop_1.04.bb @@ -8,7 +8,7 @@ to gzip." HOMEPAGE = "http://www.lzop.org/" DEPENDS += "lzo" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://src/lzop.c;beginline=5;endline=21;md5=23d767de7754eb24b9e900b025cf7fc8" @@ -20,8 +20,8 @@ SRC_URI[sha256sum] = "7e72b62a8a60aff5200a047eea0773a8fb205caf7acbe1774d95147f30 inherit autotools -do_configure_prepend () { - install -Dm 0644 ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4 +do_configure:prepend () { + install -Dm 0644 ${UNPACKDIR}/acinclude.m4 ${S}/acinclude.m4 } BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/mpfr/mpfr_4.1.0.bb b/meta/recipes-support/mpfr/mpfr_4.2.1.bb index 41897e9376..9558eab828 100644 --- a/meta/recipes-support/mpfr/mpfr_4.1.0.bb +++ b/meta/recipes-support/mpfr/mpfr_4.2.1.bb @@ -1,7 +1,7 @@ SUMMARY = "C library for multiple-precision floating-point computations with exact rounding" DESCRIPTION = "The GNU Multiple Precision Floating-Point Reliable Library (GNU MPFR) is a GNU portable C library for arbitrary-precision binary floating-point computation with correct rounding, based on GNU Multi-Precision Library. MPFR's computation is both efficient and has a well-defined semantics: the functions are completely specified on all the possible operands and the results do not depend on the platform." HOMEPAGE = "https://www.mpfr.org/" -LICENSE = "LGPLv3+" +LICENSE = "LGPL-3.0-or-later" SECTION = "devel" inherit autotools texinfo @@ -9,10 +9,12 @@ inherit autotools texinfo LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \ file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \ " -DEPENDS = "gmp autoconf-archive" +CVE_PRODUCT = "gnu_mpfr" + +DEPENDS = "gmp autoconf-archive-native" SRC_URI = "https://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz" -SRC_URI[sha256sum] = "0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f" +SRC_URI[sha256sum] = "277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2" UPSTREAM_CHECK_URI = "http://www.mpfr.org/mpfr-current/" diff --git a/meta/recipes-support/nettle/nettle/Add-target-to-only-build-tests-not-run-them.patch b/meta/recipes-support/nettle/nettle/Add-target-to-only-build-tests-not-run-them.patch index e3f5c6de7d..345fc43ebe 100644 --- a/meta/recipes-support/nettle/nettle/Add-target-to-only-build-tests-not-run-them.patch +++ b/meta/recipes-support/nettle/nettle/Add-target-to-only-build-tests-not-run-them.patch @@ -1,4 +1,7 @@ -Add target to only build tests (not run them) +From e9fcb2177fda228ac065d189240e2d992e86e5bf Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin <tgamblin@baylibre.com> +Date: Fri, 2 Aug 2024 09:48:43 -0400 +Subject: [PATCH] Makefile.in: Add target to only build tests (not run them) Not sending upstream as this is only a start of a solution to installable tests: It's useful for us already as is. @@ -8,16 +11,20 @@ Upstream-Status: Inappropriate [not a complete solution] Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Refactored for 3.4 Signed-off-by: Armin Kuster <akuster@mvista.com> + +Refactor for 3.10, including turning it into an mbox for easier use. + +Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> --- Makefile.in | 3 +++ testsuite/Makefile.in | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Makefile.in b/Makefile.in -index e5ccfc7..15c9275 100644 +index 2bf7f1e8..403a868a 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -52,6 +52,9 @@ clean distclean mostlyclean maintainer-clean tags: +@@ -53,6 +53,9 @@ clean distclean mostlyclean maintainer-clean tags: echo "Making $@ in $$d" ; (cd $$d && $(MAKE) $@); done $(MAKE) $@-here @@ -28,18 +35,18 @@ index e5ccfc7..15c9275 100644 true diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in -index 3f5e5f6..8fd68a3 100644 +index 0699fa0d..8ac9983c 100644 --- a/testsuite/Makefile.in +++ b/testsuite/Makefile.in -@@ -122,6 +122,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \ +@@ -137,6 +137,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../non-nettle.$(OBJEXT) \ # data. VALGRIND = valgrind --error-exitcode=1 --leak-check=full --show-reachable=yes @IF_ASM@ --partial-loads-ok=yes +buildtest: $(TS_ALL) + - check: $(TS_ALL) + check: $(TS_ALL) $(TS_ALL:sc-%=%) TEST_SHLIB_DIR="$(TEST_SHLIB_DIR)" \ srcdir="$(srcdir)" \ -- -2.17.1 +2.39.2 diff --git a/meta/recipes-support/nettle/nettle/check-header-files-of-openssl-only-if-enable_.patch b/meta/recipes-support/nettle/nettle/check-header-files-of-openssl-only-if-enable_.patch index d5f266681e..49d633b5f7 100644 --- a/meta/recipes-support/nettle/nettle/check-header-files-of-openssl-only-if-enable_.patch +++ b/meta/recipes-support/nettle/nettle/check-header-files-of-openssl-only-if-enable_.patch @@ -1,4 +1,4 @@ -From ffee6b5f6204a0210f717968ec6ce514d70acca1 Mon Sep 17 00:00:00 2001 +From 5f7cdd2b878298577accade43a38e1a0951d17b4 Mon Sep 17 00:00:00 2001 From: Haiqing Bai <Haiqing.Bai@windriver.com> Date: Fri, 9 Dec 2016 15:23:17 +0800 Subject: [PATCH] nettle: check header files of openssl only if @@ -15,22 +15,32 @@ refactored for 3.4. pending not in as of 3.4 Signed-off-by: Armin Kuster <akuster@mvista.com> -Index: nettle-3.4/configure.ac -=================================================================== ---- nettle-3.4.orig/configure.ac -+++ nettle-3.4/configure.ac -@@ -185,9 +185,11 @@ AC_HEADER_TIME +Refactor for 3.10. + +Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> +--- + configure.ac | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4f27e663..673c1492 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -197,9 +197,11 @@ AC_TYPE_SIZE_T AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(size_t) --AC_CHECK_HEADERS([openssl/evp.h openssl/ecdsa.h],, +-AC_CHECK_HEADERS([openssl/evp.h openssl/ec.h openssl/rsa.h],, -[enable_openssl=no - break]) +if test "x$enable_openssl" = "xyes"; then -+ AC_CHECK_HEADERS([openssl/evp.h openssl/ecdsa.h],, ++ AC_CHECK_HEADERS([openssl/evp.h openssl/ec.h openssl/rsa.h],, + [enable_openssl=no + break]) +fi # For use by the testsuite AC_CHECK_HEADERS([valgrind/memcheck.h]) +-- +2.39.2 + diff --git a/meta/recipes-support/nettle/nettle/dlopen-test.patch b/meta/recipes-support/nettle/nettle/dlopen-test.patch deleted file mode 100644 index ab9b91f88b..0000000000 --- a/meta/recipes-support/nettle/nettle/dlopen-test.patch +++ /dev/null @@ -1,29 +0,0 @@ -Remove the relative path for libnettle.so so the test -program can find it. -Relative paths are not suitable, as the folder strucure for ptest -is different from the one expected by the nettle testsuite. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> -Signed-off-by: Mingli Yu <mingli.yu@windriver.com> ---- - testsuite/dlopen-test.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/testsuite/dlopen-test.c b/testsuite/dlopen-test.c -index 4265bf7..1a25d17 100644 ---- a/testsuite/dlopen-test.c -+++ b/testsuite/dlopen-test.c -@@ -15,7 +15,7 @@ int - main (int argc UNUSED, char **argv UNUSED) - { - #if HAVE_LIBDL -- void *handle = dlopen ("../libnettle." SO_EXT, RTLD_NOW); -+ void *handle = dlopen ("libnettle.so", RTLD_NOW); - int (*get_version)(void); - if (!handle) - { --- -2.17.1 - diff --git a/meta/recipes-support/nettle/nettle/run-ptest b/meta/recipes-support/nettle/nettle/run-ptest index b90bed66d2..61a43c78f1 100644 --- a/meta/recipes-support/nettle/nettle/run-ptest +++ b/meta/recipes-support/nettle/nettle/run-ptest @@ -6,31 +6,35 @@ failed=0 all=0 for f in *-test; do - if [ "$f" = "sha1-huge-test" ] ; then - echo "SKIP: $f (skipped for ludicrous run time)" - continue - fi - - "./$f" - case "$?" in - 0) - echo "PASS: $f" - all=$((all + 1)) + case "$f" in + "sha1-huge-test") + echo "SKIP: $f (long run time)" ;; - 77) - echo "SKIP: $f" + "symbols-test") + echo "SKIP: $f (needs static libraries)" ;; *) - echo "FAIL: $f" - failed=$((failed + 1)) - all=$((all + 1)) + "./$f" + case "$?" in + 0) + echo "PASS: $f" + all=$((all + 1)) + ;; + 77) + echo "SKIP: $f" + ;; + *) + echo "FAIL: $f" + failed=$((failed + 1)) + all=$((all + 1)) + ;; + esac ;; esac done if [ "$failed" -eq 0 ] ; then - echo "All $all tests passed" + echo "All $all tests passed" else - echo "$failed of $all tests failed" + echo "$failed of $all tests failed" fi - diff --git a/meta/recipes-support/nettle/nettle_3.7.2.bb b/meta/recipes-support/nettle/nettle_3.10.bb index f8f3360086..92bc78263c 100644 --- a/meta/recipes-support/nettle/nettle_3.7.2.bb +++ b/meta/recipes-support/nettle/nettle_3.10.bb @@ -5,7 +5,7 @@ DESCRIPTION = "It tries to solve a problem of providing a common set of \ cryptographic algorithms for higher-level applications by implementing a \ context-independent set of cryptographic algorithms" SECTION = "libs" -LICENSE = "LGPLv3+ | GPLv2+" +LICENSE = "LGPL-3.0-or-later | GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -20,38 +20,43 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ file://check-header-files-of-openssl-only-if-enable_.patch \ " -SRC_URI_append_class-target = "\ - file://dlopen-test.patch \ - " - -SRC_URI[sha256sum] = "8d2a604ef1cde4cd5fb77e422531ea25ad064679ff0adf956e78b3352e0ef162" +SRC_URI[sha256sum] = "b4c518adb174e484cb4acea54118f02380c7133771e7e9beb98a0787194ee47c" UPSTREAM_CHECK_REGEX = "nettle-(?P<pver>\d+(\.\d+)+)\.tar" -inherit autotools ptest multilib_header +inherit autotools ptest multilib_header lib_package EXTRA_AUTORECONF += "--exclude=aclocal" EXTRA_OECONF = "--disable-openssl" +EXTRA_OECONF:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," --disable-arm-neon --disable-fat",d)}" +EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," --disable-arm-neon --disable-fat",d)}" + do_compile_ptest() { oe_runmake buildtest } -do_install_append() { +do_install:append() { oe_multilib_header nettle/version.h } do_install_ptest() { install -d ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ - # tools can be found in PATH, not in ../tools/ - sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/sc-valgrind.sh ${D}${PTEST_PATH}/testsuite/ + + # Install a symlink for dlopen-test + ln -sr ${D}${libdir}/libnettle.so.*.* ${D}${PTEST_PATH}/libnettle.so + # These examples are needed for pkcs1-conv-test + install ${B}/examples/rsa-sign ${B}/examples/rsa-verify ${D}${PTEST_PATH}/testsuite/ + # Fix build-time relative paths + sed -i -e 's|../tools/|${bindir}/|g' ${D}${PTEST_PATH}/testsuite/*-test + sed -i -e 's|../examples/|./|g' ${D}${PTEST_PATH}/testsuite/*-test } -RDEPENDS_${PN}-ptest += "${PN}-dev" -INSANE_SKIP_${PN}-ptest += "dev-deps" +RDEPENDS:${PN}-ptest += "${PN}-bin" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/nghttp2/nghttp2_1.63.0.bb b/meta/recipes-support/nghttp2/nghttp2_1.63.0.bb new file mode 100644 index 0000000000..43dbf722e9 --- /dev/null +++ b/meta/recipes-support/nghttp2/nghttp2_1.63.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "HTTP/2 C Library and tools" +HOMEPAGE = "https://nghttp2.org/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec" + +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/nghttp2-${PV}.tar.xz" +SRC_URI[sha256sum] = "4879c75dd32a74421b9857924449460b8341796c0613ba114ab2188e4622354b" + +inherit cmake manpages python3native github-releases +PACKAGECONFIG[manpages] = "" + +# examples are never installed, and don't need to be built in the +# first place +EXTRA_OECMAKE = "-DENABLE_EXAMPLES=OFF -DENABLE_APP=OFF -DENABLE_HPACK_TOOLS=OFF -DENABLE_PYTHON_BINDINGS=OFF" + +PACKAGES =+ "lib${BPN} ${PN}-proxy " + +RDEPENDS:${PN} = "${PN}-proxy (>= ${PV})" +RDEPENDS:${PN}:class-native = "" +RDEPENDS:${PN}-proxy = "openssl python3-core python3-io python3-shell" + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN} = "" +FILES:lib${BPN} = "${libdir}/*${SOLIBS}" +FILES:${PN}-proxy = "${bindir}/nghttpx ${datadir}/${BPN}/fetch-ocsp-response" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/npth/npth/musl-fix.patch b/meta/recipes-support/npth/npth/musl-fix.patch new file mode 100644 index 0000000000..fabe78b14c --- /dev/null +++ b/meta/recipes-support/npth/npth/musl-fix.patch @@ -0,0 +1,37 @@ +From 417abd56fd7bf45cd4948414050615cb1ad59134 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka <gniibe@fsij.org> +Date: Fri, 1 Mar 2024 13:53:52 +0900 +Subject: [PATCH] Fix INSERT_EXPOSE_RWLOCK_API for musl C library. + +* configure.ac: Add a case for musl system. + +Upstream-Status: Backport [https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git;a=commit;h=417abd56fd7bf45cd4948414050615cb1ad59134] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +-- + +GnuPG-bug-id: 5664 +Signed-off-by: NIIBE Yutaka <gniibe@fsij.org> +--- + configure.ac | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c1091b1..576a26e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -381,7 +381,10 @@ fi + AC_SUBST(INSERT_NO_RWLOCK) + + case "${host}" in +- *-*-linux*|*-*-gnu*) ++ *-*-linux-musl*) ++ INSERT_EXPOSE_RWLOCK_API="1" ++ ;; ++ *-*-linux-gnu*|*-*-gnu*) + INSERT_EXPOSE_RWLOCK_API="defined(__USE_UNIX98) || defined(__USE_XOPEN2K)" + ;; + *) +-- +2.30.2 + + diff --git a/meta/recipes-support/npth/npth/pkgconfig.patch b/meta/recipes-support/npth/npth/pkgconfig.patch deleted file mode 100644 index b6a12e7309..0000000000 --- a/meta/recipes-support/npth/npth/pkgconfig.patch +++ /dev/null @@ -1,49 +0,0 @@ -Added npth pkgconfig file - -Upstream-Status: Pending - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: npth-1.1/src/npth.pc.in -=================================================================== ---- /dev/null -+++ npth-1.1/src/npth.pc.in -@@ -0,0 +1,10 @@ -+prefix=@prefix@ -+exec_prefix=@exec_prefix@ -+libdir=@libdir@ -+includedir=@includedir@ -+ -+Name: npth -+Description: a new portable posix threading library -+Version: @VERSION@ -+Libs: -L${libdir} -lnpth -lpthread -+Cflags: -I${includedir} -Index: npth-1.1/src/Makefile.am -=================================================================== ---- npth-1.1.orig/src/Makefile.am -+++ npth-1.1/src/Makefile.am -@@ -27,8 +27,10 @@ - # License along with this program; if not, see <http://www.gnu.org/licenses/>. - - ## Process this file with automake to produce Makefile.in -+pkgconfigdir = $(libdir)/pkgconfig -+pkgconfig_DATA = npth.pc - --EXTRA_DIST = libnpth.vers -+EXTRA_DIST = libnpth.vers npth.pc - # versioninfo.rc.in - nodist_include_HEADERS = npth.h - -Index: npth-1.1/configure.ac -=================================================================== ---- npth-1.1.orig/configure.ac -+++ npth-1.1/configure.ac -@@ -337,6 +337,7 @@ src/Makefile - w32/Makefile - tests/Makefile]) - AC_CONFIG_FILES(npth-config, chmod +x npth-config) -+AC_CONFIG_FILES([src/npth.pc]) - AC_OUTPUT - - echo " diff --git a/meta/recipes-support/npth/npth_1.6.bb b/meta/recipes-support/npth/npth_1.6.bb deleted file mode 100644 index 94a3f00eac..0000000000 --- a/meta/recipes-support/npth/npth_1.6.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "New GNU Portable Threads library" -DESCRIPTION = "nPth is a library to provide the GNU Pth API and thus a non-preemptive threads implementation. " -HOMEPAGE = "https://www.gnu.org/software/pth/" -SECTION = "libs" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "\ - file://COPYING.LIB;md5=2caced0b25dfefd4c601d92bd15116de\ - " -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/npth/npth-${PV}.tar.bz2 \ - file://pkgconfig.patch \ - " - -SRC_URI[md5sum] = "375d1a15ad969f32d25f1a7630929854" -SRC_URI[sha256sum] = "1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1" - -BINCONFIG = "${bindir}/npth-config" - -inherit autotools binconfig-disabled multilib_header - -FILES_${PN} = "${libdir}/libnpth.so.*" -FILES_${PN}-dev += "${bindir}/npth-config" - -do_install_append() { - oe_multilib_header npth.h -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/npth/npth_1.7.bb b/meta/recipes-support/npth/npth_1.7.bb new file mode 100644 index 0000000000..0cf35565a3 --- /dev/null +++ b/meta/recipes-support/npth/npth_1.7.bb @@ -0,0 +1,21 @@ +SUMMARY = "New GNU Portable Threads library" +DESCRIPTION = "nPth is a library to provide the GNU Pth API and thus a non-preemptive threads implementation. " +HOMEPAGE = "https://gnupg.org/software/npth/" +SECTION = "libs" +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2caced0b25dfefd4c601d92bd15116de" +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" + +SRC_URI = "${GNUPG_MIRROR}/npth/npth-${PV}.tar.bz2 \ + file://musl-fix.patch \ + " + +SRC_URI[sha256sum] = "8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05" + +inherit autotools multilib_header + +do_install:append() { + oe_multilib_header npth.h +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb b/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb index 074f713205..742e77eb18 100644 --- a/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb +++ b/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb @@ -3,7 +3,7 @@ DESCRIPTION = "plugin for the GNU Name Service Switch (NSS) functionality of \ the GNU C Library (glibc) providing host name resolution for the locally \ configured system hostname as returned by gethostname(2)." HOMEPAGE = "http://0pointer.de/lennart/projects/nss-myhostname/" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" SRC_URI = "http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-${PV}.tar.gz \ @@ -14,18 +14,18 @@ SRC_URI[sha256sum] = "2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67 inherit autotools features_check -COMPATIBLE_HOST_libc-musl = 'null' +COMPATIBLE_HOST:libc-musl = 'null' # The systemd has its own copy of nss-myhostname CONFLICT_DISTRO_FEATURES = "systemd" -pkg_postinst_${PN} () { +pkg_postinst:${PN} () { sed -e '/^hosts:/s/\s*\<myhostname\>//' \ -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 myhostname \3\4\5/' \ -i $D${sysconfdir}/nsswitch.conf } -pkg_prerm_${PN} () { +pkg_prerm:${PN} () { sed -e '/^hosts:/s/\s*\<myhostname\>//' \ -e '/^hosts:/s/\s*myhostname//' \ -i $D${sysconfdir}/nsswitch.conf diff --git a/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch b/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch index 78ffb22f89..68b3e2491f 100644 --- a/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch +++ b/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch @@ -1,6 +1,9 @@ -rename test target as run-test +From a5e1fa272f294e739d6caaf629968478796ca53a Mon Sep 17 00:00:00 2001 +From: Roy Li <rongqing.li@windriver.com> +Date: Mon, 19 Oct 2020 14:42:11 -0700 +Subject: [PATCH] rename test target as run-test -Upstream-Statue: Pending +Upstream-Status: Pending test target not only compile the test files, but also run them, which is not suitable for cross-compile environment, so rename it as run-test. @@ -8,15 +11,16 @@ not suitable for cross-compile environment, so rename it as run-test. and define test target to compile the test files. Signed-off-by: Roy Li <rongqing.li@windriver.com> + --- Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am -index b6db339..de176c4 100644 +index da01d27..c738b93 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -124,7 +124,9 @@ regress2: $(check_PROGRAMS) +@@ -126,7 +126,9 @@ regress2: $(check_PROGRAMS) test_numademo: numademo ./numademo -t -e 10M @@ -27,6 +31,3 @@ index b6db339..de176c4 100644 TESTS_ENVIRONMENT = builddir='$(builddir)'; export builddir; --- -1.9.1 - diff --git a/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch b/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch index 9812ecc8b3..8345f71d72 100644 --- a/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch +++ b/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch @@ -1,4 +1,4 @@ -From 59fd750a84bbe5874dec936d2bee9ef11a1b6505 Mon Sep 17 00:00:00 2001 +From 29f811d9d381f2ab54b3c8cef77334e32970ef09 Mon Sep 17 00:00:00 2001 From: Li xin <lixin.fnst@cn.fujitsu.com> Date: Tue, 21 Jul 2015 02:01:22 +0900 Subject: [PATCH] Fix the test output format @@ -7,24 +7,26 @@ Upstream-Status: Pending Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> + --- test/regress | 6 +++--- test/regress2 | 11 +++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/test/regress b/test/regress -index 2ce1705..d086a47 100755 +index f06b22f..2fdfacb 100755 --- a/test/regress +++ b/test/regress -@@ -74,6 +74,7 @@ probe_hardware() +@@ -78,6 +78,7 @@ probe_hardware() if [ $numnodes -lt 2 ] ; then echo "need at least two nodes with at least $NEEDPAGES each of" echo "free memory for mempolicy regression tests" -+ echo "FAIL: numa regress" - exit 77 # Skip test ++ echo "SKIP: numa regress" + exit 77 # Skip test fi } -@@ -207,10 +208,9 @@ main() +@@ -209,10 +210,9 @@ main() rm A B if [ "$EXIT" = 0 ] ; then @@ -59,6 +61,3 @@ index aa6ea41..450c510 100755 } # still broken --- -1.8.4.2 - diff --git a/meta/recipes-support/numactl/numactl/run-ptest b/meta/recipes-support/numactl/numactl/run-ptest index bf269da755..e019b0d364 100755 --- a/meta/recipes-support/numactl/numactl/run-ptest +++ b/meta/recipes-support/numactl/numactl/run-ptest @@ -8,7 +8,11 @@ if ! numactl -s | grep -q "No NUMA support available on this system."; then if numademo -t -e 10M; then echo "PASS: numademo" else - echo "FAIL: numademo" + if [ "$?" = 77 ] ; then + echo "SKIP: numademo" + else + echo "FAIL: numademo" + fi fi else echo "SKIP: ./../test/bind_range" diff --git a/meta/recipes-support/numactl/numactl_git.bb b/meta/recipes-support/numactl/numactl_git.bb index 6c8a667a41..6c853f1966 100644 --- a/meta/recipes-support/numactl/numactl_git.bb +++ b/meta/recipes-support/numactl/numactl_git.bb @@ -3,17 +3,17 @@ HOMEPAGE = "http://oss.sgi.com/projects/libnuma/" DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \ to run other programs with a specific NUMA policy and a libnuma to do \ allocations with NUMA policy in applications." -LICENSE = "GPL-2.0 & LGPL-2.1" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" SECTION = "apps" inherit autotools-brokensep ptest -LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=f8ff2391624f28e481299f3f677b21bb" +LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=9f34c3af4ed6f3f5df0da5f3c0835a43" -SRCREV = "dd6de072c92c892a86e18c0fd0dfa1ba57a9a05d" -PV = "2.0.14" +SRCREV = "3871b1c42fc71bceadafd745d2eff5dddfc2d67e" +PV = "2.0.18" -SRC_URI = "git://github.com/numactl/numactl \ +SRC_URI = "git://github.com/numactl/numactl;branch=master;protocol=https \ file://Fix-the-test-output-format.patch \ file://Makefile \ file://run-ptest \ @@ -22,8 +22,8 @@ SRC_URI = "git://github.com/numactl/numactl \ S = "${WORKDIR}/git" -LDFLAGS_append_riscv64 = " -latomic" -LDFLAGS_append_riscv32 = " -latomic" +LDFLAGS:append:riscv64 = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" do_install() { oe_runmake DESTDIR=${D} prefix=${D}/usr install @@ -52,8 +52,8 @@ do_install_ptest() { install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test done - install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/ + install -m 0755 ${UNPACKDIR}/Makefile ${D}${PTEST_PATH}/ install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/ } -RDEPENDS_${PN}-ptest = "bash" +RDEPENDS:${PN}-ptest = "bash" diff --git a/meta/recipes-support/p11-kit/p11-kit_0.23.22.bb b/meta/recipes-support/p11-kit/p11-kit_0.23.22.bb deleted file mode 100644 index 623afccb5e..0000000000 --- a/meta/recipes-support/p11-kit/p11-kit_0.23.22.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Provides a way to load and enumerate PKCS#11 modules" -DESCRIPTION = " Provides a standard configuration setup for installing PKCS#11 modules in such a way that they're discoverable. Also solves problems with coordinating the use of PKCS#11 by different components or libraries living in the same process." -HOMEPAGE = "https://p11-glue.github.io/p11-glue/p11-kit.html" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50" - -inherit meson gettext pkgconfig gtk-doc bash-completion manpages - -DEPENDS = "libtasn1 libtasn1-native libffi" - -DEPENDS_append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}" - -SRC_URI = "git://github.com/p11-glue/p11-kit;branch=0.23" -SRCREV = "bd97afbfe28d5fbbde95ce36ff7a8834fc0291ee" -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native" -PACKAGECONFIG[trust-paths] = "-Dtrust_paths=/etc/ssl/certs/ca-certificates.crt,,,ca-certificates" - -GTKDOC_MESON_OPTION = 'gtk_doc' - -FILES_${PN} += " \ - ${libdir}/p11-kit-proxy.so \ - ${libdir}/pkcs11/*.so \ - ${libdir}/pkcs11/*.la \ - ${systemd_user_unitdir}/*" - -# PN contains p11-kit-proxy.so, a symlink to a loadable module -INSANE_SKIP_${PN} = "dev-so" - -BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-support/p11-kit/p11-kit_0.25.5.bb b/meta/recipes-support/p11-kit/p11-kit_0.25.5.bb new file mode 100644 index 0000000000..8c2f56be44 --- /dev/null +++ b/meta/recipes-support/p11-kit/p11-kit_0.25.5.bb @@ -0,0 +1,43 @@ +SUMMARY = "Provides a way to load and enumerate PKCS#11 modules" +DESCRIPTION = " Provides a standard configuration setup for installing PKCS#11 modules in such a way that they're discoverable. Also solves problems with coordinating the use of PKCS#11 by different components or libraries living in the same process." +HOMEPAGE = "https://p11-glue.github.io/p11-glue/p11-kit.html" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50" + +inherit meson gettext pkgconfig gtk-doc bash-completion manpages + +DEPENDS = "libtasn1 libtasn1-native libffi" + +DEPENDS:append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}" + +SRC_URI = "gitsm://github.com/p11-glue/p11-kit;branch=master;protocol=https \ + " +SRCREV = "0dd113361057e477f40ff4d8788f3e7e400af5f9" +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native" +PACKAGECONFIG[trust-paths] = "-Dtrust_paths=/etc/ssl/certs/ca-certificates.crt,,,ca-certificates" + +GTKDOC_MESON_OPTION = 'gtk_doc' + +FILES:${PN} += " \ + ${libdir}/p11-kit-proxy.so \ + ${libdir}/pkcs11/*.so \ + ${libdir}/pkcs11/*.la \ + ${systemd_user_unitdir}/*" + +# PN contains p11-kit-proxy.so, a symlink to a loadable module +INSANE_SKIP:${PN} = "dev-so" + +BBCLASSEXTEND = "native nativesdk" + +# # This one is reproducible only on 32bit MACHINEs +# http://errors.yoctoproject.org/Errors/Details/766969/ +# git/p11-kit/import-object.c:223:62: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] +# git/p11-kit/import-object.c:229:70: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] +# git/p11-kit/import-object.c:264:78: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] +# git/p11-kit/import-object.c:223:62: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] +# git/p11-kit/import-object.c:229:70: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] +# git/p11-kit/import-object.c:264:78: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] +CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta/recipes-support/pinentry/pinentry-1.1.1/gpg-error_pkconf.patch b/meta/recipes-support/pinentry/pinentry-1.1.1/gpg-error_pkconf.patch deleted file mode 100644 index 537735dba8..0000000000 --- a/meta/recipes-support/pinentry/pinentry-1.1.1/gpg-error_pkconf.patch +++ /dev/null @@ -1,177 +0,0 @@ -From 7b60f1563ecdb7020c145de8a96cae1c0a66c595 Mon Sep 17 00:00:00 2001 -From: Armin Kuster <akuster@mvista.com> -Date: Fri, 2 Sep 2005 11:50:01 +0000 -Subject: [PATCH] Add gtk+, avahi, dbus-0.34 (.36 coming soon) and - -Convert to pkg-config support to match changes done to -the gpg-error recipe for gpg-error.pc generation. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Armin Kuster <akuster@mvista.com> - ---- - m4/gpg-error.m4 | 141 ++---------------------------------------------- - 1 file changed, 4 insertions(+), 137 deletions(-) - -diff --git a/m4/gpg-error.m4 b/m4/gpg-error.m4 -index c9b235f..a4fd41c 100644 ---- a/m4/gpg-error.m4 -+++ b/m4/gpg-error.m4 -@@ -25,141 +25,12 @@ dnl config script does not match the host specification the script - dnl is added to the gpg_config_script_warn variable. - dnl - AC_DEFUN([AM_PATH_GPG_ERROR], --[ AC_REQUIRE([AC_CANONICAL_HOST]) -- gpg_error_config_prefix="" -- dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, -- dnl since that is consistent with how our three siblings use the directory/ -- dnl package name in --with-$dir_name-prefix=PFX. -- AC_ARG_WITH(libgpg-error-prefix, -- AS_HELP_STRING([--with-libgpg-error-prefix=PFX], -- [prefix where GPG Error is installed (optional)]), -- [gpg_error_config_prefix="$withval"]) -- -- dnl Accept --with-gpg-error-prefix and make it work the same as -- dnl --with-libgpg-error-prefix above, for backwards compatibility, -- dnl but do not document this old, inconsistently-named option. -- AC_ARG_WITH(gpg-error-prefix,, -- [gpg_error_config_prefix="$withval"]) -- -- if test x"${GPG_ERROR_CONFIG}" = x ; then -- if test x"${gpg_error_config_prefix}" != x ; then -- GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config" -- else -- case "${SYSROOT}" in -- /*) -- if test -x "${SYSROOT}/bin/gpg-error-config" ; then -- GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config" -- fi -- ;; -- '') -- ;; -- *) -- AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) -- ;; -- esac -- fi -- fi -- -- AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no) -- min_gpg_error_version=ifelse([$1], ,1.33,$1) -- ok=no -- -- if test "$prefix" = NONE ; then -- prefix_option_expanded=/usr/local -- else -- prefix_option_expanded="$prefix" -- fi -- if test "$exec_prefix" = NONE ; then -- exec_prefix_option_expanded=$prefix_option_expanded -- else -- exec_prefix_option_expanded=$(prefix=$prefix_option_expanded eval echo $exec_prefix) -- fi -- libdir_option_expanded=$(prefix=$prefix_option_expanded exec_prefix=$exec_prefix_option_expanded eval echo $libdir) -- -- if test -f $libdir_option_expanded/pkgconfig/gpg-error.pc; then -- gpgrt_libdir=$libdir_option_expanded -- else -- if crt1_path=$(${CC:-cc} -print-file-name=crt1.o 2>/dev/null); then -- if possible_libdir=$(cd ${crt1_path%/*} && pwd 2>/dev/null); then -- if test -f $possible_libdir/pkgconfig/gpg-error.pc; then -- gpgrt_libdir=$possible_libdir -- fi -- fi -- fi -- fi -- -- if test "$GPG_ERROR_CONFIG" = "no" -a -n "$gpgrt_libdir"; then -- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) -- if test "$GPGRT_CONFIG" = "no"; then -- unset GPGRT_CONFIG -- else -- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" -- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then -- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" -- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) -- gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` -- else -- unset GPGRT_CONFIG -- fi -- fi -- else -- gpg_error_config_version=`$GPG_ERROR_CONFIG --version` -- fi -- if test "$GPG_ERROR_CONFIG" != "no"; then -- req_major=`echo $min_gpg_error_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` -- req_minor=`echo $min_gpg_error_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` -- major=`echo $gpg_error_config_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` -- minor=`echo $gpg_error_config_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` -- if test "$major" -gt "$req_major"; then -- ok=yes -- else -- if test "$major" -eq "$req_major"; then -- if test "$minor" -ge "$req_minor"; then -- ok=yes -- fi -- fi -- fi -- if test -z "$GPGRT_CONFIG" -a -n "$gpgrt_libdir"; then -- if test "$major" -gt 1 -o "$major" -eq 1 -a "$minor" -ge 33; then -- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) -- if test "$GPGRT_CONFIG" = "no"; then -- unset GPGRT_CONFIG -- else -- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" -- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then -- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" -- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) -- else -- unset GPGRT_CONFIG -- fi -- fi -- fi -- fi -- fi -- AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version) -+[ -+ min_gpg_error_version=ifelse([$1], ,0.0,$1) -+ PKG_CHECK_MODULES(GPG_ERROR, [gpg-error >= $min_gpg_error_version gpg-error], [ok=yes], [ok=no]) - if test $ok = yes; then -- GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags` -- GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs` -- if test -z "$GPGRT_CONFIG"; then -- GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null` -- GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null` -- else -- GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null` -- GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS" -- GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null` -- GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS" -- fi -- AC_MSG_RESULT([yes ($gpg_error_config_version)]) - ifelse([$2], , :, [$2]) -- if test -z "$GPGRT_CONFIG"; then -- gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none` -- else -- gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none` -- fi -+ gpg_error_config_host=`$PKG_CONFIG --host gpg-error 2>/dev/null || echo none` - if test x"$gpg_error_config_host" != xnone ; then - if test x"$gpg_error_config_host" != x"$host" ; then - AC_MSG_WARN([[ -@@ -174,10 +45,6 @@ AC_DEFUN([AM_PATH_GPG_ERROR], - fi - fi - else -- GPG_ERROR_CFLAGS="" -- GPG_ERROR_LIBS="" -- GPG_ERROR_MT_CFLAGS="" -- GPG_ERROR_MT_LIBS="" - AC_MSG_RESULT(no) - ifelse([$3], , :, [$3]) - fi diff --git a/meta/recipes-support/pinentry/pinentry-1.3.1/gpg-error_pkconf.patch b/meta/recipes-support/pinentry/pinentry-1.3.1/gpg-error_pkconf.patch new file mode 100644 index 0000000000..863ba9e34b --- /dev/null +++ b/meta/recipes-support/pinentry/pinentry-1.3.1/gpg-error_pkconf.patch @@ -0,0 +1,224 @@ +From ccc3c6a8d469bbfa6717b970cfe70816c1fd545e Mon Sep 17 00:00:00 2001 +From: Armin Kuster <akuster@mvista.com> +Date: Fri, 2 Sep 2005 11:50:01 +0000 +Subject: [PATCH] Add gtk+, avahi, dbus-0.34 (.36 coming soon) and + +Convert to pkg-config support to match changes done to +the gpg-error recipe for gpg-error.pc generation. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Armin Kuster <akuster@mvista.com> +--- + m4/gpg-error.m4 | 184 ++---------------------------------------------- + 1 file changed, 5 insertions(+), 179 deletions(-) + +diff --git a/m4/gpg-error.m4 b/m4/gpg-error.m4 +index 7fa52b1..c0784ed 100644 +--- a/m4/gpg-error.m4 ++++ b/m4/gpg-error.m4 +@@ -15,188 +15,18 @@ + dnl + dnl Find gpg-error-config, for backward compatibility + dnl +-dnl _AM_PATH_POSSIBLE_GPG_ERROR_CONFIG +-AC_DEFUN([_AM_PATH_POSSIBLE_GPG_ERROR_CONFIG],[dnl +- gpg_error_config_prefix="" +- dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, +- dnl since that is consistent with how our three siblings use the directory/ +- dnl package name in --with-$dir_name-prefix=PFX. +- AC_ARG_WITH(libgpg-error-prefix, +- AS_HELP_STRING([--with-libgpg-error-prefix=PFX], +- [prefix where GPG Error is installed (optional)]), +- [gpg_error_config_prefix="$withval"]) +- +- dnl Accept --with-gpg-error-prefix and make it work the same as +- dnl --with-libgpg-error-prefix above, for backwards compatibility, +- dnl but do not document this old, inconsistently-named option. +- AC_ARG_WITH(gpg-error-prefix,, +- [gpg_error_config_prefix="$withval"]) +- +- if test x"${GPG_ERROR_CONFIG}" = x ; then +- if test x"${gpg_error_config_prefix}" != x ; then +- GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config" +- else +- case "${SYSROOT}" in +- /*) +- if test -x "${SYSROOT}/bin/gpg-error-config" ; then +- GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config" +- fi +- ;; +- '') +- ;; +- *) +- AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) +- ;; +- esac +- fi +- fi +- +- AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no) +-]) +- +-dnl +-dnl Find gpgrt-config, which uses .pc file +-dnl (minimum pkg-config functionality, supporting cross build) +-dnl +-dnl _AM_PATH_GPGRT_CONFIG +-AC_DEFUN([_AM_PATH_GPGRT_CONFIG],[dnl +- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no, [$prefix/bin:$PATH]) +- if test "$GPGRT_CONFIG" != "no"; then +- # Determine gpgrt_libdir +- # +- # Get the prefix of gpgrt-config assuming it's something like: +- # <PREFIX>/bin/gpgrt-config +- gpgrt_prefix=${GPGRT_CONFIG%/*/*} +- possible_libdir1=${gpgrt_prefix}/lib +- # Determine by using system libdir-format with CC, it's like: +- # Normal style: /usr/lib +- # GNU cross style: /usr/<triplet>/lib +- # Debian style: /usr/lib/<multiarch-name> +- # Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64 +- # It is assumed that CC is specified to the one of host on cross build. +- if libdir_candidates=$(${CC:-cc} -print-search-dirs | \ +- sed -n -e "/^libraries/{s/libraries: =//;s/:/\\ +-/g;p;}"); then +- # From the output of -print-search-dirs, select valid pkgconfig dirs. +- libdir_candidates=$(for dir in $libdir_candidates; do +- if p=$(cd $dir 2>/dev/null && pwd); then +- test -d "$p/pkgconfig" && echo $p; +- fi +- done) +- +- for possible_libdir0 in $libdir_candidates; do +- # possible_libdir0: +- # Fallback candidate, the one of system-installed (by $CC) +- # (/usr/<triplet>/lib, /usr/lib/<multiarch-name> or /usr/lib32) +- # possible_libdir1: +- # Another candidate, user-locally-installed +- # (<gpgrt_prefix>/lib) +- # possible_libdir2 +- # Most preferred +- # (<gpgrt_prefix>/<triplet>/lib, +- # <gpgrt_prefix>/lib/<multiarch-name> or <gpgrt_prefix>/lib32) +- if test "${possible_libdir0##*/}" = "lib"; then +- possible_prefix0=${possible_libdir0%/lib} +- possible_prefix0_triplet=${possible_prefix0##*/} +- if test -z "$possible_prefix0_triplet"; then +- continue +- fi +- possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib +- else +- possible_prefix0=${possible_libdir0%%/lib*} +- possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0} +- fi +- if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then +- gpgrt_libdir=${possible_libdir2} +- elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then +- gpgrt_libdir=${possible_libdir1} +- elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then +- gpgrt_libdir=${possible_libdir0} +- fi +- if test -n "$gpgrt_libdir"; then break; fi +- done +- fi +- if test -z "$gpgrt_libdir"; then +- # No valid pkgconfig dir in any of the system directories, fallback +- gpgrt_libdir=${possible_libdir1} +- fi +- else +- unset GPGRT_CONFIG +- fi +- +- if test -n "$gpgrt_libdir"; then +- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" +- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then +- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" +- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) +- gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` +- else +- gpg_error_config_version=`$GPG_ERROR_CONFIG --version` +- unset GPGRT_CONFIG +- fi +- elif test "$GPG_ERROR_CONFIG" != "no"; then +- gpg_error_config_version=`$GPG_ERROR_CONFIG --version` +- unset GPGRT_CONFIG +- fi +-]) +- +-dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION, +-dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +-dnl +-dnl Test for libgpg-error and define GPG_ERROR_CFLAGS, GPG_ERROR_LIBS, +-dnl GPG_ERROR_MT_CFLAGS, and GPG_ERROR_MT_LIBS. The _MT_ variants are +-dnl used for programs requireing real multi thread support. +-dnl + dnl If a prefix option is not used, the config script is first + dnl searched in $SYSROOT/bin and then along $PATH. If the used + dnl config script does not match the host specification the script + dnl is added to the gpg_config_script_warn variable. + dnl +-AC_DEFUN([AM_PATH_GPG_ERROR],[dnl +-AC_REQUIRE([AC_CANONICAL_HOST])dnl +-AC_REQUIRE([_AM_PATH_POSSIBLE_GPG_ERROR_CONFIG])dnl +-AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl +- min_gpg_error_version=ifelse([$1], ,1.33,$1) +- ok=no +- if test "$GPG_ERROR_CONFIG" != "no"; then +- req_major=`echo $min_gpg_error_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` +- req_minor=`echo $min_gpg_error_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` +- major=`echo $gpg_error_config_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` +- minor=`echo $gpg_error_config_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` +- if test "$major" -gt "$req_major"; then +- ok=yes +- else +- if test "$major" -eq "$req_major"; then +- if test "$minor" -ge "$req_minor"; then +- ok=yes +- fi +- fi +- fi +- fi +- AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version) ++AC_DEFUN([AM_PATH_GPG_ERROR], ++[ ++ min_gpg_error_version=ifelse([$1], ,0.0,$1) ++ PKG_CHECK_MODULES(GPG_ERROR, [gpg-error >= $min_gpg_error_version gpg-error], [ok=yes], [ok=no]) + if test $ok = yes; then +- GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags` +- GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs` +- if test -z "$GPGRT_CONFIG"; then +- GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null` +- GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null` +- else +- GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null` +- GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS" +- GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null` +- GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS" +- fi +- AC_MSG_RESULT([yes ($gpg_error_config_version)]) + ifelse([$2], , :, [$2]) +- if test -z "$GPGRT_CONFIG"; then +- gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none` +- else +- gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none` +- fi ++ gpg_error_config_host=`$PKG_CONFIG --host gpg-error 2>/dev/null || echo none` + if test x"$gpg_error_config_host" != xnone ; then + if test x"$gpg_error_config_host" != x"$host" ; then + AC_MSG_WARN([[ +@@ -211,10 +41,6 @@ AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl + fi + fi + else +- GPG_ERROR_CFLAGS="" +- GPG_ERROR_LIBS="" +- GPG_ERROR_MT_CFLAGS="" +- GPG_ERROR_MT_LIBS="" + AC_MSG_RESULT(no) + ifelse([$3], , :, [$3]) + fi diff --git a/meta/recipes-support/pinentry/pinentry-1.1.1/libassuan_pkgconf.patch b/meta/recipes-support/pinentry/pinentry-1.3.1/libassuan_pkgconf.patch index f4aec2d1c3..f2d50010c5 100644 --- a/meta/recipes-support/pinentry/pinentry-1.1.1/libassuan_pkgconf.patch +++ b/meta/recipes-support/pinentry/pinentry-1.3.1/libassuan_pkgconf.patch @@ -1,4 +1,4 @@ -From 26fb6c3faa27180c8ed9ada1728c3d8683a65f3a Mon Sep 17 00:00:00 2001 +From 1bf04756b90832494020c39661ea944a0b11204f Mon Sep 17 00:00:00 2001 From: Armin Kuster <akuster@mvista.com> Date: Thu, 22 May 2014 10:50:00 +0100 Subject: [PATCH] libassuan: Improve pkgconfig support @@ -9,17 +9,16 @@ the libassuan recipe for libassuan.pc generation. Upstream-Status: Inappropriate [OE specific] Signed-off-by: Armin Kuster <akuster@mvista.com> - --- configure.ac | 4 +-- - m4/libassuan.m4 | 93 ++++--------------------------------------------- - 2 files changed, 9 insertions(+), 88 deletions(-) + m4/libassuan.m4 | 94 ++++--------------------------------------------- + 2 files changed, 9 insertions(+), 89 deletions(-) diff --git a/configure.ac b/configure.ac -index d8dcc0c..ca51766 100644 +index 4944f7c..f03cbb7 100644 --- a/configure.ac +++ b/configure.ac -@@ -267,8 +267,8 @@ if test "$have_libassuan" = "yes"; then +@@ -264,8 +264,8 @@ if test "$have_libassuan" = "yes"; then [version of the libassuan library]) fi @@ -31,7 +30,7 @@ index d8dcc0c..ca51766 100644 dnl Checks for libsecmem. diff --git a/m4/libassuan.m4 b/m4/libassuan.m4 -index df50484..2057412 100644 +index a2eb5d9..897f407 100644 --- a/m4/libassuan.m4 +++ b/m4/libassuan.m4 @@ -15,30 +15,8 @@ dnl @@ -51,7 +50,7 @@ index df50484..2057412 100644 - fi - - use_gpgrt_config="" -- if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then +- if test x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then - if $GPGRT_CONFIG libassuan --exists; then - LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan" - AC_MSG_NOTICE([Use gpgrt-config as libassuan-config]) @@ -67,7 +66,7 @@ index df50484..2057412 100644 tmp=ifelse([$1], ,1:0.9.2,$1) if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then req_libassuan_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` -@@ -48,58 +26,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], +@@ -48,59 +26,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], min_libassuan_version="$tmp" fi @@ -112,6 +111,7 @@ index df50484..2057412 100644 - - if test $ok = yes; then - AC_MSG_RESULT([yes ($libassuan_config_version)]) +- AC_DEFINE(LIBASSUAN_API_REQUESTED, $req_libassuan_api, Requested API version for libassuan) - else - AC_MSG_RESULT(no) - fi @@ -128,7 +128,7 @@ index df50484..2057412 100644 if test "$tmp" -gt 0 ; then AC_MSG_CHECKING([LIBASSUAN API version]) if test "$req_libassuan_api" -eq "$tmp" ; then -@@ -114,11 +45,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], +@@ -117,11 +47,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], if test $ok = yes; then if test x"$host" != x ; then @@ -141,7 +141,7 @@ index df50484..2057412 100644 if test x"$libassuan_config_host" != xnone ; then if test x"$libassuan_config_host" != x"$host" ; then AC_MSG_WARN([[ -@@ -141,7 +68,7 @@ dnl Test whether libassuan has at least MINIMUM-VERSION. This is +@@ -144,7 +70,7 @@ dnl Test whether libassuan has at least MINIMUM-VERSION. This is dnl used to test for features only available in newer versions. dnl AC_DEFUN([AM_CHECK_LIBASSUAN], @@ -150,7 +150,7 @@ index df50484..2057412 100644 if test $ok = yes; then ifelse([$2], , :, [$2]) else -@@ -157,16 +84,10 @@ dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +@@ -160,16 +86,10 @@ dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) dnl Test for libassuan and define LIBASSUAN_CFLAGS and LIBASSUAN_LIBS dnl AC_DEFUN([AM_PATH_LIBASSUAN], diff --git a/meta/recipes-support/pinentry/pinentry_1.1.1.bb b/meta/recipes-support/pinentry/pinentry_1.3.1.bb index 98577fe3ef..14b368177c 100644 --- a/meta/recipes-support/pinentry/pinentry_1.1.1.bb +++ b/meta/recipes-support/pinentry/pinentry_1.3.1.bb @@ -5,8 +5,8 @@ DESCRIPTION = "\ http://www.gnupg.org/aegypten/ for details." HOMEPAGE = "http://www.gnupg.org/related_software/pinentry/index.en.html" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=cbbd794e2a0a289b9dfcc9f513d1996e" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "gettext-native libassuan libgpg-error" @@ -16,14 +16,13 @@ SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://gpg-error_pkconf.patch \ " -SRC_URI[sha256sum] = "cd12a064013ed18e2ee8475e669b9f58db1b225a0144debdb85a68cecddba57f" +SRC_URI[sha256sum] = "bc72ee27c7239007ab1896c3c2fae53b076e2c9bd2483dc2769a16902bce8c04" inherit autotools pkgconfig -PACKAGECONFIG ??= "ncurses libcap" +PACKAGECONFIG ??= "ncurses" PACKAGECONFIG[ncurses] = "--enable-ncurses --with-ncurses-include-dir=${STAGING_INCDIR}, --disable-ncurses, ncurses" -PACKAGECONFIG[libcap] = "--with-libcap, --without-libcap, libcap" PACKAGECONFIG[qt] = "--enable-pinentry-qt, --disable-pinentry-qt, qtbase-native qtbase" PACKAGECONFIG[gtk2] = "--enable-pinentry-gtk2, --disable-pinentry-gtk2, gtk+ glib-2.0" @@ -32,5 +31,8 @@ PACKAGECONFIG[secret] = "--enable-libsecret, --disable-libsecret, libsecret" EXTRA_OECONF = " \ --disable-rpath \ " +EXTRA_OECONF:append:libc-musl = " \ + ac_cv_should_define__xopen_source=yes \ +" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/popt/popt/run-ptest b/meta/recipes-support/popt/popt/run-ptest new file mode 100644 index 0000000000..85754035d0 --- /dev/null +++ b/meta/recipes-support/popt/popt/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +./testit.sh diff --git a/meta/recipes-support/popt/popt_1.18.bb b/meta/recipes-support/popt/popt_1.18.bb deleted file mode 100644 index 057c44f223..0000000000 --- a/meta/recipes-support/popt/popt_1.18.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Library for parsing command line options" -DESCRIPTION = "Popt is a C library for parsing command line parameters. Popt was heavily influenced by the getopt() and getopt_long() functions, but it improves on them by allowing more powerful argument expansion. Popt can parse arbitrary argv[] style arrays and automatically set variables based on command line arguments." -HOMEPAGE = "https://www.rpm.org/" -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=cb0613c30af2a8249b8dcc67d3edb06d" - -DEPENDS = "virtual/libiconv" - -SRC_URI = "http://ftp.rpm.org/popt/releases/popt-1.x/${BP}.tar.gz" -SRC_URI[sha256sum] = "5159bc03a20b28ce363aa96765f37df99ea4d8850b1ece17d1e6ad5c24fdc5d1" - -inherit autotools gettext - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/popt/popt_1.19.bb b/meta/recipes-support/popt/popt_1.19.bb new file mode 100644 index 0000000000..b1d8bea790 --- /dev/null +++ b/meta/recipes-support/popt/popt_1.19.bb @@ -0,0 +1,31 @@ +SUMMARY = "Library for parsing command line options" +DESCRIPTION = "Popt is a C library for parsing command line parameters. Popt was heavily influenced by the getopt() and getopt_long() functions, but it improves on them by allowing more powerful argument expansion. Popt can parse arbitrary argv[] style arrays and automatically set variables based on command line arguments." +HOMEPAGE = "https://www.rpm.org/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=e0206ac9471d06667e076212db20c5f4" + +DEPENDS = "virtual/libiconv" + +SRC_URI = "http://ftp.rpm.org/popt/releases/popt-1.x/${BP}.tar.gz \ + file://run-ptest \ + " +SRC_URI[sha256sum] = "c25a4838fc8e4c1c8aacb8bd620edb3084a3d63bf8987fdad3ca2758c63240f9" + +inherit autotools gettext ptest + +RDEPENDS:${PN}-ptest += "bash" + +do_compile_ptest() { + sed 's#lt-test1#test1#g' ${S}/tests/testit.sh > ${B}/tests/testit.sh +} + +do_install_ptest() { + install ${B}/tests/.libs/test* ${D}/${PTEST_PATH} + install ${B}/tests/.libs/tdict ${D}/${PTEST_PATH} + install ${B}/tests/testit.sh ${D}/${PTEST_PATH} + install ${B}/tests/test-poptrc ${D}/${PTEST_PATH} +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb b/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb deleted file mode 100644 index 57a3ae005b..0000000000 --- a/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "A C program to run all installed ptests" -DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \ -program which loops through all installed ptest test suites and \ -runs them in sequence." -HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" - -SRCREV = "cce0edb4282ee081d043030bfdf29f3e4052f86c" -PV .= "+git${SRCPV}" - -SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \ -" - -S = "${WORKDIR}/git" - -FILES_${PN} = "${bindir}/ptest-runner" - -EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\""" - -do_compile () { - oe_runmake -} - -do_install () { - install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner -} diff --git a/meta/recipes-support/ptest-runner/ptest-runner_2.4.5.bb b/meta/recipes-support/ptest-runner/ptest-runner_2.4.5.bb new file mode 100644 index 0000000000..d28ae7ca91 --- /dev/null +++ b/meta/recipes-support/ptest-runner/ptest-runner_2.4.5.bb @@ -0,0 +1,39 @@ +SUMMARY = "A C program to run all installed ptests" +DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \ +program which loops through all installed ptest test suites and \ +runs them in sequence." +HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" + +SRCREV = "aea9f42f87f2a78a973ae22cade8e45259f754e1" +PV .= "+git" + +SRC_URI = "git://git.yoctoproject.org/ptest-runner2;branch=master;protocol=https \ +" + +S = "${WORKDIR}/git" + +FILES:${PN} = "${bindir}/ptest-runner ${bindir}/ptest-runner-collect-system-data" + +EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\""" + +do_compile () { + oe_runmake +} + +do_install () { + install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner + install -D -m 0755 ${S}/ptest-runner-collect-system-data ${D}${bindir}/ptest-runner-collect-system-data +} + +RDEPENDS:${PN}:append:libc-glibc = " libgcc" + +# pstree is called by ptest-runner-collect-system-data +RDEPENDS:${PN}:append = " pstree" + +# Create a non-root user that test suites can use easily +inherit useradd +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --no-create-home --home / --user-group ptest" diff --git a/meta/recipes-support/re2c/re2c_2.0.3.bb b/meta/recipes-support/re2c/re2c_3.1.bb index ce04fd39e0..a4b20422f6 100644 --- a/meta/recipes-support/re2c/re2c_2.0.3.bb +++ b/meta/recipes-support/re2c/re2c_3.1.bb @@ -2,15 +2,14 @@ SUMMARY = "Tool for writing very fast and very flexible scanners" DESCRIPTION = "A free and open-source lexer generator for C, C++ and Go. It compiles regular expressions to determinisitic finite automata and encodes the automata in the form of a program in the target language. Unlike any other such tool, re2c focuses on generating high efficient code for regular expression matching. As a result this allows a much broader range of use than any traditional lexer." HOMEPAGE = "http://re2c.org/" BUGTRACKER = "https://github.com/skvadrik/re2c/issues" -AUTHOR = "Marcus Börger <helly@users.sourceforge.net>" SECTION = "devel" LICENSE = "PD" LIC_FILES_CHKSUM = "file://LICENSE;md5=64eca4d8a3b67f9dc7656094731a2c8d" -SRC_URI = "https://github.com/skvadrik/re2c/releases/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "b2bc1eb8aaaa21ff2fcd26507b7e6e72c5e3d887e58aa515c2155fb17d744278" -UPSTREAM_CHECK_URI = "https://github.com/skvadrik/re2c/releases" +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "0ac299ad359e3f512b06a99397d025cfff81d3be34464ded0656f8a96676c029" +GITHUB_BASE_URI = "https://github.com/skvadrik/re2c/releases" BBCLASSEXTEND = "native nativesdk" -inherit autotools +inherit autotools github-releases diff --git a/meta/recipes-support/rng-tools/rng-tools/rngd.service b/meta/recipes-support/rng-tools/rng-tools/rng-tools.service index 0559b97991..5ae2fba215 100644 --- a/meta/recipes-support/rng-tools/rng-tools/rngd.service +++ b/meta/recipes-support/rng-tools/rng-tools/rng-tools.service @@ -1,9 +1,9 @@ [Unit] Description=Hardware RNG Entropy Gatherer Daemon DefaultDependencies=no -After=systemd-udev-settle.service -Before=sysinit.target shutdown.target Conflicts=shutdown.target +Before=sysinit.target shutdown.target +ConditionVirtualization=!container [Service] EnvironmentFile=-@SYSCONFDIR@/default/rng-tools diff --git a/meta/recipes-support/rng-tools/rng-tools_6.11.bb b/meta/recipes-support/rng-tools/rng-tools_6.11.bb deleted file mode 100644 index 61a0cef2e0..0000000000 --- a/meta/recipes-support/rng-tools/rng-tools_6.11.bb +++ /dev/null @@ -1,60 +0,0 @@ -SUMMARY = "Random number generator daemon" -DESCRIPTION = "Check and feed random data from hardware device to kernel" -AUTHOR = "Philipp Rumpf, Jeff Garzik <jgarzik@pobox.com>, \ - Henrique de Moraes Holschuh <hmh@debian.org>" -HOMEPAGE = "https://github.com/nhorman/rng-tools" -BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "sysfsutils openssl" - -SRC_URI = "\ - git://github.com/nhorman/rng-tools.git \ - file://init \ - file://default \ - file://rngd.service \ -" -SRCREV = "2ea13473fd5bfea3c861dc0e23bd65e2afe8007b" - -S = "${WORKDIR}/git" - -inherit autotools update-rc.d systemd pkgconfig - -EXTRA_OECONF = "--without-rtlsdr" - -PACKAGECONFIG ??= "libjitterentropy" -PACKAGECONFIG_libc-musl = "libargp libjitterentropy" - -PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," -PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" -PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl" -PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" - -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." - -SYSTEMD_SERVICE_${PN} = "rngd.service" - -# Refer autogen.sh in rng-tools -do_configure_prepend() { - cp ${S}/README.md ${S}/README -} - -do_install_append() { - install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools - install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools - install -Dm 0644 ${WORKDIR}/rngd.service \ - ${D}${systemd_system_unitdir}/rngd.service - sed -i \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - ${D}${sysconfdir}/init.d/rng-tools \ - ${D}${systemd_system_unitdir}/rngd.service - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'nistbeacon', 'yes', 'no', d)}" = "yes" ]; then - sed -i \ - -e '/^IPAddressDeny=any/d' \ - -e '/^RestrictAddressFamilies=/ s/$/ AF_INET AF_INET6/' \ - ${D}${systemd_system_unitdir}/rngd.service - fi -} diff --git a/meta/recipes-support/rng-tools/rng-tools_6.17.bb b/meta/recipes-support/rng-tools/rng-tools_6.17.bb new file mode 100644 index 0000000000..fc141a984c --- /dev/null +++ b/meta/recipes-support/rng-tools/rng-tools_6.17.bb @@ -0,0 +1,73 @@ +SUMMARY = "Random number generator daemon" +DESCRIPTION = "Check and feed random data from hardware device to kernel" +HOMEPAGE = "https://github.com/nhorman/rng-tools" +BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "openssl libcap" + +SRC_URI = "git://github.com/nhorman/rng-tools.git;branch=master;protocol=https \ + file://init \ + file://default \ + file://rng-tools.service \ + " +SRCREV = "bd00c08b0c3c6a880b0988befe97fd35b315468c" + +S = "${WORKDIR}/git" + +inherit autotools update-rc.d systemd pkgconfig + +EXTRA_OECONF = "--without-rtlsdr" + +PACKAGECONFIG ??= "libjitterentropy" +PACKAGECONFIG:libc-musl = "libargp libjitterentropy" + +PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," +PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" +PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl" +PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2" +PACKAGECONFIG[qrypt] = "--with-qrypt,--without-qrypt,curl" + +INITSCRIPT_PACKAGES = "${PN}-service" +INITSCRIPT_NAME:${PN}-service = "rng-tools" +INITSCRIPT_PARAMS:${PN}-service = "start 03 2 3 4 5 . stop 30 0 6 1 ." + +SYSTEMD_PACKAGES = "${PN}-service" +SYSTEMD_SERVICE:${PN}-service = "rng-tools.service" + +CFLAGS += " -DJENT_CONF_ENABLE_INTERNAL_TIMER " + +PACKAGES =+ "${PN}-service" + +FILES:${PN}-service += " \ + ${sysconfdir}/init.d/rng-tools \ + ${sysconfdir}/default/rng-tools \ +" + +# Refer autogen.sh in rng-tools +do_configure:prepend() { + cp ${S}/README.md ${S}/README +} + +do_install:append() { + install -Dm 0644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/rng-tools + install -Dm 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/rng-tools + install -Dm 0644 ${UNPACKDIR}/rng-tools.service \ + ${D}${systemd_system_unitdir}/rng-tools.service + sed -i \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${sysconfdir}/init.d/rng-tools \ + ${D}${systemd_system_unitdir}/rng-tools.service + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'nistbeacon', 'yes', 'no', d)}" = "yes" ]; then + sed -i \ + -e '/^IPAddressDeny=any/d' \ + -e '/^RestrictAddressFamilies=/ s/$/ AF_INET AF_INET6/' \ + ${D}${systemd_system_unitdir}/rng-tools.service + fi +} + +# libargp detection fails +# http://errors.yoctoproject.org/Errors/Details/766951/ +CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta/recipes-support/serf/serf/0001-Fix-syntax-of-a-print-in-the-scons-file-to-unbreak-b.patch b/meta/recipes-support/serf/serf/0001-Fix-syntax-of-a-print-in-the-scons-file-to-unbreak-b.patch deleted file mode 100644 index 4a5832ac1a..0000000000 --- a/meta/recipes-support/serf/serf/0001-Fix-syntax-of-a-print-in-the-scons-file-to-unbreak-b.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 99f6e1b0d68281b63218d6adfe68cd9e331ac5be Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 3 Sep 2018 10:50:08 -0700 -Subject: [PATCH] Fix syntax of a print() in the scons file to unbreak building - with most recent scons version. - -* SConstruct Use Python 3.0 valid syntax to make Scons 3.0.0 happy on both python - 3.0 and 2.7. - -Upstream-Status: Backport -[https://svn.apache.org/viewvc/serf/trunk/SConstruct?r1=1809132&r2=1811083&diff_format=h] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - SConstruct | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/SConstruct b/SConstruct -index 1670459..18a45fa 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -184,7 +184,7 @@ CALLOUT_OKAY = not (env.GetOption('clean') or env.GetOption('help')) - - unknown = opts.UnknownVariables() - if unknown: -- print 'Warning: Used unknown variables:', ', '.join(unknown.keys()) -+ print('Warning: Used unknown variables:', ', '.join(unknown.keys())) - - apr = str(env['APR']) - apu = str(env['APU']) diff --git a/meta/recipes-support/serf/serf/0004-Follow-up-to-r1811083-fix-building-with-scons-3.0.0-.patch b/meta/recipes-support/serf/serf/0004-Follow-up-to-r1811083-fix-building-with-scons-3.0.0-.patch deleted file mode 100644 index 02fa9e3a06..0000000000 --- a/meta/recipes-support/serf/serf/0004-Follow-up-to-r1811083-fix-building-with-scons-3.0.0-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 565211fd082ef653ca9c44a345350fc1451f5a0f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 3 Sep 2018 11:12:38 -0700 -Subject: [PATCH] Follow-up to r1811083 fix building with scons 3.0.0 and - Python3 - -* SConstruct: Append decode('utf-8) to FILE.get_contents() to avoid - TypeError: cannot use a string pattern on a bytes-like object - -Upstream-Status: Backport -[https://svn.apache.org/viewvc/serf/trunk/SConstruct?r1=1811088&r2=1814604] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - SConstruct | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/SConstruct b/SConstruct -index 877731e..7678bb1 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -169,7 +169,7 @@ env.Append(BUILDERS = { - match = re.search('SERF_MAJOR_VERSION ([0-9]+).*' - 'SERF_MINOR_VERSION ([0-9]+).*' - 'SERF_PATCH_VERSION ([0-9]+)', -- env.File('serf.h').get_contents(), -+ env.File('serf.h').get_contents().decode('utf-8'), - re.DOTALL) - MAJOR, MINOR, PATCH = [int(x) for x in match.groups()] - env.Append(MAJOR=str(MAJOR)) diff --git a/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch b/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch index 91640d6044..c8e6eddfec 100644 --- a/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch +++ b/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch @@ -31,7 +31,7 @@ ERROR: scons install execution failed. and the installed paths (including the paths inside libserf*.pc) look correct -Upstream-Status: Pending +Upstream-Status: Inappropriate [removes block of code rather than fixing the problem in that block] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> diff --git a/meta/recipes-support/serf/serf_1.3.9.bb b/meta/recipes-support/serf/serf_1.3.10.bb index 3276d40df6..c6b51452aa 100644 --- a/meta/recipes-support/serf/serf_1.3.9.bb +++ b/meta/recipes-support/serf/serf_1.3.10.bb @@ -7,15 +7,12 @@ HOMEPAGE = "http://serf.apache.org/" SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://norpath.patch \ file://env.patch \ - file://0001-Fix-syntax-of-a-print-in-the-scons-file-to-unbreak-b.patch \ file://0002-SConstruct-Fix-path-quoting-for-.def-generator.patch \ file://0003-gen_def.patch \ - file://0004-Follow-up-to-r1811083-fix-building-with-scons-3.0.0-.patch \ file://SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch \ " -SRC_URI[md5sum] = "370a6340ff20366ab088012cd13f2b57" -SRC_URI[sha256sum] = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc" +SRC_URI[sha256sum] = "be81ef08baa2516ecda76a77adf7def7bc3227eeb578b9a33b45f7b41dc064e6" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" @@ -36,7 +33,7 @@ EXTRA_OESCONS = " \ " # scons creates non-reproducible archives -do_install_append() { +do_install:append() { rm ${D}/${libdir}/*.a } diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch b/meta/recipes-support/shared-mime-info/shared-mime-info/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch new file mode 100644 index 0000000000..936f72ccf8 --- /dev/null +++ b/meta/recipes-support/shared-mime-info/shared-mime-info/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch @@ -0,0 +1,26 @@ +From 665383306c725f299a1b373f947cda01949d49e4 Mon Sep 17 00:00:00 2001 +From: David Faure <faure@kde.org> +Date: Sun, 19 Nov 2023 11:18:11 +0100 +Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17 + +Fixes #219 + +Upstream-Status: Backport [https://gitlab.freedesktop.org/xdg/shared-mime-info/-/commit/c918fe77e255150938e83a6aec259f153d303573] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/test-subclassing.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/test-subclassing.c b/src/test-subclassing.c +index dd099e4..0758164 100644 +--- a/src/test-subclassing.c ++++ b/src/test-subclassing.c +@@ -1,4 +1,5 @@ + #include <libxml/tree.h> ++#include <libxml/parser.h> + #include <stdio.h> + #include <string.h> + +-- +2.43.0 + diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info/0002-Handle-build-with-older-versions-of-GCC.patch b/meta/recipes-support/shared-mime-info/shared-mime-info/0002-Handle-build-with-older-versions-of-GCC.patch new file mode 100644 index 0000000000..2af6b461b6 --- /dev/null +++ b/meta/recipes-support/shared-mime-info/shared-mime-info/0002-Handle-build-with-older-versions-of-GCC.patch @@ -0,0 +1,54 @@ +From 461d00fcd5c5842b9a56f7462d55d46bf21163cc Mon Sep 17 00:00:00 2001 +From: Patrick Williams <patrick@stwcx.xyz> +Date: Fri, 1 Dec 2023 11:19:02 -0600 +Subject: [PATCH] Handle build with older versions of GCC + +Older versions of GCC (prior to 9.1) did not put the `std::filesystem` +support directly into libstdcpp, but in a separate `libstdc++fs`. Add +meson logic to detect if an extra linker flag is necessary. + +Fixes #223. + +Tested on AlmaLinux 8 which uses GCC-8. + +Signed-off-by: Patrick Williams <patrick@stwcx.xyz> +Upstream-Status: Submitted [https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/278] +--- + meson.build | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/meson.build b/meson.build +index ecc012f..93acd40 100644 +--- a/meson.build ++++ b/meson.build +@@ -11,6 +11,7 @@ config = configuration_data() + i18n = import('i18n') + + cc = meson.get_compiler('c') ++cxx = meson.get_compiler('cpp') + + ############################################################################### + # Project configuration +@@ -46,6 +47,19 @@ if not xdgmime_found + ''') + endif + ++############################################################################### ++# Check if GCC needs -lstdc++fs (before 9.1) ++ ++if not cxx.links(''' ++ #include <filesystem> ++ int main() { ++ return std::filesystem::is_directory( ++ std::filesystem::status("/tmp")) ? 0 : 1; ++ } ++ ''', name: 'std++fs-check') ++ add_project_link_arguments('-lstdc++fs', language : 'cpp') ++endif ++ + ############################################################################### + # Dependencies + +-- +2.41.0 + diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb b/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb index ff32259d8e..ef5df44ad6 100644 --- a/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb +++ b/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb @@ -1,29 +1,31 @@ SUMMARY = "Shared MIME type database and specification" -DESCRIPTION = "The shared-mime-info package contains the core database of common types and the update-mime-database command used to extend it. It requires glib2 to be installed for building the update command. Additionally, it uses intltool for translations, though this is only a dependency for the maintainers." +DESCRIPTION = "The shared-mime-info package contains the core database of common types." HOMEPAGE = "http://freedesktop.org/wiki/Software/shared-mime-info" SECTION = "base" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "libxml2 itstool-native glib-2.0 shared-mime-info-native xmlto-native" -SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https" -SRCREV = "18e558fa1c8b90b86757ade09a4ba4d6a6cf8f70" -PV = "2.1" +SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https;branch=master \ + file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch \ + file://0002-Handle-build-with-older-versions-of-GCC.patch" +SRCREV = "9a6d6b8e963935f145f3a1ef446552de6996dada" + S = "${WORKDIR}/git" inherit meson pkgconfig gettext python3native mime EXTRA_OEMESON = "-Dupdate-mimedb=true" -FILES_${PN} += "${datadir}/mime" -FILES_${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc ${datadir}/gettext/its" +FILES:${PN} += "${datadir}/mime" +FILES:${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc ${datadir}/gettext/its" # freedesktop.org.xml is only required when updating the mime database, # package it separately PACKAGES =+ "shared-mime-info-data" -FILES_shared-mime-info-data = "${datadir}/mime/packages/freedesktop.org.xml" -RDEPENDS_shared-mime-info-data = "shared-mime-info" +FILES:shared-mime-info-data = "${datadir}/mime/packages/freedesktop.org.xml" +RDEPENDS:shared-mime-info-data = "shared-mime-info" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/sqlite/sqlite3.inc b/meta/recipes-support/sqlite/sqlite3.inc index 1adc0eba66..d093ec5859 100644 --- a/meta/recipes-support/sqlite/sqlite3.inc +++ b/meta/recipes-support/sqlite/sqlite3.inc @@ -23,15 +23,14 @@ CVE_PRODUCT = "sqlite" inherit autotools pkgconfig siteinfo # enable those which are enabled by default in configure -PACKAGECONFIG ?= "fts4 fts5 json1 rtree dyn_ext" -PACKAGECONFIG_class-native ?= "fts4 fts5 json1 rtree dyn_ext" +PACKAGECONFIG ?= "fts4 fts5 rtree dyn_ext" +PACKAGECONFIG:class-native ?= "fts4 fts5 rtree dyn_ext" PACKAGECONFIG[editline] = "--enable-editline,--disable-editline,libedit" PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline ncurses" PACKAGECONFIG[fts3] = "--enable-fts3,--disable-fts3" PACKAGECONFIG[fts4] = "--enable-fts4,--disable-fts4" PACKAGECONFIG[fts5] = "--enable-fts5,--disable-fts5" -PACKAGECONFIG[json1] = "--enable-json1,--disable-json1" PACKAGECONFIG[rtree] = "--enable-rtree,--disable-rtree" PACKAGECONFIG[session] = "--enable-session,--disable-session" PACKAGECONFIG[dyn_ext] = "--enable-dynamic-extensions,--disable-dynamic-extensions" @@ -46,23 +45,23 @@ EXTRA_OECONF = " \ " # pread() is in POSIX.1-2001 so any reasonable system must surely support it -CFLAGS_append = " -DUSE_PREAD" +CFLAGS += "-DUSE_PREAD" # Provide column meta-data API -CFLAGS_append = " -DSQLITE_ENABLE_COLUMN_METADATA" +CFLAGS += "-DSQLITE_ENABLE_COLUMN_METADATA" # Unless SQLITE_BYTEORDER is predefined, the code falls back to build time # huristics, which are not always correct -CFLAGS_append = " ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DSQLITE_BYTEORDER=1234', '-DSQLITE_BYTEORDER=4321', d)}" +CFLAGS += "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DSQLITE_BYTEORDER=1234', '-DSQLITE_BYTEORDER=4321', d)}" PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-doc ${PN}-dbg lib${BPN}-staticdev ${PN}" -FILES_${PN} = "${bindir}/*" -FILES_lib${BPN} = "${libdir}/*.so.*" -FILES_lib${BPN}-dev = "${libdir}/*.la ${libdir}/*.so \ +FILES:${PN} = "${bindir}/*" +FILES:lib${BPN} = "${libdir}/*.so.*" +FILES:lib${BPN}-dev = "${libdir}/*.la ${libdir}/*.so \ ${libdir}/pkgconfig ${includedir}" -FILES_lib${BPN}-doc = "${docdir} ${mandir} ${infodir}" -FILES_lib${BPN}-staticdev = "${libdir}/lib*.a" +FILES:lib${BPN}-doc = "${docdir} ${mandir} ${infodir}" +FILES:lib${BPN}-staticdev = "${libdir}/lib*.a" AUTO_LIBNAME_PKGS = "${MLPREFIX}lib${BPN}" diff --git a/meta/recipes-support/sqlite/sqlite3_3.35.3.bb b/meta/recipes-support/sqlite/sqlite3_3.35.3.bb deleted file mode 100644 index 459dcbd4c8..0000000000 --- a/meta/recipes-support/sqlite/sqlite3_3.35.3.bb +++ /dev/null @@ -1,12 +0,0 @@ -require sqlite3.inc - -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" - -SRC_URI = "http://www.sqlite.org/2021/sqlite-autoconf-${SQLITE_PV}.tar.gz" -SRC_URI[sha256sum] = "ecbccdd440bdf32c0e1bb3611d635239e3b5af268248d130d0445a32daf0274b" - -# -19242 is only an issue in specific development branch commits -CVE_CHECK_WHITELIST += "CVE-2019-19242" -# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA) -CVE_CHECK_WHITELIST += "CVE-2015-3717" diff --git a/meta/recipes-support/sqlite/sqlite3_3.46.1.bb b/meta/recipes-support/sqlite/sqlite3_3.46.1.bb new file mode 100644 index 0000000000..62ea4a6ba9 --- /dev/null +++ b/meta/recipes-support/sqlite/sqlite3_3.46.1.bb @@ -0,0 +1,8 @@ +require sqlite3.inc + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" + +SRC_URI = "http://www.sqlite.org/2024/sqlite-autoconf-${SQLITE_PV}.tar.gz" +SRC_URI[sha256sum] = "67d3fe6d268e6eaddcae3727fce58fcc8e9c53869bdd07a0c61e38ddf2965071" + diff --git a/meta/recipes-support/taglib/taglib_1.12.bb b/meta/recipes-support/taglib/taglib_2.0.2.bb index efa56253bb..254119268c 100644 --- a/meta/recipes-support/taglib/taglib_1.12.bb +++ b/meta/recipes-support/taglib/taglib_2.0.2.bb @@ -2,26 +2,26 @@ SUMMARY = "Library for reading and editing the meta-data of popular audio format DESCRIPTION = "Platform-independent library (tested on Windows/Linux) for reading and writing metadata in media files, including video, audio, and photo formats. This is a convenient one-stop-shop to present or tag all your media collection, regardless of which format/container these might use. You can read/write the standard or more common tags/properties of a media, or you can also create and retrieve your own custom tags." SECTION = "libs/multimedia" HOMEPAGE = "http://taglib.github.io/" -LICENSE = "LGPLv2.1 | MPL-1.1" +LICENSE = "LGPL-2.1-only | MPL-1.1" LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \ file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee" -DEPENDS = "zlib" +DEPENDS = "zlib utfcpp" SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz" -SRC_URI[md5sum] = "4313ed2671234e029b7af8f97c84e9af" -SRC_URI[sha256sum] = "7fccd07669a523b07a15bd24c8da1bbb92206cb19e9366c3692af3d79253b703" +SRC_URI[sha256sum] = "0de288d7fe34ba133199fd8512f19cc1100196826eafcb67a33b224ec3a59737" -UPSTREAM_CHECK_URI = "http://github.com/taglib/taglib/releases/" +UPSTREAM_CHECK_URI = "https://taglib.org/" +UPSTREAM_CHECK_REGEX = "taglib-(?P<pver>\d+(\.\d+)+)\.tar" BINCONFIG = "${bindir}/taglib-config" inherit cmake pkgconfig binconfig-disabled PACKAGES =+ "${PN}-c" -FILES_${PN}-c = "${libdir}/libtag_c.so.*" +FILES:${PN}-c = "${libdir}/libtag_c.so.*" EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \ @@ -32,7 +32,7 @@ EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ " CXXFLAGS += "-std=c++11" -do_configure_prepend () { +do_configure:prepend () { rm -f ${S}/admin/ltmain.sh rm -f ${S}/admin/libtool.m4.in } diff --git a/meta/recipes-support/user-creation/xuser-account_0.1.bb b/meta/recipes-support/user-creation/xuser-account_0.1.bb index 81817d1e25..80a429c6d3 100644 --- a/meta/recipes-support/user-creation/xuser-account_0.1.bb +++ b/meta/recipes-support/user-creation/xuser-account_0.1.bb @@ -6,6 +6,9 @@ SRC_URI = "file://system-xuser.conf" inherit allarch useradd +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" + do_configure() { : } @@ -15,14 +18,14 @@ do_compile() { } do_install() { - install -D -m 0644 ${WORKDIR}/system-xuser.conf ${D}${sysconfdir}/dbus-1/system.d/system-xuser.conf + install -D -m 0644 ${UNPACKDIR}/system-xuser.conf ${D}${sysconfdir}/dbus-1/system.d/system-xuser.conf } -FILES_${PN} = "${sysconfdir}/dbus-1/system.d/system-xuser.conf" +FILES:${PN} = "${sysconfdir}/dbus-1/system.d/system-xuser.conf" USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--create-home \ +USERADD_PARAM:${PN} = "--create-home \ --groups video,tty,audio,input,shutdown,disk \ --user-group xuser" -ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY:${PN} = "1" diff --git a/meta/recipes-support/utfcpp/utfcpp_4.0.5.bb b/meta/recipes-support/utfcpp/utfcpp_4.0.5.bb new file mode 100644 index 0000000000..5ac6fd369a --- /dev/null +++ b/meta/recipes-support/utfcpp/utfcpp_4.0.5.bb @@ -0,0 +1,16 @@ +SUMMARY = " UTF-8 with C++ in a Portable Way" +HOMEPAGE = "https://github.com/nemtrif/utfcpp" + +LICENSE = "BSL-1.0 & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e4224ccaecb14d942c71d31bef20d78c \ + file://extern/ftest/LICENSE;md5=d33c6488d3b003723a5f17ac984db030" + +SRC_URI = "gitsm://github.com/nemtrif/utfcpp;protocol=https;branch=master" + +SRCREV = "6be08bbea14ffa0a5c594257fb6285a054395cd7" + +S = "${WORKDIR}/git" + +inherit cmake + +FILES:${PN}-dev += "${datadir}/utf8cpp/cmake" diff --git a/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch index 63a7b78f12..2fc11dbdc2 100644 --- a/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch +++ b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch @@ -16,11 +16,11 @@ Signed-off-by: Mingli Yu <mingli.yu@windriver.com> src/Makefile | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) -diff --git a/src/Makefile b/src/Makefile -index f2fafa4dc..7148d4bd9 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -2845,16 +2845,10 @@ auto/pathdef.c: Makefile auto/config.mk +Index: git/src/Makefile +=================================================================== +--- git.orig/src/Makefile ++++ git/src/Makefile +@@ -3101,16 +3101,10 @@ auto/pathdef.c: Makefile auto/config.mk -@echo '#include "vim.h"' >> $@ -@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' | $(QUOTESED) >> $@ -@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' | $(QUOTESED) >> $@ @@ -41,6 +41,3 @@ index f2fafa4dc..7148d4bd9 100644 -@sh $(srcdir)/pathdef.sh GUI_GTK_RES_INPUTS = \ --- -2.17.1 - diff --git a/meta/recipes-support/vim/files/disable_acl_header_check.patch b/meta/recipes-support/vim/files/disable_acl_header_check.patch index 33089162b4..ee1ea0f390 100644 --- a/meta/recipes-support/vim/files/disable_acl_header_check.patch +++ b/meta/recipes-support/vim/files/disable_acl_header_check.patch @@ -5,7 +5,7 @@ Subject: [PATCH] disable acl header check Don't check 'sys/acl.h' if acl support disabled for vim/vim-tiny. -Upstream-Status: pending +Upstream-Status: Pending Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Changqing Li <changqing.li@windriver.com> @@ -13,11 +13,11 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com> src/configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/src/configure.ac b/src/configure.ac -index 2d409b3ca06a..dbcaf6140263 100644 ---- a/src/configure.ac -+++ b/src/configure.ac -@@ -3257,7 +3257,7 @@ AC_CHECK_HEADERS(stdint.h stdlib.h string.h \ +Index: git/src/configure.ac +=================================================================== +--- git.orig/src/configure.ac ++++ git/src/configure.ac +@@ -3292,7 +3292,7 @@ AC_CHECK_HEADERS(stdint.h stdlib.h strin sys/systeminfo.h locale.h sys/stream.h termios.h \ libc.h sys/statfs.h poll.h sys/poll.h pwd.h \ utime.h sys/param.h sys/ptms.h libintl.h libgen.h \ @@ -26,7 +26,7 @@ index 2d409b3ca06a..dbcaf6140263 100644 sys/access.h sys/sysinfo.h wchar.h wctype.h) dnl sys/ptem.h depends on sys/stream.h on Solaris -@@ -3886,6 +3886,7 @@ AC_ARG_ENABLE(acl, +@@ -3974,6 +3974,7 @@ AC_ARG_ENABLE(acl, , [enable_acl="yes"]) if test "$enable_acl" = "yes"; then AC_MSG_RESULT(no) @@ -34,6 +34,3 @@ index 2d409b3ca06a..dbcaf6140263 100644 AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"], AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl" AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),) --- -2.7.4 - diff --git a/meta/recipes-support/vim/files/no-path-adjust.patch b/meta/recipes-support/vim/files/no-path-adjust.patch index 05c2d803f6..908459a95e 100644 --- a/meta/recipes-support/vim/files/no-path-adjust.patch +++ b/meta/recipes-support/vim/files/no-path-adjust.patch @@ -1,4 +1,7 @@ -vim: do not adjust script pathnames +From 4125a1ccb82fd53d003acdc34e462f238f0c4f0d Mon Sep 17 00:00:00 2001 +From: Joe Slater <joe.slater@windriver.com> +Date: Fri, 8 Jul 2022 11:03:22 +0800 +Subject: [PATCH] vim: do not adjust script pathnames When cross-compiling, we do not want to reference the host versions of things like perl and awk. @@ -6,22 +9,28 @@ things like perl and awk. Upstream-Status: Pending Signed-off-by: Joe Slater <joe.slater@windriver.com> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + src/Makefile | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) +diff --git a/src/Makefile b/src/Makefile +index c9513a632..7a7cbdc43 100644 --- a/src/Makefile +++ b/src/Makefile -@@ -2507,11 +2507,14 @@ installtools: $(TOOLS) $(DESTDIR)$(exec_ +@@ -2534,11 +2534,7 @@ installtools: $(TOOLS) $(DESTDIR)$(exec_prefix) $(DEST_BIN) \ rm -rf $$cvs; \ fi -chmod $(FILEMOD) $(DEST_TOOLS)/* -# replace the path in some tools -+ -+# replace the path in some tools, but not when cross-compiling -+ifneq ($(CROSS_COMPILING),1) - perlpath=`./which.sh perl` && sed -e "s+/usr/bin/perl+$$perlpath+" $(TOOLSSOURCE)/efm_perl.pl >$(DEST_TOOLS)/efm_perl.pl - awkpath=`./which.sh nawk` && sed -e "s+/usr/bin/nawk+$$awkpath+" $(TOOLSSOURCE)/mve.awk >$(DEST_TOOLS)/mve.awk; if test -z "$$awkpath"; then \ - awkpath=`./which.sh gawk` && sed -e "s+/usr/bin/nawk+$$awkpath+" $(TOOLSSOURCE)/mve.awk >$(DEST_TOOLS)/mve.awk; if test -z "$$awkpath"; then \ - awkpath=`./which.sh awk` && sed -e "s+/usr/bin/nawk+$$awkpath+" $(TOOLSSOURCE)/mve.awk >$(DEST_TOOLS)/mve.awk; fi; fi -+endif +- perlpath=`./which.sh perl` && sed -e "s+/usr/bin/perl+$$perlpath+" $(TOOLSSOURCE)/efm_perl.pl >$(DEST_TOOLS)/efm_perl.pl +- awkpath=`./which.sh nawk` && sed -e "s+/usr/bin/nawk+$$awkpath+" $(TOOLSSOURCE)/mve.awk >$(DEST_TOOLS)/mve.awk; if test -z "$$awkpath"; then \ +- awkpath=`./which.sh gawk` && sed -e "s+/usr/bin/nawk+$$awkpath+" $(TOOLSSOURCE)/mve.awk >$(DEST_TOOLS)/mve.awk; if test -z "$$awkpath"; then \ +- awkpath=`./which.sh awk` && sed -e "s+/usr/bin/nawk+$$awkpath+" $(TOOLSSOURCE)/mve.awk >$(DEST_TOOLS)/mve.awk; fi; fi ++# not replace the path in some tools -chmod $(SCRIPTMOD) `grep -l "^#!" $(DEST_TOOLS)/*` # install the language specific files for tools, if they were unpacked +-- +2.25.1 + diff --git a/meta/recipes-support/vim/files/racefix.patch b/meta/recipes-support/vim/files/racefix.patch deleted file mode 100644 index 48dca44cad..0000000000 --- a/meta/recipes-support/vim/files/racefix.patch +++ /dev/null @@ -1,33 +0,0 @@ -The creation of the LINGUAS file is duplicated for each desktop file -which can lead the commands to race against each other. Rework -the makefile to avoid this as the expense of leaving the file on disk. - -Upstream-Status: Pending -RP 2021/2/15 - -Index: git/src/po/Makefile -=================================================================== ---- git.orig/src/po/Makefile -+++ git/src/po/Makefile -@@ -165,17 +165,16 @@ $(PACKAGE).pot: ../*.c ../if_perl.xs ../ - po/gvim.desktop.in po/vim.desktop.in - mv -f ../$(PACKAGE).po $(PACKAGE).pot - --vim.desktop: vim.desktop.in $(POFILES) -+LINGUAS: - echo $(LANGUAGES) | tr " " "\n" |sed -e '/\./d' | sort > LINGUAS -+ -+vim.desktop: vim.desktop.in $(POFILES) LINGUAS - $(MSGFMT) --desktop -d . --template vim.desktop.in -o tmp_vim.desktop -- rm -f LINGUAS - if command -v desktop-file-validate; then desktop-file-validate tmp_vim.desktop; fi - mv tmp_vim.desktop vim.desktop - --gvim.desktop: gvim.desktop.in $(POFILES) -- echo $(LANGUAGES) | tr " " "\n" |sed -e '/\./d' | sort > LINGUAS -+gvim.desktop: gvim.desktop.in $(POFILES) LINGUAS - $(MSGFMT) --desktop -d . --template gvim.desktop.in -o tmp_gvim.desktop -- rm -f LINGUAS - if command -v desktop-file-validate; then desktop-file-validate tmp_gvim.desktop; fi - mv tmp_gvim.desktop gvim.desktop - diff --git a/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch b/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch deleted file mode 100644 index 37914d4cd9..0000000000 --- a/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 38de4bccdb8a861ffdd447f12fdab19d6d852c02 Mon Sep 17 00:00:00 2001 -From: Chong Lu <Chong.Lu@windriver.com> -Date: Tue, 26 Jun 2018 17:34:15 +0800 -Subject: [PATCH] vim: add knob whether elf.h are checked - -Previously, it still was checked when there was no elf library in sysroots directory. -Add knob to decide whether elf.h are checked or not. - -Upstream-Status: Pending - -Signed-off-by: Chong Lu <Chong.Lu@windriver.com> -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - src/configure.ac | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/src/configure.ac b/src/configure.ac -index 0ee86ad..64736f0 100644 ---- a/src/configure.ac -+++ b/src/configure.ac -@@ -3192,11 +3192,18 @@ AC_TRY_COMPILE([#include <stdio.h>], [int x __attribute__((unused));], - AC_MSG_RESULT(no)) - - dnl Checks for header files. -+AC_MSG_CHECKING(whether or not to look for elf.h) -+AC_ARG_ENABLE(elf-check, -+ [ --enable-elf-check If elfutils, check for elf.h [default=no]], -+ , enable_elf_check="no") -+AC_MSG_RESULT($enable_elf_check) -+if test "x$enable_elf_check" != "xno"; then - AC_CHECK_HEADER(elf.h, HAS_ELF=1) - dnl AC_CHECK_HEADER(dwarf.h, SVR4=1) - if test "$HAS_ELF" = 1; then - AC_CHECK_LIB(elf, main) - fi -+fi - - AC_HEADER_DIRENT - --- -2.7.4 - diff --git a/meta/recipes-support/vim/vim-tiny_8.2.bb b/meta/recipes-support/vim/vim-tiny_9.1.bb index e4c26d23f6..e4c26d23f6 100644 --- a/meta/recipes-support/vim/vim-tiny_8.2.bb +++ b/meta/recipes-support/vim/vim-tiny_9.1.bb diff --git a/meta/recipes-support/vim/vim.inc b/meta/recipes-support/vim/vim.inc index 878d0f18ae..f87f4dcbfa 100644 --- a/meta/recipes-support/vim/vim.inc +++ b/meta/recipes-support/vim/vim.inc @@ -7,27 +7,30 @@ BUGTRACKER = "https://github.com/vim/vim/issues" DEPENDS = "ncurses gettext-native" # vimdiff doesn't like busybox diff -RSUGGESTS_${PN} = "diffutils" -LICENSE = "vim" -LIC_FILES_CHKSUM = "file://runtime/doc/uganda.txt;endline=287;md5=a19edd7ec70d573a005d9e509375a99a" +RSUGGESTS:${PN} = "diffutils" -SRC_URI = "git://github.com/vim/vim.git \ +LICENSE = "Vim" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d1a651ab770b45d41c0f8cb5a8ca930e" + +SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \ file://disable_acl_header_check.patch \ - file://vim-add-knob-whether-elf.h-are-checked.patch \ file://0001-src-Makefile-improve-reproducibility.patch \ file://no-path-adjust.patch \ - file://racefix.patch \ -" -SRCREV = "98056533b96b6b5d8849641de93185dd7bcadc44" + " + +PV .= ".0698" +SRCREV = "d56c451e1c05310562c5282352d7bb287c16323c" # Do not consider .z in x.y.z, as that is updated with every commit UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+)\.0" +# Ignore that the upstream version .z in x.y.z is always newer +UPSTREAM_VERSION_UNKNOWN = "1" S = "${WORKDIR}/git" VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}" -inherit autotools-brokensep update-alternatives mime-xdg +inherit autotools-brokensep update-alternatives mime-xdg pkgconfig CLEANBROKEN = "1" @@ -36,29 +39,24 @@ do_configure () { cd src rm -f auto/* touch auto/config.mk + # git timestamps aren't reliable, so touch the shipped .po files so they aren't regenerated + touch -c po/cs.cp1250.po po/ja.euc-jp.po po/ja.sjis.po po/ko.po po/pl.UTF-8.po po/pl.cp1250.po po/ru.cp1251.po po/sk.cp1250.po po/uk.cp1251.po po/zh_CN.po po/zh_CN.cp936.po po/zh_TW.po + # ru.cp1251.po uses CP1251 rather than cp1251, fix that + sed -i -e s/CP1251/cp1251/ po/ru.cp1251.po aclocal autoconf cd .. oe_runconf touch src/auto/configure touch src/auto/config.mk src/auto/config.h + # need a native tool, not a target one + ${BUILD_CC} src/po/sjiscorr.c -o src/po/sjiscorr } -do_compile() { - # We do not support fully / correctly the following locales. Attempting - # to use these with msgfmt in order to update the ".desktop" files exposes - # this problem and leads to the compile failing. - for LOCALE in cs fr ko pl sk zh_CN zh_TW;do - echo -n > src/po/${LOCALE}.po - done - autotools_do_compile -} - -#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny -PACKAGECONFIG ??= "" -PACKAGECONFIG += " \ +PACKAGECONFIG ??= "\ ${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \ + nls \ " PACKAGECONFIG[gtkgui] = "--enable-gui=gtk3,--enable-gui=no,gtk+3" @@ -67,6 +65,8 @@ PACKAGECONFIG[x11] = "--with-x,--without-x,xt," PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,," PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux," PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils," +PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,," +PACKAGECONFIG[sound] = "--enable-canberra,--disable-canberra,canberra," EXTRA_OECONF = " \ --disable-gpm \ @@ -75,6 +75,7 @@ EXTRA_OECONF = " \ --disable-netbeans \ --disable-desktop-database-update \ --with-tlib=ncurses \ + --with-modified-by='${MAINTAINER}' \ ac_cv_small_wchar_t=no \ ac_cv_path_GLIB_COMPILE_RESOURCES=no \ vim_cv_getcwd_broken=no \ @@ -87,6 +88,10 @@ EXTRA_OECONF = " \ STRIP=/bin/true \ " +# Some host distros don't have it, disable consistently +EXTRA_OECONF:append:class-native = " vim_cv_timer_create=no" +EXTRA_OECONF:append:class-target = " vim_cv_timer_create=yes" + do_install() { autotools_do_install @@ -113,18 +118,17 @@ do_install() { PARALLEL_MAKEINST = "" PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools" -FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax" -FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc" -FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor" -FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc" -FILES_${PN}-data = "${datadir}/${BPN}" +FILES:${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax" +FILES:${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc" +FILES:${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor" +FILES:${PN}-vimrc = "${datadir}/${BPN}/vimrc" +FILES:${PN}-data = "${datadir}/${BPN}" # We do not want to complain if perl or gawk are not on the target. # -FILES_${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools" -INSANE_SKIP_${PN}-tools = "file-rdeps" +FILES:${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools" -FILES_${PN}-common = " \ +FILES:${PN}-common = " \ ${datadir}/${BPN}/${VIMDIR}/*.vim \ ${datadir}/${BPN}/${VIMDIR}/autoload \ ${datadir}/${BPN}/${VIMDIR}/colors \ @@ -140,11 +144,7 @@ FILES_${PN}-common = " \ ${datadir}/icons \ " -RDEPENDS_${BPN} = "ncurses-terminfo-base" -# Recommend that runtime data is installed along with vim -RRECOMMENDS_${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" - -ALTERNATIVE_${PN} = "vi vim" +ALTERNATIVE:${PN} = "vi vim" ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}" ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi" diff --git a/meta/recipes-support/vim/vim_8.2.bb b/meta/recipes-support/vim/vim_9.1.bb index 7e4654e472..fee9f055e9 100644 --- a/meta/recipes-support/vim/vim_8.2.bb +++ b/meta/recipes-support/vim/vim_9.1.bb @@ -2,10 +2,18 @@ require vim.inc PROVIDES = "xxd" -PACKAGECONFIG_class-native = "" +RDEPENDS:${PN} = "ncurses-terminfo-base ${PN}-xxd" +# Recommend that runtime data is installed along with vim +RRECOMMENDS:${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" + +PACKAGECONFIG:class-native = "" BBCLASSEXTEND = "native nativesdk" -ALTERNATIVE_${PN}_append = " xxd" +PACKAGES =+ "${PN}-xxd" +FILES:${PN}-xxd = "${bindir}/xxd" +RPROVIDES:${PN}-xxd = "xxd" + +ALTERNATIVE:${PN}-xxd = "xxd" ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd" ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd" diff --git a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch index b4100fc381..e2cff6cf76 100644 --- a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch +++ b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch @@ -1,4 +1,4 @@ -From de9639baac792327c701e509258b8a13f6959e82 Mon Sep 17 00:00:00 2001 +From b8795dda629614cd842fcba1c4b50be759c20da4 Mon Sep 17 00:00:00 2001 From: Danilo Spinella <danyspin97@protonmail.com> Date: Thu, 21 Mar 2019 14:19:26 +0100 Subject: [PATCH] Add W_EXITCODE macro for non-glibc systems @@ -11,32 +11,22 @@ Upstream-Status: Submitted [1] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> [1] https://gitlab.gnome.org/GNOME/vte/issues/72 - --- - src/missing.hh | 4 ++++ - src/widget.cc | 1 + - 2 files changed, 5 insertions(+) + src/widget.cc | 4 ++++ + 1 file changed, 4 insertions(+) ---- a/src/missing.hh -+++ b/src/missing.hh -@@ -24,6 +24,10 @@ - #define NSIG (8 * sizeof(sigset_t)) - #endif +diff --git a/src/widget.cc b/src/widget.cc +index b8daa5c..c357960 100644 +--- a/src/widget.cc ++++ b/src/widget.cc +@@ -16,6 +16,10 @@ + * along with this library. If not, see <https://www.gnu.org/licenses/>. + */ +#ifndef W_EXITCODE +#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) +#endif + - #ifndef HAVE_FDWALK - int fdwalk(int (*cb)(void* data, int fd), - void* data); ---- a/src/widget.cc -+++ b/src/widget.cc -@@ -21,6 +21,7 @@ - #include "widget.hh" + #include "config.h" - #include <sys/wait.h> // for W_EXITCODE -+#include "missing.hh" // for W_EXITCODE on non-glibc systems - - #include <exception> - #include <new> + #include "widget.hh" diff --git a/meta/recipes-support/vte/vte_0.64.0.bb b/meta/recipes-support/vte/vte_0.64.0.bb deleted file mode 100644 index a16dac7e67..0000000000 --- a/meta/recipes-support/vte/vte_0.64.0.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "Virtual terminal emulator GTK+ widget library" -DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications." -HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE" -BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" -LICENSE = "GPLv3 & LGPLv3+ & MIT-X" -LICENSE_libvte = "LGPLv3+" - -LIC_FILES_CHKSUM = " \ - file://COPYING.GPL3;md5=cc702cf3444d1f19680c794cc61948f9 \ - file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \ - file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \ -" - -DEPENDS = "glib-2.0 gtk+3 libpcre2 libxml2-native gperf-native icu" - -GNOMEBASEBUILDCLASS = "meson" -GIR_MESON_OPTION = 'gir' - -inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-introspection - -SRCREV = "2520d6b6785646ceb5f501f9c37a1a0307fa4486" -SRC_URI = "git://gitlab.gnome.org/GNOME/vte.git;protocol=https;branch=vte-0-64" -# vapigen.m4 is required when vala is not present (but the one from vala should be used normally) -SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" - -S = "${WORKDIR}/git" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -# Instead of "inherit vala" we do the relevant settings here so we can -# set DEPENDS based on PACKAGECONFIG. - -# Our patched version of Vala looks in STAGING_DATADIR for .vapi files -export STAGING_DATADIR -# Upstream Vala >= 0.11 looks in XDG_DATA_DIRS for .vapi files -export XDG_DATA_DIRS = "${STAGING_DATADIR}" - -# Help g-ir-scanner find the .so for linking -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/src/.libs" -} - -# Package additional files -FILES_${PN}-dev += "${datadir}/vala/vapi/*" - -PACKAGECONFIG ??= "gnutls" -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala" -PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" -PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd" -# vala requires gir -PACKAGECONFIG_remove_class-native = "vala" - -CFLAGS += "-D_GNU_SOURCE" - -PACKAGES =+ "libvte ${PN}-prompt" -FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*" -FILES_${PN}-prompt = " \ - ${sysconfdir}/profile.d \ - ${libexecdir}/vte-urlencode-cwd \ -" - -FILES_${PN}-dev += "${datadir}/glade/" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/vte/vte_0.76.3.bb b/meta/recipes-support/vte/vte_0.76.3.bb new file mode 100644 index 0000000000..515ff228fd --- /dev/null +++ b/meta/recipes-support/vte/vte_0.76.3.bb @@ -0,0 +1,56 @@ +SUMMARY = "Virtual terminal emulator GTK+ widget library" +DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications." +HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE" +BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" +LICENSE = "GPL-3.0-only & LGPL-3.0-or-later & MIT" +LICENSE:libvte = "LGPL-3.0-or-later" + +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL3;md5=cc702cf3444d1f19680c794cc61948f9 \ + file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \ + file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \ +" + +DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu lz4" + +GIR_MESON_OPTION = 'gir' +GIDOCGEN_MESON_OPTION = "docs" + +inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection systemd vala + +SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" +SRC_URI[archive.sha256sum] = "f678e94c056f377fd0021214adff5450cb172e9a08b160911181ddff7b7d5d60" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}" +EXTRA_OEMESON:append = " ${@bb.utils.contains('GI_DATA_ENABLED', 'False', '-Ddocs=false', '', d)}" + +PACKAGECONFIG ??= " \ + gnutls \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gtk4', '', d)} \ +" +PACKAGECONFIG[fribidi] = "-Dfribidi=true,-Dfribidi=false,fribidi" +PACKAGECONFIG[gtk4] = "-Dgtk4=true,-Dgtk4=false,gtk4" +PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" +PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd" + +PACKAGES =+ "libvte-gtk4 ${PN}-gtk4 ${PN}-gtk4-dev libvte ${PN}-prompt" +FILES:libvte-gtk4 = "${libdir}/lib*gtk4.so.* ${libdir}/girepository-1.0/Vte-3.91.typelib" +FILES:${PN}-gtk4 ="${bindir}/vte-2.91-gtk4" +FILES:${PN}-gtk4-dev = "${libdir}/lib*gtk4.so \ + ${libdir}/pkgconfig/vte-2.91-gtk4.pc \ + ${datadir}/gir-1.0/Vte-3.91.gir \ + ${datadir}/vala/vapi/vte-2.91-gtk4.deps \ + ${datadir}/vala/vapi/vte-2.91-gtk4.vapi \ + ${includedir}/vte-2.91-gtk4 \ + " +FILES:${PN} +="${systemd_user_unitdir}" +FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*" +FILES:${PN}-prompt = " \ + ${sysconfdir}/profile.d \ + ${libexecdir}/vte-urlencode-cwd \ +" + +FILES:${PN}-dev += "${datadir}/glade/" diff --git a/meta/recipes-support/xxhash/xxhash_0.8.0.bb b/meta/recipes-support/xxhash/xxhash_0.8.2.bb index 9e38872361..f16b183c95 100644 --- a/meta/recipes-support/xxhash/xxhash_0.8.0.bb +++ b/meta/recipes-support/xxhash/xxhash_0.8.2.bb @@ -2,16 +2,20 @@ SUMMARY = "Extremely fast non-cryptographic hash algorithm" DESCRIPTION = "xxHash is an extremely fast non-cryptographic hash algorithm, \ working at speeds close to RAM limits." HOMEPAGE = "http://www.xxhash.com/" -LICENSE = "BSD-2-Clause & GPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b335320506abb0505437e39295e799cb" +LICENSE = "BSD-2-Clause & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=13be6b481ff5616f77dda971191bb29b \ + file://cli/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + " -SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=git" +SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=https" UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" -SRCREV = "94e5f23e736f2bb67ebdf90727353e65344f9fc0" +SRCREV = "bbb27a5efb85b92a0486cf361a8635715a53f6ba" S = "${WORKDIR}/git" +CFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" + do_compile () { oe_runmake all } |