diff options
Diffstat (limited to 'poky/meta/recipes-support')
62 files changed, 1500 insertions, 960 deletions
diff --git a/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb index 224479707..bcf1c9c77 100644 --- a/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb +++ b/poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb @@ -3,17 +3,14 @@ HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886" -SRC_URI[archive.md5sum] = "1ad754b90bcb14244b73ca4d0c14d274" -SRC_URI[archive.sha256sum] = "e2e1571004ea7b105c969473ce455a95be4038fb2541471714aeb33a26da8a9a" +SRC_URI[archive.md5sum] = "6a4b27bace3b9352721ed462b95f6291" +SRC_URI[archive.sha256sum] = "0b51e6d339fa2bcca3a3e3159ccea574c67b107f1ac8b00047fa60e34ce7a45c" DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase distro_features_check upstream-version-is-even -# The at-spi2-core requires x11 in DISTRO_FEATURES -REQUIRED_DISTRO_FEATURES = "x11" - PACKAGES =+ "${PN}-gnome ${PN}-gtk2" FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules" diff --git a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch b/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch deleted file mode 100644 index fbdf7d0e2..000000000 --- a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 44a812ea51223d82f21a098a2d45fcc5c329ce7a Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann <tobias@stoeckmann.org> -Date: Tue, 12 Mar 2019 11:46:24 +0100 -Subject: [PATCH] Fix meson.build for meson 0.50.0. - -Since meson 0.50.0 it is not possible anymore to specify an -absolute directory for subdir. To keep current functionality, -use install_dir instead. - -atspi/meson.build:60:0: ERROR: Subdir keyword must not be an absolute path. - -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> -Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> ---- - atspi/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/atspi/meson.build b/atspi/meson.build -index b7a9357..2a6915d 100644 ---- a/atspi/meson.build -+++ b/atspi/meson.build -@@ -57,7 +57,7 @@ atspi_headers = [ - - atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi') - --install_headers(atspi_headers, subdir: atspi_includedir) -+install_headers(atspi_headers, install_dir: atspi_includedir) - - atspi_enums = gnome.mkenums('atspi-enum-types', - sources: [ 'atspi-constants.h', 'atspi-types.h' ], diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb index cfe0ddeef..11052a8ec 100644 --- a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb +++ b/poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb @@ -5,12 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886" MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ - file://meson-0.50-fix.patch \ - " +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "d4f22c66b3210ffe6b10d01c04e008b5" -SRC_URI[sha256sum] = "0175f5393d19da51f4c11462cba4ba6ef3fa042abf1611a70bdfed586b7bfb2b" +SRC_URI[md5sum] = "998fd9d858f8fa22c4c8c15567bf6254" +SRC_URI[sha256sum] = "3c2aa937ebfaca2c86569bce9b16a34fbe20d69ef0c58846313b1c42f53b0d53" X11DEPENDS = "virtual/libx11 libxi libxtst" @@ -20,11 +18,13 @@ DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', 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" + -Ddbus_daemon=${bindir}/dbus-daemon \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ +" -GTKDOC_MESON_OPTION = "enable_docs" +GTKDOC_MESON_OPTION = "docs" -GIR_MESON_OPTION = 'enable-introspection' +GIR_MESON_OPTION = 'introspection' GIR_MESON_ENABLE_FLAG = 'yes' GIR_MESON_DISABLE_FLAG = 'no' diff --git a/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch b/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch deleted file mode 100644 index 047e81fb6..000000000 --- a/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch +++ /dev/null @@ -1,38 +0,0 @@ -Upstream-Status: Submitted - -From 0330251715fee908f2f162565d4fa1df5030d0c0 Mon Sep 17 00:00:00 2001 -From: Jeremy Puhlman <jpuhlman@mvista.com> -Date: Thu, 14 Jun 2018 17:21:49 +0000 -Subject: [PATCH] Switch from filename to basename - -When atk-enum-types.h is installed in to a system, the user likely has -no access to the location where the headers were built, especially if -the software was built in a sysroot environment. If the headers were -built for a mulitlib environment, the build pathing may be different. -Subsequently, if two mulitlib variants of atk are installed together the -headers conflict for no other reason then they were built in two -different locations. Switching from filename to basename, still should -provide sufficient information on the providence of the enums, while not -conflicting for really no good reason. - -Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> ---- - atk/atk-enum-types.h.template | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/atk/atk-enum-types.h.template b/atk/atk-enum-types.h.template -index 7b4cec4..8321c24 100644 ---- a/atk/atk-enum-types.h.template -+++ b/atk/atk-enum-types.h.template -@@ -14,7 +14,7 @@ G_BEGIN_DECLS - - /*** BEGIN file-production ***/ - --/* enumerations from "@filename@" */ -+/* enumerations from "@basename@" */ - /*** END file-production ***/ - - /*** BEGIN value-header ***/ --- -2.14.1.459.g238e487 - diff --git a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch index 1d814ccdb..d1b08bc04 100644 --- a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch +++ b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch @@ -1,4 +1,4 @@ -From c3eb5b2e74c38bb8374bc027f84e42d7e94f62f8 Mon Sep 17 00:00:00 2001 +From 44d46baa5e1519c6c3df7e4d34fb333e247b5bc8 Mon Sep 17 00:00:00 2001 From: Anuj Mittal <anuj.mittal@intel.com> Date: Fri, 6 Apr 2018 12:04:00 +0800 Subject: [PATCH] meson.build: enable introspection for cross-compile @@ -9,16 +9,17 @@ if it should be disabled or not. Upstream-Status: Pending Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> + --- atk/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atk/meson.build b/atk/meson.build -index 616a3e6..941ded8 100644 +index 0ad67e5..1d2a49c 100644 --- a/atk/meson.build +++ b/atk/meson.build @@ -137,7 +137,7 @@ libatk_dep = declare_dependency(link_with: libatk, - dependencies: gobject_dep, + dependencies: glib_dep, sources: atk_enum_h) -if not meson.is_cross_build() and get_option('introspection') diff --git a/poky/meta/recipes-support/atk/atk_2.30.0.bb b/poky/meta/recipes-support/atk/atk_2.32.0.bb index 4e22b3f81..67223729e 100644 --- a/poky/meta/recipes-support/atk/atk_2.30.0.bb +++ b/poky/meta/recipes-support/atk/atk_2.32.0.bb @@ -14,12 +14,9 @@ DEPENDS = "gettext-native glib-2.0" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection -SRC_URI_append = " \ - file://0001-meson.build-enable-introspection-for-cross-compile.patch \ - file://0001-Switch-from-filename-to-basename.patch \ - " -SRC_URI[archive.md5sum] = "769c85005d392ad17ffbc063f2d26454" -SRC_URI[archive.sha256sum] = "dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b" +SRC_URI += " file://0001-meson.build-enable-introspection-for-cross-compile.patch" +SRC_URI[archive.md5sum] = "c10b0b2af3c199e42caa6275b845c49d" +SRC_URI[archive.sha256sum] = "cb41feda7fe4ef0daa024471438ea0219592baf7c291347e5a858bb64e4091cc" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb index 85064343e..cd2c4cbba 100644 --- a/poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb +++ b/poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb @@ -9,8 +9,8 @@ SECTION = "console/utils" SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "201b6ae62f7d5fb5b1b25e34427db919" -SRC_URI[sha256sum] = "c01f5570f5698a0dda8dc9cfb2a83744daa1ec54758373a6e349bd903375f54d" +SRC_URI[md5sum] = "60139333b25c4d54ad40323b701be130" +SRC_URI[sha256sum] = "d48fe378e731062f479c5f8802ffa9d3c40a275a19e6e0f6f6cc4b90fa12b2f5" UPSTREAM_CHECK_REGEX = "bash-completion-(?P<pver>(?!2008).+)\.tar" UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases" @@ -23,11 +23,6 @@ do_install_append() { install -d ${D}${sysconfdir}/bash_completion.d/ echo '. ${datadir}/${BPN}/bash_completion' >${D}${sysconfdir}/bash_completion - # Delete files already provided by util-linux - local i - for i in mount umount; do - rm ${D}${datadir}/${BPN}/completions/$i - done } RDEPENDS_${PN} = "bash" diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb index 4c0425302..efd9eaa71 100644 --- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb +++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb @@ -82,6 +82,8 @@ do_install_append_class-native () { SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates } -RDEPENDS_${PN} += "openssl" +RDEPENDS_${PN}_class-target = "openssl-bin" +RDEPENDS_${PN}_class-native = "openssl-native" +RDEPENDS_${PN}_class-nativesdk = "nativesdk-openssl-bin" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/curl/curl_7.64.1.bb b/poky/meta/recipes-support/curl/curl_7.65.1.bb index 47c28beff..e7bfe6cc0 100644 --- a/poky/meta/recipes-support/curl/curl_7.64.1.bb +++ b/poky/meta/recipes-support/curl/curl_7.65.1.bb @@ -9,8 +9,8 @@ SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ file://0001-replace-krb5-config-with-pkg-config.patch \ " -SRC_URI[md5sum] = "790c101927845208a9d7e8c429ddd1b2" -SRC_URI[sha256sum] = "4cc7c738b35250d0680f29e93e0820c4cb40035f43514ea3ec8d60322d41a45d" +SRC_URI[md5sum] = "03ca3fa53ac4d791be66e30ba75b56ea" +SRC_URI[sha256sum] = "cbd36df60c49e461011b4f3064cff1184bdc9969a55e9608bf5cadec4686e3f7" CVE_PRODUCT = "curl libcurl" inherit autotools pkgconfig binconfig multilib_header diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb index 06a257333..cb7c6c5c6 100644 --- a/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb +++ b/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb @@ -20,8 +20,8 @@ SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for- file://relocate.patch" -SRC_URI[md5sum] = "3ab87e377aa0af2f463649515bf66508" -SRC_URI[sha256sum] = "cb8ce298d7b36558ffc48aec961b14c830ff1783eef7a623411188b5e0f5d454" +SRC_URI[md5sum] = "d90e186df1c06845880ea58a318f070b" +SRC_URI[sha256sum] = "6cbe8d454bf5dc204621eed3016d721b66298fa95363395bb8eeceb1d2fd14cb" EXTRA_OECONF = "--disable-ldap \ --disable-ccid-driver \ diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb index e05dc2b57..6c6c520e8 100644 --- a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb +++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb @@ -21,8 +21,8 @@ SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar file://arm_eabi.patch \ " -SRC_URI[md5sum] = "c4ac669c500df939d4fbfea722367929" -SRC_URI[sha256sum] = "5b3409ad5aaf239808730d1ee12fdcd148c0be00262c7edf157af655a8a188e2" +SRC_URI[md5sum] = "9dcf0aa45d1a42e1b3ca5d39ec7c61a8" +SRC_URI[sha256sum] = "aa81944e5635de981171772857e72be231a7e0f559ae0292d2737de475383e83" inherit autotools texinfo pkgconfig gettext lib_package gtk-doc @@ -44,6 +44,7 @@ EXTRA_OECONF = " \ --enable-local-libopts \ --enable-openssl-compatibility \ --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ " LDFLAGS_append_libc-musl = " -largp" diff --git a/poky/meta/recipes-support/icu/icu.inc b/poky/meta/recipes-support/icu/icu.inc index e20085fbf..6d9728903 100644 --- a/poky/meta/recipes-support/icu/icu.inc +++ b/poky/meta/recipes-support/icu/icu.inc @@ -35,13 +35,6 @@ TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' ASNEEDED = "" -# strtod_l() is not supported by musl; also xlocale.h is missing -# It is not possible to disable its use via configure switches or env vars -# so monkey patching is needed. -do_configure_prepend_libc-musl () { - sed -i -e 's,DU_HAVE_STRTOD_L=1,DU_HAVE_STRTOD_L=0,' ${S}/configure.ac -} - do_compile_prepend_class-target () { # Make sure certain build host references do not end up being compiled # in the image. This only affects libicutu and icu-dbg diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng b/poky/meta/recipes-support/libcap-ng/libcap-ng new file mode 120000 index 000000000..fb7744d29 --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng @@ -0,0 +1 @@ +libcap-ng-python
\ No newline at end of file diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch b/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch index d60a0a39b..d60a0a39b 100644 --- a/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb new file mode 100644 index 000000000..e49b445f5 --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb @@ -0,0 +1,27 @@ +require libcap-ng.inc + +SUMMARY .= " - python" + +inherit lib_package autotools python3native + +DEPENDS += "libcap-ng python3 swig-native" + +S = "${WORKDIR}/libcap-ng-${PV}" + +EXTRA_OECONF += "--with-python --with-python3" +EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'" + +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/poky/meta/recipes-support/libcap-ng/libcap-ng.inc b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc new file mode 100644 index 000000000..739b91fd2 --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc @@ -0,0 +1,17 @@ +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" +SECTION = "base" +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" + +SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ + file://python.patch \ +" + +SRC_URI[md5sum] = "2398d695508fab9ce33668c53a89b0e9" +SRC_URI[sha256sum] = "4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328" + +BBCLASSEXTEND = "native nativesdk"
\ No newline at end of file diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb index aff6259db..6e6de4549 100644 --- a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb @@ -1,30 +1,10 @@ -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" -SECTION = "base" -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" +require libcap-ng.inc -SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ - file://python.patch" +inherit lib_package autotools -inherit lib_package autotools python3native +EXTRA_OECONF += "--without-python --without-python3" -SRC_URI[md5sum] = "2398d695508fab9ce33668c53a89b0e9" -SRC_URI[sha256sum] = "4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328" - -DEPENDS += "swig-native python3" - -EXTRA_OECONF += "--with-python --with-python3" -EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'" - -PACKAGES += "${PN}-python" - -FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" - -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" do_install_append() { # Moving libcap-ng to base_libdir diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb index 12cf5192f..abd6f386b 100644 --- a/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb +++ b/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \ SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz" -SRC_URI[md5sum] = "154b24f01425c4c82fdc3e11f2c13af6" -SRC_URI[sha256sum] = "f5005c865987d980cc1279b9ec6131b06a89fd9892f649f2a68262b8786ef814" +SRC_URI[md5sum] = "fabe87d8d7d7f7cdb4a26e5dc99fc517" +SRC_URI[sha256sum] = "11dbe1f2b1d03a51f3e9a196757a75c3a999042ce34cf1fdc00a2363e5a2e369" inherit autotools pkgconfig diff --git a/poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch b/poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch deleted file mode 100644 index 36d08204f..000000000 --- a/poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 69a3813c513c84e02212250c3d5b8a02ecefa698 Mon Sep 17 00:00:00 2001 -From: Mingli Yu <Mingli.Yu@windriver.com> -Date: Mon, 15 Jan 2018 08:00:33 +0000 -Subject: [PATCH] test: fix 32bit linux regress - -This patch comes from https://github.com/libevent/libevent.git, -the commit is 63c4bf78d6af3c6ff46d2e8e4b53dd9f577a9ca9 - -Upstream-Status: Backport - -Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> ---- - configure.ac | 1 + - test/regress_util.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 7528d37..e64cb1f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -663,6 +663,7 @@ AC_CHECK_SIZEOF(short) - AC_CHECK_SIZEOF(size_t) - AC_CHECK_SIZEOF(void *) - AC_CHECK_SIZEOF(off_t) -+AC_CHECK_SIZEOF(time_t) - - AC_CHECK_TYPES([struct in6_addr, struct sockaddr_in6, sa_family_t, struct addrinfo, struct sockaddr_storage], , , - [#define _GNU_SOURCE -diff --git a/test/regress_util.c b/test/regress_util.c -index ef6a148..0c7eafb 100644 ---- a/test/regress_util.c -+++ b/test/regress_util.c -@@ -1412,10 +1412,12 @@ static struct date_rfc1123_case { - { 1289433600, "Thu, 11 Nov 2010 00:00:00 GMT"}, - { 1323648000, "Mon, 12 Dec 2011 00:00:00 GMT"}, - #ifndef _WIN32 -+#if EVENT__SIZEOF_TIME_T > 4 - /** In win32 case we have max "23:59:59 January 18, 2038, UTC" for time32 */ - { 4294967296, "Sun, 07 Feb 2106 06:28:16 GMT"} /* 2^32 */, - /** In win32 case we have max "23:59:59, December 31, 3000, UTC" for time64 */ - {253402300799, "Fri, 31 Dec 9999 23:59:59 GMT"} /* long long future no one can imagine */, -+#endif /* time_t != 32bit */ - { 1456704000, "Mon, 29 Feb 2016 00:00:00 GMT"} /* leap year */, - #endif - { 1435708800, "Wed, 01 Jul 2015 00:00:00 GMT"} /* leap second */, --- -2.13.3 - diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.8.bb b/poky/meta/recipes-support/libevent/libevent_2.1.10.bb index 0f91e05a6..81ceb1cd9 100644 --- a/poky/meta/recipes-support/libevent/libevent_2.1.8.bb +++ b/poky/meta/recipes-support/libevent/libevent_2.1.10.bb @@ -9,12 +9,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=17f20574c0b154d12236d5fbe964f549" SRC_URI = " \ https://github.com/libevent/libevent/releases/download/release-${PV}-stable/${BP}-stable.tar.gz \ file://Makefile-missing-test-dir.patch \ - file://0001-test-fix-32bit-linux-regress.patch \ file://run-ptest \ " -SRC_URI[md5sum] = "f3eeaed018542963b7d2416ef1135ecc" -SRC_URI[sha256sum] = "965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2" +SRC_URI[md5sum] = "999caf86f52943af2363bc8077f00167" +SRC_URI[sha256sum] = "e864af41a336bb11dab1a23f32993afe963c1f69618bd9292b89ecf6904845b0" UPSTREAM_CHECK_URI = "http://libevent.org/" diff --git a/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch b/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch new file mode 100644 index 000000000..589c4d3c4 --- /dev/null +++ b/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch @@ -0,0 +1,827 @@ +From 8ac73103bf12ce4f776940cb17f3ced15a362f23 Mon Sep 17 00:00:00 2001 +From: Stef O'Rear <sorear2@gmail.com> +Date: Sun, 11 Mar 2018 05:55:15 -0700 +Subject: [PATCH] New RISC-V port (#281) + +* Add RISC-V support + +This patch adds support for the RISC-V architecture (https://riscv.org). + +This patch has been tested using QEMU user-mode emulation and GCC 7.2.0 +in the following configurations: + +* -march=rv32imac -mabi=ilp32 +* -march=rv32g -mabi=ilp32d +* -march=rv64imac -mabi=lp64 +* -march=rv64g -mabi=lp64d + +The ABI currently can be found at +https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md . + +* Add RISC-V to README + +* RISC-V: fix configure.host + +Upstream-Status: Backport [https://github.com/libffi/libffi/commit/3840d49aaa831d649b1597518a2903dfed0d57f3] +Signed-off-by: Alistair Francis <alistair.francis@wdc.com> +--- + Makefile.am | 4 + + configure.ac | 5 + + src/riscv/ffi.c | 445 ++++++++++++++++++++++++++++++++++++++++++ + src/riscv/ffitarget.h | 68 +++++++ + src/riscv/sysv.S | 214 ++++++++++++++++++++ + 5 files changed, 736 insertions(+) + create mode 100644 src/riscv/ffi.c + create mode 100644 src/riscv/ffitarget.h + create mode 100644 src/riscv/sysv.S + +diff --git a/Makefile.am b/Makefile.am +index 0e40451..3837650 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -32,6 +32,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj \ + src/powerpc/asm.h src/powerpc/aix.S src/powerpc/darwin.S \ + src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \ + src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \ ++ src/riscv/ffi.c src/riscv/ffitarget.h src/riscv/sysv.S \ + src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \ + src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h src/sh64/ffi.c \ + src/sh64/sysv.S src/sh64/ffitarget.h src/sparc/v8.S \ +@@ -122,6 +123,9 @@ endif + if MIPS + nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S + endif ++if RISCV ++nodist_libffi_la_SOURCES += src/riscv/ffi.c src/riscv/sysv.S ++endif + if BFIN + nodist_libffi_la_SOURCES += src/bfin/ffi.c src/bfin/sysv.S + endif +diff --git a/configure.ac b/configure.ac +index ce30853..33375aa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -226,6 +226,10 @@ case "$host" in + TARGET=MIPS; TARGETDIR=mips + ;; + ++ riscv*-*-*) ++ TARGET=RISCV; TARGETDIR=riscv ++ ;; ++ + nios2*-linux*) + TARGET=NIOS2; TARGETDIR=nios2 + ;; +@@ -298,6 +302,7 @@ if test $TARGETDIR = unknown; then + fi + + AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS) ++AM_CONDITIONAL(RISCV, test x$TARGET = xRISCV) + AM_CONDITIONAL(BFIN, test x$TARGET = xBFIN) + AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC) + AM_CONDITIONAL(X86, test x$TARGET = xX86) +diff --git a/src/riscv/ffi.c b/src/riscv/ffi.c +new file mode 100644 +index 0000000..b744fdd +--- /dev/null ++++ b/src/riscv/ffi.c +@@ -0,0 +1,445 @@ ++/* ----------------------------------------------------------------------- ++ ffi.c - Copyright (c) 2015 Michael Knyszek <mknyszek@berkeley.edu> ++ 2015 Andrew Waterman <waterman@cs.berkeley.edu> ++ 2018 Stef O'Rear <sorear2@gmail.com> ++ Based on MIPS N32/64 port ++ ++ RISC-V Foreign Function Interface ++ ++ Permission is hereby granted, free of charge, to any person obtaining ++ a copy of this software and associated documentation files (the ++ ``Software''), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Software, and to ++ permit persons to whom the Software is furnished to do so, subject to ++ the following conditions: ++ ++ The above copyright notice and this permission notice shall be included ++ in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ HOLDERS BE 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. ++ ----------------------------------------------------------------------- */ ++ ++#include <ffi.h> ++#include <ffi_common.h> ++ ++#include <stdlib.h> ++#include <stdint.h> ++ ++#if __riscv_float_abi_double ++#define ABI_FLEN 64 ++#define ABI_FLOAT double ++#elif __riscv_float_abi_single ++#define ABI_FLEN 32 ++#define ABI_FLOAT float ++#endif ++ ++#define NARGREG 8 ++#define STKALIGN 16 ++#define MAXCOPYARG (2 * sizeof(double)) ++ ++typedef struct call_context ++{ ++#if ABI_FLEN ++ ABI_FLOAT fa[8]; ++#endif ++ size_t a[8]; ++ /* used by the assembly code to in-place construct its own stack frame */ ++ char frame[16]; ++} call_context; ++ ++typedef struct call_builder ++{ ++ call_context *aregs; ++ int used_integer; ++ int used_float; ++ size_t *used_stack; ++} call_builder; ++ ++/* integer (not pointer) less than ABI XLEN */ ++/* FFI_TYPE_INT does not appear to be used */ ++#if __SIZEOF_POINTER__ == 8 ++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT64) ++#else ++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT32) ++#endif ++ ++#if ABI_FLEN ++typedef struct { ++ char as_elements, type1, offset2, type2; ++} float_struct_info; ++ ++#if ABI_FLEN >= 64 ++#define IS_FLOAT(type) ((type) >= FFI_TYPE_FLOAT && (type) <= FFI_TYPE_DOUBLE) ++#else ++#define IS_FLOAT(type) ((type) == FFI_TYPE_FLOAT) ++#endif ++ ++static ffi_type **flatten_struct(ffi_type *in, ffi_type **out, ffi_type **out_end) { ++ int i; ++ if (out == out_end) return out; ++ if (in->type != FFI_TYPE_STRUCT) { ++ *(out++) = in; ++ } else { ++ for (i = 0; in->elements[i]; i++) ++ out = flatten_struct(in->elements[i], out, out_end); ++ } ++ return out; ++} ++ ++/* Structs with at most two fields after flattening, one of which is of ++ floating point type, are passed in multiple registers if sufficient ++ registers are available. */ ++static float_struct_info struct_passed_as_elements(call_builder *cb, ffi_type *top) { ++ float_struct_info ret = {0, 0, 0, 0}; ++ ffi_type *fields[3]; ++ int num_floats, num_ints; ++ int num_fields = flatten_struct(top, fields, fields + 3) - fields; ++ ++ if (num_fields == 1) { ++ if (IS_FLOAT(fields[0]->type)) { ++ ret.as_elements = 1; ++ ret.type1 = fields[0]->type; ++ } ++ } else if (num_fields == 2) { ++ num_floats = IS_FLOAT(fields[0]->type) + IS_FLOAT(fields[1]->type); ++ num_ints = IS_INT(fields[0]->type) + IS_INT(fields[1]->type); ++ if (num_floats == 0 || num_floats + num_ints != 2) ++ return ret; ++ if (cb->used_float + num_floats > NARGREG || cb->used_integer + (2 - num_floats) > NARGREG) ++ return ret; ++ if (!IS_FLOAT(fields[0]->type) && !IS_FLOAT(fields[1]->type)) ++ return ret; ++ ++ ret.type1 = fields[0]->type; ++ ret.type2 = fields[1]->type; ++ ret.offset2 = ALIGN(fields[0]->size, fields[1]->alignment); ++ ret.as_elements = 1; ++ } ++ ++ return ret; ++} ++#endif ++ ++/* allocates a single register, float register, or XLEN-sized stack slot to a datum */ ++static void marshal_atom(call_builder *cb, int type, void *data) { ++ size_t value = 0; ++ switch (type) { ++ case FFI_TYPE_UINT8: value = *(uint8_t *)data; break; ++ case FFI_TYPE_SINT8: value = *(int8_t *)data; break; ++ case FFI_TYPE_UINT16: value = *(uint16_t *)data; break; ++ case FFI_TYPE_SINT16: value = *(int16_t *)data; break; ++ /* 32-bit quantities are always sign-extended in the ABI */ ++ case FFI_TYPE_UINT32: value = *(int32_t *)data; break; ++ case FFI_TYPE_SINT32: value = *(int32_t *)data; break; ++#if __SIZEOF_POINTER__ == 8 ++ case FFI_TYPE_UINT64: value = *(uint64_t *)data; break; ++ case FFI_TYPE_SINT64: value = *(int64_t *)data; break; ++#endif ++ case FFI_TYPE_POINTER: value = *(size_t *)data; break; ++ ++ /* float values may be recoded in an implementation-defined way ++ by hardware conforming to 2.1 or earlier, so use asm to ++ reinterpret floats as doubles */ ++#if ABI_FLEN >= 32 ++ case FFI_TYPE_FLOAT: ++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(float *)data)); ++ return; ++#endif ++#if ABI_FLEN >= 64 ++ case FFI_TYPE_DOUBLE: ++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(double *)data)); ++ return; ++#endif ++ default: FFI_ASSERT(0); break; ++ } ++ ++ if (cb->used_integer == NARGREG) { ++ *cb->used_stack++ = value; ++ } else { ++ cb->aregs->a[cb->used_integer++] = value; ++ } ++} ++ ++static void unmarshal_atom(call_builder *cb, int type, void *data) { ++ size_t value; ++ switch (type) { ++#if ABI_FLEN >= 32 ++ case FFI_TYPE_FLOAT: ++ asm("" : "=f"(*(float *)data) : "0"(cb->aregs->fa[cb->used_float++])); ++ return; ++#endif ++#if ABI_FLEN >= 64 ++ case FFI_TYPE_DOUBLE: ++ asm("" : "=f"(*(double *)data) : "0"(cb->aregs->fa[cb->used_float++])); ++ return; ++#endif ++ } ++ ++ if (cb->used_integer == NARGREG) { ++ value = *cb->used_stack++; ++ } else { ++ value = cb->aregs->a[cb->used_integer++]; ++ } ++ ++ switch (type) { ++ case FFI_TYPE_UINT8: *(uint8_t *)data = value; break; ++ case FFI_TYPE_SINT8: *(uint8_t *)data = value; break; ++ case FFI_TYPE_UINT16: *(uint16_t *)data = value; break; ++ case FFI_TYPE_SINT16: *(uint16_t *)data = value; break; ++ case FFI_TYPE_UINT32: *(uint32_t *)data = value; break; ++ case FFI_TYPE_SINT32: *(uint32_t *)data = value; break; ++#if __SIZEOF_POINTER__ == 8 ++ case FFI_TYPE_UINT64: *(uint64_t *)data = value; break; ++ case FFI_TYPE_SINT64: *(uint64_t *)data = value; break; ++#endif ++ case FFI_TYPE_POINTER: *(size_t *)data = value; break; ++ default: FFI_ASSERT(0); break; ++ } ++} ++ ++/* adds an argument to a call, or a not by reference return value */ ++static void marshal(call_builder *cb, ffi_type *type, int var, void *data) { ++ size_t realign[2]; ++ ++#if ABI_FLEN ++ if (!var && type->type == FFI_TYPE_STRUCT) { ++ float_struct_info fsi = struct_passed_as_elements(cb, type); ++ if (fsi.as_elements) { ++ marshal_atom(cb, fsi.type1, data); ++ if (fsi.offset2) ++ marshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); ++ return; ++ } ++ } ++ ++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { ++ marshal_atom(cb, type->type, data); ++ return; ++ } ++#endif ++ ++ if (type->size > 2 * __SIZEOF_POINTER__) { ++ /* pass by reference */ ++ marshal_atom(cb, FFI_TYPE_POINTER, &data); ++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { ++ marshal_atom(cb, type->type, data); ++ } else { ++ /* overlong integers, soft-float floats, and structs without special ++ float handling are treated identically from this point on */ ++ ++ /* variadics are aligned even in registers */ ++ if (type->alignment > __SIZEOF_POINTER__) { ++ if (var) ++ cb->used_integer = ALIGN(cb->used_integer, 2); ++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); ++ } ++ ++ memcpy(realign, data, type->size); ++ if (type->size > 0) ++ marshal_atom(cb, FFI_TYPE_POINTER, realign); ++ if (type->size > __SIZEOF_POINTER__) ++ marshal_atom(cb, FFI_TYPE_POINTER, realign + 1); ++ } ++} ++ ++/* for arguments passed by reference returns the pointer, otherwise the arg is copied (up to MAXCOPYARG bytes) */ ++static void *unmarshal(call_builder *cb, ffi_type *type, int var, void *data) { ++ size_t realign[2]; ++ void *pointer; ++ ++#if ABI_FLEN ++ if (!var && type->type == FFI_TYPE_STRUCT) { ++ float_struct_info fsi = struct_passed_as_elements(cb, type); ++ if (fsi.as_elements) { ++ unmarshal_atom(cb, fsi.type1, data); ++ if (fsi.offset2) ++ unmarshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); ++ return data; ++ } ++ } ++ ++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { ++ unmarshal_atom(cb, type->type, data); ++ return data; ++ } ++#endif ++ ++ if (type->size > 2 * __SIZEOF_POINTER__) { ++ /* pass by reference */ ++ unmarshal_atom(cb, FFI_TYPE_POINTER, (char*)&pointer); ++ return pointer; ++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { ++ unmarshal_atom(cb, type->type, data); ++ return data; ++ } else { ++ /* overlong integers, soft-float floats, and structs without special ++ float handling are treated identically from this point on */ ++ ++ /* variadics are aligned even in registers */ ++ if (type->alignment > __SIZEOF_POINTER__) { ++ if (var) ++ cb->used_integer = ALIGN(cb->used_integer, 2); ++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); ++ } ++ ++ if (type->size > 0) ++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign); ++ if (type->size > __SIZEOF_POINTER__) ++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign + 1); ++ memcpy(data, realign, type->size); ++ return data; ++ } ++} ++ ++static int passed_by_ref(call_builder *cb, ffi_type *type, int var) { ++#if ABI_FLEN ++ if (!var && type->type == FFI_TYPE_STRUCT) { ++ float_struct_info fsi = struct_passed_as_elements(cb, type); ++ if (fsi.as_elements) return 0; ++ } ++#endif ++ ++ return type->size > 2 * __SIZEOF_POINTER__; ++} ++ ++/* Perform machine dependent cif processing */ ++ffi_status ffi_prep_cif_machdep(ffi_cif *cif) { ++ cif->riscv_nfixedargs = cif->nargs; ++ return FFI_OK; ++} ++ ++/* Perform machine dependent cif processing when we have a variadic function */ ++ ++ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs) { ++ cif->riscv_nfixedargs = nfixedargs; ++ return FFI_OK; ++} ++ ++/* Low level routine for calling functions */ ++extern void ffi_call_asm(void *stack, struct call_context *regs, void (*fn)(void)) FFI_HIDDEN; ++ ++void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) ++{ ++ /* this is a conservative estimate, assuming a complex return value and ++ that all remaining arguments are long long / __int128 */ ++ size_t arg_bytes = cif->nargs <= 3 ? 0 : ++ ALIGN(2 * sizeof(size_t) * (cif->nargs - 3), STKALIGN); ++ size_t rval_bytes = 0; ++ if (rvalue == NULL && cif->rtype->size > 2*__SIZEOF_POINTER__) ++ rval_bytes = ALIGN(cif->rtype->size, STKALIGN); ++ size_t alloc_size = arg_bytes + rval_bytes + sizeof(call_context); ++ ++ /* the assembly code will deallocate all stack data at lower addresses ++ than the argument region, so we need to allocate the frame and the ++ return value after the arguments in a single allocation */ ++ size_t alloc_base; ++ /* Argument region must be 16-byte aligned */ ++ if (_Alignof(max_align_t) >= STKALIGN) { ++ /* since sizeof long double is normally 16, the compiler will ++ guarantee alloca alignment to at least that much */ ++ alloc_base = (size_t)alloca(alloc_size); ++ } else { ++ alloc_base = ALIGN(alloca(alloc_size + STKALIGN - 1), STKALIGN); ++ } ++ ++ if (rval_bytes) ++ rvalue = (void*)(alloc_base + arg_bytes); ++ ++ call_builder cb; ++ cb.used_float = cb.used_integer = 0; ++ cb.aregs = (call_context*)(alloc_base + arg_bytes + rval_bytes); ++ cb.used_stack = (void*)alloc_base; ++ ++ int return_by_ref = passed_by_ref(&cb, cif->rtype, 0); ++ if (return_by_ref) ++ marshal(&cb, &ffi_type_pointer, 0, &rvalue); ++ ++ int i; ++ for (i = 0; i < cif->nargs; i++) ++ marshal(&cb, cif->arg_types[i], i >= cif->riscv_nfixedargs, avalue[i]); ++ ++ ffi_call_asm((void*)alloc_base, cb.aregs, fn); ++ ++ cb.used_float = cb.used_integer = 0; ++ if (!return_by_ref && rvalue) ++ unmarshal(&cb, cif->rtype, 0, rvalue); ++} ++ ++extern void ffi_closure_asm(void) FFI_HIDDEN; ++ ++ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void *codeloc) ++{ ++ uint32_t *tramp = (uint32_t *) &closure->tramp[0]; ++ uint64_t fn = (uint64_t) (uintptr_t) ffi_closure_asm; ++ ++ if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) ++ return FFI_BAD_ABI; ++ ++ /* we will call ffi_closure_inner with codeloc, not closure, but as long ++ as the memory is readable it should work */ ++ ++ tramp[0] = 0x00000317; /* auipc t1, 0 (i.e. t0 <- codeloc) */ ++#if __SIZEOF_POINTER__ == 8 ++ tramp[1] = 0x01033383; /* ld t2, 16(t1) */ ++#else ++ tramp[1] = 0x01032383; /* lw t2, 16(t1) */ ++#endif ++ tramp[2] = 0x00038067; /* jr t2 */ ++ tramp[3] = 0x00000013; /* nop */ ++ tramp[4] = fn; ++ tramp[5] = fn >> 32; ++ ++ closure->cif = cif; ++ closure->fun = fun; ++ closure->user_data = user_data; ++ ++ __builtin___clear_cache(codeloc, codeloc + FFI_TRAMPOLINE_SIZE); ++ ++ return FFI_OK; ++} ++ ++/* Called by the assembly code with aregs pointing to saved argument registers ++ and stack pointing to the stacked arguments. Return values passed in ++ registers will be reloaded from aregs. */ ++void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closure *closure) { ++ ffi_cif *cif = closure->cif; ++ void **avalue = alloca(cif->nargs * sizeof(void*)); ++ /* storage for arguments which will be copied by unmarshal(). We could ++ theoretically avoid the copies in many cases and use at most 128 bytes ++ of memory, but allocating disjoint storage for each argument is ++ simpler. */ ++ char *astorage = alloca(cif->nargs * MAXCOPYARG); ++ void *rvalue; ++ call_builder cb; ++ int return_by_ref; ++ int i; ++ ++ cb.aregs = aregs; ++ cb.used_integer = cb.used_float = 0; ++ cb.used_stack = stack; ++ ++ return_by_ref = passed_by_ref(&cb, cif->rtype, 0); ++ if (return_by_ref) ++ unmarshal(&cb, &ffi_type_pointer, 0, &rvalue); ++ else ++ rvalue = alloca(cif->rtype->size); ++ ++ for (i = 0; i < cif->nargs; i++) ++ avalue[i] = unmarshal(&cb, cif->arg_types[i], ++ i >= cif->riscv_nfixedargs, astorage + i*MAXCOPYARG); ++ ++ (closure->fun)(cif, rvalue, avalue, closure->user_data); ++ ++ if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) { ++ cb.used_integer = cb.used_float = 0; ++ marshal(&cb, cif->rtype, 0, rvalue); ++ } ++} +diff --git a/src/riscv/ffitarget.h b/src/riscv/ffitarget.h +new file mode 100644 +index 0000000..fcaa899 +--- /dev/null ++++ b/src/riscv/ffitarget.h +@@ -0,0 +1,68 @@ ++/* -----------------------------------------------------------------*-C-*- ++ ffitarget.h - 2014 Michael Knyszek ++ ++ Target configuration macros for RISC-V. ++ ++ Permission is hereby granted, free of charge, to any person obtaining ++ a copy of this software and associated documentation files (the ++ ``Software''), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Software, and to ++ permit persons to whom the Software is furnished to do so, subject to ++ the following conditions: ++ ++ The above copyright notice and this permission notice shall be included ++ in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ HOLDERS BE 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. ++ ++ ----------------------------------------------------------------------- */ ++ ++#ifndef LIBFFI_TARGET_H ++#define LIBFFI_TARGET_H ++ ++#ifndef LIBFFI_H ++#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." ++#endif ++ ++#ifndef __riscv ++#error "libffi was configured for a RISC-V target but this does not appear to be a RISC-V compiler." ++#endif ++ ++#ifndef LIBFFI_ASM ++ ++typedef unsigned long ffi_arg; ++typedef signed long ffi_sarg; ++ ++/* FFI_UNUSED_NN and riscv_unused are to maintain ABI compatibility with a ++ distributed Berkeley patch from 2014, and can be removed at SONAME bump */ ++typedef enum ffi_abi { ++ FFI_FIRST_ABI = 0, ++ FFI_SYSV, ++ FFI_UNUSED_1, ++ FFI_UNUSED_2, ++ FFI_UNUSED_3, ++ FFI_LAST_ABI, ++ ++ FFI_DEFAULT_ABI = FFI_SYSV ++} ffi_abi; ++ ++#endif /* LIBFFI_ASM */ ++ ++/* ---- Definitions for closures ----------------------------------------- */ ++ ++#define FFI_CLOSURES 1 ++#define FFI_TRAMPOLINE_SIZE 24 ++#define FFI_NATIVE_RAW_API 0 ++#define FFI_EXTRA_CIF_FIELDS unsigned riscv_nfixedargs; unsigned riscv_unused; ++#define FFI_TARGET_SPECIFIC_VARIADIC ++ ++#endif ++ +diff --git a/src/riscv/sysv.S b/src/riscv/sysv.S +new file mode 100644 +index 0000000..2d09865 +--- /dev/null ++++ b/src/riscv/sysv.S +@@ -0,0 +1,214 @@ ++/* ----------------------------------------------------------------------- ++ ffi.c - Copyright (c) 2015 Michael Knyszek <mknyszek@berkeley.edu> ++ 2015 Andrew Waterman <waterman@cs.berkeley.edu> ++ 2018 Stef O'Rear <sorear2@gmail.com> ++ ++ RISC-V Foreign Function Interface ++ ++ Permission is hereby granted, free of charge, to any person obtaining ++ a copy of this software and associated documentation files (the ++ ``Software''), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Software, and to ++ permit persons to whom the Software is furnished to do so, subject to ++ the following conditions: ++ ++ The above copyright notice and this permission notice shall be included ++ in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ HOLDERS BE 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. ++ ----------------------------------------------------------------------- */ ++ ++#define LIBFFI_ASM ++#include <fficonfig.h> ++#include <ffi.h> ++ ++/* Define aliases so that we can handle all ABIs uniformly */ ++ ++#if __SIZEOF_POINTER__ == 8 ++#define PTRS 8 ++#define LARG ld ++#define SARG sd ++#else ++#define PTRS 4 ++#define LARG lw ++#define SARG sw ++#endif ++ ++#if __riscv_float_abi_double ++#define FLTS 8 ++#define FLARG fld ++#define FSARG fsd ++#elif __riscv_float_abi_single ++#define FLTS 4 ++#define FLARG flw ++#define FSARG fsw ++#else ++#define FLTS 0 ++#endif ++ ++#define fp s0 ++ ++ .text ++ .globl ffi_call_asm ++ .type ffi_call_asm, @function ++ .hidden ffi_call_asm ++/* ++ struct call_context { ++ floatreg fa[8]; ++ intreg a[8]; ++ intreg pad[rv32 ? 2 : 0]; ++ intreg save_fp, save_ra; ++ } ++ void ffi_call_asm(size_t *stackargs, struct call_context *regargs, ++ void (*fn)(void)); ++*/ ++ ++#define FRAME_LEN (8 * FLTS + 8 * PTRS + 16) ++ ++ffi_call_asm: ++ .cfi_startproc ++ ++ /* ++ We are NOT going to set up an ordinary stack frame. In order to pass ++ the stacked args to the called function, we adjust our stack pointer to ++ a0, which is in the _caller's_ alloca area. We establish our own stack ++ frame at the end of the call_context. ++ ++ Anything below the arguments will be freed at this point, although we ++ preserve the call_context so that it can be read back in the caller. ++ */ ++ ++ .cfi_def_cfa 11, FRAME_LEN # interim CFA based on a1 ++ SARG fp, FRAME_LEN - 2*PTRS(a1) ++ .cfi_offset 8, -2*PTRS ++ SARG ra, FRAME_LEN - 1*PTRS(a1) ++ .cfi_offset 1, -1*PTRS ++ ++ addi fp, a1, FRAME_LEN ++ mv sp, a0 ++ .cfi_def_cfa 8, 0 # our frame is fully set up ++ ++ # Load arguments ++ mv t1, a2 ++ ++#if FLTS ++ FLARG fa0, -FRAME_LEN+0*FLTS(fp) ++ FLARG fa1, -FRAME_LEN+1*FLTS(fp) ++ FLARG fa2, -FRAME_LEN+2*FLTS(fp) ++ FLARG fa3, -FRAME_LEN+3*FLTS(fp) ++ FLARG fa4, -FRAME_LEN+4*FLTS(fp) ++ FLARG fa5, -FRAME_LEN+5*FLTS(fp) ++ FLARG fa6, -FRAME_LEN+6*FLTS(fp) ++ FLARG fa7, -FRAME_LEN+7*FLTS(fp) ++#endif ++ ++ LARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) ++ LARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) ++ LARG a2, -FRAME_LEN+8*FLTS+2*PTRS(fp) ++ LARG a3, -FRAME_LEN+8*FLTS+3*PTRS(fp) ++ LARG a4, -FRAME_LEN+8*FLTS+4*PTRS(fp) ++ LARG a5, -FRAME_LEN+8*FLTS+5*PTRS(fp) ++ LARG a6, -FRAME_LEN+8*FLTS+6*PTRS(fp) ++ LARG a7, -FRAME_LEN+8*FLTS+7*PTRS(fp) ++ ++ /* Call */ ++ jalr t1 ++ ++ /* Save return values - only a0/a1 (fa0/fa1) are used */ ++#if FLTS ++ FSARG fa0, -FRAME_LEN+0*FLTS(fp) ++ FSARG fa1, -FRAME_LEN+1*FLTS(fp) ++#endif ++ ++ SARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) ++ SARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) ++ ++ /* Restore and return */ ++ addi sp, fp, -FRAME_LEN ++ .cfi_def_cfa 2, FRAME_LEN ++ LARG ra, -1*PTRS(fp) ++ .cfi_restore 1 ++ LARG fp, -2*PTRS(fp) ++ .cfi_restore 8 ++ ret ++ .cfi_endproc ++ .size ffi_call_asm, .-ffi_call_asm ++ ++ ++/* ++ ffi_closure_asm. Expects address of the passed-in ffi_closure in t1. ++ void ffi_closure_inner(size_t *stackargs, struct call_context *regargs, ++ ffi_closure *closure); ++*/ ++ ++ .globl ffi_closure_asm ++ .hidden ffi_closure_asm ++ .type ffi_closure_asm, @function ++ffi_closure_asm: ++ .cfi_startproc ++ ++ addi sp, sp, -FRAME_LEN ++ .cfi_def_cfa_offset FRAME_LEN ++ ++ /* make a frame */ ++ SARG fp, FRAME_LEN - 2*PTRS(sp) ++ .cfi_offset 8, -2*PTRS ++ SARG ra, FRAME_LEN - 1*PTRS(sp) ++ .cfi_offset 1, -1*PTRS ++ addi fp, sp, FRAME_LEN ++ ++ /* save arguments */ ++#if FLTS ++ FSARG fa0, 0*FLTS(sp) ++ FSARG fa1, 1*FLTS(sp) ++ FSARG fa2, 2*FLTS(sp) ++ FSARG fa3, 3*FLTS(sp) ++ FSARG fa4, 4*FLTS(sp) ++ FSARG fa5, 5*FLTS(sp) ++ FSARG fa6, 6*FLTS(sp) ++ FSARG fa7, 7*FLTS(sp) ++#endif ++ ++ SARG a0, 8*FLTS+0*PTRS(sp) ++ SARG a1, 8*FLTS+1*PTRS(sp) ++ SARG a2, 8*FLTS+2*PTRS(sp) ++ SARG a3, 8*FLTS+3*PTRS(sp) ++ SARG a4, 8*FLTS+4*PTRS(sp) ++ SARG a5, 8*FLTS+5*PTRS(sp) ++ SARG a6, 8*FLTS+6*PTRS(sp) ++ SARG a7, 8*FLTS+7*PTRS(sp) ++ ++ /* enter C */ ++ addi a0, sp, FRAME_LEN ++ mv a1, sp ++ mv a2, t1 ++ ++ call ffi_closure_inner ++ ++ /* return values */ ++#if FLTS ++ FLARG fa0, 0*FLTS(sp) ++ FLARG fa1, 1*FLTS(sp) ++#endif ++ ++ LARG a0, 8*FLTS+0*PTRS(sp) ++ LARG a1, 8*FLTS+1*PTRS(sp) ++ ++ /* restore and return */ ++ LARG ra, FRAME_LEN-1*PTRS(sp) ++ .cfi_restore 1 ++ LARG fp, FRAME_LEN-2*PTRS(sp) ++ .cfi_restore 8 ++ addi sp, sp, FRAME_LEN ++ .cfi_def_cfa_offset 0 ++ ret ++ .cfi_endproc ++ .size ffi_closure_asm, .-ffi_closure_asm diff --git a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb b/poky/meta/recipes-support/libffi/libffi_3.2.1.bb index a0b1fcd16..792a1143b 100644 --- a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/poky/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -12,10 +12,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b" SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ file://not-win32.patch \ - file://0001-mips-Use-compiler-internal-define-for-linux.patch \ + file://0001-mips-Use-compiler-internal-define-for-linux.patch \ file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ file://0001-libffi-Support-musl-x32-build.patch \ - " + file://0001-New-RISC-V-port-281.patch \ + " SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" SRC_URI[sha256sum] = "d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37" diff --git a/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch b/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch deleted file mode 100644 index b50f50e70..000000000 --- a/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 918cd8764a845a9d25918a444fbaa5070d2be609 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Fri, 21 Aug 2015 16:38:05 +0300 -Subject: [PATCH] Remove cmake check for Perl - -We set "CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY" in cmake bbclass to -make sure cmake does not find host programs. In this case we actually -are fine with host perl: remove the check. - -Upstream-Status: Inappropriate [workaround] - -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - CMakeLists.txt | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -Index: libical-2.0.0/CMakeLists.txt -=================================================================== ---- libical-2.0.0.orig/CMakeLists.txt -+++ libical-2.0.0/CMakeLists.txt -@@ -116,8 +116,7 @@ if(SHARED_ONLY) - set(LIBRARY_TYPE SHARED) - endif() - --# must have Perl to create the derived stuff --find_package(Perl REQUIRED) -+set(PERL_EXECUTABLE perl) - - # Ensure finding 64bit libs when using 64-bit compilers - if(CMAKE_CL_64) diff --git a/poky/meta/recipes-support/libical/libical_2.0.0.bb b/poky/meta/recipes-support/libical/libical_2.0.0.bb index daa47abcb..7dffdcfb0 100644 --- a/poky/meta/recipes-support/libical/libical_2.0.0.bb +++ b/poky/meta/recipes-support/libical/libical_2.0.0.bb @@ -1,13 +1,12 @@ SUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library" HOMEPAGE = "https://github.com/libical/libical" BUGTRACKER = "https://github.com/libical/libical/issues" -LICENSE = "LGPLv2.1 | MPL-1" +LICENSE = "LGPLv2.1 | MPL-1.0" LIC_FILES_CHKSUM = "file://COPYING;md5=d4fc58309d8ed46587ac63bb449d82f8 \ file://LICENSE;md5=d1a0891cd3e582b3e2ec8fe63badbbb6" SECTION = "libs" SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ - file://Remove-cmake-check-for-Perl.patch \ file://0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch \ " DEPENDS = "icu" @@ -18,6 +17,9 @@ UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases" inherit cmake pkgconfig +# No need to use perl-native, the host perl is sufficient. +EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl" + do_install_append_class-target () { # Remove build host references sed -i \ diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.33.bb index 3a0aa5302..50b26753b 100644 --- a/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb +++ b/poky/meta/recipes-support/libpcre/libpcre2_10.33.bb @@ -8,14 +8,14 @@ SUMMARY = "Perl Compatible Regular Expressions version 2" HOMEPAGE = "http://www.pcre.org" SECTION = "devel" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENCE;md5=cf66d307bf03bae65d413eb7a8e603a0" +LIC_FILES_CHKSUM = "file://LICENCE;md5=b1588d3bb4cb0e1f5a597d908f8c5b37" SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \ file://pcre-cross.patch \ " -SRC_URI[md5sum] = "8a096287153fb994970df3570e90fcb5" -SRC_URI[sha256sum] = "f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e" +SRC_URI[md5sum] = "80b355f2dce909a2e2424f5c79eddb44" +SRC_URI[sha256sum] = "35514dff0ccdf02b55bd2e9fa586a1b9d01f62332c3356e379eabb75f789d8aa" CVE_PRODUCT = "pcre2" diff --git a/poky/meta/recipes-support/libpcre/libpcre_8.43.bb b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb index 08314efb9..b97af08b2 100644 --- a/poky/meta/recipes-support/libpcre/libpcre_8.43.bb +++ b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb @@ -72,3 +72,5 @@ do_install_ptest() { # locale so the test fails if fr_FR is UTF-8 locale. sed -i -e 's:do3=yes:do3=no:g' ${D}${PTEST_PATH}/RunTest } + +RDEPENDS_${PN}-ptest += "make" diff --git a/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch b/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch new file mode 100644 index 000000000..2331a766a --- /dev/null +++ b/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch @@ -0,0 +1,28 @@ +From 8691105e1808ec9b031b6c25f70204a0908ae9c1 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sat, 1 Jun 2019 13:09:41 +0200 +Subject: [PATCH] gtk-doc: do not include tree_index.sgml + +gtk-doc 1.30 no longer generates the file if the object tree is empty + +Upstream-Status: Submitted [https://github.com/rockdaboot/libpsl/pull/137] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + docs/libpsl/libpsl-docs.sgml | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/docs/libpsl/libpsl-docs.sgml b/docs/libpsl/libpsl-docs.sgml +index 1eca9a2..1c38dbc 100644 +--- a/docs/libpsl/libpsl-docs.sgml ++++ b/docs/libpsl/libpsl-docs.sgml +@@ -22,10 +22,6 @@ + </para> + <xi:include href="xml/libpsl.xml"/> + </chapter> +- <chapter id="object-tree"> +- <title>Object Hierarchy</title> +- <xi:include href="xml/tree_index.sgml"/> +- </chapter> + <index id="api-index-full"> + <title>API Index</title> + <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include> diff --git a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb index f545ba076..fc2417fc2 100644 --- a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb +++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb @@ -4,7 +4,9 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \ file://COPYING;md5=f41d10997a12da5ee3c24ceeb0148d18" -SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz" +SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz \ + file://0001-gtk-doc-do-not-include-tree_index.sgml.patch \ + " SRC_URI[md5sum] = "171e96d887709e36a57f4ee627bf82d2" SRC_URI[sha256sum] = "41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12" diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb index f0043f80b..c4715a041 100644 --- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb +++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb @@ -12,8 +12,8 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ file://0001-Do-not-enforce-no-introspection-when-cross-building.patch \ " -SRC_URI[md5sum] = "5f04c09a06f6dbe4c4d3f003992145ce" -SRC_URI[sha256sum] = "4a2cb6c1174540af13661636035992c2b179dfcb39f4d3fa7bee3c7e355c43ff" +SRC_URI[md5sum] = "66c2ae89d6031b01337d78a2c57c75d5" +SRC_URI[sha256sum] = "bd2ea602eba642509672812f3c99b77cbec2f3de02ba1cc8cb7206bf7de0ae2a" S = "${WORKDIR}/libsoup-${PV}" diff --git a/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch b/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch deleted file mode 100644 index b026782bd..000000000 --- a/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch +++ /dev/null @@ -1,157 +0,0 @@ -From fdfad81006c2c964781b616f0a75578507be809c Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Wed, 21 Mar 2018 17:38:41 -0400 -Subject: [PATCH] Add support for the RISC-V architecture - -Tested in QEMU 2.12.0-rc0, requires --disable-compiler-tls to go -through the benchmarks reliably. - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Upstream-Status: Backport ---- - configure.ac | 1 + - include/Makefile.am | 2 ++ - include/urcu/arch/riscv.h | 49 ++++++++++++++++++++++++++++++++++++++++++++ - include/urcu/uatomic/riscv.h | 44 +++++++++++++++++++++++++++++++++++++++ - 4 files changed, 96 insertions(+) - create mode 100644 include/urcu/arch/riscv.h - create mode 100644 include/urcu/uatomic/riscv.h - -diff --git a/configure.ac b/configure.ac -index d0b4a9ac..9145081a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -151,6 +151,7 @@ AS_CASE([$host_cpu], - [tile*], [ARCHTYPE="tile"], - [hppa*], [ARCHTYPE="hppa"], - [m68k], [ARCHTYPE="m68k"], -+ [riscv*], [ARCHTYPE="riscv"], - [ARCHTYPE="unknown"] - ) - -diff --git a/include/Makefile.am b/include/Makefile.am -index dcdf304b..36667b43 100644 ---- a/include/Makefile.am -+++ b/include/Makefile.am -@@ -27,6 +27,7 @@ EXTRA_DIST = urcu/arch/aarch64.h \ - urcu/arch/mips.h \ - urcu/arch/nios2.h \ - urcu/arch/ppc.h \ -+ urcu/arch/riscv.h \ - urcu/arch/s390.h \ - urcu/arch/sparc64.h \ - urcu/arch/tile.h \ -@@ -43,6 +44,7 @@ EXTRA_DIST = urcu/arch/aarch64.h \ - urcu/uatomic/mips.h \ - urcu/uatomic/nios2.h \ - urcu/uatomic/ppc.h \ -+ urcu/uatomic/riscv.h \ - urcu/uatomic/s390.h \ - urcu/uatomic/sparc64.h \ - urcu/uatomic/tile.h \ -diff --git a/include/urcu/arch/riscv.h b/include/urcu/arch/riscv.h -new file mode 100644 -index 00000000..1fd7d62b ---- /dev/null -+++ b/include/urcu/arch/riscv.h -@@ -0,0 +1,49 @@ -+#ifndef _URCU_ARCH_RISCV_H -+#define _URCU_ARCH_RISCV_H -+ -+/* -+ * arch/riscv.h: definitions for the RISC-V architecture -+ * -+ * Copyright (c) 2018 Michael Jeanson <mjeanson@efficios.com> -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#include <urcu/compiler.h> -+#include <urcu/config.h> -+#include <urcu/syscall-compat.h> -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include <stdlib.h> -+#include <sys/time.h> -+ -+/* -+ * On Linux, define the membarrier system call number if not yet available in -+ * the system headers. -+ */ -+#if (defined(__linux__) && !defined(__NR_membarrier)) -+#define __NR_membarrier 283 -+#endif -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#include <urcu/arch/generic.h> -+ -+#endif /* _URCU_ARCH_RISCV_H */ -diff --git a/include/urcu/uatomic/riscv.h b/include/urcu/uatomic/riscv.h -new file mode 100644 -index 00000000..a6700e17 ---- /dev/null -+++ b/include/urcu/uatomic/riscv.h -@@ -0,0 +1,44 @@ -+/* -+ * Atomic exchange operations for the RISC-V architecture. Let GCC do it. -+ * -+ * Copyright (c) 2018 Michael Jeanson <mjeanson@efficios.com> -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a copy -+ * of this software and associated documentation files (the "Software"), to -+ * deal in the Software without restriction, including without limitation the -+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the Software is -+ * furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+ * AUTHORS OR COPYRIGHT HOLDERS BE 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. -+ */ -+ -+#ifndef _URCU_ARCH_UATOMIC_RISCV_H -+#define _URCU_ARCH_UATOMIC_RISCV_H -+ -+#include <urcu/compiler.h> -+#include <urcu/system.h> -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#define UATOMIC_HAS_ATOMIC_BYTE -+#define UATOMIC_HAS_ATOMIC_SHORT -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#include <urcu/uatomic/generic.h> -+ -+#endif /* _URCU_ARCH_UATOMIC_RISCV_H */ diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb b/poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb index b4b6e2323..6a517e6f2 100644 --- a/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb +++ b/poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb @@ -4,15 +4,13 @@ BUGTRACKER = "http://lttng.org/project/issues" LICENSE = "LGPLv2.1+ & MIT-style" LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \ - file://src/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ + 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 \ - file://Add-support-for-the-RISC-V-architecture.patch \ - " +SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2" -SRC_URI[md5sum] = "7c424c5183ec009d87e0f70c23e92f1b" -SRC_URI[sha256sum] = "b3f6888daf6fe02c1f8097f4a0898e41b5fe9975e121dc792b9ddef4b17261cc" +SRC_URI[md5sum] = "91c75d5902127f94ab556ce039b369ca" +SRC_URI[sha256sum] = "92b9971bf3f1c443edd6c09e7bf5ff3b43531e778841f16377a812c8feeb3350" S = "${WORKDIR}/userspace-rcu-${PV}" inherit autotools multilib_header diff --git a/poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch b/poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch new file mode 100644 index 000000000..89b647ddb --- /dev/null +++ b/poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch @@ -0,0 +1,124 @@ +From e03553605b45c88f0b4b2980adfbbb8f6fca2fd6 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer <wellnhofer@aevum.de> +Date: Sun, 24 Mar 2019 09:51:39 +0100 +Subject: Fix security framework bypass + +xsltCheckRead and xsltCheckWrite return -1 in case of error but callers +don't check for this condition and allow access. With a specially +crafted URL, xsltCheckRead could be tricked into returning an error +because of a supposedly invalid URL that would still be loaded +succesfully later on. + +Fixes #12. + +Thanks to Felix Wilhelm for the report. + +Signed-off-by: Adrian Bunk <bunk@stusta.de> +Upstream-Status: Backport +CVE: CVE-2019-11068 +--- + libxslt/documents.c | 18 ++++++++++-------- + libxslt/imports.c | 9 +++++---- + libxslt/transform.c | 9 +++++---- + libxslt/xslt.c | 9 +++++---- + 4 files changed, 25 insertions(+), 20 deletions(-) + +diff --git a/libxslt/documents.c b/libxslt/documents.c +index 3f3a7312..4aad11bb 100644 +--- a/libxslt/documents.c ++++ b/libxslt/documents.c +@@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) { + int res; + + res = xsltCheckRead(ctxt->sec, ctxt, URI); +- if (res == 0) { +- xsltTransformError(ctxt, NULL, NULL, +- "xsltLoadDocument: read rights for %s denied\n", +- URI); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(ctxt, NULL, NULL, ++ "xsltLoadDocument: read rights for %s denied\n", ++ URI); + return(NULL); + } + } +@@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) { + int res; + + res = xsltCheckRead(sec, NULL, URI); +- if (res == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsltLoadStyleDocument: read rights for %s denied\n", +- URI); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsltLoadStyleDocument: read rights for %s denied\n", ++ URI); + return(NULL); + } + } +diff --git a/libxslt/imports.c b/libxslt/imports.c +index 874870cc..3783b247 100644 +--- a/libxslt/imports.c ++++ b/libxslt/imports.c +@@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) { + int secres; + + secres = xsltCheckRead(sec, NULL, URI); +- if (secres == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsl:import: read rights for %s denied\n", +- URI); ++ if (secres <= 0) { ++ if (secres == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsl:import: read rights for %s denied\n", ++ URI); + goto error; + } + } +diff --git a/libxslt/transform.c b/libxslt/transform.c +index 13793914..0636dbd0 100644 +--- a/libxslt/transform.c ++++ b/libxslt/transform.c +@@ -3493,10 +3493,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node, + */ + if (ctxt->sec != NULL) { + ret = xsltCheckWrite(ctxt->sec, ctxt, filename); +- if (ret == 0) { +- xsltTransformError(ctxt, NULL, inst, +- "xsltDocumentElem: write rights for %s denied\n", +- filename); ++ if (ret <= 0) { ++ if (ret == 0) ++ xsltTransformError(ctxt, NULL, inst, ++ "xsltDocumentElem: write rights for %s denied\n", ++ filename); + xmlFree(URL); + xmlFree(filename); + return; +diff --git a/libxslt/xslt.c b/libxslt/xslt.c +index 780a5ad7..a234eb79 100644 +--- a/libxslt/xslt.c ++++ b/libxslt/xslt.c +@@ -6763,10 +6763,11 @@ xsltParseStylesheetFile(const xmlChar* filename) { + int res; + + res = xsltCheckRead(sec, NULL, filename); +- if (res == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsltParseStylesheetFile: read rights for %s denied\n", +- filename); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsltParseStylesheetFile: read rights for %s denied\n", ++ filename); + return(NULL); + } + } +-- +2.20.1 + diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb index 28d404ca7..6320a821d 100644 --- a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb +++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb @@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://Copyright;md5=0cd9a07afbeb24026c9b03aecfeba458" SECTION = "libs" DEPENDS = "libxml2" -SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz" +SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz \ + file://0001-Fix-security-framework-bypass.patch \ +" SRC_URI[md5sum] = "b3bd254a03e46d58f8ad1e4559cd2c2f" SRC_URI[sha256sum] = "8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8" @@ -21,8 +23,9 @@ BINCONFIG = "${bindir}/xslt-config" inherit autotools pkgconfig binconfig-disabled lib_package -# We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header 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 # The timestamps in the 1.1.28 tarball are messed up causing this file to diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.0.bb b/poky/meta/recipes-support/lz4/lz4_1.9.1.bb index 744a1bf47..de1f97024 100644 --- a/poky/meta/recipes-support/lz4/lz4_1.9.0.bb +++ b/poky/meta/recipes-support/lz4/lz4_1.9.1.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \ PE = "1" -SRCREV = "131896ab9d4fc9b8c606616327ed223d5d86472b" +SRCREV = "398e36c756a3067de8e2b35dd380baef040dfe0d" SRC_URI = "git://github.com/lz4/lz4.git \ file://run-ptest \ diff --git a/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch b/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch deleted file mode 100644 index 82f25743a..000000000 --- a/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch +++ /dev/null @@ -1,53 +0,0 @@ -From d1345871b992f9a055c968963967e728da1a7ffb Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 30 Jan 2016 20:29:06 +0000 -Subject: [PATCH] nss-myhostname: Check for nss.h presense before use - -We do not have nss.h on musl e.g. and configury is already checking for -nss.h presence, use this to define needed data structures if nss.h is -missing on a given libc implementation on a platform - -include stdint.h for uint32_h definition - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending - - nss-myhostname.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/nss-myhostname.c b/nss-myhostname.c -index 293166c..6f287f5 100644 ---- a/nss-myhostname.c -+++ b/nss-myhostname.c -@@ -21,7 +21,27 @@ - ***/ - - #include <limits.h> -+#include <stdint.h> -+#ifdef HAVE_NSS_H - #include <nss.h> -+#else -+enum nss_status { -+ NSS_STATUS_TRYAGAIN = -2, -+ NSS_STATUS_UNAVAIL, -+ NSS_STATUS_NOTFOUND, -+ NSS_STATUS_SUCCESS, -+ NSS_STATUS_RETURN -+}; -+/* Data structure used for the 'gethostbyname4_r' function. */ -+struct gaih_addrtuple -+ { -+ struct gaih_addrtuple *next; -+ char *name; -+ int family; -+ uint32_t addr[4]; -+ uint32_t scopeid; -+ }; -+#endif - #include <sys/types.h> - #include <netdb.h> - #include <errno.h> --- -2.7.0 - diff --git a/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb b/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb index de5b7cf59..244d9e204 100644 --- a/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb +++ b/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb @@ -7,7 +7,6 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" SRC_URI = "http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-${PV}.tar.gz \ - file://0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch \ " SRC_URI[md5sum] = "d4ab9ac36c053ab8fb836db1cbd4a48f" @@ -15,6 +14,8 @@ SRC_URI[sha256sum] = "2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67 inherit autotools distro_features_check +COMPATIBLE_HOST_libc-musl = 'null' + # The systemd has its own copy of nss-myhostname CONFLICT_DISTRO_FEATURES = "systemd" diff --git a/poky/meta/recipes-support/nss/nss_3.43.bb b/poky/meta/recipes-support/nss/nss_3.44.bb index f8cf5a46a..4205d7948 100644 --- a/poky/meta/recipes-support/nss/nss_3.43.bb +++ b/poky/meta/recipes-support/nss/nss_3.44.bb @@ -33,8 +33,8 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSIO file://system-pkcs11.txt \ " -SRC_URI[md5sum] = "67c8fa282c32cb56117fdd530dd77001" -SRC_URI[sha256sum] = "f30bc1b7330887b75de9fec37dbc173001758dc43fb095ffbc45dac4093fe2ca" +SRC_URI[md5sum] = "e9222b9573452b9f4e6ff4915d6407c2" +SRC_URI[sha256sum] = "a5620e59b6eeedfd5a12c9298b50ad92e9898b223e214eb675e36f4ffb5b6aff" UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes" diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb index 59e675b54..54455da1b 100644 --- a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb +++ b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb @@ -9,7 +9,7 @@ DEPENDS = "libtasn1 libffi" SRC_URI = "git://github.com/p11-glue/p11-kit \ file://0001-LINGUAS-drop-the-languages-for-which-upstream-does-n.patch \ " -SRCREV = "1ba80c67c492f25581ed97c8c31ffb5f20636d06" +SRCREV = "c689917b393379d288b868f70b2f7b7f6aafe430" S = "${WORKDIR}/git" AUTOTOOLS_AUXDIR = "${S}/build/litter" diff --git a/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb b/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb index 4116efc76..fb529d25d 100644 --- a/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb +++ b/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb @@ -25,7 +25,7 @@ PACKAGECONFIG ??= "ncurses libcap" 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, qt4-x11" +PACKAGECONFIG[qt] = "--enable-pinentry-qt, --disable-pinentry-qt, qtbase-native qtbase" PACKAGECONFIG[gtk2] = "--enable-pinentry-gtk2, --disable-pinentry-gtk2, gtk+ glib-2.0" #To use libsecret, add meta-gnome @@ -33,7 +33,6 @@ PACKAGECONFIG[secret] = "--enable-libsecret, --disable-libsecret, libsecret" EXTRA_OECONF = " \ --disable-rpath \ - --disable-pinentry-qt5 \ " BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/popt/popt_1.16.bb b/poky/meta/recipes-support/popt/popt_1.16.bb index 478288f9b..27e49c2ca 100644 --- a/poky/meta/recipes-support/popt/popt_1.16.bb +++ b/poky/meta/recipes-support/popt/popt_1.16.bb @@ -8,7 +8,7 @@ PR = "r3" DEPENDS = "virtual/libiconv" -SRC_URI = "http://rpm5.org/files/popt/popt-${PV}.tar.gz \ +SRC_URI = "http://anduin.linuxfromscratch.org/BLFS/popt/popt-${PV}.tar.gz \ file://pkgconfig_fix.patch \ file://popt_fix_for_automake-1.12.patch \ file://disable_tests.patch \ diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch new file mode 100644 index 000000000..13b4cbc7f --- /dev/null +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch @@ -0,0 +1,212 @@ +From 79698d3205dedba887e0d2492de945d3079de029 Mon Sep 17 00:00:00 2001 +From: Randy MacLeod <Randy.MacLeod@windriver.com> +Date: Thu, 6 Jun 2019 17:03:50 -0400 +Subject: [PATCH] utils: ensure child can be session leader + +When running the run-execscript bash ptest as a user rather than root, a warning: + bash: cannot set terminal process group (16036): Inappropriate ioctl for device + bash: no job control in this shell +contaminates the bash log files causing the test to fail. This happens only +when run under ptest-runner and not when interactively testing! + +The changes made to fix this include: +1. Get the process group id (pgid) before forking, +2. Set the pgid in both the parent and child to avoid a race, +3. Find, open and set permission on the child tty, and +4. Allow the child to attach to controlling tty. + +Also add '-lutil' to Makefile. This lib is from libc and provides openpty. + +Upstream-Status: Submitted [yocto@yoctoproject.org] + +Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> +--- + Makefile | 2 +- + utils.c | 102 +++++++++++++++++++++++++++++++++++++++++++++++++------ + 2 files changed, 92 insertions(+), 12 deletions(-) + +diff --git a/Makefile b/Makefile +index 1bde7be..439eb79 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,7 +29,7 @@ TEST_DATA=$(shell echo `pwd`/tests/data) + all: $(SOURCES) $(EXECUTABLE) + + $(EXECUTABLE): $(OBJECTS) +- $(CC) $(LDFLAGS) $(OBJECTS) -o $@ ++ $(CC) $(LDFLAGS) $(OBJECTS) -lutil -o $@ + + tests: $(TEST_SOURCES) $(TEST_EXECUTABLE) + +diff --git a/utils.c b/utils.c +index ad737c2..f11ce39 100644 +--- a/utils.c ++++ b/utils.c +@@ -1,5 +1,6 @@ + /** + * Copyright (c) 2016 Intel Corporation ++ * Copyright (C) 2019 Wind River Systems, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License +@@ -22,23 +23,27 @@ + */ + + #define _GNU_SOURCE ++ + #include <stdio.h> + ++#include <dirent.h> ++#include <errno.h> ++#include <fcntl.h> ++#include <grp.h> + #include <libgen.h> +-#include <signal.h> + #include <poll.h> +-#include <fcntl.h> ++#include <pty.h> ++#include <signal.h> ++#include <stdlib.h> ++#include <string.h> + #include <time.h> +-#include <dirent.h> ++#include <unistd.h> ++ ++#include <sys/ioctl.h> + #include <sys/resource.h> ++#include <sys/stat.h> + #include <sys/types.h> + #include <sys/wait.h> +-#include <sys/stat.h> +-#include <unistd.h> +-#include <string.h> +-#include <stdlib.h> +- +-#include <errno.h> + + #include "ptest_list.h" + #include "utils.h" +@@ -346,6 +351,53 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, + return status; + } + ++/* Returns an integer file descriptor. ++ * If it returns < 0, an error has occurred. ++ * Otherwise, it has returned the slave pty file descriptor. ++ * fp should be writable, likely stdout/err. ++ */ ++static int ++setup_slave_pty(FILE *fp) { ++ int pty_master = -1; ++ int pty_slave = -1; ++ char pty_name[256]; ++ struct group *gptr; ++ gid_t gid; ++ int slave = -1; ++ ++ if (openpty(&pty_master, &pty_slave, pty_name, NULL, NULL) < 0) { ++ fprintf(fp, "ERROR: openpty() failed with: %s.\n", strerror(errno)); ++ return -1; ++ } ++ ++ if ((gptr = getgrnam(pty_name)) != 0) { ++ gid = gptr->gr_gid; ++ } else { ++ /* If the tty group does not exist, don't change the ++ * group on the slave pty, only the owner ++ */ ++ gid = -1; ++ } ++ ++ /* chown/chmod the corresponding pty, if possible. ++ * This will only work if the process has root permissions. ++ */ ++ if (chown(pty_name, getuid(), gid) != 0) { ++ fprintf(fp, "ERROR; chown() failed with: %s.\n", strerror(errno)); ++ } ++ ++ /* Makes the slave read/writeable for the user. */ ++ if (chmod(pty_name, S_IRUSR|S_IWUSR) != 0) { ++ fprintf(fp, "ERROR: chmod() failed with: %s.\n", strerror(errno)); ++ } ++ ++ if ((slave = open(pty_name, O_RDWR)) == -1) { ++ fprintf(fp, "ERROR: open() failed with: %s.\n", strerror(errno)); ++ } ++ return (slave); ++} ++ ++ + int + run_ptests(struct ptest_list *head, const struct ptest_options opts, + const char *progname, FILE *fp, FILE *fp_stderr) +@@ -362,6 +414,8 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + int timeouted; + time_t sttime, entime; + int duration; ++ int slave; ++ int pgid = -1; + + if (opts.xml_filename) { + xh = xml_create(ptest_list_length(head), opts.xml_filename); +@@ -379,7 +433,6 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + close(pipefd_stdout[1]); + break; + } +- + fprintf(fp, "START: %s\n", progname); + PTEST_LIST_ITERATE_START(head, p); + char *ptest_dir = strdup(p->run_ptest); +@@ -388,6 +441,13 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + break; + } + dirname(ptest_dir); ++ if (ioctl(0, TIOCNOTTY) == -1) { ++ fprintf(fp, "ERROR: Unable to detach from controlling tty, %s\n", strerror(errno)); ++ } ++ ++ if ((pgid = getpgid(0)) == -1) { ++ fprintf(fp, "ERROR: getpgid() failed, %s\n", strerror(errno)); ++ } + + child = fork(); + if (child == -1) { +@@ -395,13 +455,33 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + rc = -1; + break; + } else if (child == 0) { +- setsid(); ++ close(0); ++ if ((slave = setup_slave_pty(fp)) < 0) { ++ fprintf(fp, "ERROR: could not setup pty (%d).", slave); ++ } ++ if (setpgid(0,pgid) == -1) { ++ fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno)); ++ } ++ ++ if (setsid() == -1) { ++ fprintf(fp, "ERROR: setsid() failed, %s\n", strerror(errno)); ++ } ++ ++ if (ioctl(0, TIOCSCTTY, NULL) == -1) { ++ fprintf(fp, "ERROR: Unable to attach to controlling tty, %s\n", strerror(errno)); ++ } ++ + run_child(p->run_ptest, pipefd_stdout[1], pipefd_stderr[1]); ++ + } else { + int status; + int fds[2]; fds[0] = pipefd_stdout[0]; fds[1] = pipefd_stderr[0]; + FILE *fps[2]; fps[0] = fp; fps[1] = fp_stderr; + ++ if (setpgid(child, pgid) == -1) { ++ fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno)); ++ } ++ + sttime = time(NULL); + fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, sttime)); + fprintf(fp, "BEGIN: %s\n", ptest_dir); +-- +2.17.0 + diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb index e2eb258d0..dec60fcc9 100644 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb @@ -7,13 +7,15 @@ HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" -SRCREV = "05b112bda7ac2adba8e9b0f088d6e5843b148a38" +SRCREV = "63d097cc46142157931682fed076b5407757a0bd" PV = "2.3.1+git${SRCPV}" SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \ file://0001-utils-Ensure-stdout-stderr-are-flushed.patch \ file://0002-use-process-groups-when-spawning.patch \ - file://0003-utils-Ensure-pipes-are-read-after-exit.patch" + file://0003-utils-Ensure-pipes-are-read-after-exit.patch \ + file://0004-utils-ensure-child-can-be-session-leader.patch \ +" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch deleted file mode 100644 index 06d1d9436..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 06ba71887f667d45dd231a782a2751f36e8fe025 Mon Sep 17 00:00:00 2001 -From: Christopher Larson <chris_larson@mentor.com> -Date: Mon, 15 Feb 2016 15:59:58 -0700 -Subject: [PATCH 1/4] If the libc is lacking argp, use libargp - -Patch pulled from Gentoo: - - On glibc systems, argp is provided by libc. However, on - uclibc and other systems which lack argp in their C library, - argp might be provided by a stand alone library, libargp. - This patch adds tests to the build system to find who provides - argp. - - X-Gentoo-Bug: 292191 - X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=292191 - Reported-by: Ed Wildgoose <gentoo@wildgooses.com> - Signed-off-by: Anthony G. Basile <blueness@gentoo.org> - -Upstream-Status: Pending -Signed-off-by: Christopher Larson <chris_larson@mentor.com> ---- - configure.ac | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 4e799dc..c4a5dd8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -135,6 +135,28 @@ AS_IF( - ] - ) - -+dnl First check if we have argp available from libc -+AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM( -+ [#include <argp.h>], -+ [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;] -+ )], -+ [libc_has_argp="true"], -+ [libc_has_argp="false"] -+) -+ -+dnl If libc doesn't provide argp, then test for libargp -+if test "$libc_has_argp" = "false" ; then -+ AC_MSG_WARN("libc does not have argp") -+ AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"]) -+ -+ if test "$have_argp" = "false"; then -+ AC_MSG_ERROR("no libargp found") -+ else -+ LIBS+=" -largp" -+ fi -+fi -+ - dnl ----------------- - dnl Configure options - dnl ----------------- --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch deleted file mode 100644 index d4d28a01c..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 99b0efebd765803203686d89bc4f995bcb103e78 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Sat, 10 Nov 2018 09:53:19 +0800 -Subject: [PATCH] configure.ac: fix typo - -Upstream-Status: Submitted [https://github.com/nhorman/rng-tools.git] -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 4e799dc..0251928 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -62,7 +62,7 @@ AS_IF([test $target_cpu = powerpc64le], [AC_DEFINE([HAVE_DARN],1,[Enable DARN])] - AM_CONDITIONAL([JITTER], [false]) - - AC_ARG_ENABLE(jitterentropy, -- AS_HELP_STRING([--disable-jitterntropy | --enable-jitterentropy=<path>], -+ AS_HELP_STRING([--disable-jitterentropy | --enable-jitterentropy=<path>], - [Disable jitterentropy source, or specify its location]), - [if [ test -d $enable_jitterentropy ]; then - export LDFLAGS+=-L$enable_jitterentropy; --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch deleted file mode 100644 index be60fe97f..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 711e2f76890e3c5b08f64859d9fd913ddbec7d50 Mon Sep 17 00:00:00 2001 -From: Christopher Larson <chris_larson@mentor.com> -Date: Mon, 22 Oct 2018 15:26:47 +0800 -Subject: [PATCH 2/4] Add argument to control the libargp dependency - -This ensures that the builds are always deterministic. If the argument isn't -passed, the default behavior is to use libargp if the libc doesn't have argp. - -Upstream-Status: Pending -Signed-off-by: Christopher Larson <chris_larson@mentor.com> - -Rebase to 6.6 -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - configure.ac | 55 ++++++++++++++++++++++++++++++++++++------------------- - 1 file changed, 36 insertions(+), 19 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c4a5dd8..dd1c30f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -40,6 +40,13 @@ AC_ARG_WITH([nistbeacon], - [with_nistbeacon=check] - ) - -+AC_ARG_WITH([libargp], -+ AS_HELP_STRING([--without-libargp], -+ [Disable libargp support. Systems whose libc lacks argp can use libargp instead. (Default: check if libc lacks argp)]), -+ [with_libargp=$withval], -+ [with_libargp=check] -+) -+ - dnl Make sure anyone changing configure.ac/Makefile.am has a clue - AM_MAINTAINER_MODE - AM_PROG_AS -@@ -135,27 +142,37 @@ AS_IF( - ] - ) - --dnl First check if we have argp available from libc --AC_LINK_IFELSE( -- [AC_LANG_PROGRAM( -- [#include <argp.h>], -- [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;] -- )], -- [libc_has_argp="true"], -- [libc_has_argp="false"] -+dnl Determine if we need libargp: either user requested, or libc has no argp -+AS_IF( -+ [test "x$with_libargp" != "xyes"], -+ [ -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM( -+ [#include <argp.h>], -+ [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;] -+ )], -+ [need_libargp=no], -+ [need_libargp=yes -+ if test "x$with_libargp" = "xno"; then -+ AC_MSG_FAILURE([libargp disabled and libc does not have argp]) -+ fi] -+ ) -+ ], -+ [need_libargp=yes], - ) - --dnl If libc doesn't provide argp, then test for libargp --if test "$libc_has_argp" = "false" ; then -- AC_MSG_WARN("libc does not have argp") -- AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"]) -- -- if test "$have_argp" = "false"; then -- AC_MSG_ERROR("no libargp found") -- else -- LIBS+=" -largp" -- fi --fi -+dnl Check for libargp -+AS_IF( -+ [test "x$need_libargp" = "xyes"], -+ [ -+ AC_CHECK_LIB( -+ [argp], -+ [argp_parse], -+ [LIBS="$LIBS -largp"], -+ [AC_MSG_FAILURE([libargp not found])] -+ ) -+ ] -+) - - dnl ----------------- - dnl Configure options --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/default b/poky/meta/recipes-support/rng-tools/rng-tools/default index ab7cd9327..b9f8e0363 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/default +++ b/poky/meta/recipes-support/rng-tools/rng-tools/default @@ -1,2 +1 @@ -# Specify rng device -RNG_DEVICE=/dev/hwrng +EXTRA_ARGS="-r /dev/hwrng" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch b/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch new file mode 100644 index 000000000..58cf3f9d5 --- /dev/null +++ b/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch @@ -0,0 +1,25 @@ +It fails to stop rngd. It just shows warnings when stop rngd such as by: + +$ systemctl stop rngd.service + +but stalls shutdown untill daemon rngd is killed. + +Backport patch to fix the issue. + +Upstream-Status: Backport [https://bugzilla.redhat.com/show_bug.cgi?id=1690364#c8] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- +diff --git a/rngd_jitter.c b/rngd_jitter.c +index 54070ae..7a69bf9 100644 +--- a/rngd_jitter.c ++++ b/rngd_jitter.c +@@ -280,7 +280,7 @@ static void *thread_entropy_task(void *data) + + /* Write to pipe */ + written = 0; +- while(written != me->buf_sz) { ++ while(me->active && written != me->buf_sz) { + message(LOG_DAEMON|LOG_DEBUG, "Writing to pipe\n"); + ret = write(me->pipe_fd, &tmpbuf[written], me->buf_sz - written); + message(LOG_DAEMON|LOG_DEBUG, "DONE Writing to pipe with return %ld\n", ret); diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/init b/poky/meta/recipes-support/rng-tools/rng-tools/init index 7cf78393a..13f0ecd37 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/init +++ b/poky/meta/recipes-support/rng-tools/rng-tools/init @@ -1,26 +1,19 @@ -#! /bin/sh +#!/bin/sh # # This is an init script for openembedded -# Copy it to /etc/init.d/rng-tools and type +# Copy it to @SYSCONFDIR@/init.d/rng-tools and type # > update-rc.d rng-tools defaults 60 # -rngd=/usr/sbin/rngd +rngd=@SBINDIR@/rngd test -x "$rngd" || exit 1 -if [ -e /etc/default/rng-tools ]; then - . /etc/default/rng-tools -fi - -if [ -n "$RNG_DEVICE" ]; then - EXTRA_ARGS="-- -r $RNG_DEVICE" -fi - +[ -r @SYSCONFDIR@/default/rng-tools ] && . "@SYSCONFDIR@/default/rng-tools" case "$1" in start) echo -n "Starting random number generator daemon" - start-stop-daemon -S -q -x $rngd $EXTRA_ARGS + start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS echo "." ;; stop) @@ -38,11 +31,11 @@ case "$1" in start-stop-daemon -K -q -n rngd echo "." echo -n "Starting random number generator daemon" - start-stop-daemon -S -q -x $rngd $EXTRA_ARGS + start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS echo "." ;; *) - echo "Usage: /etc/init.d/rng-tools {start|stop|reload|restart|force-reload}" + echo "Usage: @SYSCONFDIR@/init.d/rng-tools {start|stop|reload|restart|force-reload}" exit 1 esac diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch b/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch deleted file mode 100644 index 614adab27..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch +++ /dev/null @@ -1,114 +0,0 @@ -From d8b1bb8edd99b2898720b4f10d292a67d532db48 Mon Sep 17 00:00:00 2001 -From: "Francisco Blas Izquierdo Riera (klondike)" <klondike@gentoo.org> -Date: Mon, 22 Oct 2018 15:29:36 +0800 -Subject: [PATCH 4/4] Fix assemby textrels on rdrand_asm.S on PIC x86 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch updates the fixes in the assembly in rdrand_asm.S in -sys-apps/rng-tools-5 so it won't generate textrels on PIC systems. -The main fixes are in the use of leal in SETPTR for such systems, the rest is -the usual PIC support stuff. - -This should fix Gentoo bug #469962 and help fix #518210 - -This patch is released under the GPLv2 or a higher version license as is the -original file as long as the author and the tester are credited. - -Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=469962 -Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=518210 -Signed-off-by: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org> -Reported-by: cilly <cilly@cilly.mine.nu> -Reported-by: Manuel RĂ¼ger <mrueg@gentoo.org> -Tested-by: Anthony Basile <blueness@gentoo.org> - -Upstream-Status: Pending ---- - rdrand_asm.S | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/rdrand_asm.S b/rdrand_asm.S -index b5d260a..7811cf2 100644 ---- a/rdrand_asm.S -+++ b/rdrand_asm.S -@@ -2,6 +2,7 @@ - * Copyright (c) 2011-2014, Intel Corporation - * Authors: Fenghua Yu <fenghua.yu@intel.com>, - * H. Peter Anvin <hpa@linux.intel.com> -+ * PIC code by: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, -@@ -172,7 +173,19 @@ ENTRY(x86_rdseed_or_rdrand_bytes) - jmp 4b - ENDPROC(x86_rdseed_or_rdrand_bytes) - -+#if defined(__PIC__) -+#define INIT_PIC() \ -+ pushl %ebx ; \ -+ call __x86.get_pc_thunk.bx ; \ -+ addl $_GLOBAL_OFFSET_TABLE_, %ebx -+#define END_PIC() \ -+ popl %ebx -+#define SETPTR(var,ptr) leal (var)@GOTOFF(%ebx),ptr -+#else -+#define INIT_PIC() -+#define END_PIC() - #define SETPTR(var,ptr) movl $(var),ptr -+#endif - #define PTR0 %eax - #define PTR1 %edx - #define PTR2 %ecx -@@ -188,6 +201,7 @@ ENTRY(x86_aes_mangle) - movl 8(%ebp), %eax - movl 12(%ebp), %edx - push %esi -+ INIT_PIC() - #endif - movl $512, CTR3 /* Number of rounds */ - -@@ -278,6 +292,7 @@ offset = offset + 16 - movdqa %xmm7, (7*16)(PTR1) - - #ifdef __i386__ -+ END_PIC() - pop %esi - pop %ebp - #endif -@@ -292,6 +307,7 @@ ENTRY(x86_aes_expand_key) - push %ebp - mov %esp, %ebp - movl 8(%ebp), %eax -+ INIT_PIC() - #endif - - SETPTR(aes_round_keys, PTR1) -@@ -321,6 +337,7 @@ ENTRY(x86_aes_expand_key) - call 1f - - #ifdef __i386__ -+ END_PIC() - pop %ebp - #endif - ret -@@ -341,6 +358,16 @@ ENTRY(x86_aes_expand_key) - - ENDPROC(x86_aes_expand_key) - -+#if defined(__i386__) && defined(__PIC__) -+ .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat -+ .globl __x86.get_pc_thunk.bx -+ .hidden __x86.get_pc_thunk.bx -+ .type __x86.get_pc_thunk.bx, @function -+__x86.get_pc_thunk.bx: -+ movl (%esp), %ebx -+ ret -+#endif -+ - .bss - .balign 64 - aes_round_keys: --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service index f0355db14..b1a78527b 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service +++ b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service @@ -5,8 +5,8 @@ After=systemd-udev-settle.service Before=sysinit.target [Service] -ExecStart=@SBINDIR@/rngd -f -r /dev/hwrng -SuccessExitStatus=66 +EnvironmentFile=-@SYSCONFDIR@/default/rng-tools +ExecStart=@SBINDIR@/rngd -f $EXTRA_ARGS [Install] WantedBy=multi-user.target diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch b/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch deleted file mode 100644 index aa4bbcb34..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 03fe7efa1bc04a83fb9b6787998e7baa7ee90646 Mon Sep 17 00:00:00 2001 -From: Richard Purdie <richard.purdie@linuxfoundation.org> -Date: Mon, 22 Oct 2018 15:27:41 +0800 -Subject: [PATCH 3/4] Fix underquoted m4 entry. This causes a failure if gcrypt - isn't present: - -| configure: libgcrypt support disabled -| ../rng-tools-5/configure: line 4345: ac_fn_c_try_link: command not found -| configure: error: in `/media/build1/poky/build/tmp/work/i586-poky-linux/rng-tools/5-r0/build': - -RP -2016/2/16 - -Upstream-Status: Pending - -Rebase to 6.6 -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index dd1c30f..88d2be3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -124,7 +124,7 @@ AS_IF( - [test "x$with_libgcrypt" != "xno"], - [ - AC_CHECK_HEADER([gcrypt.h], -- AC_CHECK_LIB( -+ [AC_CHECK_LIB( - [gcrypt], - [gcry_check_version], , - [ -@@ -133,7 +133,7 @@ AS_IF( - AC_MSG_NOTICE([libgcrypt support disabled]) - fi - ] -- ), -+ )], - [if test "x$with_libgcrypt" != "xcheck"; then - AC_MSG_FAILURE([libgcrypt headers not found]); else - AC_MSG_NOTICE([libgcrypt support disabled]) --- -2.7.4 - diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb deleted file mode 100644 index 6796c9be9..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "Random number generator daemon" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/nhorman/rng-tools.git \ - file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \ - file://0002-Add-argument-to-control-the-libargp-dependency.patch \ - file://underquote.patch \ - file://rng-tools-5-fix-textrels-on-PIC-x86.patch \ - file://0001-configure.ac-fix-typo.patch \ - file://init \ - file://default \ - file://rngd.service \ -" -SRCREV = "4ebc21d6f387bb7b4b3f6badc429e27b21c0a6ee" -S = "${WORKDIR}/git" - -inherit autotools update-rc.d systemd pkgconfig - -DEPENDS = " \ - sysfsutils \ - " - -PACKAGECONFIG ??= "libgcrypt libjitterentropy" -PACKAGECONFIG_libc-musl = "libargp libjitterentropy" -PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," -PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt," -PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" -PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" - -# Refer autogen.sh in rng-tools -do_configure_prepend() { - cp ${S}/README.md ${S}/README -} - -do_install_append() { - # Only install the init script when 'sysvinit' is in DISTRO_FEATURES. - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d "${D}${sysconfdir}/init.d" - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools - sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \ - ${D}${sysconfdir}/init.d/rng-tools - - install -d "${D}${sysconfdir}/default" - install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/rngd.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/rngd.service - fi -} - -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." - -SYSTEMD_SERVICE_${PN} = "rngd.service" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb new file mode 100644 index 000000000..aeb558b2b --- /dev/null +++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb @@ -0,0 +1,53 @@ +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" + +SRC_URI = "\ + git://github.com/nhorman/rng-tools.git \ + file://fix-rngd-fail-to-stop.patch \ + file://init \ + file://default \ + file://rngd.service \ +" +SRCREV = "9fc873c5af0e392632e6b736938b811f7ca97251" + +S = "${WORKDIR}/git" + +inherit autotools update-rc.d systemd pkgconfig + +PACKAGECONFIG ??= "libgcrypt libjitterentropy" +PACKAGECONFIG_libc-musl = "libargp libjitterentropy" + +PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," +PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt," +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},' \ + -e 's,@SBINDIR@,${sbindir},' \ + ${D}${sysconfdir}/init.d/rng-tools \ + ${D}${systemd_system_unitdir}/rngd.service +} diff --git a/poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch b/poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch new file mode 100644 index 000000000..91640d604 --- /dev/null +++ b/poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch @@ -0,0 +1,71 @@ +stop scons trying to create directories in hosts rootfs + +* since 1522f09a4d serf: cleanup recipe + serf.do_install fails in builds with multilib enabled (with + libdir=/usr/lib64 on host where /usr/lib64 doesn't exist) + +DEBUG: Executing shell function do_install +scons: Reading SConscript files ... +PermissionError: [Errno 13] Permission denied: '/usr/lib64': + File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/serf-1.3.9/SConstruct", line 158: + ENV = os.environ, + File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Environment.py", line 965: + variables.Update(self) + File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Variables/__init__.py", line 227: + option.validator(option.key, env.subst('${%s}'%option.key), env) + File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/serf-1.3.9/SConstruct", line 60: + return PathVariable.PathIsDirCreate(key, val, env) + File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Variables/PathVariable.py", line 101: + os.makedirs(val) + File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/lib/python3.7/os.py", line 221: + mkdir(name, mode) +ERROR: scons install execution failed. + +* I don't know how exactly --install-sandbox is supposed to work but + in this case it's trying to mkdir /usr/lib64 on the host rootfs + which is clearly wrong and if I set LIBDIR together with + --install-sandbox then the install paths are prefixed with $D twice + in some cases (not for includedir and empty libdir at the end). + So in the end I think it was an issue caused by the custom path + validator in serf's SConstruct, removing that stops touching host + and the installed paths (including the paths inside libserf*.pc) + look correct + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- serf-1.3.9/SConstruct 2019-06-18 15:49:19.968961108 +0000 ++++ serf-1.3.9b/SConstruct 2019-06-18 18:53:21.412337151 +0000 +@@ -51,17 +51,6 @@ + """ + return (key, '%s' % (help), default, None, lambda val: _converter(val)) + +-# Custom path validator, creates directory when a specified option is set. +-# To be used to ensure a PREFIX directory is only created when installing. +-def createPathIsDirCreateWithTarget(target): +- def my_validator(key, val, env): +- build_targets = (map(str, BUILD_TARGETS)) +- if target in build_targets: +- return PathVariable.PathIsDirCreate(key, val, env) +- else: +- return PathVariable.PathAccept(key, val, env) +- return my_validator +- + # default directories + if sys.platform == 'win32': + default_incdir='..' +@@ -77,11 +66,11 @@ + PathVariable('PREFIX', + 'Directory to install under', + default_prefix, +- createPathIsDirCreateWithTarget('install')), ++ PathVariable.PathAccept), + PathVariable('LIBDIR', + 'Directory to install architecture dependent libraries under', + default_libdir, +- createPathIsDirCreateWithTarget('install')), ++ PathVariable.PathAccept), + PathVariable('APR', + "Path to apr-1-config, or to APR's install area", + default_incdir, diff --git a/poky/meta/recipes-support/serf/serf_1.3.9.bb b/poky/meta/recipes-support/serf/serf_1.3.9.bb index 65a8114bb..dd4133a45 100644 --- a/poky/meta/recipes-support/serf/serf_1.3.9.bb +++ b/poky/meta/recipes-support/serf/serf_1.3.9.bb @@ -6,6 +6,7 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ 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" @@ -14,18 +15,19 @@ SRC_URI[sha256sum] = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -DEPENDS = "python-scons-native openssl apr apr-util util-linux expat" +inherit scons -do_compile() { - ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} \ - CC="${CC}" \ - APR=`which apr-1-config` APU=`which apu-1-config` \ - CFLAGS="${CFLAGS}" LINKFLAGS="${LDFLAGS}" \ - OPENSSL="${STAGING_EXECPREFIXDIR}" -} +DEPENDS += " openssl apr apr-util util-linux expat" -do_install() { - ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} LIBDIR=${D}${libdir} install -} +EXTRA_OESCONS = " \ + LIBDIR=${libdir} \ + --install-sandbox=${D} \ + CC="${CC}" \ + CFLAGS="${CFLAGS}" \ + LINKFLAGS="${LDFLAGS}" \ + APR=`which apr-1-config` \ + APU=`which apu-1-config` \ + OPENSSL="${STAGING_EXECPREFIXDIR}" \ + " BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch b/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch deleted file mode 100644 index b0aa5d173..000000000 --- a/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9aa01fd5f9d8b2b98c34684dc8f68115750ef41c Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 12 Jul 2016 17:15:13 +0300 -Subject: [PATCH] source-highlight.pc.in: do not add Boost's libraries and - includes - -This breaks when compiling in sysroots; a proper way is to use Depends - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - source-highlight.pc.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/source-highlight.pc.in b/source-highlight.pc.in -index 79ab63e..64114a7 100644 ---- a/source-highlight.pc.in -+++ b/source-highlight.pc.in -@@ -7,6 +7,6 @@ Name: libsource-highlight - Description: GNU Source-highlight library. - URL: http://www.gnu.org/software/src-highlite/ - Version: @VERSION@ --Libs: -L${libdir} -lsource-highlight @BOOST_LDFLAGS@ @BOOST_REGEX_LIB@ --Cflags: -I${includedir} @BOOST_CPPFLAGS@ -+Libs: -L${libdir} -lsource-highlight -+Cflags: -I${includedir} - --- -2.8.1 - diff --git a/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb b/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb deleted file mode 100644 index 85923e475..000000000 --- a/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Syntax highlight utility" -DESCRIPTION = "Source-highlight converts source code to formatted text with syntax highlighting." -HOMEPAGE = "https://www.gnu.org/software/src-highlite/" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=ff95bfe019feaf92f524b73dd79e76eb" - -SRC_URI = "${GNU_MIRROR}/src-highlite/${BPN}-${PV}.tar.gz \ - file://0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch" -SRC_URI[md5sum] = "3243470706ef5fefdc3e43b5306a4e41" -SRC_URI[sha256sum] = "01336a7ea1d1ccc374201f7b81ffa94d0aecb33afc7d6903ebf9fbf33a55ada3" - -inherit autotools - -DEPENDS_append = " boost" - -DEPENDS_append_class-target = " source-highlight-native" - -EXTRA_OECONF = "--with-boost=yes --with-boost-libdir=${STAGING_DIR_TARGET}${libdir}" - -BBCLASSEXTEND = "native" - -# source-highlight is using its own binary from the build tree to make documentation -# let's substitute the native binary instead -do_configure_prepend_class-target () { - sed -i -e 's,^SRCHILITEEXE = $(top_builddir).*,SRCHILITEEXE = source-highlight,' ${S}/doc/Makefile.am -} - -RDEPENDS_source-highlight += "bash" diff --git a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb b/poky/meta/recipes-support/taglib/taglib_1.11.1.bb index 01dcf66d1..f4e288295 100644 --- a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb +++ b/poky/meta/recipes-support/taglib/taglib_1.11.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Library for reading and editing the meta-data of popular audio formats" SECTION = "libs/multimedia" HOMEPAGE = "http://taglib.github.io/" -LICENSE = "LGPLv2.1 | MPL-1" +LICENSE = "LGPLv2.1 | 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" diff --git a/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb b/poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb index 74464833a..e4c26d23f 100644 --- a/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb +++ b/poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb @@ -1,10 +1,7 @@ -require vim_${PV}.bb +require vim.inc SUMMARY += " (with tiny features)" -PROVIDES_remove = "xxd" -ALTERNATIVE_${PN}_remove = "xxd" - PACKAGECONFIG += "tiny" do_install() { diff --git a/poky/meta/recipes-support/vim/vim_8.1.1240.bb b/poky/meta/recipes-support/vim/vim.inc index f5c74684b..0a31e68cb 100644 --- a/poky/meta/recipes-support/vim/vim_8.1.1240.bb +++ b/poky/meta/recipes-support/vim/vim.inc @@ -1,7 +1,6 @@ SUMMARY = "Vi IMproved - enhanced vi editor" SECTION = "console/utils" -PROVIDES = "xxd" DEPENDS = "ncurses gettext-native" # vimdiff doesn't like busybox diff RSUGGESTS_${PN} = "diffutils" @@ -13,7 +12,7 @@ SRC_URI = "git://github.com/vim/vim.git \ file://vim-add-knob-whether-elf.h-are-checked.patch \ file://0001-src-Makefile-improve-reproducibility.patch \ " -SRCREV = "d96dbd6f95ea22f609042cc9c6272f14a21ff1a5" +SRCREV = "202d982b36d87cf91d992bd7e30d3223bdc72cd9" S = "${WORKDIR}/git" @@ -52,9 +51,8 @@ PACKAGECONFIG += " \ ${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \ " -PACKAGECONFIG_class-native = "" -PACKAGECONFIG[gtkgui] = "--enable-gui=gtk2,--enable-gui=no,gtk+," +PACKAGECONFIG[gtkgui] = "--enable-gui=gtk3,--enable-gui=no,gtk+3" PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," PACKAGECONFIG[x11] = "--with-x,--without-x,xt," PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,," @@ -130,12 +128,8 @@ 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 xxd" +ALTERNATIVE_${PN} = "vi vim" ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}" ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi" ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim" -ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd" -ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/vim/vim_8.1.1518.bb b/poky/meta/recipes-support/vim/vim_8.1.1518.bb new file mode 100644 index 000000000..60946a181 --- /dev/null +++ b/poky/meta/recipes-support/vim/vim_8.1.1518.bb @@ -0,0 +1,10 @@ +require vim.inc + +PROVIDES = "xxd" + +PACKAGECONFIG_class-native = "" +BBCLASSEXTEND = "native" + +ALTERNATIVE_${PN}_append = " xxd" +ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd" +ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd" diff --git a/poky/meta/recipes-support/vte/vte_0.56.1.bb b/poky/meta/recipes-support/vte/vte_0.56.1.bb index 3585e9ce5..702436b36 100644 --- a/poky/meta/recipes-support/vte/vte_0.56.1.bb +++ b/poky/meta/recipes-support/vte/vte_0.56.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Virtual terminal emulator GTK+ widget library" BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" -LICENSE = "GPLv3 & LGPLv2.1+" -LICENSE_libvte = "LGPLv2.1+" +LICENSE = "GPLv3 & LGPLv3+ & LGPLv2.1+" +LICENSE_libvte = "LGPLv3+" LIC_FILES_CHKSUM = " \ file://COPYING.GPL3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ |