diff options
Diffstat (limited to 'poky/meta')
529 files changed, 9699 insertions, 6826 deletions
diff --git a/poky/meta/classes/autotools.bbclass b/poky/meta/classes/autotools.bbclass index 70804b82b4..2ceb790b5c 100644 --- a/poky/meta/classes/autotools.bbclass +++ b/poky/meta/classes/autotools.bbclass @@ -90,7 +90,7 @@ oe_runconf () { cfgscript=`python3 -c "import os; print(os.path.relpath(os.path.dirname('${CONFIGURE_SCRIPT}'), '.'))"`/$cfgscript_name if [ -x "$cfgscript" ] ; then bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@" - if ! CONFIG_SHELL=/bin/bash ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"; then + if ! CONFIG_SHELL=${CONFIG_SHELL-/bin/bash} ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"; then bbnote "The following config.log files may provide further information." bbnote `find ${B} -ignore_readdir_race -type f -name config.log` bbfatal_log "configure failed" diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass index 5a0b0c6b3e..78ae28bb0f 100644 --- a/poky/meta/classes/base.bbclass +++ b/poky/meta/classes/base.bbclass @@ -231,6 +231,7 @@ python base_eventhandler() { if isinstance(e, bb.event.ConfigParsed): if not d.getVar("NATIVELSBSTRING", False): d.setVar("NATIVELSBSTRING", lsb_distro_identifier(d)) + d.setVar("ORIGNATIVELSBSTRING", d.getVar("NATIVELSBSTRING", False)) d.setVar('BB_VERSION', bb.__version__) # There might be no bb.event.ConfigParsed event if bitbake server is diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass index 7d5e3eb8fd..daae056144 100644 --- a/poky/meta/classes/buildhistory.bbclass +++ b/poky/meta/classes/buildhistory.bbclass @@ -115,6 +115,7 @@ python buildhistory_emit_pkghistory() { self.packages = "" self.srcrev = "" self.layer = "" + self.license = "" self.config = "" self.src_uri = "" @@ -218,6 +219,7 @@ python buildhistory_emit_pkghistory() { pv = d.getVar('PV') pr = d.getVar('PR') layer = bb.utils.get_file_layer(d.getVar('FILE'), d) + license = d.getVar('LICENSE') pkgdata_dir = d.getVar('PKGDATA_DIR') packages = "" @@ -258,6 +260,7 @@ python buildhistory_emit_pkghistory() { rcpinfo.depends = sortlist(oe.utils.squashspaces(d.getVar('DEPENDS') or "")) rcpinfo.packages = packages rcpinfo.layer = layer + rcpinfo.license = license rcpinfo.config = sortlist(oe.utils.squashspaces(d.getVar('PACKAGECONFIG') or "")) rcpinfo.src_uri = oe.utils.squashspaces(d.getVar('SRC_URI') or "") write_recipehistory(rcpinfo, d) @@ -369,6 +372,7 @@ def write_recipehistory(rcpinfo, d): f.write(u"DEPENDS = %s\n" % rcpinfo.depends) f.write(u"PACKAGES = %s\n" % rcpinfo.packages) f.write(u"LAYER = %s\n" % rcpinfo.layer) + f.write(u"LICENSE = %s\n" % rcpinfo.license) f.write(u"CONFIG = %s\n" % rcpinfo.config) f.write(u"SRC_URI = %s\n" % rcpinfo.src_uri) diff --git a/poky/meta/classes/cml1.bbclass b/poky/meta/classes/cml1.bbclass index 9b9866f4c3..d319d66ab2 100644 --- a/poky/meta/classes/cml1.bbclass +++ b/poky/meta/classes/cml1.bbclass @@ -40,6 +40,14 @@ python do_menuconfig() { except OSError: mtime = 0 + # setup native pkg-config variables (kconfig scripts call pkg-config directly, cannot generically be overriden to pkg-config-native) + d.setVar("PKG_CONFIG_DIR", "${STAGING_DIR_NATIVE}${libdir_native}/pkgconfig") + d.setVar("PKG_CONFIG_PATH", "${PKG_CONFIG_DIR}:${STAGING_DATADIR_NATIVE}/pkgconfig") + d.setVar("PKG_CONFIG_LIBDIR", "${PKG_CONFIG_DIR}") + d.setVarFlag("PKG_CONFIG_SYSROOT_DIR", "unexport", "1") + # ensure that environment variables are overwritten with this tasks 'd' values + d.appendVar("OE_TERMINAL_EXPORTS", " PKG_CONFIG_DIR PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR") + oe_terminal("sh -c \"make %s; if [ \\$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'), d.getVar('PN') + ' Configuration', d) diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass index 25cefda92e..d843e7c4ac 100644 --- a/poky/meta/classes/cve-check.bbclass +++ b/poky/meta/classes/cve-check.bbclass @@ -208,6 +208,9 @@ def check_cves(d, patched_cves): """ from distutils.version import LooseVersion + pn = d.getVar("PN") + real_pv = d.getVar("PV") + cves_unpatched = [] # CVE_PRODUCT can contain more than one product (eg. curl/libcurl) products = d.getVar("CVE_PRODUCT").split() @@ -217,7 +220,7 @@ def check_cves(d, patched_cves): pv = d.getVar("CVE_VERSION").split("+git")[0] # If the recipe has been whitlisted we return empty lists - if d.getVar("PN") in d.getVar("CVE_CHECK_PN_WHITELIST").split(): + if pn in d.getVar("CVE_CHECK_PN_WHITELIST").split(): bb.note("Recipe has been whitelisted, skipping check") return ([], [], []) @@ -286,12 +289,12 @@ def check_cves(d, patched_cves): vulnerable = vulnerable_start or vulnerable_end if vulnerable: - bb.note("%s-%s is vulnerable to %s" % (product, pv, cve)) + bb.note("%s-%s is vulnerable to %s" % (pn, real_pv, cve)) cves_unpatched.append(cve) break if not vulnerable: - bb.note("%s-%s is not vulnerable to %s" % (product, pv, cve)) + bb.note("%s-%s is not vulnerable to %s" % (pn, real_pv, cve)) # TODO: not patched but not vulnerable patched_cves.add(cve) diff --git a/poky/meta/classes/distutils-common-base.bbclass b/poky/meta/classes/distutils-common-base.bbclass index 94b5fd426d..43a38e5a3a 100644 --- a/poky/meta/classes/distutils-common-base.bbclass +++ b/poky/meta/classes/distutils-common-base.bbclass @@ -11,7 +11,7 @@ export LDCXXSHARED = "${CXX} -shared" export CCSHARED = "-fPIC -DPIC" # LINKFORSHARED are the flags passed to the $(CC) command that links # the python executable -export LINKFORSHARED = "{SECURITY_CFLAGS} -Xlinker -export-dynamic" +export LINKFORSHARED = "${SECURITY_CFLAGS} -Xlinker -export-dynamic" FILES_${PN} += "${libdir}/* ${libdir}/${PYTHON_DIR}/*" diff --git a/poky/meta/classes/distutils3-base.bbclass b/poky/meta/classes/distutils3-base.bbclass index 7dbf07ac4b..a277d1c7bc 100644 --- a/poky/meta/classes/distutils3-base.bbclass +++ b/poky/meta/classes/distutils3-base.bbclass @@ -1,5 +1,5 @@ DEPENDS += "${@["${PYTHON_PN}-native ${PYTHON_PN}", ""][(d.getVar('PACKAGES') == '')]}" RDEPENDS_${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}" -inherit distutils-common-base python3native +inherit distutils-common-base python3native python3targetconfig diff --git a/poky/meta/classes/extrausers.bbclass b/poky/meta/classes/extrausers.bbclass index 32569e97db..90811bfe2a 100644 --- a/poky/meta/classes/extrausers.bbclass +++ b/poky/meta/classes/extrausers.bbclass @@ -46,6 +46,9 @@ set_user_group () { usermod) perform_usermod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts" ;; + passwd-expire) + perform_passwd_expire "${IMAGE_ROOTFS}" "$opts" + ;; groupmod) perform_groupmod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts" ;; diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index c6dff9659c..cf2165c517 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -976,8 +976,8 @@ def package_qa_check_src_uri(pn, d, messages): package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d) for url in d.getVar("SRC_URI").split(): - if re.search(r"github\.com/.+/.+/archive/.+", url): - package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub archives" % pn, d) + if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url): + package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d) QARECIPETEST[unhandled-features-check] = "package_qa_check_unhandled_features_check" def package_qa_check_unhandled_features_check(pn, d, messages): diff --git a/poky/meta/classes/kernel-module-split.bbclass b/poky/meta/classes/kernel-module-split.bbclass index 221022b7bc..c8ede26996 100644 --- a/poky/meta/classes/kernel-module-split.bbclass +++ b/poky/meta/classes/kernel-module-split.bbclass @@ -120,6 +120,7 @@ python split_kernel_module_packages () { files = d.getVar('FILES_%s' % pkg) files = "%s /etc/modules-load.d/%s.conf /etc/modprobe.d/%s.conf" % (files, basename, basename) d.setVar('FILES_%s' % pkg, files) + d.setVar('CONFFILES_%s' % pkg, files) if "description" in vals: old_desc = d.getVar('DESCRIPTION_' + pkg) or "" diff --git a/poky/meta/classes/kernel-uboot.bbclass b/poky/meta/classes/kernel-uboot.bbclass index 87f02654fa..b1e7ac05c2 100644 --- a/poky/meta/classes/kernel-uboot.bbclass +++ b/poky/meta/classes/kernel-uboot.bbclass @@ -1,3 +1,7 @@ +# fitImage kernel compression algorithm +FIT_KERNEL_COMP_ALG ?= "gzip" +FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz" + uboot_prep_kimage() { if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux" @@ -11,8 +15,8 @@ uboot_prep_kimage() { linux_comp="none" else vmlinux_path="vmlinux" - linux_suffix=".gz" - linux_comp="gzip" + linux_suffix="${FIT_KERNEL_COMP_ALG_EXTENSION}" + linux_comp="${FIT_KERNEL_COMP_ALG}" fi [ -n "${vmlinux_path}" ] && ${OBJCOPY} -O binary -R .note -R .comment -S "${vmlinux_path}" linux.bin diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass index 78def5bbc1..1a444efabf 100644 --- a/poky/meta/classes/kernel.bbclass +++ b/poky/meta/classes/kernel.bbclass @@ -383,6 +383,10 @@ do_compile_kernelmodules() { # other kernel modules and will look at this # file to do symbol lookups cp ${B}/Module.symvers ${STAGING_KERNEL_BUILDDIR}/ + # 5.10+ kernels have module.lds that we need to copy for external module builds + if [ -e "${B}/scripts/module.lds" ]; then + install -Dm 0644 ${B}/scripts/module.lds ${STAGING_KERNEL_BUILDDIR}/scripts/module.lds + fi else bbnote "no modules to compile" fi @@ -586,7 +590,7 @@ addtask savedefconfig after do_configure inherit cml1 -KCONFIG_CONFIG_COMMAND_append = " HOSTLDFLAGS='${BUILD_LDFLAGS}'" +KCONFIG_CONFIG_COMMAND_append = " LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'" EXPORT_FUNCTIONS do_compile do_install do_configure diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass index 702e9f9c55..119c8dfc86 100644 --- a/poky/meta/classes/license_image.bbclass +++ b/poky/meta/classes/license_image.bbclass @@ -125,7 +125,6 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): licenses = os.listdir(pkg_license_dir) for lic in licenses: - rootfs_license = os.path.join(rootfs_license_dir, lic) pkg_license = os.path.join(pkg_license_dir, lic) pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic) @@ -144,6 +143,8 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): bad_licenses) == False: continue + # Make sure we use only canonical name for the license file + rootfs_license = os.path.join(rootfs_license_dir, "generic_%s" % generic_lic) if not os.path.exists(rootfs_license): oe.path.copyhardlink(pkg_license, rootfs_license) diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index e6236c0bb2..247bdc7bbf 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -2340,7 +2340,7 @@ python do_package () { # cache. This is useful if an item this class depends on changes in a # way that the output of this class changes. rpmdeps is a good example # as any change to rpmdeps requires this to be rerun. - # PACKAGE_BBCLASS_VERSION = "2" + # PACKAGE_BBCLASS_VERSION = "4" # Init cachedpath global cpath diff --git a/poky/meta/classes/python3-dir.bbclass b/poky/meta/classes/python3-dir.bbclass index 036d7140d9..f51f971fc5 100644 --- a/poky/meta/classes/python3-dir.bbclass +++ b/poky/meta/classes/python3-dir.bbclass @@ -1,4 +1,4 @@ -PYTHON_BASEVERSION = "3.8" +PYTHON_BASEVERSION = "3.9" PYTHON_ABI = "" PYTHON_DIR = "python${PYTHON_BASEVERSION}" PYTHON_PN = "python3" diff --git a/poky/meta/classes/python3native.bbclass b/poky/meta/classes/python3native.bbclass index d98fb4c758..2e3a88c126 100644 --- a/poky/meta/classes/python3native.bbclass +++ b/poky/meta/classes/python3native.bbclass @@ -17,8 +17,6 @@ export STAGING_LIBDIR export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so" export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}" -export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata" - # suppress host user's site-packages dirs. export PYTHONNOUSERSITE = "1" diff --git a/poky/meta/classes/python3targetconfig.bbclass b/poky/meta/classes/python3targetconfig.bbclass new file mode 100644 index 0000000000..fc1025c207 --- /dev/null +++ b/poky/meta/classes/python3targetconfig.bbclass @@ -0,0 +1,17 @@ +inherit python3native + +EXTRA_PYTHON_DEPENDS ?= "" +EXTRA_PYTHON_DEPENDS_class-target = "python3" +DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}" + +do_configure_prepend_class-target() { + export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata" +} + +do_compile_prepend_class-target() { + export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata" +} + +do_install_prepend_class-target() { + export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata" +} diff --git a/poky/meta/classes/qemuboot.bbclass b/poky/meta/classes/qemuboot.bbclass index 824676216e..4b7532b304 100644 --- a/poky/meta/classes/qemuboot.bbclass +++ b/poky/meta/classes/qemuboot.bbclass @@ -43,7 +43,7 @@ # QB_NETWORK_DEVICE_prepend might be used, since Qemu enumerates the eth* # devices in reverse order to -device arguments. # -# QB_TAP_OPT: netowrk option for 'tap' mode, e.g., +# QB_TAP_OPT: network option for 'tap' mode, e.g., # "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" # Note, runqemu will replace "@TAP@" with the one which is used, such as tap0, tap1 ... # diff --git a/poky/meta/classes/rootfs_deb.bbclass b/poky/meta/classes/rootfs_deb.bbclass index 2b93796a76..ef616da229 100644 --- a/poky/meta/classes/rootfs_deb.bbclass +++ b/poky/meta/classes/rootfs_deb.bbclass @@ -7,7 +7,7 @@ ROOTFS_PKGMANAGE = "dpkg apt" do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot" do_populate_sdk[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot bzip2-native:do_populate_sysroot" do_rootfs[recrdeptask] += "do_package_write_deb do_package_qa" -do_rootfs[vardeps] += "PACKAGE_FEED_URIS" +do_rootfs[vardeps] += "PACKAGE_FEED_URIS PACKAGE_FEED_BASE_PATHS PACKAGE_FEED_ARCHS" do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock" do_populate_sdk[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock" diff --git a/poky/meta/classes/rootfs_ipk.bbclass b/poky/meta/classes/rootfs_ipk.bbclass index e73d2bfdae..f1e0219732 100644 --- a/poky/meta/classes/rootfs_ipk.bbclass +++ b/poky/meta/classes/rootfs_ipk.bbclass @@ -11,7 +11,7 @@ ROOTFS_PKGMANAGE = "opkg ${EXTRAOPKGCONFIG}" do_rootfs[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot" do_populate_sdk[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot" do_rootfs[recrdeptask] += "do_package_write_ipk do_package_qa" -do_rootfs[vardeps] += "PACKAGE_FEED_URIS" +do_rootfs[vardeps] += "PACKAGE_FEED_URIS PACKAGE_FEED_BASE_PATHS PACKAGE_FEED_ARCHS" do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock" do_populate_sdk[lockfiles] += "${WORKDIR}/ipk.lock" diff --git a/poky/meta/classes/rootfs_rpm.bbclass b/poky/meta/classes/rootfs_rpm.bbclass index 82584f386c..0af7d65b1a 100644 --- a/poky/meta/classes/rootfs_rpm.bbclass +++ b/poky/meta/classes/rootfs_rpm.bbclass @@ -24,7 +24,7 @@ do_rootfs[depends] += "${RPMROOTFSDEPENDS}" do_populate_sdk[depends] += "${RPMROOTFSDEPENDS}" do_rootfs[recrdeptask] += "do_package_write_rpm do_package_qa" -do_rootfs[vardeps] += "PACKAGE_FEED_URIS" +do_rootfs[vardeps] += "PACKAGE_FEED_URIS PACKAGE_FEED_BASE_PATHS PACKAGE_FEED_ARCHS" python () { if d.getVar('BUILD_IMAGES_FROM_FEEDS'): diff --git a/poky/meta/classes/scons.bbclass b/poky/meta/classes/scons.bbclass index 6b171ca8df..4f3ae502ef 100644 --- a/poky/meta/classes/scons.bbclass +++ b/poky/meta/classes/scons.bbclass @@ -5,7 +5,6 @@ DEPENDS += "python3-scons-native" EXTRA_OESCONS ?= "" do_configure() { - unset _PYTHON_SYSCONFIGDATA_NAME if [ -n "${CONFIGURESTAMPFILE}" ]; then if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then ${STAGING_BINDIR_NATIVE}/scons --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} @@ -17,13 +16,11 @@ do_configure() { } scons_do_compile() { - unset _PYTHON_SYSCONFIGDATA_NAME ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \ die "scons build execution failed." } scons_do_install() { - unset _PYTHON_SYSCONFIGDATA_NAME ${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \ die "scons install execution failed." } diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index a8ae75101d..d08d950e76 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -72,6 +72,7 @@ BB_HASHFILENAME = "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}" SSTATE_ARCHS = " \ ${BUILD_ARCH} \ + ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \ ${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \ ${BUILD_ARCH}_${TARGET_ARCH} \ ${SDK_ARCH}_${SDK_OS} \ @@ -80,6 +81,7 @@ SSTATE_ARCHS = " \ ${PACKAGE_ARCH} \ ${PACKAGE_EXTRA_ARCHS} \ ${MACHINE_ARCH}" +SSTATE_ARCHS[vardepsexclude] = "ORIGNATIVELSBSTRING" SSTATE_MANMACH ?= "${SSTATE_PKGARCH}" @@ -121,6 +123,8 @@ SSTATE_HASHEQUIV_REPORT_TASKDATA[doc] = "Report additional useful data to the \ python () { if bb.data.inherits_class('native', d): d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH', False)) + if d.getVar("PN") == "pseudo-native": + d.appendVar('SSTATE_PKGARCH', '_${ORIGNATIVELSBSTRING}') elif bb.data.inherits_class('crosssdk', d): d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}")) elif bb.data.inherits_class('cross', d): diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass index e3feef02f8..78da4b09bd 100644 --- a/poky/meta/classes/testimage.bbclass +++ b/poky/meta/classes/testimage.bbclass @@ -367,6 +367,7 @@ def testimage_main(d): package_extraction(d, tc.suites) results = None + complete = False orig_sigterm_handler = signal.signal(signal.SIGTERM, sigterm_exception) try: # We need to check if runqemu ends unexpectedly @@ -378,6 +379,7 @@ def testimage_main(d): except ValueError: pass results = tc.runTests() + complete = True except (KeyboardInterrupt, BlockingIOError) as err: if isinstance(err, KeyboardInterrupt): bb.error('testimage interrupted, shutting down...') @@ -385,20 +387,21 @@ def testimage_main(d): bb.error('runqemu failed, shutting down...') if results: results.stop() - results = None + results = tc.results finally: signal.signal(signal.SIGTERM, orig_sigterm_handler) tc.target.stop() # Show results (if we have them) - if not results: + if results: + configuration = get_testimage_configuration(d, 'runtime', machine) + results.logDetails(get_testimage_json_result_dir(d), + configuration, + get_testimage_result_id(configuration), + dump_streams=d.getVar('TESTREPORT_FULLLOGS')) + results.logSummary(pn) + if not results or not complete: bb.fatal('%s - FAILED - tests were interrupted during execution' % pn, forcelog=True) - configuration = get_testimage_configuration(d, 'runtime', machine) - results.logDetails(get_testimage_json_result_dir(d), - configuration, - get_testimage_result_id(configuration), - dump_streams=d.getVar('TESTREPORT_FULLLOGS')) - results.logSummary(pn) if not results.wasSuccessful(): bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True) diff --git a/poky/meta/classes/useradd_base.bbclass b/poky/meta/classes/useradd_base.bbclass index 0d0bdb80f5..7f5b9b7219 100644 --- a/poky/meta/classes/useradd_base.bbclass +++ b/poky/meta/classes/useradd_base.bbclass @@ -145,3 +145,21 @@ perform_usermod () { fi set -e } + +perform_passwd_expire () { + local rootdir="$1" + local opts="$2" + bbnote "${PN}: Performing equivalent of passwd --expire with [$opts]" + # Directly set sp_lstchg to 0 without using the passwd command: Only root can do that + local username=`echo "$opts" | awk '{ print $NF }'` + local user_exists="`grep "^$username:" $rootdir/etc/passwd || true`" + if test "x$user_exists" != "x"; then + eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO sed -i \''s/^\('$username':[^:]*\):[^:]*:/\1:0:/'\' $rootdir/etc/shadow \" || true + local passwd_lastchanged="`grep "^$username:" $rootdir/etc/shadow | cut -d: -f3`" + if test "x$passwd_lastchanged" != "x0"; then + bbfatal "${PN}: passwd --expire operation did not succeed." + fi + else + bbnote "${PN}: user $username doesn't exist, not expiring its password" + fi +} diff --git a/poky/meta/conf/abi_version.conf b/poky/meta/conf/abi_version.conf index 5318a10190..251d43bb21 100644 --- a/poky/meta/conf/abi_version.conf +++ b/poky/meta/conf/abi_version.conf @@ -12,4 +12,4 @@ OELAYOUT_ABI = "14" # a reset of the equivalence, for example when reproducibility issues break the # existing match data. Distros can also append to this value for the same effect. # -HASHEQUIV_HASH_VERSION = "3" +HASHEQUIV_HASH_VERSION = "4" diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index 1b5cde2cbb..0d38eac094 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -685,7 +685,7 @@ SRC_URI = "" PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/" PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}:${PSEUDO_SYSROOT}" PSEUDO_SYSROOT = "${COMPONENTS_DIR}/${BUILD_ARCH}/pseudo-native" -PSEUDO_IGNORE_PATHS = "/usr/,/etc/,/lib,/dev/,${T},${WORKDIR}/recipe-sysroot,${SSTATE_DIR},${STAMPS_DIR},${WORKDIR}/pkgdata-sysroot,${TMPDIR}/sstate-control,${DEPLOY_DIR},${WORKDIR}/deploy-,${TMPDIR}/buildstats,${WORKDIR}/sstate-build-package_,${WORKDIR}/sstate-install-package_,${WORKDIR}/sstate-build-image_complete,${TMPDIR}/sysroots-components,${BUILDHISTORY_DIR},${TMPDIR}/pkgdata,${TOPDIR}/cache,${COREBASE}/scripts,${COREBASE}/meta" +PSEUDO_IGNORE_PATHS = "/usr/,/etc/,/lib,/dev/,${T},${WORKDIR}/recipe-sysroot,${SSTATE_DIR},${STAMPS_DIR},${WORKDIR}/pkgdata-sysroot,${TMPDIR}/sstate-control,${DEPLOY_DIR},${WORKDIR}/deploy-,${TMPDIR}/buildstats,${WORKDIR}/sstate-build-package_,${WORKDIR}/sstate-install-package_,${WORKDIR}/sstate-build-image_complete,${TMPDIR}/sysroots-components,${BUILDHISTORY_DIR},${TMPDIR}/pkgdata,${TOPDIR}/cache,${COREBASE}/scripts,${COREBASE}/meta,${CCACHE_DIR}" export PSEUDO_DISABLED = "1" #export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}" diff --git a/poky/meta/conf/conf-notes.txt b/poky/meta/conf/conf-notes.txt index 5af13a8357..1a9414a040 100644 --- a/poky/meta/conf/conf-notes.txt +++ b/poky/meta/conf/conf-notes.txt @@ -5,7 +5,9 @@ You can now run 'bitbake <target>' Common targets are: core-image-minimal + core-image-full-cmdline core-image-sato + core-image-weston meta-toolchain meta-ide-support diff --git a/poky/meta/conf/distro/include/lto.inc b/poky/meta/conf/distro/include/lto.inc new file mode 100644 index 0000000000..20895ad40d --- /dev/null +++ b/poky/meta/conf/distro/include/lto.inc @@ -0,0 +1,49 @@ +# To enable LTO, add following in local.conf +# require conf/distro/include/lto.inc +# DISTRO_FEATURES_append = " lto" +# + +# Disable LTO for following packages +LTO_pn-glibc = "" +LTO_pn-gcc-runtime = "" +LTO_pn-libgcc-initial = "" +LTO_pn-libgcc = "" +LTO_pn-libaio = "" +LTO_pn-libpam = "" +LTO_pn-elfutils = "" +LTO_pn-perl = "" +LTO_pn-busybox = "" +LTO_pn-libxcrypt = "" +LTO_pn-curl = "" +LTO_pn-libcap = "" +LTO_pn-libproxy = "" +LTO_pn-libbsd = "" +LTO_pn-perf = "" +# webkit is not linking properly with LTO, disable until next time +LTO_pn-webkitgtk = "" +LTO_pn-xserver-xorg = "" + +# Custom LTO flags +# disable partitioning/streaming algorithm since its uses ASM +# constructs not compatible with lto +LTOEXTRA_pn-alsa-lib = "-flto-partition=none" + +LTOEXTRA ?= "" + +# Override it for additional or different options if needed e.g. +# with clang thin-lto might be better for compile speed +# +# ffat-lto-objects +# object files that contain both the intermediate +# language and the object code. This makes them +# usable for both LTO linking and normal linking +# +# -fuse-linker-plugin +# ensures that libraries participate in LTO by supplying intermediate +# code from .a files to linker +LTO ?= "-flto -ffat-lto-objects -fuse-linker-plugin ${LTOEXTRA}" + +SELECTED_OPTIMIZATION_append = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}" +TARGET_LDFLAGS_append_class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}" + +SELECTED_OPTIMIZATION[vardeps] += "LTO LTOEXTRA" diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 7935f968c7..e9c69b2e6e 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -213,6 +213,7 @@ RECIPE_MAINTAINER_pn-glibc-scripts = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER_pn-glibc-testsuite = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER_pn-glide = "Otavio Salvador <otavio.salvador@ossystems.com.br>" RECIPE_MAINTAINER_pn-gmp = "Khem Raj <raj.khem@gmail.com>" +RECIPE_MAINTAINER_pn-glslang = "Jose Quaresma <quaresma.jose@gmail.com>" RECIPE_MAINTAINER_pn-gnome-desktop-testing = "Ross Burton <ross.burton@arm.com>" RECIPE_MAINTAINER_pn-gnu-config = "Robert Yang <liezhi.yang@windriver.com>" RECIPE_MAINTAINER_pn-gnu-efi = "Yi Zhao <yi.zhao@windriver.com>" @@ -237,8 +238,8 @@ RECIPE_MAINTAINER_pn-grub = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-grub-bootconf = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-grub-efi = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-gsettings-desktop-schemas = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-gst-devtools = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-gst-examples = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-gst-validate = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-gstreamer1.0 = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-gstreamer1.0-libav = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-gstreamer1.0-omx = "Anuj Mittal <anuj.mittal@intel.com>" @@ -367,6 +368,7 @@ RECIPE_MAINTAINER_pn-libpcre = "Yi Zhao <yi.zhao@windriver.com>" RECIPE_MAINTAINER_pn-libpcre2 = "Armin Kuster <akuster808@gmail.com>" RECIPE_MAINTAINER_pn-libpipeline = "Wang Mingyu <wangmy@cn.fujitsu.com>" RECIPE_MAINTAINER_pn-libpng = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-libportal = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-libproxy = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-libpthread-stubs = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-libpsl = "Anuj Mittal <anuj.mittal@intel.com>" @@ -532,6 +534,7 @@ RECIPE_MAINTAINER_pn-nfs-utils = "Robert Yang <liezhi.yang@windriver.com>" RECIPE_MAINTAINER_pn-ninja = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER_pn-npth = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-nss-myhostname = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-numactl = "Richard Purdie <richard.purdie@linuxfoundation.org>" RECIPE_MAINTAINER_pn-ofono = "Ross Burton <ross.burton@arm.com>" RECIPE_MAINTAINER_pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>" RECIPE_MAINTAINER_pn-openssh = "Armin Kuster <akuster808@gmail.com>" @@ -579,6 +582,8 @@ RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Tanu Kaskinen <tanuk@iki.fi> RECIPE_MAINTAINER_pn-puzzles = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-python3 = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-python3-async = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" +RECIPE_MAINTAINER_pn-python3-atomicwrites = "Tim Orling <timothy.t.orling@linux.intel.com>" +RECIPE_MAINTAINER_pn-python3-attrs = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-cython = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-python3-dbus = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>" RECIPE_MAINTAINER_pn-python3-dbusmock = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" @@ -588,28 +593,42 @@ RECIPE_MAINTAINER_pn-python3-pycryptodomex = "Joshua Watt <JPEWhacker@gmail.com> RECIPE_MAINTAINER_pn-python3-extras = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" +RECIPE_MAINTAINER_pn-python3-hypothesis = "Tim Orling <timothy.t.orling@linux.intel.com>" +RECIPE_MAINTAINER_pn-python3-importlib-metadata = "Tim Orling <timothy.t.orling@linux.intel.com>" +RECIPE_MAINTAINER_pn-python3-iniconfig = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>" RECIPE_MAINTAINER_pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>" RECIPE_MAINTAINER_pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>" RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-python3-markupsafe = "Richard Purdie <richard.purdie@linuxfoundation.org>" +RECIPE_MAINTAINER_pn-python3-more-itertools = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" +RECIPE_MAINTAINER_pn-python3-packaging = "Tim Orling <timothy.t.orling@linux.intel.com>" +RECIPE_MAINTAINER_pn-python3-pathlib2 = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-pbr = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>" RECIPE_MAINTAINER_pn-python3-pip = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>" +RECIPE_MAINTAINER_pn-python3-pluggy = "Tim Orling <timothy.t.orling@linux.intel.com>" +RECIPE_MAINTAINER_pn-python3-py = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-pycairo = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>" RECIPE_MAINTAINER_pn-python3-pyelftools = "Joshua Watt <JPEWhacker@gmail.com>" RECIPE_MAINTAINER_pn-python3-pygments = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-python3-pygobject = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>" RECIPE_MAINTAINER_pn-python3-pyparsing = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" +RECIPE_MAINTAINER_pn-python3-pytest = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" +RECIPE_MAINTAINER_pn-python3-setuptools-scm = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-six = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>" RECIPE_MAINTAINER_pn-python3-smmap = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" +RECIPE_MAINTAINER_pn-python3-sortedcontainers = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-subunit = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-python3-testtools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" +RECIPE_MAINTAINER_pn-python3-toml = "Tim Orling <timothy.t.orling@linux.intel.com>" +RECIPE_MAINTAINER_pn-python3-wcwidth = "Tim Orling <timothy.t.orling@linux.intel.com>" +RECIPE_MAINTAINER_pn-python3-zipp = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-qemu = "Richard Purdie <richard.purdie@linuxfoundation.org>" RECIPE_MAINTAINER_pn-qemu-helper-native = "Richard Purdie <richard.purdie@linuxfoundation.org>" RECIPE_MAINTAINER_pn-qemu-native = "Richard Purdie <richard.purdie@linuxfoundation.org>" @@ -641,6 +660,7 @@ RECIPE_MAINTAINER_pn-settings-daemon = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-shadow = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER_pn-shadow-securetty = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER_pn-shadow-sysroot = "Chen Qi <Qi.Chen@windriver.com>" +RECIPE_MAINTAINER_pn-shaderc = "Jose Quaresma <quaresma.jose@gmail.com>" RECIPE_MAINTAINER_pn-shared-mime-info = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-shutdown-desktop = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-signing-keys = "Richard Purdie <richard.purdie@linuxfoundation.org>" @@ -648,6 +668,7 @@ RECIPE_MAINTAINER_pn-slang = "Yi Zhao <yi.zhao@windriver.com>" RECIPE_MAINTAINER_pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>" RECIPE_MAINTAINER_pn-speex = "Tanu Kaskinen <tanuk@iki.fi>" RECIPE_MAINTAINER_pn-speexdsp = "Tanu Kaskinen <tanuk@iki.fi>" +RECIPE_MAINTAINER_pn-spirv-tools = "Jose Quaresma <quaresma.jose@gmail.com>" RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-squashfs-tools = "Robert Yang <liezhi.yang@windriver.com>" RECIPE_MAINTAINER_pn-ssh-pregen-hostkeys = "Richard Purdie <richard.purdie@linuxfoundation.org>" @@ -707,15 +728,16 @@ RECIPE_MAINTAINER_pn-vim-tiny = "Tom Rini <trini@konsulko.com>" RECIPE_MAINTAINER_pn-virglrenderer = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-volatile-binds = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER_pn-vte = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-vulkan-demos = "Ross Burton <ross.burton@arm.com>" RECIPE_MAINTAINER_pn-vulkan-headers = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-vulkan-loader = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER_pn-vulkan-samples = "Ross Burton <ross.burton@arm.com>" RECIPE_MAINTAINER_pn-vulkan-tools = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-waffle = "Ross Burton <ross.burton@arm.com>" RECIPE_MAINTAINER_pn-watchdog = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-watchdog-config = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-wayland = "Denys Dmytriyenko <denys@ti.com>" RECIPE_MAINTAINER_pn-wayland-protocols = "Denys Dmytriyenko <denys@ti.com>" +RECIPE_MAINTAINER_pn-wayland-utils = "Denys Dmytriyenko <denys@ti.com>" RECIPE_MAINTAINER_pn-webkitgtk = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-weston = "Denys Dmytriyenko <denys@ti.com>" RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denys@ti.com>" diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc index 50e8a20f35..75796a73fb 100644 --- a/poky/meta/conf/distro/include/tcmode-default.inc +++ b/poky/meta/conf/distro/include/tcmode-default.inc @@ -19,7 +19,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext" GCCVERSION ?= "10.%" SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.35%" -GDBVERSION ?= "9.%" +GDBVERSION ?= "10.%" GLIBCVERSION ?= "2.32" LINUXLIBCVERSION ?= "5.8%" QEMUVERSION ?= "5.1%" diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf index 2d9cd05695..cda37c33b4 100644 --- a/poky/meta/conf/layer.conf +++ b/poky/meta/conf/layer.conf @@ -104,4 +104,4 @@ SSTATE_EXCLUDEDEPS_SYSROOT += ".*->autoconf-archive-native" # We need to keep bitbake tools in PATH # Avoid empty path entries BITBAKEPATH := "${@os.path.dirname(bb.utils.which(d.getVar('PATH'),'bitbake'))}" -PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' is not '' else ''}${HOSTTOOLS_DIR}" +PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' != '' else ''}${HOSTTOOLS_DIR}" diff --git a/poky/meta/conf/machine/include/riscv/arch-riscv.inc b/poky/meta/conf/machine/include/riscv/arch-riscv.inc index e3dbef7fe3..eae2b88778 100644 --- a/poky/meta/conf/machine/include/riscv/arch-riscv.inc +++ b/poky/meta/conf/machine/include/riscv/arch-riscv.inc @@ -7,9 +7,6 @@ TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}" TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}" -# QEMU usermode fails with invalid instruction error (For riscv32) -MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32', ' qemu-usermode', '', d)}" - # Fix: ld: unrecognized option '--hash-style=sysv' LINKER_HASH_STYLE_libc-newlib = "" # Fix: ld: unrecognized option '--hash-style=gnu' diff --git a/poky/meta/conf/machine/include/tune-arm9tdmi.inc b/poky/meta/conf/machine/include/tune-arm9tdmi.inc index 6160664fd0..8a46f8e5df 100644 --- a/poky/meta/conf/machine/include/tune-arm9tdmi.inc +++ b/poky/meta/conf/machine/include/tune-arm9tdmi.inc @@ -10,4 +10,4 @@ AVAILTUNES += "arm9tdmi" ARMPKGARCH_tune-arm9tdmi = "arm9tdmi" # mcpu is used so don't use armv4t as we don't want march TUNE_FEATURES_tune-arm9tdmi = "arm thumb arm9tdmi" -PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmit" +PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmi arm9tdmit" diff --git a/poky/meta/files/common-licenses/bzip2-1.0.4 b/poky/meta/files/common-licenses/bzip2-1.0.4 new file mode 100644 index 0000000000..4458e35bb5 --- /dev/null +++ b/poky/meta/files/common-licenses/bzip2-1.0.4 @@ -0,0 +1,43 @@ + +-------------------------------------------------------------------------- + +This program, "bzip2", the associated library "libbzip2", and all +documentation, are copyright (C) 1996-2006 Julian R Seward. All +rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Julian Seward, Cambridge, UK. +jseward@bzip.org +bzip2/libbzip2 version 1.0.4 of 20 December 2006 + +-------------------------------------------------------------------------- diff --git a/poky/meta/files/fs-perms-persistent-log.txt b/poky/meta/files/fs-perms-persistent-log.txt index 3a7cf3ab94..518c1be3c9 100644 --- a/poky/meta/files/fs-perms-persistent-log.txt +++ b/poky/meta/files/fs-perms-persistent-log.txt @@ -41,7 +41,7 @@ ${includedir} 0755 root root true 0644 root root ${oldincludedir} 0755 root root true 0644 root root # Cleanup debug src -/usr/src/debug 0755 root root true - root root +/usr/src/debug 0755 root root true 0644 root root # Items from base-files # Links diff --git a/poky/meta/files/fs-perms.txt b/poky/meta/files/fs-perms.txt index c8c3ac5dbe..daa4aed840 100644 --- a/poky/meta/files/fs-perms.txt +++ b/poky/meta/files/fs-perms.txt @@ -41,7 +41,7 @@ ${includedir} 0755 root root true 0644 root root ${oldincludedir} 0755 root root true 0644 root root # Cleanup debug src -/usr/src/debug 0755 root root true - root root +/usr/src/debug 0755 root root true 0644 root root # Items from base-files # Links diff --git a/poky/meta/lib/oe/buildhistory_analysis.py b/poky/meta/lib/oe/buildhistory_analysis.py index 2d6fa1779e..b1856846b6 100644 --- a/poky/meta/lib/oe/buildhistory_analysis.py +++ b/poky/meta/lib/oe/buildhistory_analysis.py @@ -373,8 +373,10 @@ def compare_file_lists(alines, blines, compare_ownership=True): removals.remove(removal2) continue filechanges.append(FileChange(removal, FileChange.changetype_move, addition)) - additions.remove(addition) - removals.remove(removal) + if addition in additions: + additions.remove(addition) + if removal in removals: + removals.remove(removal) for rename in renames: filechanges.append(FileChange(renames[rename], FileChange.changetype_move, rename)) diff --git a/poky/meta/lib/oe/manifest.py b/poky/meta/lib/oe/manifest.py index 47bd622412..1a058dcd73 100644 --- a/poky/meta/lib/oe/manifest.py +++ b/poky/meta/lib/oe/manifest.py @@ -191,14 +191,8 @@ class Manifest(object, metaclass=ABCMeta): def create_manifest(d, final_manifest=False, manifest_dir=None, manifest_type=Manifest.MANIFEST_TYPE_IMAGE): - from oe.package_manager.rpm.manifest import RpmManifest - from oe.package_manager.ipk.manifest import OpkgManifest - from oe.package_manager.deb.manifest import DpkgManifest - manifest_map = {'rpm': RpmManifest, - 'ipk': OpkgManifest, - 'deb': DpkgManifest} - - manifest = manifest_map[d.getVar('IMAGE_PKGTYPE')](d, manifest_dir, manifest_type) + import importlib + manifest = importlib.import_module('oe.package_manager.' + d.getVar('IMAGE_PKGTYPE') + '.manifest').PkgManifest(d, manifest_dir, manifest_type) if final_manifest: manifest.create_final() diff --git a/poky/meta/lib/oe/package_manager/deb/__init__.py b/poky/meta/lib/oe/package_manager/deb/__init__.py index 72155b178c..10ad707c23 100644 --- a/poky/meta/lib/oe/package_manager/deb/__init__.py +++ b/poky/meta/lib/oe/package_manager/deb/__init__.py @@ -79,7 +79,7 @@ class DpkgIndexer(Indexer): if self.d.getVar('PACKAGE_FEED_SIGN') == '1': raise NotImplementedError('Package feed signing not implementd for dpkg') -class DpkgPkgsList(PkgsList): +class PMPkgsList(PkgsList): def list_pkgs(self): cmd = [bb.utils.which(os.getenv('PATH'), "dpkg-query"), @@ -282,7 +282,7 @@ class DpkgPM(OpkgDpkgPM): os.environ['APT_CONFIG'] = self.apt_conf_file - cmd = "%s %s install --force-yes --allow-unauthenticated --no-remove %s" % \ + cmd = "%s %s install --allow-downgrades --allow-remove-essential --allow-change-held-packages --allow-unauthenticated --no-remove %s" % \ (self.apt_get_cmd, self.apt_args, ' '.join(pkgs)) try: @@ -312,6 +312,8 @@ class DpkgPM(OpkgDpkgPM): if not pkgs: return + os.environ['INTERCEPT_DIR'] = self.intercepts_dir + if with_dependencies: os.environ['APT_CONFIG'] = self.apt_conf_file cmd = "%s purge %s" % (self.apt_get_cmd, ' '.join(pkgs)) @@ -459,7 +461,7 @@ class DpkgPM(OpkgDpkgPM): "returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8"))) def list_installed(self): - return DpkgPkgsList(self.d, self.target_rootfs).list_pkgs() + return PMPkgsList(self.d, self.target_rootfs).list_pkgs() def package_info(self, pkg): """ diff --git a/poky/meta/lib/oe/package_manager/deb/manifest.py b/poky/meta/lib/oe/package_manager/deb/manifest.py index 0b12036644..d8eab24a06 100644 --- a/poky/meta/lib/oe/package_manager/deb/manifest.py +++ b/poky/meta/lib/oe/package_manager/deb/manifest.py @@ -4,7 +4,7 @@ from oe.manifest import Manifest -class DpkgManifest(Manifest): +class PkgManifest(Manifest): def create_initial(self): with open(self.initial_manifest, "w+") as manifest: manifest.write(self.initial_manifest_file_header) diff --git a/poky/meta/lib/oe/package_manager/deb/rootfs.py b/poky/meta/lib/oe/package_manager/deb/rootfs.py index 819f67eda5..8fbaca11d6 100644 --- a/poky/meta/lib/oe/package_manager/deb/rootfs.py +++ b/poky/meta/lib/oe/package_manager/deb/rootfs.py @@ -7,7 +7,7 @@ import shutil from oe.rootfs import Rootfs from oe.manifest import Manifest from oe.utils import execute_pre_post_process -from oe.package_manager.deb.manifest import DpkgManifest +from oe.package_manager.deb.manifest import PkgManifest from oe.package_manager.deb import DpkgPM class DpkgOpkgRootfs(Rootfs): @@ -120,9 +120,9 @@ class DpkgOpkgRootfs(Rootfs): num += 1 -class DpkgRootfs(DpkgOpkgRootfs): +class PkgRootfs(DpkgOpkgRootfs): def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None): - super(DpkgRootfs, self).__init__(d, progress_reporter, logcatcher) + super(PkgRootfs, self).__init__(d, progress_reporter, logcatcher) self.log_check_regex = '^E:' self.log_check_expected_regexes = \ [ @@ -131,7 +131,7 @@ class DpkgRootfs(DpkgOpkgRootfs): bb.utils.remove(self.image_rootfs, True) bb.utils.remove(self.d.getVar('MULTILIB_TEMP_ROOTFS'), True) - self.manifest = DpkgManifest(d, manifest_dir) + self.manifest = PkgManifest(d, manifest_dir) self.pm = DpkgPM(d, d.getVar('IMAGE_ROOTFS'), d.getVar('PACKAGE_ARCHS'), d.getVar('DPKG_ARCH')) diff --git a/poky/meta/lib/oe/package_manager/deb/sdk.py b/poky/meta/lib/oe/package_manager/deb/sdk.py index b25eb70b00..9859d8f32d 100644 --- a/poky/meta/lib/oe/package_manager/deb/sdk.py +++ b/poky/meta/lib/oe/package_manager/deb/sdk.py @@ -8,19 +8,19 @@ from oe.utils import execute_pre_post_process from oe.sdk import Sdk from oe.manifest import Manifest from oe.package_manager.deb import DpkgPM +from oe.package_manager.deb.manifest import PkgManifest -class DpkgSdk(Sdk): +class PkgSdk(Sdk): def __init__(self, d, manifest_dir=None): - super(DpkgSdk, self).__init__(d, manifest_dir) + super(PkgSdk, self).__init__(d, manifest_dir) self.target_conf_dir = os.path.join(self.d.getVar("APTCONF_TARGET"), "apt") self.host_conf_dir = os.path.join(self.d.getVar("APTCONF_TARGET"), "apt-sdk") - from oe.package_manager.deb.manifest import DpkgManifest - self.target_manifest = DpkgManifest(d, self.manifest_dir, + self.target_manifest = PkgManifest(d, self.manifest_dir, Manifest.MANIFEST_TYPE_SDK_TARGET) - self.host_manifest = DpkgManifest(d, self.manifest_dir, + self.host_manifest = PkgManifest(d, self.manifest_dir, Manifest.MANIFEST_TYPE_SDK_HOST) deb_repo_workdir = "oe-sdk-repo" diff --git a/poky/meta/lib/oe/package_manager/ipk/__init__.py b/poky/meta/lib/oe/package_manager/ipk/__init__.py index 9603993a59..416ed23d47 100644 --- a/poky/meta/lib/oe/package_manager/ipk/__init__.py +++ b/poky/meta/lib/oe/package_manager/ipk/__init__.py @@ -59,9 +59,10 @@ class OpkgIndexer(Indexer): self.d.getVar('PACKAGE_FEED_GPG_PASSPHRASE_FILE'), armor=is_ascii_sig) -class OpkgPkgsList(PkgsList): - def __init__(self, d, rootfs_dir, config_file): - super(OpkgPkgsList, self).__init__(d, rootfs_dir) +class PMPkgsList(PkgsList): + def __init__(self, d, rootfs_dir): + super(PMPkgsList, self).__init__(d, rootfs_dir) + config_file = d.getVar("IPKGCONF_TARGET") self.opkg_cmd = bb.utils.which(os.getenv('PATH'), "opkg") self.opkg_args = "-f %s -o %s " % (config_file, rootfs_dir) @@ -416,7 +417,7 @@ class OpkgPM(OpkgDpkgPM): bb.utils.remove(os.path.join(self.opkg_dir, "lists"), True) def list_installed(self): - return OpkgPkgsList(self.d, self.target_rootfs, self.config_file).list_pkgs() + return PMPkgsList(self.d, self.target_rootfs).list_pkgs() def dummy_install(self, pkgs): """ diff --git a/poky/meta/lib/oe/package_manager/ipk/manifest.py b/poky/meta/lib/oe/package_manager/ipk/manifest.py index 69676903ab..ee4b57bcb0 100644 --- a/poky/meta/lib/oe/package_manager/ipk/manifest.py +++ b/poky/meta/lib/oe/package_manager/ipk/manifest.py @@ -4,7 +4,7 @@ from oe.manifest import Manifest -class OpkgManifest(Manifest): +class PkgManifest(Manifest): """ Returns a dictionary object with mip and mlp packages. """ diff --git a/poky/meta/lib/oe/package_manager/ipk/rootfs.py b/poky/meta/lib/oe/package_manager/ipk/rootfs.py index 63b4a59c40..26dbee6f6a 100644 --- a/poky/meta/lib/oe/package_manager/ipk/rootfs.py +++ b/poky/meta/lib/oe/package_manager/ipk/rootfs.py @@ -8,7 +8,7 @@ import shutil from oe.rootfs import Rootfs from oe.manifest import Manifest from oe.utils import execute_pre_post_process -from oe.package_manager.ipk.manifest import OpkgManifest +from oe.package_manager.ipk.manifest import PkgManifest from oe.package_manager.ipk import OpkgPM class DpkgOpkgRootfs(Rootfs): @@ -121,12 +121,12 @@ class DpkgOpkgRootfs(Rootfs): num += 1 -class OpkgRootfs(DpkgOpkgRootfs): +class PkgRootfs(DpkgOpkgRootfs): def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None): - super(OpkgRootfs, self).__init__(d, progress_reporter, logcatcher) + super(PkgRootfs, self).__init__(d, progress_reporter, logcatcher) self.log_check_regex = '(exit 1|Collected errors)' - self.manifest = OpkgManifest(d, manifest_dir) + self.manifest = PkgManifest(d, manifest_dir) self.opkg_conf = self.d.getVar("IPKGCONF_TARGET") self.pkg_archs = self.d.getVar("ALL_MULTILIB_PACKAGE_ARCHS") diff --git a/poky/meta/lib/oe/package_manager/ipk/sdk.py b/poky/meta/lib/oe/package_manager/ipk/sdk.py index 47c0a92c1b..37af0344eb 100644 --- a/poky/meta/lib/oe/package_manager/ipk/sdk.py +++ b/poky/meta/lib/oe/package_manager/ipk/sdk.py @@ -6,20 +6,20 @@ import glob import shutil from oe.utils import execute_pre_post_process from oe.sdk import Sdk +from oe.package_manager.ipk.manifest import PkgManifest from oe.manifest import Manifest from oe.package_manager.ipk import OpkgPM -class OpkgSdk(Sdk): +class PkgSdk(Sdk): def __init__(self, d, manifest_dir=None): - super(OpkgSdk, self).__init__(d, manifest_dir) + super(PkgSdk, self).__init__(d, manifest_dir) self.target_conf = self.d.getVar("IPKGCONF_TARGET") self.host_conf = self.d.getVar("IPKGCONF_SDK") - from oe.package_manager.ipk.manifest import OpkgManifest - self.target_manifest = OpkgManifest(d, self.manifest_dir, + self.target_manifest = PkgManifest(d, self.manifest_dir, Manifest.MANIFEST_TYPE_SDK_TARGET) - self.host_manifest = OpkgManifest(d, self.manifest_dir, + self.host_manifest = PkgManifest(d, self.manifest_dir, Manifest.MANIFEST_TYPE_SDK_HOST) ipk_repo_workdir = "oe-sdk-repo" diff --git a/poky/meta/lib/oe/package_manager/rpm/__init__.py b/poky/meta/lib/oe/package_manager/rpm/__init__.py index c91f61ae5c..898184442f 100644 --- a/poky/meta/lib/oe/package_manager/rpm/__init__.py +++ b/poky/meta/lib/oe/package_manager/rpm/__init__.py @@ -43,7 +43,7 @@ class RpmSubdirIndexer(RpmIndexer): self.do_write_index(dir_path) -class RpmPkgsList(PkgsList): +class PMPkgsList(PkgsList): def list_pkgs(self): return RpmPM(self.d, self.rootfs_dir, self.d.getVar('TARGET_VENDOR'), needfeed=False).list_installed() diff --git a/poky/meta/lib/oe/package_manager/rpm/manifest.py b/poky/meta/lib/oe/package_manager/rpm/manifest.py index a75f6bdabf..e6604b301f 100644 --- a/poky/meta/lib/oe/package_manager/rpm/manifest.py +++ b/poky/meta/lib/oe/package_manager/rpm/manifest.py @@ -4,7 +4,7 @@ from oe.manifest import Manifest -class RpmManifest(Manifest): +class PkgManifest(Manifest): """ Returns a dictionary object with mip and mlp packages. """ diff --git a/poky/meta/lib/oe/package_manager/rpm/rootfs.py b/poky/meta/lib/oe/package_manager/rpm/rootfs.py index 2de5752b91..00d07cd9cc 100644 --- a/poky/meta/lib/oe/package_manager/rpm/rootfs.py +++ b/poky/meta/lib/oe/package_manager/rpm/rootfs.py @@ -5,17 +5,17 @@ from oe.rootfs import Rootfs from oe.manifest import Manifest from oe.utils import execute_pre_post_process -from oe.package_manager.rpm.manifest import RpmManifest +from oe.package_manager.rpm.manifest import PkgManifest from oe.package_manager.rpm import RpmPM -class RpmRootfs(Rootfs): +class PkgRootfs(Rootfs): def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None): - super(RpmRootfs, self).__init__(d, progress_reporter, logcatcher) + super(PkgRootfs, self).__init__(d, progress_reporter, logcatcher) self.log_check_regex = r'(unpacking of archive failed|Cannot find package'\ r'|exit 1|ERROR: |Error: |Error |ERROR '\ r'|Failed |Failed: |Failed$|Failed\(\d+\):)' - self.manifest = RpmManifest(d, manifest_dir) + self.manifest = PkgManifest(d, manifest_dir) self.pm = RpmPM(d, d.getVar('IMAGE_ROOTFS'), diff --git a/poky/meta/lib/oe/package_manager/rpm/sdk.py b/poky/meta/lib/oe/package_manager/rpm/sdk.py index b14b155a85..c5f232431f 100644 --- a/poky/meta/lib/oe/package_manager/rpm/sdk.py +++ b/poky/meta/lib/oe/package_manager/rpm/sdk.py @@ -6,16 +6,16 @@ import glob from oe.utils import execute_pre_post_process from oe.sdk import Sdk from oe.manifest import Manifest +from oe.package_manager.rpm.manifest import PkgManifest from oe.package_manager.rpm import RpmPM -class RpmSdk(Sdk): +class PkgSdk(Sdk): def __init__(self, d, manifest_dir=None, rpm_workdir="oe-sdk-repo"): - super(RpmSdk, self).__init__(d, manifest_dir) + super(PkgSdk, self).__init__(d, manifest_dir) - from oe.package_manager.rpm.manifest import RpmManifest - self.target_manifest = RpmManifest(d, self.manifest_dir, + self.target_manifest = PkgManifest(d, self.manifest_dir, Manifest.MANIFEST_TYPE_SDK_TARGET) - self.host_manifest = RpmManifest(d, self.manifest_dir, + self.host_manifest = PkgManifest(d, self.manifest_dir, Manifest.MANIFEST_TYPE_SDK_HOST) rpm_repo_workdir = "oe-sdk-repo" diff --git a/poky/meta/lib/oe/prservice.py b/poky/meta/lib/oe/prservice.py index 2d3c9c7e50..fcdbe66c19 100644 --- a/poky/meta/lib/oe/prservice.py +++ b/poky/meta/lib/oe/prservice.py @@ -3,10 +3,6 @@ # def prserv_make_conn(d, check = False): - # Otherwise this fails when called from recipes which e.g. inherit python3native (which sets _PYTHON_SYSCONFIGDATA_NAME) with: - # No module named '_sysconfigdata' - if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ: - del os.environ['_PYTHON_SYSCONFIGDATA_NAME'] import prserv.serv host_params = list([_f for _f in (d.getVar("PRSERV_HOST") or '').split(':') if _f]) try: diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py index 4e09eae6b9..4b747dd0f4 100644 --- a/poky/meta/lib/oe/rootfs.py +++ b/poky/meta/lib/oe/rootfs.py @@ -10,12 +10,6 @@ import shutil import os import subprocess import re -from oe.package_manager.rpm.manifest import RpmManifest -from oe.package_manager.ipk.manifest import OpkgManifest -from oe.package_manager.deb.manifest import DpkgManifest -from oe.package_manager.rpm import RpmPkgsList -from oe.package_manager.ipk import OpkgPkgsList -from oe.package_manager.deb import DpkgPkgsList class Rootfs(object, metaclass=ABCMeta): """ @@ -360,12 +354,9 @@ class Rootfs(object, metaclass=ABCMeta): def get_class_for_type(imgtype): - from oe.package_manager.rpm.rootfs import RpmRootfs - from oe.package_manager.ipk.rootfs import OpkgRootfs - from oe.package_manager.deb.rootfs import DpkgRootfs - return {"rpm": RpmRootfs, - "ipk": OpkgRootfs, - "deb": DpkgRootfs}[imgtype] + import importlib + mod = importlib.import_module('oe.package_manager.' + imgtype + '.rootfs') + return mod.PkgRootfs def variable_depends(d, manifest_dir=None): img_type = d.getVar('IMAGE_PKGTYPE') @@ -375,17 +366,10 @@ def variable_depends(d, manifest_dir=None): def create_rootfs(d, manifest_dir=None, progress_reporter=None, logcatcher=None): env_bkp = os.environ.copy() - from oe.package_manager.rpm.rootfs import RpmRootfs - from oe.package_manager.ipk.rootfs import OpkgRootfs - from oe.package_manager.deb.rootfs import DpkgRootfs img_type = d.getVar('IMAGE_PKGTYPE') - if img_type == "rpm": - RpmRootfs(d, manifest_dir, progress_reporter, logcatcher).create() - elif img_type == "ipk": - OpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create() - elif img_type == "deb": - DpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create() + cls = get_class_for_type(img_type) + cls(d, manifest_dir, progress_reporter, logcatcher).create() os.environ.clear() os.environ.update(env_bkp) @@ -395,12 +379,10 @@ def image_list_installed_packages(d, rootfs_dir=None): rootfs_dir = d.getVar('IMAGE_ROOTFS') img_type = d.getVar('IMAGE_PKGTYPE') - if img_type == "rpm": - return RpmPkgsList(d, rootfs_dir).list_pkgs() - elif img_type == "ipk": - return OpkgPkgsList(d, rootfs_dir, d.getVar("IPKGCONF_TARGET")).list_pkgs() - elif img_type == "deb": - return DpkgPkgsList(d, rootfs_dir).list_pkgs() + + import importlib + cls = importlib.import_module('oe.package_manager.' + img_type) + return cls.PMPkgsList(d, rootfs_dir).list_pkgs() if __name__ == "__main__": """ diff --git a/poky/meta/lib/oe/sdk.py b/poky/meta/lib/oe/sdk.py index fdcadcb8de..37b59afd1a 100644 --- a/poky/meta/lib/oe/sdk.py +++ b/poky/meta/lib/oe/sdk.py @@ -115,33 +115,18 @@ def sdk_list_installed_packages(d, target, rootfs_dir=None): rootfs_dir = [sdk_output, os.path.join(sdk_output, target_path)][target is True] - from oe.package_manager.rpm import RpmPkgsList - from oe.package_manager.ipk import OpkgPkgsList - from oe.package_manager.deb import DpkgPkgsList img_type = d.getVar('IMAGE_PKGTYPE') - if img_type == "rpm": - arch_var = ["SDK_PACKAGE_ARCHS", None][target is True] - os_var = ["SDK_OS", None][target is True] - return RpmPkgsList(d, rootfs_dir).list_pkgs() - elif img_type == "ipk": - conf_file_var = ["IPKGCONF_SDK", "IPKGCONF_TARGET"][target is True] - return OpkgPkgsList(d, rootfs_dir, d.getVar(conf_file_var)).list_pkgs() - elif img_type == "deb": - return DpkgPkgsList(d, rootfs_dir).list_pkgs() + import importlib + cls = importlib.import_module('oe.package_manager.' + img_type) + return cls.PMPkgsList(d, rootfs_dir).list_pkgs() def populate_sdk(d, manifest_dir=None): env_bkp = os.environ.copy() img_type = d.getVar('IMAGE_PKGTYPE') - from oe.package_manager.rpm.sdk import RpmSdk - from oe.package_manager.ipk.sdk import OpkgSdk - from oe.package_manager.deb.sdk import DpkgSdk - if img_type == "rpm": - RpmSdk(d, manifest_dir).populate() - elif img_type == "ipk": - OpkgSdk(d, manifest_dir).populate() - elif img_type == "deb": - DpkgSdk(d, manifest_dir).populate() + import importlib + cls = importlib.import_module('oe.package_manager.' + img_type + '.sdk') + cls.PkgSdk(d, manifest_dir).populate() os.environ.clear() os.environ.update(env_bkp) diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py index 4b8f264012..adfe2e403b 100644 --- a/poky/meta/lib/oe/sstatesig.py +++ b/poky/meta/lib/oe/sstatesig.py @@ -162,12 +162,7 @@ class SignatureGeneratorOEBasicHashMixIn(object): else: return super().get_taskhash(tid, deps, dataCaches) - # get_taskhash will call get_unihash internally in the parent class, we - # need to disable our filter of it whilst this runs else - # incorrect hashes can be calculated. - self._internal = True h = super().get_taskhash(tid, deps, dataCaches) - self._internal = False (mc, _, task, fn) = bb.runqueue.split_tid_mcfn(tid) @@ -439,7 +434,7 @@ def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache): d2 = multilibcache[variant] if taskdata.endswith("-native"): - pkgarchs = ["${BUILD_ARCH}"] + pkgarchs = ["${BUILD_ARCH}", "${BUILD_ARCH}_${ORIGNATIVELSBSTRING}"] elif taskdata.startswith("nativesdk-"): pkgarchs = ["${SDK_ARCH}_${SDK_OS}", "allarch"] elif "-cross-canadian" in taskdata: @@ -484,6 +479,9 @@ def OEOuthashBasic(path, sigfile, task, d): include_owners = os.environ.get('PSEUDO_DISABLED') == '0' if "package_write_" in task or task == "package_qa": include_owners = False + include_timestamps = False + if task == "package": + include_timestamps = d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1' extra_content = d.getVar('HASHEQUIV_HASH_VERSION') try: @@ -558,6 +556,9 @@ def OEOuthashBasic(path, sigfile, task, d): bb.warn("KeyError in %s" % path) raise + if include_timestamps: + update_hash(" %10d" % s.st_mtime) + update_hash(" ") if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode): update_hash("%9s" % ("%d.%d" % (os.major(s.st_rdev), os.minor(s.st_rdev)))) diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py index 7d3fa3b84a..2abe353d27 100644 --- a/poky/meta/lib/oeqa/core/context.py +++ b/poky/meta/lib/oeqa/core/context.py @@ -31,6 +31,9 @@ class OETestContext(object): self._registry = {} self._registry['cases'] = collections.OrderedDict() + self.results = unittest.TestResult() + unittest.registerResult(self.results) + def _read_modules_from_manifest(self, manifest): if not os.path.exists(manifest): raise OEQAMissingManifest("Manifest does not exist on %s" % manifest) @@ -82,6 +85,7 @@ class OETestContext(object): self.skipTests(skips) self._run_start_time = time.time() + self._run_end_time = self._run_start_time if not processes: self.runner.buffer = True result = self.runner.run(self.prepareSuite(self.suites, processes)) diff --git a/poky/meta/lib/oeqa/runtime/cases/weston.py b/poky/meta/lib/oeqa/runtime/cases/weston.py index 36b4f9e375..a1c7183213 100644 --- a/poky/meta/lib/oeqa/runtime/cases/weston.py +++ b/poky/meta/lib/oeqa/runtime/cases/weston.py @@ -34,7 +34,7 @@ class WestonTest(OERuntimeTestCase): return 'export XDG_RUNTIME_DIR=/run/user/0; export WAYLAND_DISPLAY=wayland-0; %s' % cmd def run_weston_init(self): - if 'systemd' in self.tc.td['DISTRO_FEATURES']: + if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']: self.target.run('systemd-run --collect --unit=weston-ptest.service --uid=0 -p PAMName=login -p TTYPath=/dev/tty6 -E XDG_RUNTIME_DIR=/tmp -E WAYLAND_DISPLAY=wayland-0 /usr/bin/weston --socket=wayland-1 --log=%s' % self.weston_log_file) else: self.target.run(self.get_weston_command('openvt -- weston --socket=wayland-1 --log=%s' % self.weston_log_file)) @@ -51,10 +51,10 @@ class WestonTest(OERuntimeTestCase): return new_wl_processes, try_cnt - @OEHasPackage(['weston']) - def test_weston_info(self): - status, output = self.target.run(self.get_weston_command('weston-info')) - self.assertEqual(status, 0, msg='weston-info error: %s' % output) + @OEHasPackage(['wayland-utils']) + def test_wayland_info(self): + status, output = self.target.run(self.get_weston_command('wayland-info')) + self.assertEqual(status, 0, msg='wayland-info error: %s' % output) @OEHasPackage(['weston']) def test_weston_can_initialize_new_wayland_compositor(self): @@ -66,7 +66,7 @@ class WestonTest(OERuntimeTestCase): new_wl_processes, try_cnt = self.get_new_wayland_processes(existing_wl_processes) existing_and_new_weston_processes = self.get_processes_of('weston', 'existing and new') new_weston_processes = [x for x in existing_and_new_weston_processes if x not in existing_weston_processes] - if 'systemd' in self.tc.td['DISTRO_FEATURES']: + if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']: self.target.run('systemctl stop weston-ptest.service') else: for w in new_weston_processes: diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py index dc423ec439..79390acc0d 100644 --- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py @@ -89,6 +89,7 @@ class BitbakeTests(OESelftestTestCase): image_dir = bb_vars['D'] pkgsplit_dir = bb_vars['PKGDEST'] man_dir = bb_vars['mandir'] + self.write_config("PACKAGE_CLASSES = \"package_rpm\"") bitbake('-c clean %s' % test_recipe) bitbake('-c package -f %s' % test_recipe) diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py index 1bb1c4bee4..7189e4e6c5 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -384,7 +384,7 @@ KERNEL_EXTRA_FEATURES_append = " features/debug/debug-kernel.scc" KERNEL_EXTRA_FEATURES_append = " features/systemtap/systemtap.scc" # add systemtap run-time into target image if it is not there yet -IMAGE_INSTALL_append = " systemtap" +IMAGE_INSTALL_append = " systemtap-runtime" """ def test_crosstap_helloworld(self): diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py index 8059cbce3e..6c1535ddfb 100644 --- a/poky/meta/lib/oeqa/utils/commands.py +++ b/poky/meta/lib/oeqa/utils/commands.py @@ -125,11 +125,11 @@ class Command(object): def stop(self): for thread in self.threads: - if thread.isAlive(): + if thread.is_alive(): self.process.terminate() # let's give it more time to terminate gracefully before killing it thread.join(5) - if thread.isAlive(): + if thread.is_alive(): self.process.kill() thread.join() diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch new file mode 100644 index 0000000000..637e368cb0 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch @@ -0,0 +1,1863 @@ +From bcdd6a55952222ec9829a59348240a4f983b0b56 Mon Sep 17 00:00:00 2001 +From: Peter Jones <pjones@redhat.com> +Date: Mon, 15 Jun 2020 12:26:01 -0400 +Subject: [PATCH 4/9] calloc: Use calloc() at most places + +This modifies most of the places we do some form of: + + X = malloc(Y * Z); + +to use calloc(Y, Z) instead. + +Among other issues, this fixes: + - allocation of integer overflow in grub_png_decode_image_header() + reported by Chris Coulson, + - allocation of integer overflow in luks_recover_key() + reported by Chris Coulson, + - allocation of integer overflow in grub_lvm_detect() + reported by Chris Coulson. + +Fixes: CVE-2020-14308 + +Signed-off-by: Peter Jones <pjones@redhat.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> + +Upstream-Status: Backport +CVE: CVE-2020-14308 + +Reference to upstream patch: +https://git.savannah.gnu.org/cgit/grub.git/commit/?id=f725fa7cb2ece547c5af01eeeecfe8d95802ed41 + +[YL: don't patch on grub-core/lib/json/json.c, which is not existing in grub 2.04] +Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> +--- + grub-core/bus/usb/usbhub.c | 8 ++++---- + grub-core/commands/efi/lsefisystab.c | 3 ++- + grub-core/commands/legacycfg.c | 6 +++--- + grub-core/commands/menuentry.c | 2 +- + grub-core/commands/nativedisk.c | 2 +- + grub-core/commands/parttool.c | 12 +++++++++--- + grub-core/commands/regexp.c | 2 +- + grub-core/commands/search_wrap.c | 2 +- + grub-core/disk/diskfilter.c | 4 ++-- + grub-core/disk/ieee1275/ofdisk.c | 2 +- + grub-core/disk/ldm.c | 14 +++++++------- + grub-core/disk/luks.c | 2 +- + grub-core/disk/lvm.c | 12 ++++++------ + grub-core/disk/xen/xendisk.c | 2 +- + grub-core/efiemu/loadcore.c | 2 +- + grub-core/efiemu/mm.c | 6 +++--- + grub-core/font/font.c | 3 +-- + grub-core/fs/affs.c | 6 +++--- + grub-core/fs/btrfs.c | 6 +++--- + grub-core/fs/hfs.c | 2 +- + grub-core/fs/hfsplus.c | 6 +++--- + grub-core/fs/iso9660.c | 2 +- + grub-core/fs/ntfs.c | 4 ++-- + grub-core/fs/sfs.c | 2 +- + grub-core/fs/tar.c | 2 +- + grub-core/fs/udf.c | 4 ++-- + grub-core/fs/zfs/zfs.c | 4 ++-- + grub-core/gfxmenu/gui_string_util.c | 2 +- + grub-core/gfxmenu/widget-box.c | 4 ++-- + grub-core/io/gzio.c | 2 +- + grub-core/kern/efi/efi.c | 6 +++--- + grub-core/kern/emu/hostdisk.c | 2 +- + grub-core/kern/fs.c | 2 +- + grub-core/kern/misc.c | 2 +- + grub-core/kern/parser.c | 2 +- + grub-core/kern/uboot/uboot.c | 2 +- + grub-core/lib/libgcrypt/cipher/ac.c | 8 ++++---- + grub-core/lib/libgcrypt/cipher/primegen.c | 4 ++-- + grub-core/lib/libgcrypt/cipher/pubkey.c | 4 ++-- + grub-core/lib/priority_queue.c | 2 +- + grub-core/lib/reed_solomon.c | 7 +++---- + grub-core/lib/relocator.c | 10 +++++----- + grub-core/lib/zstd/fse_decompress.c | 2 +- + grub-core/loader/arm/linux.c | 2 +- + grub-core/loader/efi/chainloader.c | 2 +- + grub-core/loader/i386/bsdXX.c | 2 +- + grub-core/loader/i386/xnu.c | 4 ++-- + grub-core/loader/macho.c | 2 +- + grub-core/loader/multiboot_elfxx.c | 2 +- + grub-core/loader/xnu.c | 2 +- + grub-core/mmap/mmap.c | 4 ++-- + grub-core/net/bootp.c | 2 +- + grub-core/net/dns.c | 10 +++++----- + grub-core/net/net.c | 4 ++-- + grub-core/normal/charset.c | 10 +++++----- + grub-core/normal/cmdline.c | 14 +++++++------- + grub-core/normal/menu_entry.c | 14 +++++++------- + grub-core/normal/menu_text.c | 4 ++-- + grub-core/normal/term.c | 4 ++-- + grub-core/osdep/linux/getroot.c | 6 +++--- + grub-core/osdep/unix/config.c | 2 +- + grub-core/osdep/windows/getroot.c | 2 +- + grub-core/osdep/windows/hostdisk.c | 4 ++-- + grub-core/osdep/windows/init.c | 2 +- + grub-core/osdep/windows/platform.c | 4 ++-- + grub-core/osdep/windows/relpath.c | 2 +- + grub-core/partmap/gpt.c | 2 +- + grub-core/partmap/msdos.c | 2 +- + grub-core/script/execute.c | 2 +- + grub-core/tests/fake_input.c | 2 +- + grub-core/tests/video_checksum.c | 6 +++--- + grub-core/video/capture.c | 2 +- + grub-core/video/emu/sdl.c | 2 +- + grub-core/video/i386/pc/vga.c | 2 +- + grub-core/video/readers/png.c | 2 +- + include/grub/unicode.h | 4 ++-- + util/getroot.c | 2 +- + util/grub-file.c | 2 +- + util/grub-fstest.c | 4 ++-- + util/grub-install-common.c | 2 +- + util/grub-install.c | 4 ++-- + util/grub-mkimagexx.c | 6 ++---- + util/grub-mkrescue.c | 4 ++-- + util/grub-mkstandalone.c | 2 +- + util/grub-pe2elf.c | 12 +++++------- + util/grub-probe.c | 4 ++-- + 86 files changed, 178 insertions(+), 177 deletions(-) + +diff --git a/grub-core/bus/usb/usbhub.c b/grub-core/bus/usb/usbhub.c +index 34a7ff1..a06cce3 100644 +--- a/grub-core/bus/usb/usbhub.c ++++ b/grub-core/bus/usb/usbhub.c +@@ -149,8 +149,8 @@ grub_usb_add_hub (grub_usb_device_t dev) + grub_usb_set_configuration (dev, 1); + + dev->nports = hubdesc.portcnt; +- dev->children = grub_zalloc (hubdesc.portcnt * sizeof (dev->children[0])); +- dev->ports = grub_zalloc (dev->nports * sizeof (dev->ports[0])); ++ dev->children = grub_calloc (hubdesc.portcnt, sizeof (dev->children[0])); ++ dev->ports = grub_calloc (dev->nports, sizeof (dev->ports[0])); + if (!dev->children || !dev->ports) + { + grub_free (dev->children); +@@ -268,8 +268,8 @@ grub_usb_controller_dev_register_iter (grub_usb_controller_t controller, void *d + + /* Query the number of ports the root Hub has. */ + hub->nports = controller->dev->hubports (controller); +- hub->devices = grub_zalloc (sizeof (hub->devices[0]) * hub->nports); +- hub->ports = grub_zalloc (sizeof (hub->ports[0]) * hub->nports); ++ hub->devices = grub_calloc (hub->nports, sizeof (hub->devices[0])); ++ hub->ports = grub_calloc (hub->nports, sizeof (hub->ports[0])); + if (!hub->devices || !hub->ports) + { + grub_free (hub->devices); +diff --git a/grub-core/commands/efi/lsefisystab.c b/grub-core/commands/efi/lsefisystab.c +index df10302..cd81507 100644 +--- a/grub-core/commands/efi/lsefisystab.c ++++ b/grub-core/commands/efi/lsefisystab.c +@@ -71,7 +71,8 @@ grub_cmd_lsefisystab (struct grub_command *cmd __attribute__ ((unused)), + grub_printf ("Vendor: "); + + for (vendor_utf16 = st->firmware_vendor; *vendor_utf16; vendor_utf16++); +- vendor = grub_malloc (4 * (vendor_utf16 - st->firmware_vendor) + 1); ++ /* Allocate extra 3 bytes to simplify math. */ ++ vendor = grub_calloc (4, vendor_utf16 - st->firmware_vendor + 1); + if (!vendor) + return grub_errno; + *grub_utf16_to_utf8 ((grub_uint8_t *) vendor, st->firmware_vendor, +diff --git a/grub-core/commands/legacycfg.c b/grub-core/commands/legacycfg.c +index db7a8f0..5e3ec0d 100644 +--- a/grub-core/commands/legacycfg.c ++++ b/grub-core/commands/legacycfg.c +@@ -314,7 +314,7 @@ grub_cmd_legacy_kernel (struct grub_command *mycmd __attribute__ ((unused)), + if (argc < 2) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); + +- cutargs = grub_malloc (sizeof (cutargs[0]) * (argc - 1)); ++ cutargs = grub_calloc (argc - 1, sizeof (cutargs[0])); + if (!cutargs) + return grub_errno; + cutargc = argc - 1; +@@ -436,7 +436,7 @@ grub_cmd_legacy_kernel (struct grub_command *mycmd __attribute__ ((unused)), + { + char rbuf[3] = "-r"; + bsdargc = cutargc + 2; +- bsdargs = grub_malloc (sizeof (bsdargs[0]) * bsdargc); ++ bsdargs = grub_calloc (bsdargc, sizeof (bsdargs[0])); + if (!bsdargs) + { + err = grub_errno; +@@ -559,7 +559,7 @@ grub_cmd_legacy_initrdnounzip (struct grub_command *mycmd __attribute__ ((unused + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("can't find command `%s'"), + "module"); + +- newargs = grub_malloc ((argc + 1) * sizeof (newargs[0])); ++ newargs = grub_calloc (argc + 1, sizeof (newargs[0])); + if (!newargs) + return grub_errno; + grub_memcpy (newargs + 1, args, argc * sizeof (newargs[0])); +diff --git a/grub-core/commands/menuentry.c b/grub-core/commands/menuentry.c +index 2c5363d..9164df7 100644 +--- a/grub-core/commands/menuentry.c ++++ b/grub-core/commands/menuentry.c +@@ -154,7 +154,7 @@ grub_normal_add_menu_entry (int argc, const char **args, + goto fail; + + /* Save argc, args to pass as parameters to block arg later. */ +- menu_args = grub_malloc (sizeof (char*) * (argc + 1)); ++ menu_args = grub_calloc (argc + 1, sizeof (char *)); + if (! menu_args) + goto fail; + +diff --git a/grub-core/commands/nativedisk.c b/grub-core/commands/nativedisk.c +index 699447d..7c8f97f 100644 +--- a/grub-core/commands/nativedisk.c ++++ b/grub-core/commands/nativedisk.c +@@ -195,7 +195,7 @@ grub_cmd_nativedisk (grub_command_t cmd __attribute__ ((unused)), + else + path_prefix = prefix; + +- mods = grub_malloc (argc * sizeof (mods[0])); ++ mods = grub_calloc (argc, sizeof (mods[0])); + if (!mods) + return grub_errno; + +diff --git a/grub-core/commands/parttool.c b/grub-core/commands/parttool.c +index 22b46b1..051e313 100644 +--- a/grub-core/commands/parttool.c ++++ b/grub-core/commands/parttool.c +@@ -59,7 +59,13 @@ grub_parttool_register(const char *part_name, + for (nargs = 0; args[nargs].name != 0; nargs++); + cur->nargs = nargs; + cur->args = (struct grub_parttool_argdesc *) +- grub_malloc ((nargs + 1) * sizeof (struct grub_parttool_argdesc)); ++ grub_calloc (nargs + 1, sizeof (struct grub_parttool_argdesc)); ++ if (!cur->args) ++ { ++ grub_free (cur); ++ curhandle--; ++ return -1; ++ } + grub_memcpy (cur->args, args, + (nargs + 1) * sizeof (struct grub_parttool_argdesc)); + +@@ -257,7 +263,7 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)), + return err; + } + +- parsed = (int *) grub_zalloc (argc * sizeof (int)); ++ parsed = (int *) grub_calloc (argc, sizeof (int)); + + for (i = 1; i < argc; i++) + if (! parsed[i]) +@@ -290,7 +296,7 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)), + } + ptool = cur; + pargs = (struct grub_parttool_args *) +- grub_zalloc (ptool->nargs * sizeof (struct grub_parttool_args)); ++ grub_calloc (ptool->nargs, sizeof (struct grub_parttool_args)); + for (j = i; j < argc; j++) + if (! parsed[j]) + { +diff --git a/grub-core/commands/regexp.c b/grub-core/commands/regexp.c +index f00b184..4019164 100644 +--- a/grub-core/commands/regexp.c ++++ b/grub-core/commands/regexp.c +@@ -116,7 +116,7 @@ grub_cmd_regexp (grub_extcmd_context_t ctxt, int argc, char **args) + if (ret) + goto fail; + +- matches = grub_zalloc (sizeof (*matches) * (regex.re_nsub + 1)); ++ matches = grub_calloc (regex.re_nsub + 1, sizeof (*matches)); + if (! matches) + goto fail; + +diff --git a/grub-core/commands/search_wrap.c b/grub-core/commands/search_wrap.c +index d7fd26b..47fc8eb 100644 +--- a/grub-core/commands/search_wrap.c ++++ b/grub-core/commands/search_wrap.c +@@ -122,7 +122,7 @@ grub_cmd_search (grub_extcmd_context_t ctxt, int argc, char **args) + for (i = 0; state[SEARCH_HINT_BAREMETAL].args[i]; i++) + nhints++; + +- hints = grub_malloc (sizeof (hints[0]) * nhints); ++ hints = grub_calloc (nhints, sizeof (hints[0])); + if (!hints) + return grub_errno; + j = 0; +diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c +index c3b578a..68ca9e0 100644 +--- a/grub-core/disk/diskfilter.c ++++ b/grub-core/disk/diskfilter.c +@@ -1134,7 +1134,7 @@ grub_diskfilter_make_raid (grub_size_t uuidlen, char *uuid, int nmemb, + array->lvs->segments->node_count = nmemb; + array->lvs->segments->raid_member_size = disk_size; + array->lvs->segments->nodes +- = grub_zalloc (nmemb * sizeof (array->lvs->segments->nodes[0])); ++ = grub_calloc (nmemb, sizeof (array->lvs->segments->nodes[0])); + array->lvs->segments->stripe_size = stripe_size; + for (i = 0; i < nmemb; i++) + { +@@ -1226,7 +1226,7 @@ insert_array (grub_disk_t disk, const struct grub_diskfilter_pv_id *id, + grub_partition_t p; + for (p = disk->partition; p; p = p->parent) + s++; +- pv->partmaps = xmalloc (s * sizeof (pv->partmaps[0])); ++ pv->partmaps = xcalloc (s, sizeof (pv->partmaps[0])); + s = 0; + for (p = disk->partition; p; p = p->parent) + pv->partmaps[s++] = xstrdup (p->partmap->name); +diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c +index f73257e..03674cb 100644 +--- a/grub-core/disk/ieee1275/ofdisk.c ++++ b/grub-core/disk/ieee1275/ofdisk.c +@@ -297,7 +297,7 @@ dev_iterate (const struct grub_ieee1275_devalias *alias) + /* Power machines documentation specify 672 as maximum SAS disks in + one system. Using a slightly larger value to be safe. */ + table_size = 768; +- table = grub_malloc (table_size * sizeof (grub_uint64_t)); ++ table = grub_calloc (table_size, sizeof (grub_uint64_t)); + + if (!table) + { +diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c +index 2a22d2d..e632370 100644 +--- a/grub-core/disk/ldm.c ++++ b/grub-core/disk/ldm.c +@@ -323,8 +323,8 @@ make_vg (grub_disk_t disk, + lv->segments->type = GRUB_DISKFILTER_MIRROR; + lv->segments->node_count = 0; + lv->segments->node_alloc = 8; +- lv->segments->nodes = grub_zalloc (sizeof (*lv->segments->nodes) +- * lv->segments->node_alloc); ++ lv->segments->nodes = grub_calloc (lv->segments->node_alloc, ++ sizeof (*lv->segments->nodes)); + if (!lv->segments->nodes) + goto fail2; + ptr = vblk[i].dynamic; +@@ -543,8 +543,8 @@ make_vg (grub_disk_t disk, + { + comp->segment_alloc = 8; + comp->segment_count = 0; +- comp->segments = grub_malloc (sizeof (*comp->segments) +- * comp->segment_alloc); ++ comp->segments = grub_calloc (comp->segment_alloc, ++ sizeof (*comp->segments)); + if (!comp->segments) + goto fail2; + } +@@ -590,8 +590,8 @@ make_vg (grub_disk_t disk, + } + comp->segments->node_count = read_int (ptr + 1, *ptr); + comp->segments->node_alloc = comp->segments->node_count; +- comp->segments->nodes = grub_zalloc (sizeof (*comp->segments->nodes) +- * comp->segments->node_alloc); ++ comp->segments->nodes = grub_calloc (comp->segments->node_alloc, ++ sizeof (*comp->segments->nodes)); + if (!lv->segments->nodes) + goto fail2; + } +@@ -1017,7 +1017,7 @@ grub_util_ldm_embed (struct grub_disk *disk, unsigned int *nsectors, + *nsectors = lv->size; + if (*nsectors > max_nsectors) + *nsectors = max_nsectors; +- *sectors = grub_malloc (*nsectors * sizeof (**sectors)); ++ *sectors = grub_calloc (*nsectors, sizeof (**sectors)); + if (!*sectors) + return grub_errno; + for (i = 0; i < *nsectors; i++) +diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c +index 86c50c6..18b3a8b 100644 +--- a/grub-core/disk/luks.c ++++ b/grub-core/disk/luks.c +@@ -336,7 +336,7 @@ luks_recover_key (grub_disk_t source, + && grub_be_to_cpu32 (header.keyblock[i].stripes) > max_stripes) + max_stripes = grub_be_to_cpu32 (header.keyblock[i].stripes); + +- split_key = grub_malloc (keysize * max_stripes); ++ split_key = grub_calloc (keysize, max_stripes); + if (!split_key) + return grub_errno; + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index dc6b83b..7b5fbbc 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -209,7 +209,7 @@ grub_lvm_detect (grub_disk_t disk, + first one. */ + + /* Allocate buffer space for the circular worst-case scenario. */ +- metadatabuf = grub_malloc (2 * mda_size); ++ metadatabuf = grub_calloc (2, mda_size); + if (! metadatabuf) + goto fail; + +@@ -464,7 +464,7 @@ grub_lvm_detect (grub_disk_t disk, + #endif + goto lvs_fail; + } +- lv->segments = grub_zalloc (sizeof (*seg) * lv->segment_count); ++ lv->segments = grub_calloc (lv->segment_count, sizeof (*seg)); + seg = lv->segments; + + for (i = 0; i < lv->segment_count; i++) +@@ -521,8 +521,8 @@ grub_lvm_detect (grub_disk_t disk, + if (seg->node_count != 1) + seg->stripe_size = grub_lvm_getvalue (&p, "stripe_size = "); + +- seg->nodes = grub_zalloc (sizeof (*stripe) +- * seg->node_count); ++ seg->nodes = grub_calloc (seg->node_count, ++ sizeof (*stripe)); + stripe = seg->nodes; + + p = grub_strstr (p, "stripes = ["); +@@ -898,7 +898,7 @@ grub_lvm_detect (grub_disk_t disk, + break; + if (lv) + { +- cache->lv->segments = grub_malloc (lv->segment_count * sizeof (*lv->segments)); ++ cache->lv->segments = grub_calloc (lv->segment_count, sizeof (*lv->segments)); + if (!cache->lv->segments) + { + grub_lvm_free_cache_lvs (cache_lvs); +@@ -911,7 +911,7 @@ grub_lvm_detect (grub_disk_t disk, + struct grub_diskfilter_node *nodes = lv->segments[i].nodes; + grub_size_t node_count = lv->segments[i].node_count; + +- cache->lv->segments[i].nodes = grub_malloc (node_count * sizeof (*nodes)); ++ cache->lv->segments[i].nodes = grub_calloc (node_count, sizeof (*nodes)); + if (!cache->lv->segments[i].nodes) + { + for (j = 0; j < i; ++j) +diff --git a/grub-core/disk/xen/xendisk.c b/grub-core/disk/xen/xendisk.c +index 48476cb..d6612ee 100644 +--- a/grub-core/disk/xen/xendisk.c ++++ b/grub-core/disk/xen/xendisk.c +@@ -426,7 +426,7 @@ grub_xendisk_init (void) + if (!ctr) + return; + +- virtdisks = grub_malloc (ctr * sizeof (virtdisks[0])); ++ virtdisks = grub_calloc (ctr, sizeof (virtdisks[0])); + if (!virtdisks) + return; + if (grub_xenstore_dir ("device/vbd", fill, &ctr)) +diff --git a/grub-core/efiemu/loadcore.c b/grub-core/efiemu/loadcore.c +index 44085ef..2b92462 100644 +--- a/grub-core/efiemu/loadcore.c ++++ b/grub-core/efiemu/loadcore.c +@@ -201,7 +201,7 @@ grub_efiemu_count_symbols (const Elf_Ehdr *e) + + grub_efiemu_nelfsyms = (unsigned) s->sh_size / (unsigned) s->sh_entsize; + grub_efiemu_elfsyms = (struct grub_efiemu_elf_sym *) +- grub_malloc (sizeof (struct grub_efiemu_elf_sym) * grub_efiemu_nelfsyms); ++ grub_calloc (grub_efiemu_nelfsyms, sizeof (struct grub_efiemu_elf_sym)); + + /* Relocators */ + for (i = 0, s = (Elf_Shdr *) ((char *) e + e->e_shoff); +diff --git a/grub-core/efiemu/mm.c b/grub-core/efiemu/mm.c +index 52a032f..9b8e0d0 100644 +--- a/grub-core/efiemu/mm.c ++++ b/grub-core/efiemu/mm.c +@@ -554,11 +554,11 @@ grub_efiemu_mmap_sort_and_uniq (void) + /* Initialize variables*/ + grub_memset (present, 0, sizeof (int) * GRUB_EFI_MAX_MEMORY_TYPE); + scanline_events = (struct grub_efiemu_mmap_scan *) +- grub_malloc (sizeof (struct grub_efiemu_mmap_scan) * 2 * mmap_num); ++ grub_calloc (mmap_num, sizeof (struct grub_efiemu_mmap_scan) * 2); + + /* Number of chunks can't increase more than by factor of 2 */ + result = (grub_efi_memory_descriptor_t *) +- grub_malloc (sizeof (grub_efi_memory_descriptor_t) * 2 * mmap_num); ++ grub_calloc (mmap_num, sizeof (grub_efi_memory_descriptor_t) * 2); + if (!result || !scanline_events) + { + grub_free (result); +@@ -660,7 +660,7 @@ grub_efiemu_mm_do_alloc (void) + + /* Preallocate mmap */ + efiemu_mmap = (grub_efi_memory_descriptor_t *) +- grub_malloc (mmap_reserved_size * sizeof (grub_efi_memory_descriptor_t)); ++ grub_calloc (mmap_reserved_size, sizeof (grub_efi_memory_descriptor_t)); + if (!efiemu_mmap) + { + grub_efiemu_unload (); +diff --git a/grub-core/font/font.c b/grub-core/font/font.c +index 85a2925..8e118b3 100644 +--- a/grub-core/font/font.c ++++ b/grub-core/font/font.c +@@ -293,8 +293,7 @@ load_font_index (grub_file_t file, grub_uint32_t sect_length, struct + font->num_chars = sect_length / FONT_CHAR_INDEX_ENTRY_SIZE; + + /* Allocate the character index array. */ +- font->char_index = grub_malloc (font->num_chars +- * sizeof (struct char_index_entry)); ++ font->char_index = grub_calloc (font->num_chars, sizeof (struct char_index_entry)); + if (!font->char_index) + return 1; + font->bmp_idx = grub_malloc (0x10000 * sizeof (grub_uint16_t)); +diff --git a/grub-core/fs/affs.c b/grub-core/fs/affs.c +index 6b6a2bc..220b371 100644 +--- a/grub-core/fs/affs.c ++++ b/grub-core/fs/affs.c +@@ -301,7 +301,7 @@ grub_affs_read_symlink (grub_fshelp_node_t node) + return 0; + } + latin1[symlink_size] = 0; +- utf8 = grub_malloc (symlink_size * GRUB_MAX_UTF8_PER_LATIN1 + 1); ++ utf8 = grub_calloc (GRUB_MAX_UTF8_PER_LATIN1 + 1, symlink_size); + if (!utf8) + { + grub_free (latin1); +@@ -422,7 +422,7 @@ grub_affs_iterate_dir (grub_fshelp_node_t dir, + return 1; + } + +- hashtable = grub_zalloc (data->htsize * sizeof (*hashtable)); ++ hashtable = grub_calloc (data->htsize, sizeof (*hashtable)); + if (!hashtable) + return 1; + +@@ -628,7 +628,7 @@ grub_affs_label (grub_device_t device, char **label) + len = file.namelen; + if (len > sizeof (file.name)) + len = sizeof (file.name); +- *label = grub_malloc (len * GRUB_MAX_UTF8_PER_LATIN1 + 1); ++ *label = grub_calloc (GRUB_MAX_UTF8_PER_LATIN1 + 1, len); + if (*label) + *grub_latin1_to_utf8 ((grub_uint8_t *) *label, file.name, len) = '\0'; + } +diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c +index 48bd3d0..11272ef 100644 +--- a/grub-core/fs/btrfs.c ++++ b/grub-core/fs/btrfs.c +@@ -413,7 +413,7 @@ lower_bound (struct grub_btrfs_data *data, + { + desc->allocated = 16; + desc->depth = 0; +- desc->data = grub_malloc (sizeof (desc->data[0]) * desc->allocated); ++ desc->data = grub_calloc (desc->allocated, sizeof (desc->data[0])); + if (!desc->data) + return grub_errno; + } +@@ -752,7 +752,7 @@ raid56_read_retry (struct grub_btrfs_data *data, + grub_err_t ret = GRUB_ERR_OUT_OF_MEMORY; + grub_uint64_t i, failed_devices; + +- buffers = grub_zalloc (sizeof(*buffers) * nstripes); ++ buffers = grub_calloc (nstripes, sizeof (*buffers)); + if (!buffers) + goto cleanup; + +@@ -2160,7 +2160,7 @@ grub_btrfs_embed (grub_device_t device __attribute__ ((unused)), + *nsectors = 64 * 2 - 1; + if (*nsectors > max_nsectors) + *nsectors = max_nsectors; +- *sectors = grub_malloc (*nsectors * sizeof (**sectors)); ++ *sectors = grub_calloc (*nsectors, sizeof (**sectors)); + if (!*sectors) + return grub_errno; + for (i = 0; i < *nsectors; i++) +diff --git a/grub-core/fs/hfs.c b/grub-core/fs/hfs.c +index ac0a409..3fe842b 100644 +--- a/grub-core/fs/hfs.c ++++ b/grub-core/fs/hfs.c +@@ -1360,7 +1360,7 @@ grub_hfs_label (grub_device_t device, char **label) + grub_size_t len = data->sblock.volname[0]; + if (len > sizeof (data->sblock.volname) - 1) + len = sizeof (data->sblock.volname) - 1; +- *label = grub_malloc (len * MAX_UTF8_PER_MAC_ROMAN + 1); ++ *label = grub_calloc (MAX_UTF8_PER_MAC_ROMAN + 1, len); + if (*label) + macroman_to_utf8 (*label, data->sblock.volname + 1, + len + 1, 0); +diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c +index 54786bb..dae43be 100644 +--- a/grub-core/fs/hfsplus.c ++++ b/grub-core/fs/hfsplus.c +@@ -720,7 +720,7 @@ list_nodes (void *record, void *hook_arg) + if (! filename) + return 0; + +- keyname = grub_malloc (grub_be_to_cpu16 (catkey->namelen) * sizeof (*keyname)); ++ keyname = grub_calloc (grub_be_to_cpu16 (catkey->namelen), sizeof (*keyname)); + if (!keyname) + { + grub_free (filename); +@@ -1007,7 +1007,7 @@ grub_hfsplus_label (grub_device_t device, char **label) + grub_hfsplus_btree_recptr (&data->catalog_tree, node, ptr); + + label_len = grub_be_to_cpu16 (catkey->namelen); +- label_name = grub_malloc (label_len * sizeof (*label_name)); ++ label_name = grub_calloc (label_len, sizeof (*label_name)); + if (!label_name) + { + grub_free (node); +@@ -1029,7 +1029,7 @@ grub_hfsplus_label (grub_device_t device, char **label) + } + } + +- *label = grub_malloc (label_len * GRUB_MAX_UTF8_PER_UTF16 + 1); ++ *label = grub_calloc (label_len, GRUB_MAX_UTF8_PER_UTF16 + 1); + if (! *label) + { + grub_free (label_name); +diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c +index 49c0c63..4f1b52a 100644 +--- a/grub-core/fs/iso9660.c ++++ b/grub-core/fs/iso9660.c +@@ -331,7 +331,7 @@ grub_iso9660_convert_string (grub_uint8_t *us, int len) + int i; + grub_uint16_t t[MAX_NAMELEN / 2 + 1]; + +- p = grub_malloc (len * GRUB_MAX_UTF8_PER_UTF16 + 1); ++ p = grub_calloc (len, GRUB_MAX_UTF8_PER_UTF16 + 1); + if (! p) + return NULL; + +diff --git a/grub-core/fs/ntfs.c b/grub-core/fs/ntfs.c +index fc4e1f6..2f34f76 100644 +--- a/grub-core/fs/ntfs.c ++++ b/grub-core/fs/ntfs.c +@@ -556,8 +556,8 @@ get_utf8 (grub_uint8_t *in, grub_size_t len) + grub_uint16_t *tmp; + grub_size_t i; + +- buf = grub_malloc (len * GRUB_MAX_UTF8_PER_UTF16 + 1); +- tmp = grub_malloc (len * sizeof (tmp[0])); ++ buf = grub_calloc (len, GRUB_MAX_UTF8_PER_UTF16 + 1); ++ tmp = grub_calloc (len, sizeof (tmp[0])); + if (!buf || !tmp) + { + grub_free (buf); +diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c +index 50c1fe7..90f7fb3 100644 +--- a/grub-core/fs/sfs.c ++++ b/grub-core/fs/sfs.c +@@ -266,7 +266,7 @@ grub_sfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock) + node->next_extent = node->block; + node->cache_size = 0; + +- node->cache = grub_malloc (sizeof (node->cache[0]) * cache_size); ++ node->cache = grub_calloc (cache_size, sizeof (node->cache[0])); + if (!node->cache) + { + grub_errno = 0; +diff --git a/grub-core/fs/tar.c b/grub-core/fs/tar.c +index 7d63e0c..c551ed6 100644 +--- a/grub-core/fs/tar.c ++++ b/grub-core/fs/tar.c +@@ -120,7 +120,7 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + if (data->linkname_alloc < linksize + 1) + { + char *n; +- n = grub_malloc (2 * (linksize + 1)); ++ n = grub_calloc (2, linksize + 1); + if (!n) + return grub_errno; + grub_free (data->linkname); +diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c +index dc8b6e2..a837616 100644 +--- a/grub-core/fs/udf.c ++++ b/grub-core/fs/udf.c +@@ -873,7 +873,7 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf) + { + unsigned i; + utf16len = sz - 1; +- utf16 = grub_malloc (utf16len * sizeof (utf16[0])); ++ utf16 = grub_calloc (utf16len, sizeof (utf16[0])); + if (!utf16) + return NULL; + for (i = 0; i < utf16len; i++) +@@ -883,7 +883,7 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf) + { + unsigned i; + utf16len = (sz - 1) / 2; +- utf16 = grub_malloc (utf16len * sizeof (utf16[0])); ++ utf16 = grub_calloc (utf16len, sizeof (utf16[0])); + if (!utf16) + return NULL; + for (i = 0; i < utf16len; i++) +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index 2f72e42..381dde5 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -3325,7 +3325,7 @@ dnode_get_fullpath (const char *fullpath, struct subvolume *subvol, + } + subvol->nkeys = 0; + zap_iterate (&keychain_dn, 8, count_zap_keys, &ctx, data); +- subvol->keyring = grub_zalloc (subvol->nkeys * sizeof (subvol->keyring[0])); ++ subvol->keyring = grub_calloc (subvol->nkeys, sizeof (subvol->keyring[0])); + if (!subvol->keyring) + { + grub_free (fsname); +@@ -4336,7 +4336,7 @@ grub_zfs_embed (grub_device_t device __attribute__ ((unused)), + *nsectors = (VDEV_BOOT_SIZE >> GRUB_DISK_SECTOR_BITS); + if (*nsectors > max_nsectors) + *nsectors = max_nsectors; +- *sectors = grub_malloc (*nsectors * sizeof (**sectors)); ++ *sectors = grub_calloc (*nsectors, sizeof (**sectors)); + if (!*sectors) + return grub_errno; + for (i = 0; i < *nsectors; i++) +diff --git a/grub-core/gfxmenu/gui_string_util.c b/grub-core/gfxmenu/gui_string_util.c +index a9a415e..ba1e1ea 100644 +--- a/grub-core/gfxmenu/gui_string_util.c ++++ b/grub-core/gfxmenu/gui_string_util.c +@@ -55,7 +55,7 @@ canonicalize_path (const char *path) + if (*p == '/') + components++; + +- char **path_array = grub_malloc (components * sizeof (*path_array)); ++ char **path_array = grub_calloc (components, sizeof (*path_array)); + if (! path_array) + return 0; + +diff --git a/grub-core/gfxmenu/widget-box.c b/grub-core/gfxmenu/widget-box.c +index b606028..470597d 100644 +--- a/grub-core/gfxmenu/widget-box.c ++++ b/grub-core/gfxmenu/widget-box.c +@@ -303,10 +303,10 @@ grub_gfxmenu_create_box (const char *pixmaps_prefix, + box->content_height = 0; + box->raw_pixmaps = + (struct grub_video_bitmap **) +- grub_malloc (BOX_NUM_PIXMAPS * sizeof (struct grub_video_bitmap *)); ++ grub_calloc (BOX_NUM_PIXMAPS, sizeof (struct grub_video_bitmap *)); + box->scaled_pixmaps = + (struct grub_video_bitmap **) +- grub_malloc (BOX_NUM_PIXMAPS * sizeof (struct grub_video_bitmap *)); ++ grub_calloc (BOX_NUM_PIXMAPS, sizeof (struct grub_video_bitmap *)); + + /* Initialize all pixmap pointers to NULL so that proper destruction can + be performed if an error is encountered partway through construction. */ +diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c +index 6208a97..43d98a7 100644 +--- a/grub-core/io/gzio.c ++++ b/grub-core/io/gzio.c +@@ -554,7 +554,7 @@ huft_build (unsigned *b, /* code lengths in bits (all assumed <= BMAX) */ + z = 1 << j; /* table entries for j-bit table */ + + /* allocate and link in new table */ +- q = (struct huft *) grub_zalloc ((z + 1) * sizeof (struct huft)); ++ q = (struct huft *) grub_calloc (z + 1, sizeof (struct huft)); + if (! q) + { + if (h) +diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c +index 6e1ceb9..dc31caa 100644 +--- a/grub-core/kern/efi/efi.c ++++ b/grub-core/kern/efi/efi.c +@@ -202,7 +202,7 @@ grub_efi_set_variable(const char *var, const grub_efi_guid_t *guid, + + len = grub_strlen (var); + len16 = len * GRUB_MAX_UTF16_PER_UTF8; +- var16 = grub_malloc ((len16 + 1) * sizeof (var16[0])); ++ var16 = grub_calloc (len16 + 1, sizeof (var16[0])); + if (!var16) + return grub_errno; + len16 = grub_utf8_to_utf16 (var16, len16, (grub_uint8_t *) var, len, NULL); +@@ -237,7 +237,7 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, + + len = grub_strlen (var); + len16 = len * GRUB_MAX_UTF16_PER_UTF8; +- var16 = grub_malloc ((len16 + 1) * sizeof (var16[0])); ++ var16 = grub_calloc (len16 + 1, sizeof (var16[0])); + if (!var16) + return NULL; + len16 = grub_utf8_to_utf16 (var16, len16, (grub_uint8_t *) var, len, NULL); +@@ -383,7 +383,7 @@ grub_efi_get_filename (grub_efi_device_path_t *dp0) + while (len > 0 && fp->path_name[len - 1] == 0) + len--; + +- dup_name = grub_malloc (len * sizeof (*dup_name)); ++ dup_name = grub_calloc (len, sizeof (*dup_name)); + if (!dup_name) + { + grub_free (name); +diff --git a/grub-core/kern/emu/hostdisk.c b/grub-core/kern/emu/hostdisk.c +index e9ec680..d975265 100644 +--- a/grub-core/kern/emu/hostdisk.c ++++ b/grub-core/kern/emu/hostdisk.c +@@ -615,7 +615,7 @@ static char * + grub_util_path_concat_real (size_t n, int ext, va_list ap) + { + size_t totlen = 0; +- char **l = xmalloc ((n + ext) * sizeof (l[0])); ++ char **l = xcalloc (n + ext, sizeof (l[0])); + char *r, *p, *pi; + size_t i; + int first = 1; +diff --git a/grub-core/kern/fs.c b/grub-core/kern/fs.c +index 2b85f49..f90be65 100644 +--- a/grub-core/kern/fs.c ++++ b/grub-core/kern/fs.c +@@ -151,7 +151,7 @@ grub_fs_blocklist_open (grub_file_t file, const char *name) + while (p); + + /* Allocate a block list. */ +- blocks = grub_zalloc (sizeof (struct grub_fs_block) * (num + 1)); ++ blocks = grub_calloc (num + 1, sizeof (struct grub_fs_block)); + if (! blocks) + return 0; + +diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c +index 3b633d5..a7abd36 100644 +--- a/grub-core/kern/misc.c ++++ b/grub-core/kern/misc.c +@@ -690,7 +690,7 @@ parse_printf_args (const char *fmt0, struct printf_args *args, + args->ptr = args->prealloc; + else + { +- args->ptr = grub_malloc (args->count * sizeof (args->ptr[0])); ++ args->ptr = grub_calloc (args->count, sizeof (args->ptr[0])); + if (!args->ptr) + { + grub_errno = GRUB_ERR_NONE; +diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c +index 78175aa..619db31 100644 +--- a/grub-core/kern/parser.c ++++ b/grub-core/kern/parser.c +@@ -213,7 +213,7 @@ grub_parser_split_cmdline (const char *cmdline, + return grub_errno; + grub_memcpy (args, buffer, bp - buffer); + +- *argv = grub_malloc (sizeof (char *) * (*argc + 1)); ++ *argv = grub_calloc (*argc + 1, sizeof (char *)); + if (!*argv) + { + grub_free (args); +diff --git a/grub-core/kern/uboot/uboot.c b/grub-core/kern/uboot/uboot.c +index be4816f..aac8f9a 100644 +--- a/grub-core/kern/uboot/uboot.c ++++ b/grub-core/kern/uboot/uboot.c +@@ -133,7 +133,7 @@ grub_uboot_dev_enum (void) + return num_devices; + + max_devices = 2; +- enum_devices = grub_malloc (sizeof(struct device_info) * max_devices); ++ enum_devices = grub_calloc (max_devices, sizeof(struct device_info)); + if (!enum_devices) + return 0; + +diff --git a/grub-core/lib/libgcrypt/cipher/ac.c b/grub-core/lib/libgcrypt/cipher/ac.c +index f5e946a..63f6fcd 100644 +--- a/grub-core/lib/libgcrypt/cipher/ac.c ++++ b/grub-core/lib/libgcrypt/cipher/ac.c +@@ -185,7 +185,7 @@ ac_data_mpi_copy (gcry_ac_mpi_t *data_mpis, unsigned int data_mpis_n, + gcry_mpi_t mpi; + char *label; + +- data_mpis_new = gcry_malloc (sizeof (*data_mpis_new) * data_mpis_n); ++ data_mpis_new = gcry_calloc (data_mpis_n, sizeof (*data_mpis_new)); + if (! data_mpis_new) + { + err = gcry_error_from_errno (errno); +@@ -572,7 +572,7 @@ _gcry_ac_data_to_sexp (gcry_ac_data_t data, gcry_sexp_t *sexp, + } + + /* Add MPI list. */ +- arg_list = gcry_malloc (sizeof (*arg_list) * (data_n + 1)); ++ arg_list = gcry_calloc (data_n + 1, sizeof (*arg_list)); + if (! arg_list) + { + err = gcry_error_from_errno (errno); +@@ -1283,7 +1283,7 @@ ac_data_construct (const char *identifier, int include_flags, + /* We build a list of arguments to pass to + gcry_sexp_build_array(). */ + data_length = _gcry_ac_data_length (data); +- arg_list = gcry_malloc (sizeof (*arg_list) * (data_length * 2)); ++ arg_list = gcry_calloc (data_length, sizeof (*arg_list) * 2); + if (! arg_list) + { + err = gcry_error_from_errno (errno); +@@ -1593,7 +1593,7 @@ _gcry_ac_key_pair_generate (gcry_ac_handle_t handle, unsigned int nbits, + arg_list_n += 2; + + /* Allocate list. */ +- arg_list = gcry_malloc (sizeof (*arg_list) * arg_list_n); ++ arg_list = gcry_calloc (arg_list_n, sizeof (*arg_list)); + if (! arg_list) + { + err = gcry_error_from_errno (errno); +diff --git a/grub-core/lib/libgcrypt/cipher/primegen.c b/grub-core/lib/libgcrypt/cipher/primegen.c +index 2788e34..b12e79b 100644 +--- a/grub-core/lib/libgcrypt/cipher/primegen.c ++++ b/grub-core/lib/libgcrypt/cipher/primegen.c +@@ -383,7 +383,7 @@ prime_generate_internal (int need_q_factor, + } + + /* Allocate an array to track pool usage. */ +- pool_in_use = gcry_malloc (n * sizeof *pool_in_use); ++ pool_in_use = gcry_calloc (n, sizeof *pool_in_use); + if (!pool_in_use) + { + err = gpg_err_code_from_errno (errno); +@@ -765,7 +765,7 @@ gen_prime (unsigned int nbits, int secret, int randomlevel, + if (nbits < 16) + log_fatal ("can't generate a prime with less than %d bits\n", 16); + +- mods = gcry_xmalloc( no_of_small_prime_numbers * sizeof *mods ); ++ mods = gcry_xcalloc( no_of_small_prime_numbers, sizeof *mods); + /* Make nbits fit into gcry_mpi_t implementation. */ + val_2 = mpi_alloc_set_ui( 2 ); + val_3 = mpi_alloc_set_ui( 3); +diff --git a/grub-core/lib/libgcrypt/cipher/pubkey.c b/grub-core/lib/libgcrypt/cipher/pubkey.c +index 9109821..ca087ad 100644 +--- a/grub-core/lib/libgcrypt/cipher/pubkey.c ++++ b/grub-core/lib/libgcrypt/cipher/pubkey.c +@@ -2941,7 +2941,7 @@ gcry_pk_encrypt (gcry_sexp_t *r_ciph, gcry_sexp_t s_data, gcry_sexp_t s_pkey) + * array to a format string, so we have to do it this way :-(. */ + /* FIXME: There is now such a format specifier, so we can + change the code to be more clear. */ +- arg_list = malloc (nelem * sizeof *arg_list); ++ arg_list = calloc (nelem, sizeof *arg_list); + if (!arg_list) + { + rc = gpg_err_code_from_syserror (); +@@ -3233,7 +3233,7 @@ gcry_pk_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_hash, gcry_sexp_t s_skey) + } + strcpy (p, "))"); + +- arg_list = malloc (nelem * sizeof *arg_list); ++ arg_list = calloc (nelem, sizeof *arg_list); + if (!arg_list) + { + rc = gpg_err_code_from_syserror (); +diff --git a/grub-core/lib/priority_queue.c b/grub-core/lib/priority_queue.c +index 659be0b..7d5e7c0 100644 +--- a/grub-core/lib/priority_queue.c ++++ b/grub-core/lib/priority_queue.c +@@ -92,7 +92,7 @@ grub_priority_queue_new (grub_size_t elsize, + { + struct grub_priority_queue *ret; + void *els; +- els = grub_malloc (elsize * 8); ++ els = grub_calloc (8, elsize); + if (!els) + return 0; + ret = (struct grub_priority_queue *) grub_malloc (sizeof (*ret)); +diff --git a/grub-core/lib/reed_solomon.c b/grub-core/lib/reed_solomon.c +index ee9fa7b..467305b 100644 +--- a/grub-core/lib/reed_solomon.c ++++ b/grub-core/lib/reed_solomon.c +@@ -20,6 +20,7 @@ + #include <stdio.h> + #include <string.h> + #include <stdlib.h> ++#define xcalloc calloc + #define xmalloc malloc + #define grub_memset memset + #define grub_memcpy memcpy +@@ -158,11 +159,9 @@ rs_encode (gf_single_t *data, grub_size_t s, grub_size_t rs) + gf_single_t *rs_polynomial; + int i, j; + gf_single_t *m; +- m = xmalloc ((s + rs) * sizeof (gf_single_t)); ++ m = xcalloc (s + rs, sizeof (gf_single_t)); + grub_memcpy (m, data, s * sizeof (gf_single_t)); +- grub_memset (m + s, 0, rs * sizeof (gf_single_t)); +- rs_polynomial = xmalloc ((rs + 1) * sizeof (gf_single_t)); +- grub_memset (rs_polynomial, 0, (rs + 1) * sizeof (gf_single_t)); ++ rs_polynomial = xcalloc (rs + 1, sizeof (gf_single_t)); + rs_polynomial[rs] = 1; + /* Multiply with X - a^r */ + for (j = 0; j < rs; j++) +diff --git a/grub-core/lib/relocator.c b/grub-core/lib/relocator.c +index ea3ebc7..5847aac 100644 +--- a/grub-core/lib/relocator.c ++++ b/grub-core/lib/relocator.c +@@ -495,9 +495,9 @@ malloc_in_range (struct grub_relocator *rel, + } + #endif + +- eventt = grub_malloc (maxevents * sizeof (events[0])); ++ eventt = grub_calloc (maxevents, sizeof (events[0])); + counter = grub_malloc ((DIGITSORT_MASK + 2) * sizeof (counter[0])); +- events = grub_malloc (maxevents * sizeof (events[0])); ++ events = grub_calloc (maxevents, sizeof (events[0])); + if (!events || !eventt || !counter) + { + grub_dprintf ("relocator", "events or counter allocation failed %d\n", +@@ -963,7 +963,7 @@ malloc_in_range (struct grub_relocator *rel, + #endif + unsigned cural = 0; + int oom = 0; +- res->subchunks = grub_malloc (sizeof (res->subchunks[0]) * nallocs); ++ res->subchunks = grub_calloc (nallocs, sizeof (res->subchunks[0])); + if (!res->subchunks) + oom = 1; + res->nsubchunks = nallocs; +@@ -1562,8 +1562,8 @@ grub_relocator_prepare_relocs (struct grub_relocator *rel, grub_addr_t addr, + count[(chunk->src & 0xff) + 1]++; + } + } +- from = grub_malloc (nchunks * sizeof (sorted[0])); +- to = grub_malloc (nchunks * sizeof (sorted[0])); ++ from = grub_calloc (nchunks, sizeof (sorted[0])); ++ to = grub_calloc (nchunks, sizeof (sorted[0])); + if (!from || !to) + { + grub_free (from); +diff --git a/grub-core/lib/zstd/fse_decompress.c b/grub-core/lib/zstd/fse_decompress.c +index 72bbead..2227b84 100644 +--- a/grub-core/lib/zstd/fse_decompress.c ++++ b/grub-core/lib/zstd/fse_decompress.c +@@ -82,7 +82,7 @@ + FSE_DTable* FSE_createDTable (unsigned tableLog) + { + if (tableLog > FSE_TABLELOG_ABSOLUTE_MAX) tableLog = FSE_TABLELOG_ABSOLUTE_MAX; +- return (FSE_DTable*)malloc( FSE_DTABLE_SIZE_U32(tableLog) * sizeof (U32) ); ++ return (FSE_DTable*)calloc( FSE_DTABLE_SIZE_U32(tableLog), sizeof (U32) ); + } + + void FSE_freeDTable (FSE_DTable* dt) +diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c +index 5168491..d70c174 100644 +--- a/grub-core/loader/arm/linux.c ++++ b/grub-core/loader/arm/linux.c +@@ -78,7 +78,7 @@ linux_prepare_atag (void *target_atag) + + /* some place for cmdline, initrd and terminator. */ + tmp_size = get_atag_size (atag_orig) + 20 + (arg_size) / 4; +- tmp_atag = grub_malloc (tmp_size * sizeof (grub_uint32_t)); ++ tmp_atag = grub_calloc (tmp_size, sizeof (grub_uint32_t)); + if (!tmp_atag) + return grub_errno; + +diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c +index cd92ea3..daf8c6b 100644 +--- a/grub-core/loader/efi/chainloader.c ++++ b/grub-core/loader/efi/chainloader.c +@@ -116,7 +116,7 @@ copy_file_path (grub_efi_file_path_device_path_t *fp, + fp->header.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE; + fp->header.subtype = GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE; + +- path_name = grub_malloc (len * GRUB_MAX_UTF16_PER_UTF8 * sizeof (*path_name)); ++ path_name = grub_calloc (len, GRUB_MAX_UTF16_PER_UTF8 * sizeof (*path_name)); + if (!path_name) + return; + +diff --git a/grub-core/loader/i386/bsdXX.c b/grub-core/loader/i386/bsdXX.c +index af6741d..a8d8bf7 100644 +--- a/grub-core/loader/i386/bsdXX.c ++++ b/grub-core/loader/i386/bsdXX.c +@@ -48,7 +48,7 @@ read_headers (grub_file_t file, const char *filename, Elf_Ehdr *e, char **shdr) + if (e->e_ident[EI_CLASS] != SUFFIX (ELFCLASS)) + return grub_error (GRUB_ERR_BAD_OS, N_("invalid arch-dependent ELF magic")); + +- *shdr = grub_malloc ((grub_uint32_t) e->e_shnum * e->e_shentsize); ++ *shdr = grub_calloc (e->e_shnum, e->e_shentsize); + if (! *shdr) + return grub_errno; + +diff --git a/grub-core/loader/i386/xnu.c b/grub-core/loader/i386/xnu.c +index e64ed08..b7d176b 100644 +--- a/grub-core/loader/i386/xnu.c ++++ b/grub-core/loader/i386/xnu.c +@@ -295,7 +295,7 @@ grub_xnu_devprop_add_property_utf8 (struct grub_xnu_devprop_device_descriptor *d + return grub_errno; + + len = grub_strlen (name); +- utf16 = grub_malloc (sizeof (grub_uint16_t) * len); ++ utf16 = grub_calloc (len, sizeof (grub_uint16_t)); + if (!utf16) + { + grub_free (utf8); +@@ -331,7 +331,7 @@ grub_xnu_devprop_add_property_utf16 (struct grub_xnu_devprop_device_descriptor * + grub_uint16_t *utf16; + grub_err_t err; + +- utf16 = grub_malloc (sizeof (grub_uint16_t) * namelen); ++ utf16 = grub_calloc (namelen, sizeof (grub_uint16_t)); + if (!utf16) + return grub_errno; + grub_memcpy (utf16, name, sizeof (grub_uint16_t) * namelen); +diff --git a/grub-core/loader/macho.c b/grub-core/loader/macho.c +index 085f9c6..05710c4 100644 +--- a/grub-core/loader/macho.c ++++ b/grub-core/loader/macho.c +@@ -97,7 +97,7 @@ grub_macho_file (grub_file_t file, const char *filename, int is_64bit) + if (grub_file_seek (macho->file, sizeof (struct grub_macho_fat_header)) + == (grub_off_t) -1) + goto fail; +- archs = grub_malloc (sizeof (struct grub_macho_fat_arch) * narchs); ++ archs = grub_calloc (narchs, sizeof (struct grub_macho_fat_arch)); + if (!archs) + goto fail; + if (grub_file_read (macho->file, archs, +diff --git a/grub-core/loader/multiboot_elfxx.c b/grub-core/loader/multiboot_elfxx.c +index 70cd1db..cc68536 100644 +--- a/grub-core/loader/multiboot_elfxx.c ++++ b/grub-core/loader/multiboot_elfxx.c +@@ -217,7 +217,7 @@ CONCAT(grub_multiboot_load_elf, XX) (mbi_load_data_t *mld) + { + grub_uint8_t *shdr, *shdrptr; + +- shdr = grub_malloc ((grub_uint32_t) ehdr->e_shnum * ehdr->e_shentsize); ++ shdr = grub_calloc (ehdr->e_shnum, ehdr->e_shentsize); + if (!shdr) + return grub_errno; + +diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c +index 7f74d1d..77d7060 100644 +--- a/grub-core/loader/xnu.c ++++ b/grub-core/loader/xnu.c +@@ -800,7 +800,7 @@ grub_cmd_xnu_mkext (grub_command_t cmd __attribute__ ((unused)), + if (grub_be_to_cpu32 (head.magic) == GRUB_MACHO_FAT_MAGIC) + { + narchs = grub_be_to_cpu32 (head.nfat_arch); +- archs = grub_malloc (sizeof (struct grub_macho_fat_arch) * narchs); ++ archs = grub_calloc (narchs, sizeof (struct grub_macho_fat_arch)); + if (! archs) + { + grub_file_close (file); +diff --git a/grub-core/mmap/mmap.c b/grub-core/mmap/mmap.c +index 6a31cba..57b4e9a 100644 +--- a/grub-core/mmap/mmap.c ++++ b/grub-core/mmap/mmap.c +@@ -143,9 +143,9 @@ grub_mmap_iterate (grub_memory_hook_t hook, void *hook_data) + + /* Initialize variables. */ + ctx.scanline_events = (struct grub_mmap_scan *) +- grub_malloc (sizeof (struct grub_mmap_scan) * 2 * mmap_num); ++ grub_calloc (mmap_num, sizeof (struct grub_mmap_scan) * 2); + +- present = grub_zalloc (sizeof (present[0]) * current_priority); ++ present = grub_calloc (current_priority, sizeof (present[0])); + + if (! ctx.scanline_events || !present) + { +diff --git a/grub-core/net/bootp.c b/grub-core/net/bootp.c +index 04cfbb0..6539572 100644 +--- a/grub-core/net/bootp.c ++++ b/grub-core/net/bootp.c +@@ -766,7 +766,7 @@ grub_cmd_bootp (struct grub_command *cmd __attribute__ ((unused)), + if (ncards == 0) + return grub_error (GRUB_ERR_NET_NO_CARD, N_("no network card found")); + +- ifaces = grub_zalloc (ncards * sizeof (ifaces[0])); ++ ifaces = grub_calloc (ncards, sizeof (ifaces[0])); + if (!ifaces) + return grub_errno; + +diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c +index 5d9afe0..e332d5e 100644 +--- a/grub-core/net/dns.c ++++ b/grub-core/net/dns.c +@@ -285,8 +285,8 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ ((unused)), + ptr++; + ptr += 4; + } +- *data->addresses = grub_malloc (sizeof ((*data->addresses)[0]) +- * grub_be_to_cpu16 (head->ancount)); ++ *data->addresses = grub_calloc (grub_be_to_cpu16 (head->ancount), ++ sizeof ((*data->addresses)[0])); + if (!*data->addresses) + { + grub_errno = GRUB_ERR_NONE; +@@ -406,8 +406,8 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ ((unused)), + dns_cache[h].addresses = 0; + dns_cache[h].name = grub_strdup (data->oname); + dns_cache[h].naddresses = *data->naddresses; +- dns_cache[h].addresses = grub_malloc (*data->naddresses +- * sizeof (dns_cache[h].addresses[0])); ++ dns_cache[h].addresses = grub_calloc (*data->naddresses, ++ sizeof (dns_cache[h].addresses[0])); + dns_cache[h].limit_time = grub_get_time_ms () + 1000 * ttl_all; + if (!dns_cache[h].addresses || !dns_cache[h].name) + { +@@ -479,7 +479,7 @@ grub_net_dns_lookup (const char *name, + } + } + +- sockets = grub_malloc (sizeof (sockets[0]) * n_servers); ++ sockets = grub_calloc (n_servers, sizeof (sockets[0])); + if (!sockets) + return grub_errno; + +diff --git a/grub-core/net/net.c b/grub-core/net/net.c +index d5d726a..38f19df 100644 +--- a/grub-core/net/net.c ++++ b/grub-core/net/net.c +@@ -333,8 +333,8 @@ grub_cmd_ipv6_autoconf (struct grub_command *cmd __attribute__ ((unused)), + ncards++; + } + +- ifaces = grub_zalloc (ncards * sizeof (ifaces[0])); +- slaacs = grub_zalloc (ncards * sizeof (slaacs[0])); ++ ifaces = grub_calloc (ncards, sizeof (ifaces[0])); ++ slaacs = grub_calloc (ncards, sizeof (slaacs[0])); + if (!ifaces || !slaacs) + { + grub_free (ifaces); +diff --git a/grub-core/normal/charset.c b/grub-core/normal/charset.c +index b0ab47d..d57fb72 100644 +--- a/grub-core/normal/charset.c ++++ b/grub-core/normal/charset.c +@@ -203,7 +203,7 @@ grub_utf8_to_ucs4_alloc (const char *msg, grub_uint32_t **unicode_msg, + { + grub_size_t msg_len = grub_strlen (msg); + +- *unicode_msg = grub_malloc (msg_len * sizeof (grub_uint32_t)); ++ *unicode_msg = grub_calloc (msg_len, sizeof (grub_uint32_t)); + + if (!*unicode_msg) + return -1; +@@ -488,7 +488,7 @@ grub_unicode_aglomerate_comb (const grub_uint32_t *in, grub_size_t inlen, + } + else + { +- n = grub_malloc (sizeof (n[0]) * (out->ncomb + 1)); ++ n = grub_calloc (out->ncomb + 1, sizeof (n[0])); + if (!n) + { + grub_errno = GRUB_ERR_NONE; +@@ -842,7 +842,7 @@ grub_bidi_line_logical_to_visual (const grub_uint32_t *logical, + } \ + } + +- visual = grub_malloc (sizeof (visual[0]) * logical_len); ++ visual = grub_calloc (logical_len, sizeof (visual[0])); + if (!visual) + return -1; + +@@ -1165,8 +1165,8 @@ grub_bidi_logical_to_visual (const grub_uint32_t *logical, + { + const grub_uint32_t *line_start = logical, *ptr; + struct grub_unicode_glyph *visual_ptr; +- *visual_out = visual_ptr = grub_malloc (3 * sizeof (visual_ptr[0]) +- * (logical_len + 2)); ++ *visual_out = visual_ptr = grub_calloc (logical_len + 2, ++ 3 * sizeof (visual_ptr[0])); + if (!visual_ptr) + return -1; + for (ptr = logical; ptr <= logical + logical_len; ptr++) +diff --git a/grub-core/normal/cmdline.c b/grub-core/normal/cmdline.c +index c037d50..c57242e 100644 +--- a/grub-core/normal/cmdline.c ++++ b/grub-core/normal/cmdline.c +@@ -41,7 +41,7 @@ grub_err_t + grub_set_history (int newsize) + { + grub_uint32_t **old_hist_lines = hist_lines; +- hist_lines = grub_malloc (sizeof (grub_uint32_t *) * newsize); ++ hist_lines = grub_calloc (newsize, sizeof (grub_uint32_t *)); + + /* Copy the old lines into the new buffer. */ + if (old_hist_lines) +@@ -114,7 +114,7 @@ static void + grub_history_set (int pos, grub_uint32_t *s, grub_size_t len) + { + grub_free (hist_lines[pos]); +- hist_lines[pos] = grub_malloc ((len + 1) * sizeof (grub_uint32_t)); ++ hist_lines[pos] = grub_calloc (len + 1, sizeof (grub_uint32_t)); + if (!hist_lines[pos]) + { + grub_print_error (); +@@ -349,7 +349,7 @@ grub_cmdline_get (const char *prompt_translated) + char *ret; + unsigned nterms; + +- buf = grub_malloc (max_len * sizeof (grub_uint32_t)); ++ buf = grub_calloc (max_len, sizeof (grub_uint32_t)); + if (!buf) + return 0; + +@@ -377,7 +377,7 @@ grub_cmdline_get (const char *prompt_translated) + FOR_ACTIVE_TERM_OUTPUTS(cur) + nterms++; + +- cl_terms = grub_malloc (sizeof (cl_terms[0]) * nterms); ++ cl_terms = grub_calloc (nterms, sizeof (cl_terms[0])); + if (!cl_terms) + { + grub_free (buf); +@@ -385,7 +385,7 @@ grub_cmdline_get (const char *prompt_translated) + } + cl_term_cur = cl_terms; + +- unicode_msg = grub_malloc (msg_len * sizeof (grub_uint32_t)); ++ unicode_msg = grub_calloc (msg_len, sizeof (grub_uint32_t)); + if (!unicode_msg) + { + grub_free (buf); +@@ -495,7 +495,7 @@ grub_cmdline_get (const char *prompt_translated) + grub_uint32_t *insert; + + insertlen = grub_strlen (insertu8); +- insert = grub_malloc ((insertlen + 1) * sizeof (grub_uint32_t)); ++ insert = grub_calloc (insertlen + 1, sizeof (grub_uint32_t)); + if (!insert) + { + grub_free (insertu8); +@@ -602,7 +602,7 @@ grub_cmdline_get (const char *prompt_translated) + + grub_free (kill_buf); + +- kill_buf = grub_malloc ((n + 1) * sizeof(grub_uint32_t)); ++ kill_buf = grub_calloc (n + 1, sizeof (grub_uint32_t)); + if (grub_errno) + { + grub_print_error (); +diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c +index cdf3590..1993995 100644 +--- a/grub-core/normal/menu_entry.c ++++ b/grub-core/normal/menu_entry.c +@@ -95,8 +95,8 @@ init_line (struct screen *screen, struct line *linep) + { + linep->len = 0; + linep->max_len = 80; +- linep->buf = grub_malloc ((linep->max_len + 1) * sizeof (linep->buf[0])); +- linep->pos = grub_zalloc (screen->nterms * sizeof (linep->pos[0])); ++ linep->buf = grub_calloc (linep->max_len + 1, sizeof (linep->buf[0])); ++ linep->pos = grub_calloc (screen->nterms, sizeof (linep->pos[0])); + if (! linep->buf || !linep->pos) + { + grub_free (linep->buf); +@@ -287,7 +287,7 @@ update_screen (struct screen *screen, struct per_term_screen *term_screen, + pos = linep->pos + (term_screen - screen->terms); + + if (!*pos) +- *pos = grub_zalloc ((linep->len + 1) * sizeof (**pos)); ++ *pos = grub_calloc (linep->len + 1, sizeof (**pos)); + + if (i == region_start || linep == screen->lines + screen->line + || (i > region_start && mode == ALL_LINES)) +@@ -471,7 +471,7 @@ insert_string (struct screen *screen, const char *s, int update) + + /* Insert the string. */ + current_linep = screen->lines + screen->line; +- unicode_msg = grub_malloc ((p - s) * sizeof (grub_uint32_t)); ++ unicode_msg = grub_calloc (p - s, sizeof (grub_uint32_t)); + + if (!unicode_msg) + return 0; +@@ -1023,7 +1023,7 @@ complete (struct screen *screen, int continuous, int update) + if (completion_buffer.buf) + { + buflen = grub_strlen (completion_buffer.buf); +- ucs4 = grub_malloc (sizeof (grub_uint32_t) * (buflen + 1)); ++ ucs4 = grub_calloc (buflen + 1, sizeof (grub_uint32_t)); + + if (!ucs4) + { +@@ -1268,7 +1268,7 @@ grub_menu_entry_run (grub_menu_entry_t entry) + for (i = 0; i < (unsigned) screen->num_lines; i++) + { + grub_free (screen->lines[i].pos); +- screen->lines[i].pos = grub_zalloc (screen->nterms * sizeof (screen->lines[i].pos[0])); ++ screen->lines[i].pos = grub_calloc (screen->nterms, sizeof (screen->lines[i].pos[0])); + if (! screen->lines[i].pos) + { + grub_print_error (); +@@ -1278,7 +1278,7 @@ grub_menu_entry_run (grub_menu_entry_t entry) + } + } + +- screen->terms = grub_zalloc (screen->nterms * sizeof (screen->terms[0])); ++ screen->terms = grub_calloc (screen->nterms, sizeof (screen->terms[0])); + if (!screen->terms) + { + grub_print_error (); +diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c +index e22bb91..18240e7 100644 +--- a/grub-core/normal/menu_text.c ++++ b/grub-core/normal/menu_text.c +@@ -78,7 +78,7 @@ grub_print_message_indented_real (const char *msg, int margin_left, + grub_size_t msg_len = grub_strlen (msg) + 2; + int ret = 0; + +- unicode_msg = grub_malloc (msg_len * sizeof (grub_uint32_t)); ++ unicode_msg = grub_calloc (msg_len, sizeof (grub_uint32_t)); + + if (!unicode_msg) + return 0; +@@ -211,7 +211,7 @@ print_entry (int y, int highlight, grub_menu_entry_t entry, + + title = entry ? entry->title : ""; + title_len = grub_strlen (title); +- unicode_title = grub_malloc (title_len * sizeof (*unicode_title)); ++ unicode_title = grub_calloc (title_len, sizeof (*unicode_title)); + if (! unicode_title) + /* XXX How to show this error? */ + return; +diff --git a/grub-core/normal/term.c b/grub-core/normal/term.c +index a1e5c5a..cc8c173 100644 +--- a/grub-core/normal/term.c ++++ b/grub-core/normal/term.c +@@ -264,7 +264,7 @@ grub_term_save_pos (void) + FOR_ACTIVE_TERM_OUTPUTS(cur) + cnt++; + +- ret = grub_malloc (cnt * sizeof (ret[0])); ++ ret = grub_calloc (cnt, sizeof (ret[0])); + if (!ret) + return NULL; + +@@ -1013,7 +1013,7 @@ grub_xnputs (const char *str, grub_size_t msg_len) + + grub_error_push (); + +- unicode_str = grub_malloc (msg_len * sizeof (grub_uint32_t)); ++ unicode_str = grub_calloc (msg_len, sizeof (grub_uint32_t)); + + grub_error_pop (); + +diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getroot.c +index 90d92d3..5b41ad0 100644 +--- a/grub-core/osdep/linux/getroot.c ++++ b/grub-core/osdep/linux/getroot.c +@@ -168,7 +168,7 @@ grub_util_raid_getmembers (const char *name, int bootable) + if (ret != 0) + grub_util_error (_("ioctl GET_ARRAY_INFO error: %s"), strerror (errno)); + +- devicelist = xmalloc ((info.nr_disks + 1) * sizeof (char *)); ++ devicelist = xcalloc (info.nr_disks + 1, sizeof (char *)); + + for (i = 0, j = 0; j < info.nr_disks; i++) + { +@@ -241,7 +241,7 @@ grub_find_root_devices_from_btrfs (const char *dir) + return NULL; + } + +- ret = xmalloc ((fsi.num_devices + 1) * sizeof (ret[0])); ++ ret = xcalloc (fsi.num_devices + 1, sizeof (ret[0])); + + for (i = 1; i <= fsi.max_id && j < fsi.num_devices; i++) + { +@@ -396,7 +396,7 @@ grub_find_root_devices_from_mountinfo (const char *dir, char **relroot) + if (relroot) + *relroot = NULL; + +- entries = xmalloc (entry_max * sizeof (*entries)); ++ entries = xcalloc (entry_max, sizeof (*entries)); + + again: + fp = grub_util_fopen ("/proc/self/mountinfo", "r"); +diff --git a/grub-core/osdep/unix/config.c b/grub-core/osdep/unix/config.c +index 65effa9..7d63251 100644 +--- a/grub-core/osdep/unix/config.c ++++ b/grub-core/osdep/unix/config.c +@@ -89,7 +89,7 @@ grub_util_load_config (struct grub_util_config *cfg) + argv[0] = "sh"; + argv[1] = "-c"; + +- script = xmalloc (4 * strlen (cfgfile) + 300); ++ script = xcalloc (4, strlen (cfgfile) + 300); + + ptr = script; + memcpy (ptr, ". '", 3); +diff --git a/grub-core/osdep/windows/getroot.c b/grub-core/osdep/windows/getroot.c +index 661d954..eada663 100644 +--- a/grub-core/osdep/windows/getroot.c ++++ b/grub-core/osdep/windows/getroot.c +@@ -59,7 +59,7 @@ grub_get_mount_point (const TCHAR *path) + + for (ptr = path; *ptr; ptr++); + allocsize = (ptr - path + 10) * 2; +- out = xmalloc (allocsize * sizeof (out[0])); ++ out = xcalloc (allocsize, sizeof (out[0])); + + /* When pointing to EFI system partition GetVolumePathName fails + for ESP root and returns abberant information for everything +diff --git a/grub-core/osdep/windows/hostdisk.c b/grub-core/osdep/windows/hostdisk.c +index 3551007..0be3273 100644 +--- a/grub-core/osdep/windows/hostdisk.c ++++ b/grub-core/osdep/windows/hostdisk.c +@@ -111,7 +111,7 @@ grub_util_get_windows_path_real (const char *path) + + while (1) + { +- fpa = xmalloc (alloc * sizeof (fpa[0])); ++ fpa = xcalloc (alloc, sizeof (fpa[0])); + + len = GetFullPathName (tpath, alloc, fpa, NULL); + if (len >= alloc) +@@ -399,7 +399,7 @@ grub_util_fd_opendir (const char *name) + for (l = 0; name_windows[l]; l++); + for (l--; l >= 0 && (name_windows[l] == '\\' || name_windows[l] == '/'); l--); + l++; +- pattern = xmalloc ((l + 3) * sizeof (pattern[0])); ++ pattern = xcalloc (l + 3, sizeof (pattern[0])); + memcpy (pattern, name_windows, l * sizeof (pattern[0])); + pattern[l] = '\\'; + pattern[l + 1] = '*'; +diff --git a/grub-core/osdep/windows/init.c b/grub-core/osdep/windows/init.c +index e8ffd62..6297de6 100644 +--- a/grub-core/osdep/windows/init.c ++++ b/grub-core/osdep/windows/init.c +@@ -161,7 +161,7 @@ grub_util_host_init (int *argc __attribute__ ((unused)), + LPWSTR *targv; + + targv = CommandLineToArgvW (tcmdline, argc); +- *argv = xmalloc ((*argc + 1) * sizeof (argv[0])); ++ *argv = xcalloc (*argc + 1, sizeof (argv[0])); + + for (i = 0; i < *argc; i++) + (*argv)[i] = grub_util_tchar_to_utf8 (targv[i]); +diff --git a/grub-core/osdep/windows/platform.c b/grub-core/osdep/windows/platform.c +index 7eb53fe..1ef86bf 100644 +--- a/grub-core/osdep/windows/platform.c ++++ b/grub-core/osdep/windows/platform.c +@@ -225,8 +225,8 @@ grub_install_register_efi (grub_device_t efidir_grub_dev, + grub_util_error ("%s", _("no EFI routines are available when running in BIOS mode")); + + distrib8_len = grub_strlen (efi_distributor); +- distributor16 = xmalloc ((distrib8_len + 1) * GRUB_MAX_UTF16_PER_UTF8 +- * sizeof (grub_uint16_t)); ++ distributor16 = xcalloc (distrib8_len + 1, ++ GRUB_MAX_UTF16_PER_UTF8 * sizeof (grub_uint16_t)); + distrib16_len = grub_utf8_to_utf16 (distributor16, distrib8_len * GRUB_MAX_UTF16_PER_UTF8, + (const grub_uint8_t *) efi_distributor, + distrib8_len, 0); +diff --git a/grub-core/osdep/windows/relpath.c b/grub-core/osdep/windows/relpath.c +index cb08617..478e8ef 100644 +--- a/grub-core/osdep/windows/relpath.c ++++ b/grub-core/osdep/windows/relpath.c +@@ -72,7 +72,7 @@ grub_make_system_path_relative_to_its_root (const char *path) + if (dirwindows[0] && dirwindows[1] == ':') + offset = 2; + } +- ret = xmalloc (sizeof (ret[0]) * (flen - offset + 2)); ++ ret = xcalloc (flen - offset + 2, sizeof (ret[0])); + if (dirwindows[offset] != '\\' + && dirwindows[offset] != '/' + && dirwindows[offset]) +diff --git a/grub-core/partmap/gpt.c b/grub-core/partmap/gpt.c +index 103f679..72a2e37 100644 +--- a/grub-core/partmap/gpt.c ++++ b/grub-core/partmap/gpt.c +@@ -199,7 +199,7 @@ gpt_partition_map_embed (struct grub_disk *disk, unsigned int *nsectors, + *nsectors = ctx.len; + if (*nsectors > max_nsectors) + *nsectors = max_nsectors; +- *sectors = grub_malloc (*nsectors * sizeof (**sectors)); ++ *sectors = grub_calloc (*nsectors, sizeof (**sectors)); + if (!*sectors) + return grub_errno; + for (i = 0; i < *nsectors; i++) +diff --git a/grub-core/partmap/msdos.c b/grub-core/partmap/msdos.c +index 7b8e450..ee3f249 100644 +--- a/grub-core/partmap/msdos.c ++++ b/grub-core/partmap/msdos.c +@@ -337,7 +337,7 @@ pc_partition_map_embed (struct grub_disk *disk, unsigned int *nsectors, + avail_nsectors = *nsectors; + if (*nsectors > max_nsectors) + *nsectors = max_nsectors; +- *sectors = grub_malloc (*nsectors * sizeof (**sectors)); ++ *sectors = grub_calloc (*nsectors, sizeof (**sectors)); + if (!*sectors) + return grub_errno; + for (i = 0; i < *nsectors; i++) +diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c +index ee299fd..c8d6806 100644 +--- a/grub-core/script/execute.c ++++ b/grub-core/script/execute.c +@@ -553,7 +553,7 @@ gettext_append (struct grub_script_argv *result, const char *orig_str) + for (iptr = orig_str; *iptr; iptr++) + if (*iptr == '$') + dollar_cnt++; +- ctx.allowed_strings = grub_malloc (sizeof (ctx.allowed_strings[0]) * dollar_cnt); ++ ctx.allowed_strings = grub_calloc (dollar_cnt, sizeof (ctx.allowed_strings[0])); + + if (parse_string (orig_str, gettext_save_allow, &ctx, 0)) + goto fail; +diff --git a/grub-core/tests/fake_input.c b/grub-core/tests/fake_input.c +index 2d60852..b5eb516 100644 +--- a/grub-core/tests/fake_input.c ++++ b/grub-core/tests/fake_input.c +@@ -49,7 +49,7 @@ grub_terminal_input_fake_sequence (int *seq_in, int nseq_in) + saved = grub_term_inputs; + if (seq) + grub_free (seq); +- seq = grub_malloc (nseq_in * sizeof (seq[0])); ++ seq = grub_calloc (nseq_in, sizeof (seq[0])); + if (!seq) + return; + +diff --git a/grub-core/tests/video_checksum.c b/grub-core/tests/video_checksum.c +index 74d5b65..44d0810 100644 +--- a/grub-core/tests/video_checksum.c ++++ b/grub-core/tests/video_checksum.c +@@ -336,7 +336,7 @@ grub_video_capture_write_bmp (const char *fname, + { + case 4: + { +- grub_uint8_t *buffer = xmalloc (mode_info->width * 3); ++ grub_uint8_t *buffer = xcalloc (3, mode_info->width); + grub_uint32_t rmask = ((1 << mode_info->red_mask_size) - 1); + grub_uint32_t gmask = ((1 << mode_info->green_mask_size) - 1); + grub_uint32_t bmask = ((1 << mode_info->blue_mask_size) - 1); +@@ -367,7 +367,7 @@ grub_video_capture_write_bmp (const char *fname, + } + case 3: + { +- grub_uint8_t *buffer = xmalloc (mode_info->width * 3); ++ grub_uint8_t *buffer = xcalloc (3, mode_info->width); + grub_uint32_t rmask = ((1 << mode_info->red_mask_size) - 1); + grub_uint32_t gmask = ((1 << mode_info->green_mask_size) - 1); + grub_uint32_t bmask = ((1 << mode_info->blue_mask_size) - 1); +@@ -407,7 +407,7 @@ grub_video_capture_write_bmp (const char *fname, + } + case 2: + { +- grub_uint8_t *buffer = xmalloc (mode_info->width * 3); ++ grub_uint8_t *buffer = xcalloc (3, mode_info->width); + grub_uint16_t rmask = ((1 << mode_info->red_mask_size) - 1); + grub_uint16_t gmask = ((1 << mode_info->green_mask_size) - 1); + grub_uint16_t bmask = ((1 << mode_info->blue_mask_size) - 1); +diff --git a/grub-core/video/capture.c b/grub-core/video/capture.c +index 4f83c74..4d3195e 100644 +--- a/grub-core/video/capture.c ++++ b/grub-core/video/capture.c +@@ -89,7 +89,7 @@ grub_video_capture_start (const struct grub_video_mode_info *mode_info, + framebuffer.mode_info = *mode_info; + framebuffer.mode_info.blit_format = grub_video_get_blit_format (&framebuffer.mode_info); + +- framebuffer.ptr = grub_malloc (framebuffer.mode_info.height * framebuffer.mode_info.pitch); ++ framebuffer.ptr = grub_calloc (framebuffer.mode_info.height, framebuffer.mode_info.pitch); + if (!framebuffer.ptr) + return grub_errno; + +diff --git a/grub-core/video/emu/sdl.c b/grub-core/video/emu/sdl.c +index a2f639f..0ebab6f 100644 +--- a/grub-core/video/emu/sdl.c ++++ b/grub-core/video/emu/sdl.c +@@ -172,7 +172,7 @@ grub_video_sdl_set_palette (unsigned int start, unsigned int count, + if (start + count > mode_info.number_of_colors) + count = mode_info.number_of_colors - start; + +- tmp = grub_malloc (count * sizeof (tmp[0])); ++ tmp = grub_calloc (count, sizeof (tmp[0])); + for (i = 0; i < count; i++) + { + tmp[i].r = palette_data[i].r; +diff --git a/grub-core/video/i386/pc/vga.c b/grub-core/video/i386/pc/vga.c +index 01f4711..b2f776c 100644 +--- a/grub-core/video/i386/pc/vga.c ++++ b/grub-core/video/i386/pc/vga.c +@@ -127,7 +127,7 @@ grub_video_vga_setup (unsigned int width, unsigned int height, + + vga_height = height ? : 480; + +- framebuffer.temporary_buffer = grub_malloc (vga_height * VGA_WIDTH); ++ framebuffer.temporary_buffer = grub_calloc (vga_height, VGA_WIDTH); + framebuffer.front_page = 0; + framebuffer.back_page = 0; + if (!framebuffer.temporary_buffer) +diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c +index 777e713..61bd645 100644 +--- a/grub-core/video/readers/png.c ++++ b/grub-core/video/readers/png.c +@@ -309,7 +309,7 @@ grub_png_decode_image_header (struct grub_png_data *data) + if (data->is_16bit || data->is_gray || data->is_palette) + #endif + { +- data->image_data = grub_malloc (data->image_height * data->row_bytes); ++ data->image_data = grub_calloc (data->image_height, data->row_bytes); + if (grub_errno) + return grub_errno; + +diff --git a/include/grub/unicode.h b/include/grub/unicode.h +index a0403e9..4de986a 100644 +--- a/include/grub/unicode.h ++++ b/include/grub/unicode.h +@@ -293,7 +293,7 @@ grub_unicode_glyph_dup (const struct grub_unicode_glyph *in) + grub_memcpy (out, in, sizeof (*in)); + if (in->ncomb > ARRAY_SIZE (out->combining_inline)) + { +- out->combining_ptr = grub_malloc (in->ncomb * sizeof (out->combining_ptr[0])); ++ out->combining_ptr = grub_calloc (in->ncomb, sizeof (out->combining_ptr[0])); + if (!out->combining_ptr) + { + grub_free (out); +@@ -315,7 +315,7 @@ grub_unicode_set_glyph (struct grub_unicode_glyph *out, + grub_memcpy (out, in, sizeof (*in)); + if (in->ncomb > ARRAY_SIZE (out->combining_inline)) + { +- out->combining_ptr = grub_malloc (in->ncomb * sizeof (out->combining_ptr[0])); ++ out->combining_ptr = grub_calloc (in->ncomb, sizeof (out->combining_ptr[0])); + if (!out->combining_ptr) + return; + grub_memcpy (out->combining_ptr, in->combining_ptr, +diff --git a/util/getroot.c b/util/getroot.c +index 847406f..a5eaa64 100644 +--- a/util/getroot.c ++++ b/util/getroot.c +@@ -200,7 +200,7 @@ make_device_name (const char *drive) + char *ret, *ptr; + const char *iptr; + +- ret = xmalloc (strlen (drive) * 2); ++ ret = xcalloc (2, strlen (drive)); + ptr = ret; + for (iptr = drive; *iptr; iptr++) + { +diff --git a/util/grub-file.c b/util/grub-file.c +index 50c18b6..b2e7dd6 100644 +--- a/util/grub-file.c ++++ b/util/grub-file.c +@@ -54,7 +54,7 @@ main (int argc, char *argv[]) + + grub_util_host_init (&argc, &argv); + +- argv2 = xmalloc (argc * sizeof (argv2[0])); ++ argv2 = xcalloc (argc, sizeof (argv2[0])); + + if (argc == 2 && strcmp (argv[1], "--version") == 0) + { +diff --git a/util/grub-fstest.c b/util/grub-fstest.c +index f14e02d..57246af 100644 +--- a/util/grub-fstest.c ++++ b/util/grub-fstest.c +@@ -650,7 +650,7 @@ argp_parser (int key, char *arg, struct argp_state *state) + if (args_count < num_disks) + { + if (args_count == 0) +- images = xmalloc (num_disks * sizeof (images[0])); ++ images = xcalloc (num_disks, sizeof (images[0])); + images[args_count] = grub_canonicalize_file_name (arg); + args_count++; + return 0; +@@ -734,7 +734,7 @@ main (int argc, char *argv[]) + + grub_util_host_init (&argc, &argv); + +- args = xmalloc (argc * sizeof (args[0])); ++ args = xcalloc (argc, sizeof (args[0])); + + argp_parse (&argp, argc, argv, 0, 0, 0); + +diff --git a/util/grub-install-common.c b/util/grub-install-common.c +index ca0ac61..0295d40 100644 +--- a/util/grub-install-common.c ++++ b/util/grub-install-common.c +@@ -286,7 +286,7 @@ handle_install_list (struct install_list *il, const char *val, + il->n_entries++; + } + il->n_alloc = il->n_entries + 1; +- il->entries = xmalloc (il->n_alloc * sizeof (il->entries[0])); ++ il->entries = xcalloc (il->n_alloc, sizeof (il->entries[0])); + ptr = val; + for (ce = il->entries; ; ce++) + { +diff --git a/util/grub-install.c b/util/grub-install.c +index 8a55ad4..a82725f 100644 +--- a/util/grub-install.c ++++ b/util/grub-install.c +@@ -626,7 +626,7 @@ device_map_check_duplicates (const char *dev_map) + if (! fp) + return; + +- d = xmalloc (alloced * sizeof (d[0])); ++ d = xcalloc (alloced, sizeof (d[0])); + + while (fgets (buf, sizeof (buf), fp)) + { +@@ -1260,7 +1260,7 @@ main (int argc, char *argv[]) + ndev++; + } + +- grub_drives = xmalloc (sizeof (grub_drives[0]) * (ndev + 1)); ++ grub_drives = xcalloc (ndev + 1, sizeof (grub_drives[0])); + + for (curdev = grub_devices, curdrive = grub_drives; *curdev; curdev++, + curdrive++) +diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c +index bc087c2..d97d0e7 100644 +--- a/util/grub-mkimagexx.c ++++ b/util/grub-mkimagexx.c +@@ -2294,10 +2294,8 @@ SUFFIX (grub_mkimage_load_image) (const char *kernel_path, + + grub_host_to_target16 (e->e_shstrndx) * smd.section_entsize); + smd.strtab = (char *) e + grub_host_to_target_addr (s->sh_offset); + +- smd.addrs = xmalloc (sizeof (*smd.addrs) * smd.num_sections); +- memset (smd.addrs, 0, sizeof (*smd.addrs) * smd.num_sections); +- smd.vaddrs = xmalloc (sizeof (*smd.vaddrs) * smd.num_sections); +- memset (smd.vaddrs, 0, sizeof (*smd.vaddrs) * smd.num_sections); ++ smd.addrs = xcalloc (smd.num_sections, sizeof (*smd.addrs)); ++ smd.vaddrs = xcalloc (smd.num_sections, sizeof (*smd.vaddrs)); + + SUFFIX (locate_sections) (e, kernel_path, &smd, layout, image_target); + +diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c +index ce2cbc4..5183102 100644 +--- a/util/grub-mkrescue.c ++++ b/util/grub-mkrescue.c +@@ -441,8 +441,8 @@ main (int argc, char *argv[]) + xorriso = xstrdup ("xorriso"); + label_font = grub_util_path_concat (2, pkgdatadir, "unicode.pf2"); + +- argp_argv = xmalloc (sizeof (argp_argv[0]) * argc); +- xorriso_tail_argv = xmalloc (sizeof (argp_argv[0]) * argc); ++ argp_argv = xcalloc (argc, sizeof (argp_argv[0])); ++ xorriso_tail_argv = xcalloc (argc, sizeof (argp_argv[0])); + + xorriso_tail_argc = 0; + /* Program name */ +diff --git a/util/grub-mkstandalone.c b/util/grub-mkstandalone.c +index 4907d44..edf3097 100644 +--- a/util/grub-mkstandalone.c ++++ b/util/grub-mkstandalone.c +@@ -296,7 +296,7 @@ main (int argc, char *argv[]) + grub_util_host_init (&argc, &argv); + grub_util_disable_fd_syncs (); + +- files = xmalloc ((argc + 1) * sizeof (files[0])); ++ files = xcalloc (argc + 1, sizeof (files[0])); + + argp_parse (&argp, argc, argv, 0, 0, 0); + +diff --git a/util/grub-pe2elf.c b/util/grub-pe2elf.c +index 0d4084a..1133129 100644 +--- a/util/grub-pe2elf.c ++++ b/util/grub-pe2elf.c +@@ -100,9 +100,9 @@ write_section_data (FILE* fp, const char *name, char *image, + char *pe_strtab = (image + pe_chdr->symtab_offset + + pe_chdr->num_symbols * sizeof (struct grub_pe32_symbol)); + +- section_map = xmalloc ((2 * pe_chdr->num_sections + 5) * sizeof (int)); ++ section_map = xcalloc (2 * pe_chdr->num_sections + 5, sizeof (int)); + section_map[0] = 0; +- shdr = xmalloc ((2 * pe_chdr->num_sections + 5) * sizeof (shdr[0])); ++ shdr = xcalloc (2 * pe_chdr->num_sections + 5, sizeof (shdr[0])); + idx = 1; + idx_reloc = pe_chdr->num_sections + 1; + +@@ -233,7 +233,7 @@ write_reloc_section (FILE* fp, const char *name, char *image, + + pe_sec = pe_shdr + shdr[i].sh_link; + pe_rel = (struct grub_pe32_reloc *) (image + pe_sec->relocations_offset); +- rel = (elf_reloc_t *) xmalloc (pe_sec->num_relocations * sizeof (elf_reloc_t)); ++ rel = (elf_reloc_t *) xcalloc (pe_sec->num_relocations, sizeof (elf_reloc_t)); + num_rels = 0; + modified = 0; + +@@ -365,12 +365,10 @@ write_symbol_table (FILE* fp, const char *name, char *image, + pe_symtab = (struct grub_pe32_symbol *) (image + pe_chdr->symtab_offset); + pe_strtab = (char *) (pe_symtab + pe_chdr->num_symbols); + +- symtab = (Elf_Sym *) xmalloc ((pe_chdr->num_symbols + 1) * +- sizeof (Elf_Sym)); +- memset (symtab, 0, (pe_chdr->num_symbols + 1) * sizeof (Elf_Sym)); ++ symtab = (Elf_Sym *) xcalloc (pe_chdr->num_symbols + 1, sizeof (Elf_Sym)); + num_syms = 1; + +- symtab_map = (int *) xmalloc (pe_chdr->num_symbols * sizeof (int)); ++ symtab_map = (int *) xcalloc (pe_chdr->num_symbols, sizeof (int)); + + for (i = 0; i < (int) pe_chdr->num_symbols; + i += pe_symtab->num_aux + 1, pe_symtab += pe_symtab->num_aux + 1) +diff --git a/util/grub-probe.c b/util/grub-probe.c +index 81d27ee..cbe6ed9 100644 +--- a/util/grub-probe.c ++++ b/util/grub-probe.c +@@ -361,8 +361,8 @@ probe (const char *path, char **device_names, char delim) + grub_util_pull_device (*curdev); + ndev++; + } +- +- drives_names = xmalloc (sizeof (drives_names[0]) * (ndev + 1)); ++ ++ drives_names = xcalloc (ndev + 1, sizeof (drives_names[0])); + + for (curdev = device_names, curdrive = drives_names; *curdev; curdev++, + curdrive++) +-- +2.14.4 + diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch new file mode 100644 index 0000000000..896a2145d4 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch @@ -0,0 +1,1330 @@ +From eb77d1ef65e25746acff43545f62a71360b15eec Mon Sep 17 00:00:00 2001 +From: Peter Jones <pjones@redhat.com> +Date: Mon, 15 Jun 2020 12:28:27 -0400 +Subject: [PATCH 6/9] malloc: Use overflow checking primitives where we do + complex allocations + +This attempts to fix the places where we do the following where +arithmetic_expr may include unvalidated data: + + X = grub_malloc(arithmetic_expr); + +It accomplishes this by doing the arithmetic ahead of time using grub_add(), +grub_sub(), grub_mul() and testing for overflow before proceeding. + +Among other issues, this fixes: + - allocation of integer overflow in grub_video_bitmap_create() + reported by Chris Coulson, + - allocation of integer overflow in grub_png_decode_image_header() + reported by Chris Coulson, + - allocation of integer overflow in grub_squash_read_symlink() + reported by Chris Coulson, + - allocation of integer overflow in grub_ext2_read_symlink() + reported by Chris Coulson, + - allocation of integer overflow in read_section_as_string() + reported by Chris Coulson. + +Fixes: CVE-2020-14309, CVE-2020-14310, CVE-2020-14311 + +Signed-off-by: Peter Jones <pjones@redhat.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> + +Upstream-Status: Backport +CVE: CVE-2020-14309, CVE-2020-14310, CVE-2020-14311 + +Reference to upstream patch: +https://git.savannah.gnu.org/cgit/grub.git/commit/?id=3f05d693d1274965ffbe4ba99080dc2c570944c6 + +Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> +--- + grub-core/commands/legacycfg.c | 29 +++++++++++++++++++----- + grub-core/commands/wildcard.c | 36 ++++++++++++++++++++++++----- + grub-core/disk/ldm.c | 32 ++++++++++++++++++-------- + grub-core/font/font.c | 7 +++++- + grub-core/fs/btrfs.c | 28 +++++++++++++++-------- + grub-core/fs/ext2.c | 10 ++++++++- + grub-core/fs/iso9660.c | 51 +++++++++++++++++++++++++++++------------- + grub-core/fs/sfs.c | 27 +++++++++++++++++----- + grub-core/fs/squash4.c | 45 ++++++++++++++++++++++++++++--------- + grub-core/fs/udf.c | 41 +++++++++++++++++++++------------ + grub-core/fs/xfs.c | 11 +++++---- + grub-core/fs/zfs/zfs.c | 22 ++++++++++++------ + grub-core/fs/zfs/zfscrypt.c | 7 +++++- + grub-core/lib/arg.c | 20 +++++++++++++++-- + grub-core/loader/i386/bsd.c | 8 ++++++- + grub-core/net/dns.c | 9 +++++++- + grub-core/normal/charset.c | 10 +++++++-- + grub-core/normal/cmdline.c | 14 ++++++++++-- + grub-core/normal/menu_entry.c | 13 +++++++++-- + grub-core/script/argv.c | 16 +++++++++++-- + grub-core/script/lexer.c | 21 ++++++++++++++--- + grub-core/video/bitmap.c | 25 +++++++++++++-------- + grub-core/video/readers/png.c | 13 +++++++++-- + 23 files changed, 382 insertions(+), 113 deletions(-) + +diff --git a/grub-core/commands/legacycfg.c b/grub-core/commands/legacycfg.c +index 5e3ec0d..cc5971f 100644 +--- a/grub-core/commands/legacycfg.c ++++ b/grub-core/commands/legacycfg.c +@@ -32,6 +32,7 @@ + #include <grub/auth.h> + #include <grub/disk.h> + #include <grub/partition.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -104,13 +105,22 @@ legacy_file (const char *filename) + if (newsuffix) + { + char *t; +- ++ grub_size_t sz; ++ ++ if (grub_add (grub_strlen (suffix), grub_strlen (newsuffix), &sz) || ++ grub_add (sz, 1, &sz)) ++ { ++ grub_errno = GRUB_ERR_OUT_OF_RANGE; ++ goto fail_0; ++ } ++ + t = suffix; +- suffix = grub_realloc (suffix, grub_strlen (suffix) +- + grub_strlen (newsuffix) + 1); ++ suffix = grub_realloc (suffix, sz); + if (!suffix) + { + grub_free (t); ++ ++ fail_0: + grub_free (entrysrc); + grub_free (parsed); + grub_free (newsuffix); +@@ -154,13 +164,22 @@ legacy_file (const char *filename) + else + { + char *t; ++ grub_size_t sz; ++ ++ if (grub_add (grub_strlen (entrysrc), grub_strlen (parsed), &sz) || ++ grub_add (sz, 1, &sz)) ++ { ++ grub_errno = GRUB_ERR_OUT_OF_RANGE; ++ goto fail_1; ++ } + + t = entrysrc; +- entrysrc = grub_realloc (entrysrc, grub_strlen (entrysrc) +- + grub_strlen (parsed) + 1); ++ entrysrc = grub_realloc (entrysrc, sz); + if (!entrysrc) + { + grub_free (t); ++ ++ fail_1: + grub_free (parsed); + grub_free (suffix); + return grub_errno; +diff --git a/grub-core/commands/wildcard.c b/grub-core/commands/wildcard.c +index 4a106ca..cc32903 100644 +--- a/grub-core/commands/wildcard.c ++++ b/grub-core/commands/wildcard.c +@@ -23,6 +23,7 @@ + #include <grub/file.h> + #include <grub/device.h> + #include <grub/script_sh.h> ++#include <grub/safemath.h> + + #include <regex.h> + +@@ -48,6 +49,7 @@ merge (char **dest, char **ps) + int i; + int j; + char **p; ++ grub_size_t sz; + + if (! dest) + return ps; +@@ -60,7 +62,12 @@ merge (char **dest, char **ps) + for (j = 0; ps[j]; j++) + ; + +- p = grub_realloc (dest, sizeof (char*) * (i + j + 1)); ++ if (grub_add (i, j, &sz) || ++ grub_add (sz, 1, &sz) || ++ grub_mul (sz, sizeof (char *), &sz)) ++ return dest; ++ ++ p = grub_realloc (dest, sz); + if (! p) + { + grub_free (dest); +@@ -115,8 +122,15 @@ make_regex (const char *start, const char *end, regex_t *regexp) + char ch; + int i = 0; + unsigned len = end - start; +- char *buffer = grub_malloc (len * 2 + 2 + 1); /* worst case size. */ ++ char *buffer; ++ grub_size_t sz; + ++ /* Worst case size is (len * 2 + 2 + 1). */ ++ if (grub_mul (len, 2, &sz) || ++ grub_add (sz, 3, &sz)) ++ return 1; ++ ++ buffer = grub_malloc (sz); + if (! buffer) + return 1; + +@@ -226,6 +240,7 @@ match_devices_iter (const char *name, void *data) + struct match_devices_ctx *ctx = data; + char **t; + char *buffer; ++ grub_size_t sz; + + /* skip partitions if asked to. */ + if (ctx->noparts && grub_strchr (name, ',')) +@@ -239,11 +254,16 @@ match_devices_iter (const char *name, void *data) + if (regexec (ctx->regexp, buffer, 0, 0, 0)) + { + grub_dprintf ("expand", "not matched\n"); ++ fail: + grub_free (buffer); + return 0; + } + +- t = grub_realloc (ctx->devs, sizeof (char*) * (ctx->ndev + 2)); ++ if (grub_add (ctx->ndev, 2, &sz) || ++ grub_mul (sz, sizeof (char *), &sz)) ++ goto fail; ++ ++ t = grub_realloc (ctx->devs, sz); + if (! t) + { + grub_free (buffer); +@@ -300,6 +320,7 @@ match_files_iter (const char *name, + struct match_files_ctx *ctx = data; + char **t; + char *buffer; ++ grub_size_t sz; + + /* skip . and .. names */ + if (grub_strcmp(".", name) == 0 || grub_strcmp("..", name) == 0) +@@ -315,9 +336,14 @@ match_files_iter (const char *name, + if (! buffer) + return 1; + +- t = grub_realloc (ctx->files, sizeof (char*) * (ctx->nfile + 2)); +- if (! t) ++ if (grub_add (ctx->nfile, 2, &sz) || ++ grub_mul (sz, sizeof (char *), &sz)) ++ goto fail; ++ ++ t = grub_realloc (ctx->files, sz); ++ if (!t) + { ++ fail: + grub_free (buffer); + return 1; + } +diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c +index e632370..58f8a53 100644 +--- a/grub-core/disk/ldm.c ++++ b/grub-core/disk/ldm.c +@@ -25,6 +25,7 @@ + #include <grub/msdos_partition.h> + #include <grub/gpt_partition.h> + #include <grub/i18n.h> ++#include <grub/safemath.h> + + #ifdef GRUB_UTIL + #include <grub/emu/misc.h> +@@ -289,6 +290,7 @@ make_vg (grub_disk_t disk, + struct grub_ldm_vblk vblk[GRUB_DISK_SECTOR_SIZE + / sizeof (struct grub_ldm_vblk)]; + unsigned i; ++ grub_size_t sz; + err = grub_disk_read (disk, cursec, 0, + sizeof(vblk), &vblk); + if (err) +@@ -350,7 +352,13 @@ make_vg (grub_disk_t disk, + grub_free (lv); + goto fail2; + } +- lv->name = grub_malloc (*ptr + 1); ++ if (grub_add (*ptr, 1, &sz)) ++ { ++ grub_free (lv->internal_id); ++ grub_free (lv); ++ goto fail2; ++ } ++ lv->name = grub_malloc (sz); + if (!lv->name) + { + grub_free (lv->internal_id); +@@ -599,10 +607,13 @@ make_vg (grub_disk_t disk, + if (lv->segments->node_alloc == lv->segments->node_count) + { + void *t; +- lv->segments->node_alloc *= 2; +- t = grub_realloc (lv->segments->nodes, +- sizeof (*lv->segments->nodes) +- * lv->segments->node_alloc); ++ grub_size_t sz; ++ ++ if (grub_mul (lv->segments->node_alloc, 2, &lv->segments->node_alloc) || ++ grub_mul (lv->segments->node_alloc, sizeof (*lv->segments->nodes), &sz)) ++ goto fail2; ++ ++ t = grub_realloc (lv->segments->nodes, sz); + if (!t) + goto fail2; + lv->segments->nodes = t; +@@ -723,10 +734,13 @@ make_vg (grub_disk_t disk, + if (comp->segment_alloc == comp->segment_count) + { + void *t; +- comp->segment_alloc *= 2; +- t = grub_realloc (comp->segments, +- comp->segment_alloc +- * sizeof (*comp->segments)); ++ grub_size_t sz; ++ ++ if (grub_mul (comp->segment_alloc, 2, &comp->segment_alloc) || ++ grub_mul (comp->segment_alloc, sizeof (*comp->segments), &sz)) ++ goto fail2; ++ ++ t = grub_realloc (comp->segments, sz); + if (!t) + goto fail2; + comp->segments = t; +diff --git a/grub-core/font/font.c b/grub-core/font/font.c +index 8e118b3..5edb477 100644 +--- a/grub-core/font/font.c ++++ b/grub-core/font/font.c +@@ -30,6 +30,7 @@ + #include <grub/unicode.h> + #include <grub/fontformat.h> + #include <grub/env.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -360,9 +361,13 @@ static char * + read_section_as_string (struct font_file_section *section) + { + char *str; ++ grub_size_t sz; + grub_ssize_t ret; + +- str = grub_malloc (section->length + 1); ++ if (grub_add (section->length, 1, &sz)) ++ return NULL; ++ ++ str = grub_malloc (sz); + if (!str) + return 0; + +diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c +index 11272ef..2b65bd5 100644 +--- a/grub-core/fs/btrfs.c ++++ b/grub-core/fs/btrfs.c +@@ -40,6 +40,7 @@ + #include <grub/btrfs.h> + #include <grub/crypto.h> + #include <grub/diskfilter.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -329,9 +330,13 @@ save_ref (struct grub_btrfs_leaf_descriptor *desc, + if (desc->allocated < desc->depth) + { + void *newdata; +- desc->allocated *= 2; +- newdata = grub_realloc (desc->data, sizeof (desc->data[0]) +- * desc->allocated); ++ grub_size_t sz; ++ ++ if (grub_mul (desc->allocated, 2, &desc->allocated) || ++ grub_mul (desc->allocated, sizeof (desc->data[0]), &sz)) ++ return GRUB_ERR_OUT_OF_RANGE; ++ ++ newdata = grub_realloc (desc->data, sz); + if (!newdata) + return grub_errno; + desc->data = newdata; +@@ -622,16 +627,21 @@ find_device (struct grub_btrfs_data *data, grub_uint64_t id) + if (data->n_devices_attached > data->n_devices_allocated) + { + void *tmp; +- data->n_devices_allocated = 2 * data->n_devices_attached + 1; +- data->devices_attached +- = grub_realloc (tmp = data->devices_attached, +- data->n_devices_allocated +- * sizeof (data->devices_attached[0])); ++ grub_size_t sz; ++ ++ if (grub_mul (data->n_devices_attached, 2, &data->n_devices_allocated) || ++ grub_add (data->n_devices_allocated, 1, &data->n_devices_allocated) || ++ grub_mul (data->n_devices_allocated, sizeof (data->devices_attached[0]), &sz)) ++ goto fail; ++ ++ data->devices_attached = grub_realloc (tmp = data->devices_attached, sz); + if (!data->devices_attached) + { ++ data->devices_attached = tmp; ++ ++ fail: + if (ctx.dev_found) + grub_device_close (ctx.dev_found); +- data->devices_attached = tmp; + return NULL; + } + } +diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c +index 9b38980..ac33bcd 100644 +--- a/grub-core/fs/ext2.c ++++ b/grub-core/fs/ext2.c +@@ -46,6 +46,7 @@ + #include <grub/dl.h> + #include <grub/types.h> + #include <grub/fshelp.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -703,6 +704,7 @@ grub_ext2_read_symlink (grub_fshelp_node_t node) + { + char *symlink; + struct grub_fshelp_node *diro = node; ++ grub_size_t sz; + + if (! diro->inode_read) + { +@@ -717,7 +719,13 @@ grub_ext2_read_symlink (grub_fshelp_node_t node) + } + } + +- symlink = grub_malloc (grub_le_to_cpu32 (diro->inode.size) + 1); ++ if (grub_add (grub_le_to_cpu32 (diro->inode.size), 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ return NULL; ++ } ++ ++ symlink = grub_malloc (sz); + if (! symlink) + return 0; + +diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c +index 4f1b52a..7ba5b30 100644 +--- a/grub-core/fs/iso9660.c ++++ b/grub-core/fs/iso9660.c +@@ -28,6 +28,7 @@ + #include <grub/fshelp.h> + #include <grub/charset.h> + #include <grub/datetime.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -531,8 +532,13 @@ add_part (struct iterate_dir_ctx *ctx, + int len2) + { + int size = ctx->symlink ? grub_strlen (ctx->symlink) : 0; ++ grub_size_t sz; + +- ctx->symlink = grub_realloc (ctx->symlink, size + len2 + 1); ++ if (grub_add (size, len2, &sz) || ++ grub_add (sz, 1, &sz)) ++ return; ++ ++ ctx->symlink = grub_realloc (ctx->symlink, sz); + if (! ctx->symlink) + return; + +@@ -560,17 +566,24 @@ susp_iterate_dir (struct grub_iso9660_susp_entry *entry, + { + grub_size_t off = 0, csize = 1; + char *old; ++ grub_size_t sz; ++ + csize = entry->len - 5; + old = ctx->filename; + if (ctx->filename_alloc) + { + off = grub_strlen (ctx->filename); +- ctx->filename = grub_realloc (ctx->filename, csize + off + 1); ++ if (grub_add (csize, off, &sz) || ++ grub_add (sz, 1, &sz)) ++ return GRUB_ERR_OUT_OF_RANGE; ++ ctx->filename = grub_realloc (ctx->filename, sz); + } + else + { + off = 0; +- ctx->filename = grub_zalloc (csize + 1); ++ if (grub_add (csize, 1, &sz)) ++ return GRUB_ERR_OUT_OF_RANGE; ++ ctx->filename = grub_zalloc (sz); + } + if (!ctx->filename) + { +@@ -776,14 +789,18 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir, + if (node->have_dirents >= node->alloc_dirents) + { + struct grub_fshelp_node *new_node; +- node->alloc_dirents *= 2; +- new_node = grub_realloc (node, +- sizeof (struct grub_fshelp_node) +- + ((node->alloc_dirents +- - ARRAY_SIZE (node->dirents)) +- * sizeof (node->dirents[0]))); ++ grub_size_t sz; ++ ++ if (grub_mul (node->alloc_dirents, 2, &node->alloc_dirents) || ++ grub_sub (node->alloc_dirents, ARRAY_SIZE (node->dirents), &sz) || ++ grub_mul (sz, sizeof (node->dirents[0]), &sz) || ++ grub_add (sz, sizeof (struct grub_fshelp_node), &sz)) ++ goto fail_0; ++ ++ new_node = grub_realloc (node, sz); + if (!new_node) + { ++ fail_0: + if (ctx.filename_alloc) + grub_free (ctx.filename); + grub_free (node); +@@ -799,14 +816,18 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir, + * sizeof (node->dirents[0]) < grub_strlen (ctx.symlink) + 1) + { + struct grub_fshelp_node *new_node; +- new_node = grub_realloc (node, +- sizeof (struct grub_fshelp_node) +- + ((node->alloc_dirents +- - ARRAY_SIZE (node->dirents)) +- * sizeof (node->dirents[0])) +- + grub_strlen (ctx.symlink) + 1); ++ grub_size_t sz; ++ ++ if (grub_sub (node->alloc_dirents, ARRAY_SIZE (node->dirents), &sz) || ++ grub_mul (sz, sizeof (node->dirents[0]), &sz) || ++ grub_add (sz, sizeof (struct grub_fshelp_node) + 1, &sz) || ++ grub_add (sz, grub_strlen (ctx.symlink), &sz)) ++ goto fail_1; ++ ++ new_node = grub_realloc (node, sz); + if (!new_node) + { ++ fail_1: + if (ctx.filename_alloc) + grub_free (ctx.filename); + grub_free (node); +diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c +index 90f7fb3..de2b107 100644 +--- a/grub-core/fs/sfs.c ++++ b/grub-core/fs/sfs.c +@@ -26,6 +26,7 @@ + #include <grub/types.h> + #include <grub/fshelp.h> + #include <grub/charset.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -307,10 +308,15 @@ grub_sfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock) + if (node->cache && node->cache_size >= node->cache_allocated) + { + struct cache_entry *e = node->cache; +- e = grub_realloc (node->cache,node->cache_allocated * 2 +- * sizeof (e[0])); ++ grub_size_t sz; ++ ++ if (grub_mul (node->cache_allocated, 2 * sizeof (e[0]), &sz)) ++ goto fail; ++ ++ e = grub_realloc (node->cache, sz); + if (!e) + { ++ fail: + grub_errno = 0; + grub_free (node->cache); + node->cache = 0; +@@ -477,10 +483,16 @@ grub_sfs_create_node (struct grub_fshelp_node **node, + grub_size_t len = grub_strlen (name); + grub_uint8_t *name_u8; + int ret; ++ grub_size_t sz; ++ ++ if (grub_mul (len, GRUB_MAX_UTF8_PER_LATIN1, &sz) || ++ grub_add (sz, 1, &sz)) ++ return 1; ++ + *node = grub_malloc (sizeof (**node)); + if (!*node) + return 1; +- name_u8 = grub_malloc (len * GRUB_MAX_UTF8_PER_LATIN1 + 1); ++ name_u8 = grub_malloc (sz); + if (!name_u8) + { + grub_free (*node); +@@ -724,8 +736,13 @@ grub_sfs_label (grub_device_t device, char **label) + data = grub_sfs_mount (disk); + if (data) + { +- grub_size_t len = grub_strlen (data->label); +- *label = grub_malloc (len * GRUB_MAX_UTF8_PER_LATIN1 + 1); ++ grub_size_t sz, len = grub_strlen (data->label); ++ ++ if (grub_mul (len, GRUB_MAX_UTF8_PER_LATIN1, &sz) || ++ grub_add (sz, 1, &sz)) ++ return GRUB_ERR_OUT_OF_RANGE; ++ ++ *label = grub_malloc (sz); + if (*label) + *grub_latin1_to_utf8 ((grub_uint8_t *) *label, + (const grub_uint8_t *) data->label, +diff --git a/grub-core/fs/squash4.c b/grub-core/fs/squash4.c +index 95d5c1e..7851238 100644 +--- a/grub-core/fs/squash4.c ++++ b/grub-core/fs/squash4.c +@@ -26,6 +26,7 @@ + #include <grub/types.h> + #include <grub/fshelp.h> + #include <grub/deflate.h> ++#include <grub/safemath.h> + #include <minilzo.h> + + #include "xz.h" +@@ -459,7 +460,17 @@ grub_squash_read_symlink (grub_fshelp_node_t node) + { + char *ret; + grub_err_t err; +- ret = grub_malloc (grub_le_to_cpu32 (node->ino.symlink.namelen) + 1); ++ grub_size_t sz; ++ ++ if (grub_add (grub_le_to_cpu32 (node->ino.symlink.namelen), 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ return NULL; ++ } ++ ++ ret = grub_malloc (sz); ++ if (!ret) ++ return NULL; + + err = read_chunk (node->data, ret, + grub_le_to_cpu32 (node->ino.symlink.namelen), +@@ -506,11 +517,16 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir, + + { + grub_fshelp_node_t node; +- node = grub_malloc (sizeof (*node) + dir->stsize * sizeof (dir->stack[0])); ++ grub_size_t sz; ++ ++ if (grub_mul (dir->stsize, sizeof (dir->stack[0]), &sz) || ++ grub_add (sz, sizeof (*node), &sz)) ++ return 0; ++ ++ node = grub_malloc (sz); + if (!node) + return 0; +- grub_memcpy (node, dir, +- sizeof (*node) + dir->stsize * sizeof (dir->stack[0])); ++ grub_memcpy (node, dir, sz); + if (hook (".", GRUB_FSHELP_DIR, node, hook_data)) + return 1; + +@@ -518,12 +534,15 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir, + { + grub_err_t err; + +- node = grub_malloc (sizeof (*node) + dir->stsize * sizeof (dir->stack[0])); ++ if (grub_mul (dir->stsize, sizeof (dir->stack[0]), &sz) || ++ grub_add (sz, sizeof (*node), &sz)) ++ return 0; ++ ++ node = grub_malloc (sz); + if (!node) + return 0; + +- grub_memcpy (node, dir, +- sizeof (*node) + dir->stsize * sizeof (dir->stack[0])); ++ grub_memcpy (node, dir, sz); + + node->stsize--; + err = read_chunk (dir->data, &node->ino, sizeof (node->ino), +@@ -557,6 +576,7 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir, + enum grub_fshelp_filetype filetype = GRUB_FSHELP_REG; + struct grub_squash_dirent di; + struct grub_squash_inode ino; ++ grub_size_t sz; + + err = read_chunk (dir->data, &di, sizeof (di), + grub_le_to_cpu64 (dir->data->sb.diroffset) +@@ -589,13 +609,16 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir, + if (grub_le_to_cpu16 (di.type) == SQUASH_TYPE_SYMLINK) + filetype = GRUB_FSHELP_SYMLINK; + +- node = grub_malloc (sizeof (*node) +- + (dir->stsize + 1) * sizeof (dir->stack[0])); ++ if (grub_add (dir->stsize, 1, &sz) || ++ grub_mul (sz, sizeof (dir->stack[0]), &sz) || ++ grub_add (sz, sizeof (*node), &sz)) ++ return 0; ++ ++ node = grub_malloc (sz); + if (! node) + return 0; + +- grub_memcpy (node, dir, +- sizeof (*node) + dir->stsize * sizeof (dir->stack[0])); ++ grub_memcpy (node, dir, sz - sizeof(dir->stack[0])); + + node->ino = ino; + node->stack[node->stsize].ino_chunk = grub_le_to_cpu32 (dh.ino_chunk); +diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c +index a837616..21ac7f4 100644 +--- a/grub-core/fs/udf.c ++++ b/grub-core/fs/udf.c +@@ -28,6 +28,7 @@ + #include <grub/charset.h> + #include <grub/datetime.h> + #include <grub/udf.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -890,9 +891,19 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf) + utf16[i] = (raw[2 * i + 1] << 8) | raw[2*i + 2]; + } + if (!outbuf) +- outbuf = grub_malloc (utf16len * GRUB_MAX_UTF8_PER_UTF16 + 1); ++ { ++ grub_size_t size; ++ ++ if (grub_mul (utf16len, GRUB_MAX_UTF8_PER_UTF16, &size) || ++ grub_add (size, 1, &size)) ++ goto fail; ++ ++ outbuf = grub_malloc (size); ++ } + if (outbuf) + *grub_utf16_to_utf8 ((grub_uint8_t *) outbuf, utf16, utf16len) = '\0'; ++ ++ fail: + grub_free (utf16); + return outbuf; + } +@@ -1005,7 +1016,7 @@ grub_udf_read_symlink (grub_fshelp_node_t node) + grub_size_t sz = U64 (node->block.fe.file_size); + grub_uint8_t *raw; + const grub_uint8_t *ptr; +- char *out, *optr; ++ char *out = NULL, *optr; + + if (sz < 4) + return NULL; +@@ -1013,14 +1024,16 @@ grub_udf_read_symlink (grub_fshelp_node_t node) + if (!raw) + return NULL; + if (grub_udf_read_file (node, NULL, NULL, 0, sz, (char *) raw) < 0) +- { +- grub_free (raw); +- return NULL; +- } ++ goto fail_1; + +- out = grub_malloc (sz * 2 + 1); ++ if (grub_mul (sz, 2, &sz) || ++ grub_add (sz, 1, &sz)) ++ goto fail_0; ++ ++ out = grub_malloc (sz); + if (!out) + { ++ fail_0: + grub_free (raw); + return NULL; + } +@@ -1031,17 +1044,17 @@ grub_udf_read_symlink (grub_fshelp_node_t node) + { + grub_size_t s; + if ((grub_size_t) (ptr - raw + 4) > sz) +- goto fail; ++ goto fail_1; + if (!(ptr[2] == 0 && ptr[3] == 0)) +- goto fail; ++ goto fail_1; + s = 4 + ptr[1]; + if ((grub_size_t) (ptr - raw + s) > sz) +- goto fail; ++ goto fail_1; + switch (*ptr) + { + case 1: + if (ptr[1]) +- goto fail; ++ goto fail_1; + /* Fallthrough. */ + case 2: + /* in 4 bytes. out: 1 byte. */ +@@ -1066,11 +1079,11 @@ grub_udf_read_symlink (grub_fshelp_node_t node) + if (optr != out) + *optr++ = '/'; + if (!read_string (ptr + 4, s - 4, optr)) +- goto fail; ++ goto fail_1; + optr += grub_strlen (optr); + break; + default: +- goto fail; ++ goto fail_1; + } + ptr += s; + } +@@ -1078,7 +1091,7 @@ grub_udf_read_symlink (grub_fshelp_node_t node) + grub_free (raw); + return out; + +- fail: ++ fail_1: + grub_free (raw); + grub_free (out); + grub_error (GRUB_ERR_BAD_FS, "invalid symlink"); +diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c +index 96ffecb..ea65902 100644 +--- a/grub-core/fs/xfs.c ++++ b/grub-core/fs/xfs.c +@@ -25,6 +25,7 @@ + #include <grub/dl.h> + #include <grub/types.h> + #include <grub/fshelp.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -899,6 +900,7 @@ static struct grub_xfs_data * + grub_xfs_mount (grub_disk_t disk) + { + struct grub_xfs_data *data = 0; ++ grub_size_t sz; + + data = grub_zalloc (sizeof (struct grub_xfs_data)); + if (!data) +@@ -913,10 +915,11 @@ grub_xfs_mount (grub_disk_t disk) + if (!grub_xfs_sb_valid(data)) + goto fail; + +- data = grub_realloc (data, +- sizeof (struct grub_xfs_data) +- - sizeof (struct grub_xfs_inode) +- + grub_xfs_inode_size(data) + 1); ++ if (grub_add (grub_xfs_inode_size (data), ++ sizeof (struct grub_xfs_data) - sizeof (struct grub_xfs_inode) + 1, &sz)) ++ goto fail; ++ ++ data = grub_realloc (data, sz); + + if (! data) + goto fail; +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index 381dde5..36d0373 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -55,6 +55,7 @@ + #include <grub/deflate.h> + #include <grub/crypto.h> + #include <grub/i18n.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -773,11 +774,14 @@ fill_vdev_info (struct grub_zfs_data *data, + if (data->n_devices_attached > data->n_devices_allocated) + { + void *tmp; +- data->n_devices_allocated = 2 * data->n_devices_attached + 1; +- data->devices_attached +- = grub_realloc (tmp = data->devices_attached, +- data->n_devices_allocated +- * sizeof (data->devices_attached[0])); ++ grub_size_t sz; ++ ++ if (grub_mul (data->n_devices_attached, 2, &data->n_devices_allocated) || ++ grub_add (data->n_devices_allocated, 1, &data->n_devices_allocated) || ++ grub_mul (data->n_devices_allocated, sizeof (data->devices_attached[0]), &sz)) ++ return GRUB_ERR_OUT_OF_RANGE; ++ ++ data->devices_attached = grub_realloc (tmp = data->devices_attached, sz); + if (!data->devices_attached) + { + data->devices_attached = tmp; +@@ -3468,14 +3472,18 @@ grub_zfs_nvlist_lookup_nvlist (const char *nvlist, const char *name) + { + char *nvpair; + char *ret; +- grub_size_t size; ++ grub_size_t size, sz; + int found; + + found = nvlist_find_value (nvlist, name, DATA_TYPE_NVLIST, &nvpair, + &size, 0); + if (!found) + return 0; +- ret = grub_zalloc (size + 3 * sizeof (grub_uint32_t)); ++ ++ if (grub_add (size, 3 * sizeof (grub_uint32_t), &sz)) ++ return 0; ++ ++ ret = grub_zalloc (sz); + if (!ret) + return 0; + grub_memcpy (ret, nvlist, sizeof (grub_uint32_t)); +diff --git a/grub-core/fs/zfs/zfscrypt.c b/grub-core/fs/zfs/zfscrypt.c +index 1402e0b..de3b015 100644 +--- a/grub-core/fs/zfs/zfscrypt.c ++++ b/grub-core/fs/zfs/zfscrypt.c +@@ -22,6 +22,7 @@ + #include <grub/misc.h> + #include <grub/disk.h> + #include <grub/partition.h> ++#include <grub/safemath.h> + #include <grub/dl.h> + #include <grub/types.h> + #include <grub/zfs/zfs.h> +@@ -82,9 +83,13 @@ grub_zfs_add_key (grub_uint8_t *key_in, + int passphrase) + { + struct grub_zfs_wrap_key *key; ++ grub_size_t sz; ++ + if (!passphrase && keylen > 32) + keylen = 32; +- key = grub_malloc (sizeof (*key) + keylen); ++ if (grub_add (sizeof (*key), keylen, &sz)) ++ return GRUB_ERR_OUT_OF_RANGE; ++ key = grub_malloc (sz); + if (!key) + return grub_errno; + key->is_passphrase = passphrase; +diff --git a/grub-core/lib/arg.c b/grub-core/lib/arg.c +index fd7744a..3288609 100644 +--- a/grub-core/lib/arg.c ++++ b/grub-core/lib/arg.c +@@ -23,6 +23,7 @@ + #include <grub/term.h> + #include <grub/extcmd.h> + #include <grub/i18n.h> ++#include <grub/safemath.h> + + /* Built-in parser for default options. */ + static const struct grub_arg_option help_options[] = +@@ -216,7 +217,13 @@ static inline grub_err_t + add_arg (char ***argl, int *num, char *s) + { + char **p = *argl; +- *argl = grub_realloc (*argl, (++(*num) + 1) * sizeof (char *)); ++ grub_size_t sz; ++ ++ if (grub_add (++(*num), 1, &sz) || ++ grub_mul (sz, sizeof (char *), &sz)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ ++ *argl = grub_realloc (*argl, sz); + if (! *argl) + { + grub_free (p); +@@ -431,6 +438,7 @@ grub_arg_list_alloc(grub_extcmd_t extcmd, int argc, + grub_size_t argcnt; + struct grub_arg_list *list; + const struct grub_arg_option *options; ++ grub_size_t sz0, sz1; + + options = extcmd->options; + if (! options) +@@ -443,7 +451,15 @@ grub_arg_list_alloc(grub_extcmd_t extcmd, int argc, + argcnt += ((grub_size_t) argc + 1) / 2 + 1; /* max possible for any option */ + } + +- list = grub_zalloc (sizeof (*list) * i + sizeof (char*) * argcnt); ++ if (grub_mul (sizeof (*list), i, &sz0) || ++ grub_mul (sizeof (char *), argcnt, &sz1) || ++ grub_add (sz0, sz1, &sz0)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ return 0; ++ } ++ ++ list = grub_zalloc (sz0); + if (! list) + return 0; + +diff --git a/grub-core/loader/i386/bsd.c b/grub-core/loader/i386/bsd.c +index 3730ed3..b92cbe9 100644 +--- a/grub-core/loader/i386/bsd.c ++++ b/grub-core/loader/i386/bsd.c +@@ -35,6 +35,7 @@ + #include <grub/ns8250.h> + #include <grub/bsdlabel.h> + #include <grub/crypto.h> ++#include <grub/safemath.h> + #include <grub/verify.h> + #ifdef GRUB_MACHINE_PCBIOS + #include <grub/machine/int.h> +@@ -1012,11 +1013,16 @@ grub_netbsd_add_modules (void) + struct grub_netbsd_btinfo_modules *mods; + unsigned i; + grub_err_t err; ++ grub_size_t sz; + + for (mod = netbsd_mods; mod; mod = mod->next) + modcnt++; + +- mods = grub_malloc (sizeof (*mods) + sizeof (mods->mods[0]) * modcnt); ++ if (grub_mul (modcnt, sizeof (mods->mods[0]), &sz) || ++ grub_add (sz, sizeof (*mods), &sz)) ++ return GRUB_ERR_OUT_OF_RANGE; ++ ++ mods = grub_malloc (sz); + if (!mods) + return grub_errno; + +diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c +index e332d5e..906ec7d 100644 +--- a/grub-core/net/dns.c ++++ b/grub-core/net/dns.c +@@ -22,6 +22,7 @@ + #include <grub/i18n.h> + #include <grub/err.h> + #include <grub/time.h> ++#include <grub/safemath.h> + + struct dns_cache_element + { +@@ -51,9 +52,15 @@ grub_net_add_dns_server (const struct grub_net_network_level_address *s) + { + int na = dns_servers_alloc * 2; + struct grub_net_network_level_address *ns; ++ grub_size_t sz; ++ + if (na < 8) + na = 8; +- ns = grub_realloc (dns_servers, na * sizeof (ns[0])); ++ ++ if (grub_mul (na, sizeof (ns[0]), &sz)) ++ return GRUB_ERR_OUT_OF_RANGE; ++ ++ ns = grub_realloc (dns_servers, sz); + if (!ns) + return grub_errno; + dns_servers_alloc = na; +diff --git a/grub-core/normal/charset.c b/grub-core/normal/charset.c +index d57fb72..4dfcc31 100644 +--- a/grub-core/normal/charset.c ++++ b/grub-core/normal/charset.c +@@ -48,6 +48,7 @@ + #include <grub/unicode.h> + #include <grub/term.h> + #include <grub/normal.h> ++#include <grub/safemath.h> + + #if HAVE_FONT_SOURCE + #include "widthspec.h" +@@ -464,6 +465,7 @@ grub_unicode_aglomerate_comb (const grub_uint32_t *in, grub_size_t inlen, + { + struct grub_unicode_combining *n; + unsigned j; ++ grub_size_t sz; + + if (!haveout) + continue; +@@ -477,10 +479,14 @@ grub_unicode_aglomerate_comb (const grub_uint32_t *in, grub_size_t inlen, + n = out->combining_inline; + else if (out->ncomb > (int) ARRAY_SIZE (out->combining_inline)) + { +- n = grub_realloc (out->combining_ptr, +- sizeof (n[0]) * (out->ncomb + 1)); ++ if (grub_add (out->ncomb, 1, &sz) || ++ grub_mul (sz, sizeof (n[0]), &sz)) ++ goto fail; ++ ++ n = grub_realloc (out->combining_ptr, sz); + if (!n) + { ++ fail: + grub_errno = GRUB_ERR_NONE; + continue; + } +diff --git a/grub-core/normal/cmdline.c b/grub-core/normal/cmdline.c +index c57242e..de03fe6 100644 +--- a/grub-core/normal/cmdline.c ++++ b/grub-core/normal/cmdline.c +@@ -28,6 +28,7 @@ + #include <grub/env.h> + #include <grub/i18n.h> + #include <grub/charset.h> ++#include <grub/safemath.h> + + static grub_uint32_t *kill_buf; + +@@ -307,12 +308,21 @@ cl_insert (struct cmdline_term *cl_terms, unsigned nterms, + if (len + (*llen) >= (*max_len)) + { + grub_uint32_t *nbuf; +- (*max_len) *= 2; +- nbuf = grub_realloc ((*buf), sizeof (grub_uint32_t) * (*max_len)); ++ grub_size_t sz; ++ ++ if (grub_mul (*max_len, 2, max_len) || ++ grub_mul (*max_len, sizeof (grub_uint32_t), &sz)) ++ { ++ grub_errno = GRUB_ERR_OUT_OF_RANGE; ++ goto fail; ++ } ++ ++ nbuf = grub_realloc ((*buf), sz); + if (nbuf) + (*buf) = nbuf; + else + { ++ fail: + grub_print_error (); + grub_errno = GRUB_ERR_NONE; + (*max_len) /= 2; +diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c +index 1993995..50eef91 100644 +--- a/grub-core/normal/menu_entry.c ++++ b/grub-core/normal/menu_entry.c +@@ -27,6 +27,7 @@ + #include <grub/auth.h> + #include <grub/i18n.h> + #include <grub/charset.h> ++#include <grub/safemath.h> + + enum update_mode + { +@@ -113,10 +114,18 @@ ensure_space (struct line *linep, int extra) + { + if (linep->max_len < linep->len + extra) + { +- linep->max_len = 2 * (linep->len + extra); +- linep->buf = grub_realloc (linep->buf, (linep->max_len + 1) * sizeof (linep->buf[0])); ++ grub_size_t sz0, sz1; ++ ++ if (grub_add (linep->len, extra, &sz0) || ++ grub_mul (sz0, 2, &sz0) || ++ grub_add (sz0, 1, &sz1) || ++ grub_mul (sz1, sizeof (linep->buf[0]), &sz1)) ++ return 0; ++ ++ linep->buf = grub_realloc (linep->buf, sz1); + if (! linep->buf) + return 0; ++ linep->max_len = sz0; + } + + return 1; +diff --git a/grub-core/script/argv.c b/grub-core/script/argv.c +index 217ec5d..5751fdd 100644 +--- a/grub-core/script/argv.c ++++ b/grub-core/script/argv.c +@@ -20,6 +20,7 @@ + #include <grub/mm.h> + #include <grub/misc.h> + #include <grub/script_sh.h> ++#include <grub/safemath.h> + + /* Return nearest power of two that is >= v. */ + static unsigned +@@ -81,11 +82,16 @@ int + grub_script_argv_next (struct grub_script_argv *argv) + { + char **p = argv->args; ++ grub_size_t sz; + + if (argv->args && argv->argc && argv->args[argv->argc - 1] == 0) + return 0; + +- p = grub_realloc (p, round_up_exp ((argv->argc + 2) * sizeof (char *))); ++ if (grub_add (argv->argc, 2, &sz) || ++ grub_mul (sz, sizeof (char *), &sz)) ++ return 1; ++ ++ p = grub_realloc (p, round_up_exp (sz)); + if (! p) + return 1; + +@@ -105,13 +111,19 @@ grub_script_argv_append (struct grub_script_argv *argv, const char *s, + { + grub_size_t a; + char *p = argv->args[argv->argc - 1]; ++ grub_size_t sz; + + if (! s) + return 0; + + a = p ? grub_strlen (p) : 0; + +- p = grub_realloc (p, round_up_exp ((a + slen + 1) * sizeof (char))); ++ if (grub_add (a, slen, &sz) || ++ grub_add (sz, 1, &sz) || ++ grub_mul (sz, sizeof (char), &sz)) ++ return 1; ++ ++ p = grub_realloc (p, round_up_exp (sz)); + if (! p) + return 1; + +diff --git a/grub-core/script/lexer.c b/grub-core/script/lexer.c +index c6bd317..5fb0cbd 100644 +--- a/grub-core/script/lexer.c ++++ b/grub-core/script/lexer.c +@@ -24,6 +24,7 @@ + #include <grub/mm.h> + #include <grub/script_sh.h> + #include <grub/i18n.h> ++#include <grub/safemath.h> + + #define yytext_ptr char * + #include "grub_script.tab.h" +@@ -110,10 +111,14 @@ grub_script_lexer_record (struct grub_parser_param *parser, char *str) + old = lexer->recording; + if (lexer->recordlen < len) + lexer->recordlen = len; +- lexer->recordlen *= 2; ++ ++ if (grub_mul (lexer->recordlen, 2, &lexer->recordlen)) ++ goto fail; ++ + lexer->recording = grub_realloc (lexer->recording, lexer->recordlen); + if (!lexer->recording) + { ++ fail: + grub_free (old); + lexer->recordpos = 0; + lexer->recordlen = 0; +@@ -130,7 +135,7 @@ int + grub_script_lexer_yywrap (struct grub_parser_param *parserstate, + const char *input) + { +- grub_size_t len = 0; ++ grub_size_t len = 0, sz; + char *p = 0; + char *line = 0; + YY_BUFFER_STATE buffer; +@@ -168,12 +173,22 @@ grub_script_lexer_yywrap (struct grub_parser_param *parserstate, + } + else if (len && line[len - 1] != '\n') + { +- p = grub_realloc (line, len + 2); ++ if (grub_add (len, 2, &sz)) ++ { ++ grub_free (line); ++ grub_script_yyerror (parserstate, N_("overflow is detected")); ++ return 1; ++ } ++ ++ p = grub_realloc (line, sz); + if (p) + { + p[len++] = '\n'; + p[len] = '\0'; + } ++ else ++ grub_free (line); ++ + line = p; + } + +diff --git a/grub-core/video/bitmap.c b/grub-core/video/bitmap.c +index b2e0315..6256e20 100644 +--- a/grub-core/video/bitmap.c ++++ b/grub-core/video/bitmap.c +@@ -23,6 +23,7 @@ + #include <grub/mm.h> + #include <grub/misc.h> + #include <grub/i18n.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -58,7 +59,7 @@ grub_video_bitmap_create (struct grub_video_bitmap **bitmap, + enum grub_video_blit_format blit_format) + { + struct grub_video_mode_info *mode_info; +- unsigned int size; ++ grub_size_t size; + + if (!bitmap) + return grub_error (GRUB_ERR_BUG, "invalid argument"); +@@ -137,19 +138,25 @@ grub_video_bitmap_create (struct grub_video_bitmap **bitmap, + + mode_info->pitch = width * mode_info->bytes_per_pixel; + +- /* Calculate size needed for the data. */ +- size = (width * mode_info->bytes_per_pixel) * height; ++ /* Calculate size needed for the data. */ ++ if (grub_mul (width, mode_info->bytes_per_pixel, &size) || ++ grub_mul (size, height, &size)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ goto fail; ++ } + + (*bitmap)->data = grub_zalloc (size); + if (! (*bitmap)->data) +- { +- grub_free (*bitmap); +- *bitmap = 0; +- +- return grub_errno; +- } ++ goto fail; + + return GRUB_ERR_NONE; ++ ++ fail: ++ grub_free (*bitmap); ++ *bitmap = NULL; ++ ++ return grub_errno; + } + + /* Frees all resources allocated by bitmap. */ +diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c +index 61bd645..0157ff7 100644 +--- a/grub-core/video/readers/png.c ++++ b/grub-core/video/readers/png.c +@@ -23,6 +23,7 @@ + #include <grub/mm.h> + #include <grub/misc.h> + #include <grub/bufio.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -301,9 +302,17 @@ grub_png_decode_image_header (struct grub_png_data *data) + data->bpp <<= 1; + + data->color_bits = color_bits; +- data->row_bytes = data->image_width * data->bpp; ++ ++ if (grub_mul (data->image_width, data->bpp, &data->row_bytes)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ + if (data->color_bits <= 4) +- data->row_bytes = (data->image_width * data->color_bits + 7) / 8; ++ { ++ if (grub_mul (data->image_width, data->color_bits + 7, &data->row_bytes)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ ++ data->row_bytes >>= 3; ++ } + + #ifndef GRUB_CPU_WORDS_BIGENDIAN + if (data->is_16bit || data->is_gray || data->is_palette) +-- +2.14.4 + diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch new file mode 100644 index 0000000000..329e554a68 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch @@ -0,0 +1,117 @@ +From c65fc7e75b7b7e880d90766057040011701e97f4 Mon Sep 17 00:00:00 2001 +From: Chris Coulson <chris.coulson@canonical.com> +Date: Fri, 10 Jul 2020 14:41:45 +0100 +Subject: [PATCH 8/9] script: Avoid a use-after-free when redefining a function + during execution + +Defining a new function with the same name as a previously defined +function causes the grub_script and associated resources for the +previous function to be freed. If the previous function is currently +executing when a function with the same name is defined, this results +in use-after-frees when processing subsequent commands in the original +function. + +Instead, reject a new function definition if it has the same name as +a previously defined function, and that function is currently being +executed. Although a behavioural change, this should be backwards +compatible with existing configurations because they can't be +dependent on the current behaviour without being broken. + +Fixes: CVE-2020-15706 + +Signed-off-by: Chris Coulson <chris.coulson@canonical.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> + +Upstream-Status: Backport +CVE: CVE-2020-15706 + +Reference to upstream patch: +https://git.savannah.gnu.org/cgit/grub.git/commit/?id=426f57383d647406ae9c628c472059c27cd6e040 + +Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> +--- + grub-core/script/execute.c | 2 ++ + grub-core/script/function.c | 16 +++++++++++++--- + grub-core/script/parser.y | 3 ++- + include/grub/script_sh.h | 2 ++ + 4 files changed, 19 insertions(+), 4 deletions(-) + +diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c +index c8d6806..7e028e1 100644 +--- a/grub-core/script/execute.c ++++ b/grub-core/script/execute.c +@@ -838,7 +838,9 @@ grub_script_function_call (grub_script_function_t func, int argc, char **args) + old_scope = scope; + scope = &new_scope; + ++ func->executing++; + ret = grub_script_execute (func->func); ++ func->executing--; + + function_return = 0; + active_loops = loops; +diff --git a/grub-core/script/function.c b/grub-core/script/function.c +index d36655e..3aad04b 100644 +--- a/grub-core/script/function.c ++++ b/grub-core/script/function.c +@@ -34,6 +34,7 @@ grub_script_function_create (struct grub_script_arg *functionname_arg, + func = (grub_script_function_t) grub_malloc (sizeof (*func)); + if (! func) + return 0; ++ func->executing = 0; + + func->name = grub_strdup (functionname_arg->str); + if (! func->name) +@@ -60,10 +61,19 @@ grub_script_function_create (struct grub_script_arg *functionname_arg, + grub_script_function_t q; + + q = *p; +- grub_script_free (q->func); +- q->func = cmd; + grub_free (func); +- func = q; ++ if (q->executing > 0) ++ { ++ grub_error (GRUB_ERR_BAD_ARGUMENT, ++ N_("attempt to redefine a function being executed")); ++ func = NULL; ++ } ++ else ++ { ++ grub_script_free (q->func); ++ q->func = cmd; ++ func = q; ++ } + } + else + { +diff --git a/grub-core/script/parser.y b/grub-core/script/parser.y +index 4f0ab83..f80b86b 100644 +--- a/grub-core/script/parser.y ++++ b/grub-core/script/parser.y +@@ -289,7 +289,8 @@ function: "function" "name" + grub_script_mem_free (state->func_mem); + else { + script->children = state->scripts; +- grub_script_function_create ($2, script); ++ if (!grub_script_function_create ($2, script)) ++ grub_script_free (script); + } + + state->scripts = $<scripts>3; +diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h +index b382bcf..6c48e07 100644 +--- a/include/grub/script_sh.h ++++ b/include/grub/script_sh.h +@@ -361,6 +361,8 @@ struct grub_script_function + + /* The next element. */ + struct grub_script_function *next; ++ ++ unsigned executing; + }; + typedef struct grub_script_function *grub_script_function_t; + +-- +2.14.4 + diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch new file mode 100644 index 0000000000..d4f9300c0a --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch @@ -0,0 +1,177 @@ +From 68a09a74f6d726d79709847f3671c0a08e4fb5a0 Mon Sep 17 00:00:00 2001 +From: Colin Watson <cjwatson@debian.org> +Date: Sat, 25 Jul 2020 12:15:37 +0100 +Subject: [PATCH 9/9] linux: Fix integer overflows in initrd size handling + +These could be triggered by a crafted filesystem with very large files. + +Fixes: CVE-2020-15707 + +Signed-off-by: Colin Watson <cjwatson@debian.org> +Reviewed-by: Jan Setje-Eilers <jan.setjeeilers@oracle.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> + +Upstream-Status: Backport +CVE: CVE-2020-15707 + +Reference to upstream patch: +https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e7b8856f8be3292afdb38d2e8c70ad8d62a61e10 + +Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> +--- + grub-core/loader/linux.c | 74 +++++++++++++++++++++++++++++++++++------------- + 1 file changed, 54 insertions(+), 20 deletions(-) + +diff --git a/grub-core/loader/linux.c b/grub-core/loader/linux.c +index 471b214..8c8565a 100644 +--- a/grub-core/loader/linux.c ++++ b/grub-core/loader/linux.c +@@ -4,6 +4,7 @@ + #include <grub/misc.h> + #include <grub/file.h> + #include <grub/mm.h> ++#include <grub/safemath.h> + + struct newc_head + { +@@ -98,13 +99,13 @@ free_dir (struct dir *root) + grub_free (root); + } + +-static grub_size_t ++static grub_err_t + insert_dir (const char *name, struct dir **root, +- grub_uint8_t *ptr) ++ grub_uint8_t *ptr, grub_size_t *size) + { + struct dir *cur, **head = root; + const char *cb, *ce = name; +- grub_size_t size = 0; ++ *size = 0; + while (1) + { + for (cb = ce; *cb == '/'; cb++); +@@ -130,14 +131,22 @@ insert_dir (const char *name, struct dir **root, + ptr = make_header (ptr, name, ce - name, + 040777, 0); + } +- size += ALIGN_UP ((ce - (char *) name) +- + sizeof (struct newc_head), 4); ++ if (grub_add (*size, ++ ALIGN_UP ((ce - (char *) name) ++ + sizeof (struct newc_head), 4), ++ size)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ grub_free (n->name); ++ grub_free (n); ++ return grub_errno; ++ } + *head = n; + cur = n; + } + root = &cur->next; + } +- return size; ++ return GRUB_ERR_NONE; + } + + grub_err_t +@@ -173,26 +182,33 @@ grub_initrd_init (int argc, char *argv[], + eptr = grub_strchr (ptr, ':'); + if (eptr) + { ++ grub_size_t dir_size, name_len; ++ + initrd_ctx->components[i].newc_name = grub_strndup (ptr, eptr - ptr); +- if (!initrd_ctx->components[i].newc_name) ++ if (!initrd_ctx->components[i].newc_name || ++ insert_dir (initrd_ctx->components[i].newc_name, &root, 0, ++ &dir_size)) + { + grub_initrd_close (initrd_ctx); + return grub_errno; + } +- initrd_ctx->size +- += ALIGN_UP (sizeof (struct newc_head) +- + grub_strlen (initrd_ctx->components[i].newc_name), +- 4); +- initrd_ctx->size += insert_dir (initrd_ctx->components[i].newc_name, +- &root, 0); ++ name_len = grub_strlen (initrd_ctx->components[i].newc_name); ++ if (grub_add (initrd_ctx->size, ++ ALIGN_UP (sizeof (struct newc_head) + name_len, 4), ++ &initrd_ctx->size) || ++ grub_add (initrd_ctx->size, dir_size, &initrd_ctx->size)) ++ goto overflow; + newc = 1; + fname = eptr + 1; + } + } + else if (newc) + { +- initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head) +- + sizeof ("TRAILER!!!") - 1, 4); ++ if (grub_add (initrd_ctx->size, ++ ALIGN_UP (sizeof (struct newc_head) ++ + sizeof ("TRAILER!!!") - 1, 4), ++ &initrd_ctx->size)) ++ goto overflow; + free_dir (root); + root = 0; + newc = 0; +@@ -208,19 +224,29 @@ grub_initrd_init (int argc, char *argv[], + initrd_ctx->nfiles++; + initrd_ctx->components[i].size + = grub_file_size (initrd_ctx->components[i].file); +- initrd_ctx->size += initrd_ctx->components[i].size; ++ if (grub_add (initrd_ctx->size, initrd_ctx->components[i].size, ++ &initrd_ctx->size)) ++ goto overflow; + } + + if (newc) + { + initrd_ctx->size = ALIGN_UP (initrd_ctx->size, 4); +- initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head) +- + sizeof ("TRAILER!!!") - 1, 4); ++ if (grub_add (initrd_ctx->size, ++ ALIGN_UP (sizeof (struct newc_head) ++ + sizeof ("TRAILER!!!") - 1, 4), ++ &initrd_ctx->size)) ++ goto overflow; + free_dir (root); + root = 0; + } + + return GRUB_ERR_NONE; ++ ++ overflow: ++ free_dir (root); ++ grub_initrd_close (initrd_ctx); ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); + } + + grub_size_t +@@ -261,8 +287,16 @@ grub_initrd_load (struct grub_linux_initrd_context *initrd_ctx, + + if (initrd_ctx->components[i].newc_name) + { +- ptr += insert_dir (initrd_ctx->components[i].newc_name, +- &root, ptr); ++ grub_size_t dir_size; ++ ++ if (insert_dir (initrd_ctx->components[i].newc_name, &root, ptr, ++ &dir_size)) ++ { ++ free_dir (root); ++ grub_initrd_close (initrd_ctx); ++ return grub_errno; ++ } ++ ptr += dir_size; + ptr = make_header (ptr, initrd_ctx->components[i].newc_name, + grub_strlen (initrd_ctx->components[i].newc_name), + 0100777, +-- +2.14.4 + diff --git a/poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch b/poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch new file mode 100644 index 0000000000..c9536e68ef --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch @@ -0,0 +1,246 @@ +From c005f62f5c4b26a77b916c8f76a852324439ecb3 Mon Sep 17 00:00:00 2001 +From: Peter Jones <pjones@redhat.com> +Date: Mon, 15 Jun 2020 12:15:29 -0400 +Subject: [PATCH 2/9] calloc: Make sure we always have an overflow-checking + calloc() available + +This tries to make sure that everywhere in this source tree, we always have +an appropriate version of calloc() (i.e. grub_calloc(), xcalloc(), etc.) +available, and that they all safely check for overflow and return NULL when +it would occur. + +Upstream-Status: Backport [commit 64e26162ebfe68317c143ca5ec996c892019f8f8 +from https://git.savannah.gnu.org/git/grub.git] + +Signed-off-by: Peter Jones <pjones@redhat.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> +--- + grub-core/kern/emu/misc.c | 12 ++++++++++++ + grub-core/kern/emu/mm.c | 10 ++++++++++ + grub-core/kern/mm.c | 40 ++++++++++++++++++++++++++++++++++++++ + grub-core/lib/libgcrypt_wrap/mem.c | 11 +++++++++-- + grub-core/lib/posix_wrap/stdlib.h | 8 +++++++- + include/grub/emu/misc.h | 1 + + include/grub/mm.h | 6 ++++++ + 7 files changed, 85 insertions(+), 3 deletions(-) + +diff --git a/grub-core/kern/emu/misc.c b/grub-core/kern/emu/misc.c +index 65db79b..dfd8a8e 100644 +--- a/grub-core/kern/emu/misc.c ++++ b/grub-core/kern/emu/misc.c +@@ -85,6 +85,18 @@ grub_util_error (const char *fmt, ...) + exit (1); + } + ++void * ++xcalloc (grub_size_t nmemb, grub_size_t size) ++{ ++ void *p; ++ ++ p = calloc (nmemb, size); ++ if (!p) ++ grub_util_error ("%s", _("out of memory")); ++ ++ return p; ++} ++ + void * + xmalloc (grub_size_t size) + { +diff --git a/grub-core/kern/emu/mm.c b/grub-core/kern/emu/mm.c +index f262e95..145b01d 100644 +--- a/grub-core/kern/emu/mm.c ++++ b/grub-core/kern/emu/mm.c +@@ -25,6 +25,16 @@ + #include <string.h> + #include <grub/i18n.h> + ++void * ++grub_calloc (grub_size_t nmemb, grub_size_t size) ++{ ++ void *ret; ++ ret = calloc (nmemb, size); ++ if (!ret) ++ grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory")); ++ return ret; ++} ++ + void * + grub_malloc (grub_size_t size) + { +diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c +index ee88ff6..f2822a8 100644 +--- a/grub-core/kern/mm.c ++++ b/grub-core/kern/mm.c +@@ -67,8 +67,10 @@ + #include <grub/dl.h> + #include <grub/i18n.h> + #include <grub/mm_private.h> ++#include <grub/safemath.h> + + #ifdef MM_DEBUG ++# undef grub_calloc + # undef grub_malloc + # undef grub_zalloc + # undef grub_realloc +@@ -375,6 +377,30 @@ grub_memalign (grub_size_t align, grub_size_t size) + return 0; + } + ++/* ++ * Allocate NMEMB instances of SIZE bytes and return the pointer, or error on ++ * integer overflow. ++ */ ++void * ++grub_calloc (grub_size_t nmemb, grub_size_t size) ++{ ++ void *ret; ++ grub_size_t sz = 0; ++ ++ if (grub_mul (nmemb, size, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ return NULL; ++ } ++ ++ ret = grub_memalign (0, sz); ++ if (!ret) ++ return NULL; ++ ++ grub_memset (ret, 0, sz); ++ return ret; ++} ++ + /* Allocate SIZE bytes and return the pointer. */ + void * + grub_malloc (grub_size_t size) +@@ -561,6 +587,20 @@ grub_mm_dump (unsigned lineno) + grub_printf ("\n"); + } + ++void * ++grub_debug_calloc (const char *file, int line, grub_size_t nmemb, grub_size_t size) ++{ ++ void *ptr; ++ ++ if (grub_mm_debug) ++ grub_printf ("%s:%d: calloc (0x%" PRIxGRUB_SIZE ", 0x%" PRIxGRUB_SIZE ") = ", ++ file, line, size); ++ ptr = grub_calloc (nmemb, size); ++ if (grub_mm_debug) ++ grub_printf ("%p\n", ptr); ++ return ptr; ++} ++ + void * + grub_debug_malloc (const char *file, int line, grub_size_t size) + { +diff --git a/grub-core/lib/libgcrypt_wrap/mem.c b/grub-core/lib/libgcrypt_wrap/mem.c +index beeb661..74c6eaf 100644 +--- a/grub-core/lib/libgcrypt_wrap/mem.c ++++ b/grub-core/lib/libgcrypt_wrap/mem.c +@@ -4,6 +4,7 @@ + #include <grub/crypto.h> + #include <grub/dl.h> + #include <grub/env.h> ++#include <grub/safemath.h> + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -36,7 +37,10 @@ void * + gcry_xcalloc (size_t n, size_t m) + { + void *ret; +- ret = grub_zalloc (n * m); ++ size_t sz; ++ if (grub_mul (n, m, &sz)) ++ grub_fatal ("gcry_xcalloc would overflow"); ++ ret = grub_zalloc (sz); + if (!ret) + grub_fatal ("gcry_xcalloc failed"); + return ret; +@@ -56,7 +60,10 @@ void * + gcry_xcalloc_secure (size_t n, size_t m) + { + void *ret; +- ret = grub_zalloc (n * m); ++ size_t sz; ++ if (grub_mul (n, m, &sz)) ++ grub_fatal ("gcry_xcalloc would overflow"); ++ ret = grub_zalloc (sz); + if (!ret) + grub_fatal ("gcry_xcalloc failed"); + return ret; +diff --git a/grub-core/lib/posix_wrap/stdlib.h b/grub-core/lib/posix_wrap/stdlib.h +index 3b46f47..7a8d385 100644 +--- a/grub-core/lib/posix_wrap/stdlib.h ++++ b/grub-core/lib/posix_wrap/stdlib.h +@@ -21,6 +21,7 @@ + + #include <grub/mm.h> + #include <grub/misc.h> ++#include <grub/safemath.h> + + static inline void + free (void *ptr) +@@ -37,7 +38,12 @@ malloc (grub_size_t size) + static inline void * + calloc (grub_size_t size, grub_size_t nelem) + { +- return grub_zalloc (size * nelem); ++ grub_size_t sz; ++ ++ if (grub_mul (size, nelem, &sz)) ++ return NULL; ++ ++ return grub_zalloc (sz); + } + + static inline void * +diff --git a/include/grub/emu/misc.h b/include/grub/emu/misc.h +index ce464cf..ff9c48a 100644 +--- a/include/grub/emu/misc.h ++++ b/include/grub/emu/misc.h +@@ -47,6 +47,7 @@ grub_util_device_is_mapped (const char *dev); + #define GRUB_HOST_PRIuLONG_LONG "llu" + #define GRUB_HOST_PRIxLONG_LONG "llx" + ++void * EXPORT_FUNC(xcalloc) (grub_size_t nmemb, grub_size_t size) WARN_UNUSED_RESULT; + void * EXPORT_FUNC(xmalloc) (grub_size_t size) WARN_UNUSED_RESULT; + void * EXPORT_FUNC(xrealloc) (void *ptr, grub_size_t size) WARN_UNUSED_RESULT; + char * EXPORT_FUNC(xstrdup) (const char *str) WARN_UNUSED_RESULT; +diff --git a/include/grub/mm.h b/include/grub/mm.h +index 28e2e53..9c38dd3 100644 +--- a/include/grub/mm.h ++++ b/include/grub/mm.h +@@ -29,6 +29,7 @@ + #endif + + void grub_mm_init_region (void *addr, grub_size_t size); ++void *EXPORT_FUNC(grub_calloc) (grub_size_t nmemb, grub_size_t size); + void *EXPORT_FUNC(grub_malloc) (grub_size_t size); + void *EXPORT_FUNC(grub_zalloc) (grub_size_t size); + void EXPORT_FUNC(grub_free) (void *ptr); +@@ -48,6 +49,9 @@ extern int EXPORT_VAR(grub_mm_debug); + void grub_mm_dump_free (void); + void grub_mm_dump (unsigned lineno); + ++#define grub_calloc(nmemb, size) \ ++ grub_debug_calloc (GRUB_FILE, __LINE__, nmemb, size) ++ + #define grub_malloc(size) \ + grub_debug_malloc (GRUB_FILE, __LINE__, size) + +@@ -63,6 +67,8 @@ void grub_mm_dump (unsigned lineno); + #define grub_free(ptr) \ + grub_debug_free (GRUB_FILE, __LINE__, ptr) + ++void *EXPORT_FUNC(grub_debug_calloc) (const char *file, int line, ++ grub_size_t nmemb, grub_size_t size); + void *EXPORT_FUNC(grub_debug_malloc) (const char *file, int line, + grub_size_t size); + void *EXPORT_FUNC(grub_debug_zalloc) (const char *file, int line, +-- +2.14.4 + diff --git a/poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch b/poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch new file mode 100644 index 0000000000..2b8157f592 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch @@ -0,0 +1,287 @@ +From 8eb02bcb5897b238b29ff762402bb0c3028f0eab Mon Sep 17 00:00:00 2001 +From: Michael Chang <mchang@suse.com> +Date: Thu, 19 Mar 2020 13:56:13 +0800 +Subject: [PATCH 3/9] lvm: Add LVM cache logical volume handling + +The LVM cache logical volume is the logical volume consisting of the original +and the cache pool logical volume. The original is usually on a larger and +slower storage device while the cache pool is on a smaller and faster one. The +performance of the original volume can be improved by storing the frequently +used data on the cache pool to utilize the greater performance of faster +device. + +The default cache mode "writethrough" ensures that any data written will be +stored both in the cache and on the origin LV, therefore grub can be straight +to read the original lv as no data loss is guarenteed. + +The second cache mode is "writeback", which delays writing from the cache pool +back to the origin LV to have increased performance. The drawback is potential +data loss if losing the associated cache device. + +During the boot time grub reads the LVM offline i.e. LVM volumes are not +activated and mounted, hence it should be fine to read directly from original +lv since all cached data should have been flushed back in the process of taking +it offline. + +It is also not much helpful to the situation by adding fsync calls to the +install code. The fsync did not force to write back dirty cache to the original +device and rather it would update associated cache metadata to complete the +write transaction with the cache device. IOW the writes to cached blocks still +go only to the cache device. + +To write back dirty cache, as LVM cache did not support dirty cache flush per +block range, there'no way to do it for file. On the other hand the "cleaner" +policy is implemented and can be used to write back "all" dirty blocks in a +cache, which effectively drain all dirty cache gradually to attain and last in +the "clean" state, which can be useful for shrinking or decommissioning a +cache. The result and effect is not what we are looking for here. + +In conclusion, as it seems no way to enforce file writes to the original +device, grub may suffer from power failure as it cannot assemble the cache +device and read the dirty data from it. However since the case is only +applicable to writeback mode which is sensitive to data lost in nature, I'd +still like to propose my (relatively simple) patch and treat reading dirty +cache as improvement. + +Upstream-Status: Backport [commit 0454b0445393aafc5600e92ef0c39494e333b135 +from https://git.savannah.gnu.org/git/grub.git] + +Signed-off-by: Michael Chang <mchang@suse.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> +--- + grub-core/disk/lvm.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 190 insertions(+) + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index 7b265c7..dc6b83b 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -33,6 +33,14 @@ + + GRUB_MOD_LICENSE ("GPLv3+"); + ++struct cache_lv ++{ ++ struct grub_diskfilter_lv *lv; ++ char *cache_pool; ++ char *origin; ++ struct cache_lv *next; ++}; ++ + + /* Go the string STR and return the number after STR. *P will point + at the number. In case STR is not found, *P will be NULL and the +@@ -95,6 +103,34 @@ grub_lvm_check_flag (char *p, const char *str, const char *flag) + } + } + ++static void ++grub_lvm_free_cache_lvs (struct cache_lv *cache_lvs) ++{ ++ struct cache_lv *cache; ++ ++ while ((cache = cache_lvs)) ++ { ++ cache_lvs = cache_lvs->next; ++ ++ if (cache->lv) ++ { ++ unsigned int i; ++ ++ for (i = 0; i < cache->lv->segment_count; ++i) ++ if (cache->lv->segments) ++ grub_free (cache->lv->segments[i].nodes); ++ grub_free (cache->lv->segments); ++ grub_free (cache->lv->fullname); ++ grub_free (cache->lv->idname); ++ grub_free (cache->lv->name); ++ } ++ grub_free (cache->lv); ++ grub_free (cache->origin); ++ grub_free (cache->cache_pool); ++ grub_free (cache); ++ } ++} ++ + static struct grub_diskfilter_vg * + grub_lvm_detect (grub_disk_t disk, + struct grub_diskfilter_pv_id *id, +@@ -242,6 +278,8 @@ grub_lvm_detect (grub_disk_t disk, + + if (! vg) + { ++ struct cache_lv *cache_lvs = NULL; ++ + /* First time we see this volume group. We've to create the + whole volume group structure. */ + vg = grub_malloc (sizeof (*vg)); +@@ -671,6 +709,106 @@ grub_lvm_detect (grub_disk_t disk, + seg->nodes[seg->node_count - 1].name = tmp; + } + } ++ else if (grub_memcmp (p, "cache\"", ++ sizeof ("cache\"") - 1) == 0) ++ { ++ struct cache_lv *cache = NULL; ++ ++ char *p2, *p3; ++ grub_size_t sz; ++ ++ cache = grub_zalloc (sizeof (*cache)); ++ if (!cache) ++ goto cache_lv_fail; ++ cache->lv = grub_zalloc (sizeof (*cache->lv)); ++ if (!cache->lv) ++ goto cache_lv_fail; ++ grub_memcpy (cache->lv, lv, sizeof (*cache->lv)); ++ ++ if (lv->fullname) ++ { ++ cache->lv->fullname = grub_strdup (lv->fullname); ++ if (!cache->lv->fullname) ++ goto cache_lv_fail; ++ } ++ if (lv->idname) ++ { ++ cache->lv->idname = grub_strdup (lv->idname); ++ if (!cache->lv->idname) ++ goto cache_lv_fail; ++ } ++ if (lv->name) ++ { ++ cache->lv->name = grub_strdup (lv->name); ++ if (!cache->lv->name) ++ goto cache_lv_fail; ++ } ++ ++ skip_lv = 1; ++ ++ p2 = grub_strstr (p, "cache_pool = \""); ++ if (!p2) ++ goto cache_lv_fail; ++ ++ p2 = grub_strchr (p2, '"'); ++ if (!p2) ++ goto cache_lv_fail; ++ ++ p3 = ++p2; ++ p3 = grub_strchr (p3, '"'); ++ if (!p3) ++ goto cache_lv_fail; ++ ++ sz = p3 - p2; ++ ++ cache->cache_pool = grub_malloc (sz + 1); ++ if (!cache->cache_pool) ++ goto cache_lv_fail; ++ grub_memcpy (cache->cache_pool, p2, sz); ++ cache->cache_pool[sz] = '\0'; ++ ++ p2 = grub_strstr (p, "origin = \""); ++ if (!p2) ++ goto cache_lv_fail; ++ ++ p2 = grub_strchr (p2, '"'); ++ if (!p2) ++ goto cache_lv_fail; ++ ++ p3 = ++p2; ++ p3 = grub_strchr (p3, '"'); ++ if (!p3) ++ goto cache_lv_fail; ++ ++ sz = p3 - p2; ++ ++ cache->origin = grub_malloc (sz + 1); ++ if (!cache->origin) ++ goto cache_lv_fail; ++ grub_memcpy (cache->origin, p2, sz); ++ cache->origin[sz] = '\0'; ++ ++ cache->next = cache_lvs; ++ cache_lvs = cache; ++ break; ++ ++ cache_lv_fail: ++ if (cache) ++ { ++ grub_free (cache->origin); ++ grub_free (cache->cache_pool); ++ if (cache->lv) ++ { ++ grub_free (cache->lv->fullname); ++ grub_free (cache->lv->idname); ++ grub_free (cache->lv->name); ++ } ++ grub_free (cache->lv); ++ grub_free (cache); ++ } ++ grub_lvm_free_cache_lvs (cache_lvs); ++ goto fail4; ++ } + else + { + #ifdef GRUB_UTIL +@@ -747,6 +885,58 @@ grub_lvm_detect (grub_disk_t disk, + } + + } ++ ++ { ++ struct cache_lv *cache; ++ ++ for (cache = cache_lvs; cache; cache = cache->next) ++ { ++ struct grub_diskfilter_lv *lv; ++ ++ for (lv = vg->lvs; lv; lv = lv->next) ++ if (grub_strcmp (lv->name, cache->origin) == 0) ++ break; ++ if (lv) ++ { ++ cache->lv->segments = grub_malloc (lv->segment_count * sizeof (*lv->segments)); ++ if (!cache->lv->segments) ++ { ++ grub_lvm_free_cache_lvs (cache_lvs); ++ goto fail4; ++ } ++ grub_memcpy (cache->lv->segments, lv->segments, lv->segment_count * sizeof (*lv->segments)); ++ ++ for (i = 0; i < lv->segment_count; ++i) ++ { ++ struct grub_diskfilter_node *nodes = lv->segments[i].nodes; ++ grub_size_t node_count = lv->segments[i].node_count; ++ ++ cache->lv->segments[i].nodes = grub_malloc (node_count * sizeof (*nodes)); ++ if (!cache->lv->segments[i].nodes) ++ { ++ for (j = 0; j < i; ++j) ++ grub_free (cache->lv->segments[j].nodes); ++ grub_free (cache->lv->segments); ++ cache->lv->segments = NULL; ++ grub_lvm_free_cache_lvs (cache_lvs); ++ goto fail4; ++ } ++ grub_memcpy (cache->lv->segments[i].nodes, nodes, node_count * sizeof (*nodes)); ++ } ++ ++ if (cache->lv->segments) ++ { ++ cache->lv->segment_count = lv->segment_count; ++ cache->lv->vg = vg; ++ cache->lv->next = vg->lvs; ++ vg->lvs = cache->lv; ++ cache->lv = NULL; ++ } ++ } ++ } ++ } ++ ++ grub_lvm_free_cache_lvs (cache_lvs); + if (grub_diskfilter_vg_register (vg)) + goto fail4; + } +-- +2.14.4 + diff --git a/poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch b/poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch new file mode 100644 index 0000000000..29021e8d8f --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch @@ -0,0 +1,94 @@ +From 06c361a71c4998635493610e5d76d0d223925251 Mon Sep 17 00:00:00 2001 +From: Peter Jones <pjones@redhat.com> +Date: Mon, 15 Jun 2020 10:58:42 -0400 +Subject: [PATCH 5/9] safemath: Add some arithmetic primitives that check for + overflow + +This adds a new header, include/grub/safemath.h, that includes easy to +use wrappers for __builtin_{add,sub,mul}_overflow() declared like: + + bool OP(a, b, res) + +where OP is grub_add, grub_sub or grub_mul. OP() returns true in the +case where the operation would overflow and res is not modified. +Otherwise, false is returned and the operation is executed. + +These arithmetic primitives require newer compiler versions. So, bump +these requirements in the INSTALL file too. + +Upstream-Status: Backport [commit 68708c4503018d61dbcce7ac11cbb511d6425f4d +from https://git.savannah.gnu.org/git/grub.git] + +Signed-off-by: Peter Jones <pjones@redhat.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +[YL: omit the change to INSTALL from original patch] +Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> +--- + include/grub/compiler.h | 8 ++++++++ + include/grub/safemath.h | 37 +++++++++++++++++++++++++++++++++++++ + 2 files changed, 45 insertions(+) + create mode 100644 include/grub/safemath.h + +diff --git a/include/grub/compiler.h b/include/grub/compiler.h +index c9e1d7a..8f3be3a 100644 +--- a/include/grub/compiler.h ++++ b/include/grub/compiler.h +@@ -48,4 +48,12 @@ + # define WARN_UNUSED_RESULT + #endif + ++#if defined(__clang__) && defined(__clang_major__) && defined(__clang_minor__) ++# define CLANG_PREREQ(maj,min) \ ++ ((__clang_major__ > (maj)) || \ ++ (__clang_major__ == (maj) && __clang_minor__ >= (min))) ++#else ++# define CLANG_PREREQ(maj,min) 0 ++#endif ++ + #endif /* ! GRUB_COMPILER_HEADER */ +diff --git a/include/grub/safemath.h b/include/grub/safemath.h +new file mode 100644 +index 0000000..c17b89b +--- /dev/null ++++ b/include/grub/safemath.h +@@ -0,0 +1,37 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2020 Free Software Foundation, Inc. ++ * ++ * GRUB is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * GRUB is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GRUB. If not, see <http://www.gnu.org/licenses/>. ++ * ++ * Arithmetic operations that protect against overflow. ++ */ ++ ++#ifndef GRUB_SAFEMATH_H ++#define GRUB_SAFEMATH_H 1 ++ ++#include <grub/compiler.h> ++ ++/* These appear in gcc 5.1 and clang 3.8. */ ++#if GNUC_PREREQ(5, 1) || CLANG_PREREQ(3, 8) ++ ++#define grub_add(a, b, res) __builtin_add_overflow(a, b, res) ++#define grub_sub(a, b, res) __builtin_sub_overflow(a, b, res) ++#define grub_mul(a, b, res) __builtin_mul_overflow(a, b, res) ++ ++#else ++#error gcc 5.1 or newer or clang 3.8 or newer is required ++#endif ++ ++#endif /* GRUB_SAFEMATH_H */ +-- +2.14.4 + diff --git a/poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch b/poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch new file mode 100644 index 0000000000..84a80d5ffd --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch @@ -0,0 +1,37 @@ +From e219bad8cee67b2bb21712df8f055706f8da25d2 Mon Sep 17 00:00:00 2001 +From: Chris Coulson <chris.coulson@canonical.com> +Date: Fri, 10 Jul 2020 11:21:14 +0100 +Subject: [PATCH 7/9] script: Remove unused fields from grub_script_function + struct + +Upstream-Status: Backport [commit 1a8d9c9b4ab6df7669b5aa36a56477f297825b96 +from https://git.savannah.gnu.org/git/grub.git] + +Signed-off-by: Chris Coulson <chris.coulson@canonical.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> +--- + include/grub/script_sh.h | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h +index 360c2be..b382bcf 100644 +--- a/include/grub/script_sh.h ++++ b/include/grub/script_sh.h +@@ -359,13 +359,8 @@ struct grub_script_function + /* The script function. */ + struct grub_script *func; + +- /* The flags. */ +- unsigned flags; +- + /* The next element. */ + struct grub_script_function *next; +- +- int references; + }; + typedef struct grub_script_function *grub_script_function_t; + +-- +2.14.4 + diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb index 30d95f95e0..f80afd95cb 100644 --- a/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb +++ b/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb @@ -26,6 +26,10 @@ python __anonymous () { grubtarget = 'arm64' elif re.match('arm', target): grubtarget = 'arm' + elif re.match('riscv64', target): + grubtarget = 'riscv64' + elif re.match('riscv32', target): + grubtarget = 'riscv32' else: raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target) grubimage = prefix + d.getVar("EFI_BOOT_IMAGE") diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc index 345554e7af..d020103605 100644 --- a/poky/meta/recipes-bsp/grub/grub2.inc +++ b/poky/meta/recipes-bsp/grub/grub2.inc @@ -19,13 +19,21 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \ file://grub-module-explicitly-keeps-symbole-.module_license.patch \ file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \ file://CVE-2020-10713.patch \ + file://calloc-Make-sure-we-always-have-an-overflow-checking.patch \ + file://lvm-Add-LVM-cache-logical-volume-handling.patch \ + file://CVE-2020-14308-calloc-Use-calloc-at-most-places.patch \ + file://safemath-Add-some-arithmetic-primitives-that-check-f.patch \ + file://CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch \ + file://script-Remove-unused-fields-from-grub_script_functio.patch \ + file://CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch \ + file://CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch \ " SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934" SRC_URI[sha256sum] = "f10c85ae3e204dbaec39ae22fa3c5e99f0665417e91c2cb49b7e5031658ba6ea" DEPENDS = "flex-native bison-native gettext-native" -COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)' +COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|riscv.*)-(linux.*|freebsd.*)' COMPATIBLE_HOST_armv7a = 'null' COMPATIBLE_HOST_armv7ve = 'null' @@ -34,6 +42,8 @@ COMPATIBLE_HOST_armv7ve = 'null' GRUBPLATFORM_arm = "efi" GRUBPLATFORM_aarch64 = "efi" +GRUBPLATFORM_riscv32 = "efi" +GRUBPLATFORM_riscv64 = "efi" GRUBPLATFORM ??= "pc" inherit autotools gettext texinfo pkgconfig diff --git a/poky/meta/recipes-bsp/grub/grub_2.04.bb b/poky/meta/recipes-bsp/grub/grub_2.04.bb index df607cae14..f2942b9e37 100644 --- a/poky/meta/recipes-bsp/grub/grub_2.04.bb +++ b/poky/meta/recipes-bsp/grub/grub_2.04.bb @@ -35,4 +35,4 @@ do_install_append () { INSANE_SKIP_${PN} = "arch" INSANE_SKIP_${PN}-dbg = "arch" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/0001-Fix-cross-compilation-using-autoconf-detected-AR.patch b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/0001-Fix-cross-compilation-using-autoconf-detected-AR.patch new file mode 100644 index 0000000000..47c7ec4170 --- /dev/null +++ b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/0001-Fix-cross-compilation-using-autoconf-detected-AR.patch @@ -0,0 +1,36 @@ +From ecdcf0df6c28c65ca6d1e5638726e13e373c76c5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 11 Nov 2020 22:58:55 -0800 +Subject: [PATCH] Fix cross compilation using autoconf detected AR + +currently its using 'ar' program from build host, which is not expected, +we need to respect AR passed in environment + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.in | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/configure.in b/configure.in +index 4ddbe8b..b7c3c31 100644 +--- a/configure.in ++++ b/configure.in +@@ -84,6 +84,13 @@ AC_ARG_ENABLE(syslog, + ]) + + dnl Checks for programs. ++m4_ifndef([AC_PROG_AR],[dnl ++ AN_MAKEVAR([AR], [AC_PROG_AR]) ++ AN_PROGRAM([ar], [AC_PROG_AR]) ++ AC_DEFUN([AC_PROG_AR], ++ [AC_CHECK_TOOL(AR, ar, :)]) ++]) ++AC_PROG_AR + AC_PROG_CC + AC_PROG_GCC_TRADITIONAL + dnl AC_PROG_INSTALL included in AM_INIT_AUTOMAKE +-- +2.29.2 + diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb index 4129237c59..54c431eeb3 100644 --- a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb +++ b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb @@ -19,6 +19,7 @@ SRC_URI = "http://www.ohse.de/uwe/releases/lrzsz-${PV}.tar.gz \ file://lrzsz-check-locale.h.patch \ file://cve-2018-10195.patch \ file://include.patch \ + file://0001-Fix-cross-compilation-using-autoconf-detected-AR.patch \ " SRC_URI[md5sum] = "b5ce6a74abc9b9eb2af94dffdfd372a4" diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc index 9199bbfe0b..cbce408a28 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc +++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc @@ -7,12 +7,12 @@ SECTION = "bootloaders" DEPENDS += "flex-native bison-native" LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e" +LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025" PE = "1" # We use the revision in order to avoid having to fetch it from the # repo during parse -SRCREV = "2f5fbb5b39f7b67044dda5c35e4a4b31685a3109" +SRCREV = "050acee119b3757fee3bd128f55d720fdd9bb890" SRC_URI = "git://git.denx.de/u-boot.git \ " diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.07.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.10.bb index 7eaf721ca8..ef386f76e6 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.07.bb +++ b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.10.bb @@ -1,2 +1,3 @@ require u-boot-common.inc require u-boot-tools.inc + diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2020.07.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2020.10.bb index 02d67c0db2..4f5b3e5dfd 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot_2020.07.bb +++ b/poky/meta/recipes-bsp/u-boot/u-boot_2020.10.bb @@ -2,3 +2,4 @@ require u-boot-common.inc require u-boot.inc DEPENDS += "bc-native dtc-native" + diff --git a/poky/meta/recipes-bsp/usbutils/usbutils_012.bb b/poky/meta/recipes-bsp/usbutils/usbutils_013.bb index 28031e72a7..51f909b795 100644 --- a/poky/meta/recipes-bsp/usbutils/usbutils_012.bb +++ b/poky/meta/recipes-bsp/usbutils/usbutils_013.bb @@ -12,8 +12,7 @@ DEPENDS = "libusb1 virtual/libiconv udev" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \ " -SRC_URI[md5sum] = "7484445cbcf04b3eacac892fe58f8d9f" -SRC_URI[sha256sum] = "ae2e10aad530d95839b6f4d46cd41715eae6f0f1789310d793e9be21b3e7ae20" +SRC_URI[sha256sum] = "efdfd5403dbdd7412de6bb897d5fbaae65ef3eb4332032c0e1f216216618e9a9" inherit autotools pkgconfig update-alternatives diff --git a/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb b/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb index 84e27d2007..a8df80fdd6 100644 --- a/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb +++ b/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb @@ -1,5 +1,5 @@ SUMMARY = "User support binary for the uvesafb kernel module" -HOMEPAGE = "http://dev.gentoo.org/~spock/projects/uvesafb/" +HOMEPAGE = "https://tracker.debian.org/pkg/v86d" # the copyright info is at the bottom of README, expect break LICENSE = "GPLv2" diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.7.bb b/poky/meta/recipes-connectivity/bind/bind_9.16.7.bb index 5fc2c1d3cd..fbe3de63cb 100644 --- a/poky/meta/recipes-connectivity/bind/bind_9.16.7.bb +++ b/poky/meta/recipes-connectivity/bind/bind_9.16.7.bb @@ -1,5 +1,5 @@ SUMMARY = "ISC Internet Domain Name Server" -HOMEPAGE = "http://www.isc.org/sw/bind/" +HOMEPAGE = "https://www.isc.org/bind/" SECTION = "console/network" LICENSE = "MPL-2.0" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.54.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.55.bb index 260eee1402..8190924562 100644 --- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.54.bb +++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.55.bb @@ -1,7 +1,7 @@ require bluez5.inc -SRC_URI[md5sum] = "e637feb2dbb7582bbbff1708367a847c" -SRC_URI[sha256sum] = "68cdab9e63e8832b130d5979dc8c96fdb087b31278f342874d992af3e56656dc" +SRC_URI[md5sum] = "94972b8bc7ade60c72b0ffa6ccff2c0a" +SRC_URI[sha256sum] = "8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e0894e9b88" # noinst programs in Makefile.tools that are conditional on READLINE # support diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch b/poky/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch new file mode 100644 index 0000000000..dd012750a4 --- /dev/null +++ b/poky/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch @@ -0,0 +1,29 @@ +From 9fea099d0a3ece37d80ad70d32ebb8a93f8f3280 Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@windriver.com> +Date: Fri, 30 Oct 2020 13:48:45 +0800 +Subject: [PATCH] connman.service: stop systemd-networkd when using connman + +Stop systemd-networkd service when we use connman as network manager. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + src/connman.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/connman.service.in b/src/connman.service.in +index 79e75d6..014eafe 100644 +--- a/src/connman.service.in ++++ b/src/connman.service.in +@@ -6,6 +6,7 @@ RequiresMountsFor=@localstatedir@/lib/connman + After=dbus.service network-pre.target systemd-sysusers.service + Before=network.target multi-user.target shutdown.target + Wants=network.target ++Conflicts=systemd-networkd.service systemd-networkd.socket + Conflicts=systemd-resolved.service + + [Service] +-- +2.17.1 + diff --git a/poky/meta/recipes-connectivity/connman/connman_1.38.bb b/poky/meta/recipes-connectivity/connman/connman_1.38.bb index 027c41e9af..45c2934dec 100644 --- a/poky/meta/recipes-connectivity/connman/connman_1.38.bb +++ b/poky/meta/recipes-connectivity/connman/connman_1.38.bb @@ -3,6 +3,7 @@ require connman.inc SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \ file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \ + file://0001-connman.service-stop-systemd-networkd-when-using-con.patch \ file://connman \ file://no-version-scripts.patch \ " diff --git a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.2.0.bb b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.3.2.bb index 13467189b4..cca60ddae2 100644 --- a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.2.0.bb +++ b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.3.2.bb @@ -17,7 +17,7 @@ SRC_URI = "https://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \ file://dhcpcd@.service \ " -SRC_URI[sha256sum] = "fcb2d19672d445bbfd38678fdee4f556ef967a3ea6bd81092d10545df2cb9666" +SRC_URI[sha256sum] = "6d49af5e766a2515e6366e4f669663df04ecdf90a1a60ddb1d7a2feb4b5d2566" inherit pkgconfig autotools-brokensep systemd useradd @@ -34,6 +34,7 @@ PACKAGECONFIG[ypbind] = "--with-eghook=yp, , ,ypbind-mt" EXTRA_OECONF = "--enable-ipv4 \ --dbdir=${localstatedir}/lib/${BPN} \ + --sbindir=${base_sbindir} \ --runstatedir=/run \ --enable-privsep \ --privsepuser=dhcpcd \ diff --git a/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd.service b/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd.service index bbed6d85c4..6c967ddaf0 100644 --- a/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd.service +++ b/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd.service @@ -5,7 +5,7 @@ Before=network.target Conflicts=connman.service [Service] -ExecStart=/usr/sbin/dhcpcd -q --nobackground +ExecStart=/sbin/dhcpcd -q --nobackground [Install] WantedBy=multi-user.target diff --git a/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd@.service b/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd@.service index 389b076c38..845b83b9e5 100644 --- a/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd@.service +++ b/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd@.service @@ -9,8 +9,8 @@ Conflicts=connman.service [Service] Type=forking PIDFile=/run/dhcpcd/%I.pid -ExecStart=/usr/sbin/dhcpcd -q %I -ExecStop=/usr/sbin/dhcpcd -x %I +ExecStart=/sbin/dhcpcd -q %I +ExecStop=/sbin/dhcpcd -x %I [Install] WantedBy=multi-user.target diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch deleted file mode 100644 index fdd8bbfb3c..0000000000 --- a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From ce39396d4617874323f6039a5b476e44bf552908 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Sat, 6 Jun 2020 18:00:13 +0000 -Subject: [PATCH] devlink.c: add missing include - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - devlink/devlink.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/devlink/devlink.c b/devlink/devlink.c -index 0982fae..93dc01c 100644 ---- a/devlink/devlink.c -+++ b/devlink/devlink.c -@@ -33,6 +33,7 @@ - #include <sys/select.h> - #include <sys/socket.h> - #include <sys/types.h> -+#include <signal.h> - - #include "version.h" - #include "list.h" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.8.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.9.0.bb index 3a590f9122..0e6a53e6a4 100644 --- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.8.0.bb +++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.9.0.bb @@ -2,10 +2,9 @@ require iproute2.inc SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ file://0001-libc-compat.h-add-musl-workaround.patch \ - file://0001-devlink.c-add-missing-include.patch \ " -SRC_URI[sha256sum] = "cfcd1f890290f8c8afcc91d9444ad929b9252c16f9ab3f286c50dd3c59dc646e" +SRC_URI[sha256sum] = "a25dac94bcdcf2f73316c7f812115ea7a5710580bad892b08a83d00c6b33dacf" # CFLAGS are computed in Makefile and reference CCOPTS # diff --git a/poky/meta/recipes-connectivity/iw/iw_5.8.bb b/poky/meta/recipes-connectivity/iw/iw_5.9.bb index 97ca66d66f..3d1e1c7e79 100644 --- a/poky/meta/recipes-connectivity/iw/iw_5.8.bb +++ b/poky/meta/recipes-connectivity/iw/iw_5.9.bb @@ -2,7 +2,7 @@ SUMMARY = "nl80211 based CLI configuration utility for wireless devices" DESCRIPTION = "iw is a new nl80211 based CLI configuration utility for \ wireless devices. It supports almost all new drivers that have been added \ to the kernel recently. " -HOMEPAGE = "http://wireless.kernel.org/en/users/Documentation/iw" +HOMEPAGE = "https://wireless.wiki.kernel.org/en/users/documentation/iw" SECTION = "base" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774" @@ -14,8 +14,7 @@ SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \ file://separate-objdir.patch \ " -SRC_URI[md5sum] = "98129d64212bdbb408f009c56ed5c62a" -SRC_URI[sha256sum] = "cd9125c7e560926d66b09977fe0f75e5365ffd05a15df67d86a421dc76f96a96" +SRC_URI[sha256sum] = "6e7d3c9f8b4ee68e412f20fe229c9854c2dba383e3e650ce6af8eb8dbd12efc3" inherit pkgconfig diff --git a/poky/meta/recipes-connectivity/kea/kea_1.7.10.bb b/poky/meta/recipes-connectivity/kea/kea_1.7.10.bb index c9a5819e47..1d011ace78 100644 --- a/poky/meta/recipes-connectivity/kea/kea_1.7.10.bb +++ b/poky/meta/recipes-connectivity/kea/kea_1.7.10.bb @@ -21,7 +21,7 @@ SRC_URI = "\ " SRC_URI[sha256sum] = "4e121f0e58b175a827581c69cb1d60778647049fa47f142940dddc9ce58f3c82" -inherit autotools systemd update-rc.d +inherit autotools systemd update-rc.d upstream-version-is-even INITSCRIPT_NAME = "kea-dhcp4-server" INITSCRIPT_PARAMS = "defaults 30" diff --git a/poky/meta/recipes-connectivity/libuv/libuv_1.39.0.bb b/poky/meta/recipes-connectivity/libuv/libuv_1.40.0.bb index b6ce4757fd..f793db09be 100644 --- a/poky/meta/recipes-connectivity/libuv/libuv_1.39.0.bb +++ b/poky/meta/recipes-connectivity/libuv/libuv_1.40.0.bb @@ -4,7 +4,7 @@ BUGTRACKER = "https://github.com/libuv/libuv/issues" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=a68902a430e32200263d182d44924d47" -SRCREV = "25f4b8b8a3c0f934158cd37a37b0525d75ca488e" +SRCREV = "4e69e333252693bd82d6338d6124f0416538dbfc" SRC_URI = "git://github.com/libuv/libuv;branch=v1.x" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch index 20400fef67..fde99b599e 100644 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch @@ -1,4 +1,7 @@ -Detect warning options during configure +From 1ab0c326405c6daa06f1a7eb4b0b60bf4e0584c2 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 31 Dec 2019 08:15:34 -0800 +Subject: [PATCH] Detect warning options during configure Certain options maybe compiler specific therefore its better to detect them before use. @@ -12,28 +15,12 @@ Wdiscarded-qualifiers is gcc specific and this is no longer needed Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- a/configure.ac -+++ b/configure.ac -@@ -599,7 +599,6 @@ my_am_cflags="\ - -Werror=parentheses \ - -Werror=aggregate-return \ - -Werror=unused-result \ -- -Wno-cast-function-type \ - -fno-strict-aliasing \ - " - -@@ -619,9 +618,10 @@ CHECK_CCSUPPORT([-Werror=format-overflow - CHECK_CCSUPPORT([-Werror=int-conversion], [flg2]) - CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [flg3]) - CHECK_CCSUPPORT([-Werror=misleading-indentation], [flg4]) -+CHECK_CCSUPPORT([-Wno-cast-function-type], [flg5]) - AX_GCC_FUNC_ATTRIBUTE([format]) - --AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4"]) -+AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4 $flg5"]) - - # Make sure that $ACLOCAL_FLAGS are used during a rebuild - AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"]) +--- + support/nfs/xcommon.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/support/nfs/xcommon.c b/support/nfs/xcommon.c +index 3989f0b..e080423 100644 --- a/support/nfs/xcommon.c +++ b/support/nfs/xcommon.c @@ -98,7 +98,10 @@ nfs_error (const char *fmt, ...) { @@ -47,15 +34,3 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> va_end (args); free (fmt2); } ---- a/utils/mount/stropts.c -+++ b/utils/mount/stropts.c -@@ -1094,9 +1094,7 @@ static int nfsmount_fg(struct nfsmount_i - if (nfs_try_mount(mi)) - return EX_SUCCESS; - --#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" - if (errno == EBUSY && is_mountpoint(mi->node)) { --#pragma GCC diagnostic warning "-Wdiscarded-qualifiers" - /* - * EBUSY can happen when mounting a filesystem that - * is already mounted or when the context= are diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.1.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.2.bb index b8ad23a0d8..c7ac67cf31 100644 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.1.bb +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.2.bb @@ -31,7 +31,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \ file://clang-warnings.patch \ " -SRC_URI[sha256sum] = "0f1c8170e16a07d9836bbf0836d48d0c842b6f0e0e8b18748f099751851d30c4" +SRC_URI[sha256sum] = "d493b81c9d3ffce5d10af701a63ed2b8a21768c23da4a2eceb4d708aea65d9de" # Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will # pull in the remainder of the dependencies. diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.3p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.4p1.bb index e007328704..676a8a6533 100644 --- a/poky/meta/recipes-connectivity/openssh/openssh_8.3p1.bb +++ b/poky/meta/recipes-connectivity/openssh/openssh_8.4p1.bb @@ -25,7 +25,11 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar file://sshd_check_keys \ file://add-test-support-for-busybox.patch \ " -SRC_URI[sha256sum] = "f2befbe0472fe7eb75d23340eb17531cb6b3aac24075e2066b41f814e12387b2" +SRC_URI[sha256sum] = "5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24" + +# This CVE is specific to OpenSSH server, as used in Fedora and Red Hat Enterprise Linux 7 +# and when running in a Kerberos environment. As such it is not relevant to OpenEmbedded +CVE_CHECK_WHITELIST += "CVE-2014-9278" PAM_SRC_URI = "file://sshd" diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1g.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1h.bb index 815955837b..1827167201 100644 --- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1g.bb +++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1h.bb @@ -23,7 +23,7 @@ SRC_URI_append_class-nativesdk = " \ file://environment.d-openssl.sh \ " -SRC_URI[sha256sum] = "ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46" +SRC_URI[sha256sum] = "5c9ca8774bd7b03e5784f26ae9e9e6d749c9da2438545077e6b3d755a06595d9" inherit lib_package multilib_header multilib_script ptest MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash" @@ -195,13 +195,14 @@ FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf \ ${libdir}/ssl-1.1/openssl.cnf* \ " FILES_${PN}-engines = "${libdir}/engines-1.1" -FILES_${PN}-misc = "${libdir}/ssl-1.1/misc" +FILES_${PN}-misc = "${libdir}/ssl-1.1/misc ${bindir}/c_rehash" FILES_${PN} =+ "${libdir}/ssl-1.1/*" FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh" CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf" RRECOMMENDS_libcrypto += "openssl-conf" +RDEPENDS_${PN}-misc = "perl" RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash" RDEPENDS_${PN}-bin += "openssl-conf" diff --git a/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.83.bb b/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.83.bb index f0ffc82241..33ee553d19 100644 --- a/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.83.bb +++ b/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.83.bb @@ -43,7 +43,7 @@ do_install () { ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run install -d ${D}${sysconfdir} ${D}${base_sbindir} install -d ${D}${mandir}/man8 ${D}${docdir}/${P} - cp -pPR etc/* ${D}${sysconfdir}/ + cp -pPR etc/resolvconf ${D}${sysconfdir}/ chown -R root:root ${D}${sysconfdir}/ install -m 0755 bin/resolvconf ${D}${base_sbindir}/ install -m 0755 bin/list-records ${D}${base_libdir}/${BPN} diff --git a/poky/meta/recipes-connectivity/socat/socat_1.7.3.4.bb b/poky/meta/recipes-connectivity/socat/socat_1.7.3.4.bb index 9b0d4071ac..f3f569d262 100644 --- a/poky/meta/recipes-connectivity/socat/socat_1.7.3.4.bb +++ b/poky/meta/recipes-connectivity/socat/socat_1.7.3.4.bb @@ -5,8 +5,6 @@ HOMEPAGE = "http://www.dest-unreach.org/socat/" SECTION = "console/network" -DEPENDS = "openssl" - LICENSE = "GPL-2.0-with-OpenSSL-exception" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://README;beginline=257;endline=287;md5=338c05eadd013872abb1d6e198e10a3f" @@ -39,10 +37,11 @@ TERMBITS_SHIFTS_powerpc64 = "sc_cv_sys_crdly_shift=12 \ sc_cv_sys_tabdly_shift=10 \ sc_cv_sys_csize_shift=8" -PACKAGECONFIG_class-target ??= "tcp-wrappers readline" -PACKAGECONFIG ??= "readline" +PACKAGECONFIG_class-target ??= "tcp-wrappers readline openssl" +PACKAGECONFIG ??= "readline openssl" PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" CFLAGS += "-fcommon" diff --git a/poky/meta/recipes-core/base-files/base-files/profile b/poky/meta/recipes-core/base-files/base-files/profile index 9e4283e0c7..cc37e1ba77 100644 --- a/poky/meta/recipes-core/base-files/base-files/profile +++ b/poky/meta/recipes-core/base-files/base-files/profile @@ -2,7 +2,6 @@ # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). PATH="/usr/local/bin:/usr/bin:/bin" -EDITOR="vi" # needed for packages like cron, git-commit [ "$TERM" ] || TERM="vt100" # Basic terminal capab. For screen etc. # Add /sbin & co to $PATH for the root user @@ -20,13 +19,48 @@ if [ -d /etc/profile.d ]; then unset i fi -# Make sure we are on a serial console (i.e. the device used starts with -# /dev/tty[A-z]), otherwise we confuse e.g. the eclipse launcher which tries do -# use ssh -case $(tty 2>/dev/null) in - /dev/tty[A-z]*) [ -x @BINDIR@/resize ] && @BINDIR@/resize >/dev/null;; -esac +if [ -t 0 -a $# -eq 0 ]; then + if [ ! -x @BINDIR@/resize ] ; then + if [ -n "$BASH_VERSION" ] ; then +# Optimized resize funciton for bash +resize() { + local x y + IFS='[;' read -t 2 -p $(printf '\e7\e[r\e[999;999H\e[6n\e8') -sd R _ y x _ + [ -n "$y" ] && \ + echo -e "COLUMNS=$x;\nLINES=$y;\nexport COLUMNS LINES;" && \ + stty cols $x rows $y +} + else +# Portable resize function for ash/bash/dash/ksh +# with subshell to avoid local variables +resize() { + (o=$(stty -g) + stty -echo raw min 0 time 2 + printf '\0337\033[r\033[999;999H\033[6n\0338' + if echo R | read -d R x 2> /dev/null; then + IFS='[;R' read -t 2 -d R -r z y x _ + else + IFS='[;R' read -r _ y x _ + fi + stty "$o" + [ -z "$y" ] && y=${z##*[}&&x=${y##*;}&&y=${y%%;*} + [ -n "$y" ] && \ + echo "COLUMNS=$x;"&&echo "LINES=$y;"&&echo "export COLUMNS LINES;"&& \ + stty cols $x rows $y) +} + fi + fi + # Use the EDITOR not being set as a trigger to call resize + # and only do this for /dev/tty[A-z] which are typically + # serial ports + if [ -z "$EDITOR" -a "$SHLVL" = 1 ] ; then + case $(tty 2>/dev/null) in + /dev/tty[A-z]*) resize >/dev/null;; + esac + fi +fi +EDITOR="vi" # needed for packages like cron, git-commit export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM umask 022 diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc index 45aaa2b41c..e0522be729 100644 --- a/poky/meta/recipes-core/busybox/busybox.inc +++ b/poky/meta/recipes-core/busybox/busybox.inc @@ -5,10 +5,11 @@ BUGTRACKER = "https://bugs.busybox.net/" DEPENDS += "kern-tools-native virtual/crypt" -# bzip2 applet in busybox is based on lightly-modified bzip2 source +# bzip2 applet in busybox is based on lightly-modified bzip2-1.0.4 source # the GPL is version 2 only -LICENSE = "GPLv2 & bzip2-1.0.6" -LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb" +LICENSE = "GPLv2 & bzip2-1.0.4" +LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb \ + file://archival/libarchive/bz/LICENSE;md5=28e3301eae987e8cfe19988e98383dae" SECTION = "base" diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.20.bb b/poky/meta/recipes-core/dbus/dbus_1.12.20.bb index cf6f7dc0ef..4040fdb22a 100644 --- a/poky/meta/recipes-core/dbus/dbus_1.12.20.bb +++ b/poky/meta/recipes-core/dbus/dbus_1.12.20.bb @@ -11,6 +11,8 @@ RDEPENDS_dbus_class-nativesdk = "" PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}" ALLOW_EMPTY_dbus-ptest = "1" RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest" +RDEPENDS_${PN} += "${PN}-common ${PN}-tools" +RDEPENDS_${PN}_class-native = "" inherit useradd update-rc.d @@ -31,7 +33,7 @@ CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session DEBIANNAME_${PN} = "dbus-1" -PACKAGES =+ "${PN}-lib" +PACKAGES =+ "${PN}-lib ${PN}-common ${PN}-tools" OLDPKGNAME = "dbus-x11" OLDPKGNAME_class-nativesdk = "" @@ -41,31 +43,37 @@ RPROVIDES_${PN} = "${OLDPKGNAME}" RREPLACES_${PN} += "${OLDPKGNAME}" FILES_${PN} = "${bindir}/dbus-daemon* \ - ${bindir}/dbus-uuidgen \ ${bindir}/dbus-cleanup-sockets \ - ${bindir}/dbus-send \ - ${bindir}/dbus-monitor \ ${bindir}/dbus-launch \ ${bindir}/dbus-run-session \ - ${bindir}/dbus-update-activation-environment \ ${libexecdir}/dbus* \ ${sysconfdir} \ ${localstatedir} \ - ${datadir}/dbus-1/services \ - ${datadir}/dbus-1/system-services \ - ${datadir}/dbus-1/session.d \ - ${datadir}/dbus-1/session.conf \ - ${datadir}/dbus-1/system.d \ - ${datadir}/dbus-1/system.conf \ - ${datadir}/xml/dbus-1 \ ${systemd_system_unitdir} \ ${systemd_user_unitdir} \ - ${nonarch_libdir}/sysusers.d/dbus.conf \ ${nonarch_libdir}/tmpfiles.d/dbus.conf \ " +FILES_${PN}-common = "${sysconfdir}/dbus-1 \ + ${datadir}/dbus-1/services \ + ${datadir}/dbus-1/system-services \ + ${datadir}/dbus-1/session.d \ + ${datadir}/dbus-1/session.conf \ + ${datadir}/dbus-1/system.d \ + ${datadir}/dbus-1/system.conf \ + ${systemd_system_unitdir}/dbus.socket \ + ${systemd_system_unitdir}/sockets.target.wants \ + ${systemd_user_unitdir}/dbus.socket \ + ${systemd_user_unitdir}/sockets.target.wants \ + ${nonarch_libdir}/sysusers.d/dbus.conf \ +" +FILES_${PN}-tools = "${bindir}/dbus-uuidgen \ + ${bindir}/dbus-send \ + ${bindir}/dbus-monitor \ + ${bindir}/dbus-update-activation-environment \ +" FILES_${PN}-lib = "${libdir}/lib*.so.*" RRECOMMENDS_${PN}-lib = "${PN}" -FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool" +FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1" PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}" pkg_postinst_dbus() { diff --git a/poky/meta/recipes-core/dropbear/dropbear_2020.80.bb b/poky/meta/recipes-core/dropbear/dropbear_2020.80.bb deleted file mode 100644 index 088c71cb99..0000000000 --- a/poky/meta/recipes-core/dropbear/dropbear_2020.80.bb +++ /dev/null @@ -1,3 +0,0 @@ -require dropbear.inc - -SRC_URI[sha256sum] = "d927941b91f2da150b2033f1a88b6a47999bf0afb1493a73e9216cffdb5d7949" diff --git a/poky/meta/recipes-core/dropbear/dropbear_2020.81.bb b/poky/meta/recipes-core/dropbear/dropbear_2020.81.bb new file mode 100644 index 0000000000..c7edea84f8 --- /dev/null +++ b/poky/meta/recipes-core/dropbear/dropbear_2020.81.bb @@ -0,0 +1,3 @@ +require dropbear.inc + +SRC_URI[sha256sum] = "48235d10b37775dbda59341ac0c4b239b82ad6318c31568b985730c788aac53b" diff --git a/poky/meta/recipes-core/expat/expat_2.2.9.bb b/poky/meta/recipes-core/expat/expat_2.2.10.bb index f477f99baf..fa263775b3 100644 --- a/poky/meta/recipes-core/expat/expat_2.2.9.bb +++ b/poky/meta/recipes-core/expat/expat_2.2.10.bb @@ -4,7 +4,7 @@ HOMEPAGE = "http://expat.sourceforge.net/" SECTION = "libs" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79" +LIC_FILES_CHKSUM = "file://COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9" SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \ file://libtool-tag.patch \ @@ -12,8 +12,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \ file://0001-Add-output-of-tests-result.patch \ " -SRC_URI[md5sum] = "875a2c2ff3e8eb9e5a5cd62db2033ab5" -SRC_URI[sha256sum] = "f1063084dc4302a427dabcca499c8312b3a32a29b7d2506653ecc8f950a9a237" +SRC_URI[sha256sum] = "b2c160f1b60e92da69de8e12333096aeb0c3bf692d41c60794de278af72135a5" EXTRA_OECMAKE_class-native += "-DEXPAT_BUILD_DOCS=OFF" diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch index d075cd3f23..d6765b163b 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch @@ -1,4 +1,4 @@ -From d3334e83ae0da9ca184eb9c8daf0854544ece023 Mon Sep 17 00:00:00 2001 +From 333809ded70ad4e3470b7134e3fac1a42ff48e61 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 13 Feb 2019 15:32:05 +0100 Subject: [PATCH] Set host_machine correctly when building with mingw32 @@ -14,7 +14,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gio/tests/meson.build b/gio/tests/meson.build -index dab65d2..e8bb2ee 100644 +index 3a19c82..b762835 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build @@ -12,7 +12,7 @@ test_c_args = [ @@ -26,7 +26,7 @@ index dab65d2..e8bb2ee 100644 common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] endif -@@ -132,7 +132,7 @@ else +@@ -133,7 +133,7 @@ else endif # Test programs buildable on UNIX only @@ -35,7 +35,7 @@ index dab65d2..e8bb2ee 100644 gio_tests += { 'file' : {}, 'gdbus-peer' : { -@@ -384,7 +384,7 @@ if host_machine.system() != 'windows' +@@ -385,7 +385,7 @@ if host_machine.system() != 'windows' endif # unix # Test programs buildable on Windows only @@ -44,7 +44,7 @@ index dab65d2..e8bb2ee 100644 gio_tests += {'win32-streams' : {}} endif -@@ -454,7 +454,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' +@@ -455,7 +455,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' } endif @@ -54,10 +54,10 @@ index dab65d2..e8bb2ee 100644 'gdbus-example-unix-fd-client' : { 'install' : false, diff --git a/glib/tests/meson.build b/glib/tests/meson.build -index 3dedafc..94605e6 100644 +index 6eb23e8..36eb919 100644 --- a/glib/tests/meson.build +++ b/glib/tests/meson.build -@@ -134,7 +134,7 @@ if glib_conf.has('HAVE_EVENTFD') +@@ -137,7 +137,7 @@ if glib_conf.has('HAVE_EVENTFD') } endif @@ -67,7 +67,7 @@ index 3dedafc..94605e6 100644 glib_tests += { 'gpoll' : { diff --git a/meson.build b/meson.build -index e1b4b79..afb6eaa 100644 +index 47f3a5c..7ea7ad1 100644 --- a/meson.build +++ b/meson.build @@ -32,6 +32,9 @@ else @@ -78,8 +78,8 @@ index e1b4b79..afb6eaa 100644 + host_system = 'windows' +endif - glib_version = meson.project_version() - glib_api_version = '2.0' + if host_system == 'darwin' + ios_test_code = '''#include <TargetConditionals.h> diff --git a/tests/meson.build b/tests/meson.build index 6741f8f..12fdc90 100644 --- a/tests/meson.build diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch index fe87482ae2..2b8e930511 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch @@ -1,4 +1,4 @@ -From 2a715765c6ceb2e8b4cc42e060aee75016111d1a Mon Sep 17 00:00:00 2001 +From 85931fbb981b5aae38f1c1370d5d3c091cb862b8 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Fri, 11 Mar 2016 15:35:55 +0000 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds @@ -19,10 +19,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gio/giomodule.c b/gio/giomodule.c -index c420260..a023745 100644 +index dc4d6d3..da46906 100644 --- a/gio/giomodule.c +++ b/gio/giomodule.c -@@ -47,6 +47,8 @@ +@@ -49,6 +49,8 @@ #include "gmemorymonitordbus.h" #ifdef G_OS_WIN32 #include "gregistrysettingsbackend.h" @@ -31,7 +31,7 @@ index c420260..a023745 100644 #endif #include <glib/gstdio.h> -@@ -1158,7 +1160,15 @@ get_gio_module_dir (void) +@@ -1163,7 +1165,15 @@ get_gio_module_dir (void) NULL); g_free (install_dir); #else diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/tzdata-update.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/tzdata-update.patch deleted file mode 100644 index 0af036f8bd..0000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/tzdata-update.patch +++ /dev/null @@ -1,458 +0,0 @@ -Backport a number of patches from upstream to fix reading of the new 'slim' -encoding for tzdata files. - -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@arm.com> - -commit 18cbd5e5a4812e9bd0b06a058322d2b44ed2ad92 -Author: Paul Eggert <eggert@cs.ucla.edu> -Date: Thu Jul 16 12:41:49 2020 -0700 - - Clarify memset in set_tz_name - - * glib/gtimezone.c (set_tz_name): Use size, not NAME_SIZE, - to clear the buffer. Suggested by Philip Withnall in: - https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1533#note_867859 - -commit 1ab3f927d6d09a8cf3349a3545f5351446f43d47 -Author: Paul Eggert <eggert@cs.ucla.edu> -Date: Thu Jul 16 12:41:49 2020 -0700 - - gtimezone: support footers in TZif files - - Since tzcode95f (1995), TZif files have had a trailing - TZ string, used for timestamps after the last transition. - This string is specified in Internet RFC 8536 section 3.3. - init_zone_from_iana_info has ignored this string, causing it - to mishandle timestamps past the year 2038. With zic's new -b - slim flag, init_zone_from_iana_info would even mishandle current - timestamps. Fix this by parsing the trailing TZ string and adding - its transitions. - - Closes #2129 - -commit e8b763e35235a2c6b4bdd48a5099c00f72741059 -Author: Paul Eggert <eggert@cs.ucla.edu> -Date: Thu Jul 16 12:41:49 2020 -0700 - - gtimezone: add support for RFC 8536 time zone transitions - - Time zone transition times can range from -167:59:59 through - +167:59:59, according to Internet RFC 8536 section 3.3.1; - this is an extension to POSIX. It is needed for proper - support of TZif version 3 files. - -commit 1c65dd48b8ebd31af8bc9b2263f83c0c411f7519 -Author: Paul Eggert <eggert@cs.ucla.edu> -Date: Thu Jul 16 12:41:49 2020 -0700 - - gtimezone: allow hh to be 24, as per POSIX - - POSIX allows hh to be 24; see - https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03 - -commit 368b65cb4cb17e29a4f55654149f554a14f48bc6 -Author: Paul Eggert <eggert@cs.ucla.edu> -Date: Thu Jul 16 12:41:49 2020 -0700 - - gtimezone: support POSIX 1003.1-2001 quoted TZ abbreviations - - TZ strings like '<-03>3' were introduced in POSIX 1003.1-2001 and - are currently specified in: - https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03 - -commit fd528aaab6bb077c6d217e62f2228ec9fe3ed760 -Author: Paul Eggert <eggert@cs.ucla.edu> -Date: Thu Jul 16 12:41:49 2020 -0700 - - gtimezone: get 64-bit data from version-3 TZif files - - Version 3 was introduced in tzdb 2013e (2013). - See Internet RFC 8536 section 3.1 under "ver(sion)". - -diff --git a/glib/gtimezone.c b/glib/gtimezone.c -index 5a835dea9..f9eee1967 100644 ---- a/glib/gtimezone.c -+++ b/glib/gtimezone.c -@@ -142,9 +142,7 @@ typedef struct - gint mday; - gint wday; - gint week; -- gint hour; -- gint min; -- gint sec; -+ gint32 offset; /* hour*3600 + min*60 + sec; can be negative. */ - } TimeZoneDate; - - /* POSIX Timezone abbreviations are typically 3 or 4 characters, but -@@ -205,6 +203,10 @@ static GTimeZone *tz_local = NULL; - there's no point in getting carried - away. */ - -+#ifdef G_OS_UNIX -+static GTimeZone *parse_footertz (const gchar *, size_t); -+#endif -+ - /** - * g_time_zone_unref: - * @tz: a #GTimeZone -@@ -286,13 +288,20 @@ g_time_zone_ref (GTimeZone *tz) - /* fake zoneinfo creation (for RFC3339/ISO 8601 timezones) {{{1 */ - /* - * parses strings of the form h or hh[[:]mm[[[:]ss]]] where: -- * - h[h] is 0 to 23 -+ * - h[h] is 0 to 24 - * - mm is 00 to 59 - * - ss is 00 to 59 -+ * If RFC8536, TIME_ is a transition time sans sign, -+ * so colons are required before mm and ss, and hh can be up to 167. -+ * See Internet RFC 8536 section 3.3.1: -+ * https://tools.ietf.org/html/rfc8536#section-3.3.1 -+ * and POSIX Base Definitions 8.3 TZ rule time: -+ * https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03 - */ - static gboolean - parse_time (const gchar *time_, -- gint32 *offset) -+ gint32 *offset, -+ gboolean rfc8536) - { - if (*time_ < '0' || '9' < *time_) - return FALSE; -@@ -310,7 +319,20 @@ parse_time (const gchar *time_, - *offset *= 10; - *offset += 60 * 60 * (*time_++ - '0'); - -- if (*offset > 23 * 60 * 60) -+ if (rfc8536) -+ { -+ /* Internet RFC 8536 section 3.3.1 and POSIX 8.3 TZ together say -+ that a transition time must be of the form [+-]hh[:mm[:ss]] where -+ the hours part can range from -167 to 167. */ -+ if ('0' <= *time_ && *time_ <= '9') -+ { -+ *offset *= 10; -+ *offset += 60 * 60 * (*time_++ - '0'); -+ } -+ if (*offset > 167 * 60 * 60) -+ return FALSE; -+ } -+ else if (*offset > 24 * 60 * 60) - return FALSE; - - if (*time_ == '\0') -@@ -319,6 +341,8 @@ parse_time (const gchar *time_, - - if (*time_ == ':') - time_++; -+ else if (rfc8536) -+ return FALSE; - - if (*time_ < '0' || '5' < *time_) - return FALSE; -@@ -335,6 +359,8 @@ parse_time (const gchar *time_, - - if (*time_ == ':') - time_++; -+ else if (rfc8536) -+ return FALSE; - - if (*time_ < '0' || '5' < *time_) - return FALSE; -@@ -351,28 +377,32 @@ parse_time (const gchar *time_, - - static gboolean - parse_constant_offset (const gchar *name, -- gint32 *offset) -+ gint32 *offset, -+ gboolean rfc8536) - { -- if (g_strcmp0 (name, "UTC") == 0) -+ /* Internet RFC 8536 section 3.3.1 and POSIX 8.3 TZ together say -+ that a transition time must be numeric. */ -+ if (!rfc8536 && g_strcmp0 (name, "UTC") == 0) - { - *offset = 0; - return TRUE; - } - - if (*name >= '0' && '9' >= *name) -- return parse_time (name, offset); -+ return parse_time (name, offset, rfc8536); - - switch (*name++) - { - case 'Z': - *offset = 0; -- return !*name; -+ /* Internet RFC 8536 section 3.3.1 requires a numeric zone. */ -+ return !rfc8536 && !*name; - - case '+': -- return parse_time (name, offset); -+ return parse_time (name, offset, rfc8536); - - case '-': -- if (parse_time (name, offset)) -+ if (parse_time (name, offset, rfc8536)) - { - *offset = -*offset; - return TRUE; -@@ -391,7 +421,7 @@ zone_for_constant_offset (GTimeZone *gtz, const gchar *name) - gint32 offset; - TransitionInfo info; - -- if (name == NULL || !parse_constant_offset (name, &offset)) -+ if (name == NULL || !parse_constant_offset (name, &offset, FALSE)) - return; - - info.gmt_offset = offset; -@@ -529,12 +559,17 @@ init_zone_from_iana_info (GTimeZone *gtz, - guint8 *tz_transitions, *tz_type_index, *tz_ttinfo; - guint8 *tz_abbrs; - gsize timesize = sizeof (gint32); -- const struct tzhead *header = g_bytes_get_data (zoneinfo, &size); -+ gconstpointer header_data = g_bytes_get_data (zoneinfo, &size); -+ const gchar *data = header_data; -+ const struct tzhead *header = header_data; -+ GTimeZone *footertz = NULL; -+ guint extra_time_count = 0, extra_type_count = 0; -+ gint64 last_explicit_transition_time; - - g_return_if_fail (size >= sizeof (struct tzhead) && - memcmp (header, "TZif", 4) == 0); - -- if (header->tzh_version == '2') -+ if (header->tzh_version >= '2') - { - /* Skip ahead to the newer 64-bit data if it's available. */ - header = (const struct tzhead *) -@@ -550,6 +585,30 @@ init_zone_from_iana_info (GTimeZone *gtz, - time_count = guint32_from_be(header->tzh_timecnt); - type_count = guint32_from_be(header->tzh_typecnt); - -+ if (header->tzh_version >= '2') -+ { -+ const gchar *footer = (((const gchar *) (header + 1)) -+ + guint32_from_be(header->tzh_ttisgmtcnt) -+ + guint32_from_be(header->tzh_ttisstdcnt) -+ + 12 * guint32_from_be(header->tzh_leapcnt) -+ + 9 * time_count -+ + 6 * type_count -+ + guint32_from_be(header->tzh_charcnt)); -+ const gchar *footerlast; -+ size_t footerlen; -+ g_return_if_fail (footer <= data + size - 2 && footer[0] == '\n'); -+ footerlast = memchr (footer + 1, '\n', data + size - (footer + 1)); -+ g_return_if_fail (footerlast); -+ footerlen = footerlast + 1 - footer; -+ if (footerlen != 2) -+ { -+ footertz = parse_footertz (footer, footerlen); -+ g_return_if_fail (footertz); -+ extra_type_count = footertz->t_info->len; -+ extra_time_count = footertz->transitions->len; -+ } -+ } -+ - tz_transitions = ((guint8 *) (header) + sizeof (*header)); - tz_type_index = tz_transitions + timesize * time_count; - tz_ttinfo = tz_type_index + time_count; -@@ -557,9 +616,9 @@ init_zone_from_iana_info (GTimeZone *gtz, - - gtz->name = g_steal_pointer (&identifier); - gtz->t_info = g_array_sized_new (FALSE, TRUE, sizeof (TransitionInfo), -- type_count); -+ type_count + extra_type_count); - gtz->transitions = g_array_sized_new (FALSE, TRUE, sizeof (Transition), -- time_count); -+ time_count + extra_time_count); - - for (index = 0; index < type_count; index++) - { -@@ -574,15 +633,50 @@ init_zone_from_iana_info (GTimeZone *gtz, - for (index = 0; index < time_count; index++) - { - Transition trans; -- if (header->tzh_version == '2') -+ if (header->tzh_version >= '2') - trans.time = gint64_from_be (((gint64_be*)tz_transitions)[index]); - else - trans.time = gint32_from_be (((gint32_be*)tz_transitions)[index]); -+ last_explicit_transition_time = trans.time; - trans.info_index = tz_type_index[index]; - g_assert (trans.info_index >= 0); - g_assert ((guint) trans.info_index < gtz->t_info->len); - g_array_append_val (gtz->transitions, trans); - } -+ -+ if (footertz) -+ { -+ /* Append footer time types. Don't bother to coalesce -+ duplicates with existing time types. */ -+ for (index = 0; index < extra_type_count; index++) -+ { -+ TransitionInfo t_info; -+ TransitionInfo *footer_t_info -+ = &g_array_index (footertz->t_info, TransitionInfo, index); -+ t_info.gmt_offset = footer_t_info->gmt_offset; -+ t_info.is_dst = footer_t_info->is_dst; -+ t_info.abbrev = g_steal_pointer (&footer_t_info->abbrev); -+ g_array_append_val (gtz->t_info, t_info); -+ } -+ -+ /* Append footer transitions that follow the last explicit -+ transition. */ -+ for (index = 0; index < extra_time_count; index++) -+ { -+ Transition *footer_transition -+ = &g_array_index (footertz->transitions, Transition, index); -+ if (time_count <= 0 -+ || last_explicit_transition_time < footer_transition->time) -+ { -+ Transition trans; -+ trans.time = footer_transition->time; -+ trans.info_index = type_count + footer_transition->info_index; -+ g_array_append_val (gtz->transitions, trans); -+ } -+ } -+ -+ g_time_zone_unref (footertz); -+ } - } - - #elif defined (G_OS_WIN32) -@@ -590,9 +684,8 @@ init_zone_from_iana_info (GTimeZone *gtz, - static void - copy_windows_systemtime (SYSTEMTIME *s_time, TimeZoneDate *tzdate) - { -- tzdate->sec = s_time->wSecond; -- tzdate->min = s_time->wMinute; -- tzdate->hour = s_time->wHour; -+ tzdate->offset -+ = s_time->wHour * 3600 + s_time->wMinute * 60 + s_time->wSecond; - tzdate->mon = s_time->wMonth; - tzdate->year = s_time->wYear; - tzdate->wday = s_time->wDayOfWeek ? s_time->wDayOfWeek : 7; -@@ -979,7 +1072,7 @@ boundary_for_year (TimeZoneDate *boundary, - g_date_clear (&date, 1); - g_date_set_dmy (&date, buffer.mday, buffer.mon, buffer.year); - return ((g_date_get_julian (&date) - unix_epoch_start) * seconds_per_day + -- buffer.hour * 3600 + buffer.min * 60 + buffer.sec - offset); -+ buffer.offset - offset); - } - - static void -@@ -1156,7 +1249,7 @@ init_zone_from_rules (GTimeZone *gtz, - * - N is 0 to 365 - * - * time is either h or hh[[:]mm[[[:]ss]]] -- * - h[h] is 0 to 23 -+ * - h[h] is 0 to 24 - * - mm is 00 to 59 - * - ss is 00 to 59 - */ -@@ -1289,25 +1382,10 @@ parse_tz_boundary (const gchar *identifier, - /* Time */ - - if (*pos == '/') -- { -- gint32 offset; -- -- if (!parse_time (++pos, &offset)) -- return FALSE; -- -- boundary->hour = offset / 3600; -- boundary->min = (offset / 60) % 60; -- boundary->sec = offset % 3600; -- -- return TRUE; -- } -- -+ return parse_constant_offset (pos + 1, &boundary->offset, TRUE); - else - { -- boundary->hour = 2; -- boundary->min = 0; -- boundary->sec = 0; -- -+ boundary->offset = 2 * 60 * 60; - return *pos == '\0'; - } - } -@@ -1341,7 +1419,7 @@ parse_offset (gchar **pos, gint32 *target) - ++(*pos); - - buffer = g_strndup (target_pos, *pos - target_pos); -- ret = parse_constant_offset (buffer, target); -+ ret = parse_constant_offset (buffer, target, FALSE); - g_free (buffer); - - return ret; -@@ -1366,21 +1444,32 @@ parse_identifier_boundary (gchar **pos, TimeZoneDate *target) - static gboolean - set_tz_name (gchar **pos, gchar *buffer, guint size) - { -+ gboolean quoted = **pos == '<'; - gchar *name_pos = *pos; - guint len; - -- /* Name is ASCII alpha (Is this necessarily true?) */ -- while (g_ascii_isalpha (**pos)) -- ++(*pos); -+ if (quoted) -+ { -+ name_pos++; -+ do -+ ++(*pos); -+ while (g_ascii_isalnum (**pos) || **pos == '-' || **pos == '+'); -+ if (**pos != '>') -+ return FALSE; -+ } -+ else -+ while (g_ascii_isalpha (**pos)) -+ ++(*pos); - -- /* Name should be three or more alphabetic characters */ -+ /* Name should be three or more characters */ - if (*pos - name_pos < 3) - return FALSE; - -- memset (buffer, 0, NAME_SIZE); -+ memset (buffer, 0, size); - /* name_pos isn't 0-terminated, so we have to limit the length expressly */ - len = *pos - name_pos > size - 1 ? size - 1 : *pos - name_pos; - strncpy (buffer, name_pos, len); -+ *pos += quoted; - return TRUE; - } - -@@ -1483,6 +1572,28 @@ rules_from_identifier (const gchar *identifier, - return create_ruleset_from_rule (rules, &tzr); - } - -+#ifdef G_OS_UNIX -+static GTimeZone * -+parse_footertz (const gchar *footer, size_t footerlen) -+{ -+ gchar *tzstring = g_strndup (footer + 1, footerlen - 2); -+ GTimeZone *footertz = NULL; -+ gchar *ident; -+ TimeZoneRule *rules; -+ guint rules_num = rules_from_identifier (tzstring, &ident, &rules); -+ g_free (ident); -+ g_free (tzstring); -+ if (rules_num > 1) -+ { -+ footertz = g_slice_new0 (GTimeZone); -+ init_zone_from_rules (footertz, rules, rules_num, NULL); -+ footertz->ref_count++; -+ } -+ g_free (rules); -+ return footertz; -+} -+#endif -+ - /* Construction {{{1 */ - /** - * g_time_zone_new: diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.64.5.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.2.bb index a30c5215be..1f83660856 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.64.5.bb +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.2.bb @@ -16,12 +16,11 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ - file://tzdata-update.patch \ " SRC_URI_append_class-native = " file://relocate-modules.patch" -SRC_URI[sha256sum] = "9cbd5bd2715ead1c28d53c46f7b7b6ff6166f5887b772c1a9e3bf2910cfecc11" +SRC_URI[sha256sum] = "ec390bed4e8dd0f89e918f385e8d4cfd7470b1ef7c1ce93ec5c4fc6e3c6a17c4" # Find any meson cross files in FILESPATH that are relevant for the current # build (using siteinfo) and add them to EXTRA_OEMESON. diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc index a0055d81b0..71777bc459 100644 --- a/poky/meta/recipes-core/glib-2.0/glib.inc +++ b/poky/meta/recipes-core/glib-2.0/glib.inc @@ -34,10 +34,6 @@ DEPENDS_append_class-target = "${@' gtk-doc' if d.getVar('GTKDOC_ENABLED') == 'T GTKDOC_MESON_OPTION = "gtk_doc" -# This avoids the need to depend on target python3, which in case of mingw is not even possible. -# meson's python configuration pokes into python3 configuration, so this provides the native config to it. -unset _PYTHON_SYSCONFIGDATA_NAME - S = "${WORKDIR}/glib-${PV}" PACKAGECONFIG ??= "system-pcre libmount \ @@ -170,7 +166,7 @@ RDEPENDS_${PN}-ptest += "\ ${PN}-locale-th \ python3-core \ python3-modules \ - python3-dbusmock \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-dbusmock', '', d)} \ ${PN}-codegen \ " diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.64.3.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb index 074389f552..230932daf0 100644 --- a/poky/meta/recipes-core/glib-networking/glib-networking_2.64.3.bb +++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb @@ -9,8 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SECTION = "libs" DEPENDS = "glib-2.0" -SRC_URI[archive.md5sum] = "eb382907ec941fe2fb1a9676b75acf7a" -SRC_URI[archive.sha256sum] = "937a06b124052813bfc0b0b86bff42016ff01067582e1aca65bb6dbe0845a168" +SRC_URI[archive.sha256sum] = "c5d7be2437fdd196eebfb70c4517b96d3ba7ec13bd496318b8f02dea383e0099" PACKAGECONFIG ??= "gnutls ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuall/interfaces index 16967763e5..16967763e5 100644 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm/interfaces +++ b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuall/interfaces diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm64/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm64/interfaces deleted file mode 100644 index 16967763e5..0000000000 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm64/interfaces +++ /dev/null @@ -1,5 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv6/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv6/interfaces deleted file mode 100644 index 16967763e5..0000000000 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv6/interfaces +++ /dev/null @@ -1,5 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv7/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv7/interfaces deleted file mode 100644 index 16967763e5..0000000000 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv7/interfaces +++ /dev/null @@ -1,5 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips/interfaces deleted file mode 100644 index f62b9a897d..0000000000 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips/interfaces +++ /dev/null @@ -1,8 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - - - diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips64/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips64/interfaces deleted file mode 100644 index f62b9a897d..0000000000 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips64/interfaces +++ /dev/null @@ -1,8 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - - - diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuppc/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuppc/interfaces deleted file mode 100644 index f62b9a897d..0000000000 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuppc/interfaces +++ /dev/null @@ -1,8 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - - - diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemush4/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemush4/interfaces deleted file mode 100644 index f62b9a897d..0000000000 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemush4/interfaces +++ /dev/null @@ -1,8 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - - - diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86-64/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86-64/interfaces deleted file mode 100644 index f62b9a897d..0000000000 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86-64/interfaces +++ /dev/null @@ -1,8 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - - - diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86/interfaces deleted file mode 100644 index f62b9a897d..0000000000 --- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86/interfaces +++ /dev/null @@ -1,8 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - - - diff --git a/poky/meta/recipes-core/libxml/libxml2/fix-python39.patch b/poky/meta/recipes-core/libxml/libxml2/fix-python39.patch new file mode 100644 index 0000000000..32590f9ddf --- /dev/null +++ b/poky/meta/recipes-core/libxml/libxml2/fix-python39.patch @@ -0,0 +1,94 @@ +From e4fb36841800038c289997432ca547c9bfef9db1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz> +Date: Fri, 28 Feb 2020 12:48:14 +0100 +Subject: [PATCH] Parenthesize Py<type>_Check() in ifs + +In C, if expressions should be parenthesized. +PyLong_Check, PyUnicode_Check etc. happened to expand to a parenthesized +expression before, but that's not API to rely on. + +Since Python 3.9.0a4 it needs to be parenthesized explicitly. + +Fixes https://gitlab.gnome.org/GNOME/libxml2/issues/149 +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + python/libxml.c | 4 ++-- + python/types.c | 12 ++++++------ + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/python/libxml.c b/python/libxml.c +index bc676c4e0..81e709f34 100644 +--- a/python/libxml.c ++++ b/python/libxml.c +@@ -294,7 +294,7 @@ xmlPythonFileReadRaw (void * context, char * buffer, int len) { + lenread = PyBytes_Size(ret); + data = PyBytes_AsString(ret); + #ifdef PyUnicode_Check +- } else if PyUnicode_Check (ret) { ++ } else if (PyUnicode_Check (ret)) { + #if PY_VERSION_HEX >= 0x03030000 + Py_ssize_t size; + const char *tmp; +@@ -359,7 +359,7 @@ xmlPythonFileRead (void * context, char * buffer, int len) { + lenread = PyBytes_Size(ret); + data = PyBytes_AsString(ret); + #ifdef PyUnicode_Check +- } else if PyUnicode_Check (ret) { ++ } else if (PyUnicode_Check (ret)) { + #if PY_VERSION_HEX >= 0x03030000 + Py_ssize_t size; + const char *tmp; +diff --git a/python/types.c b/python/types.c +index c2bafeb19..ed284ec74 100644 +--- a/python/types.c ++++ b/python/types.c +@@ -602,16 +602,16 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) + if (obj == NULL) { + return (NULL); + } +- if PyFloat_Check (obj) { ++ if (PyFloat_Check (obj)) { + ret = xmlXPathNewFloat((double) PyFloat_AS_DOUBLE(obj)); +- } else if PyLong_Check(obj) { ++ } else if (PyLong_Check(obj)) { + #ifdef PyLong_AS_LONG + ret = xmlXPathNewFloat((double) PyLong_AS_LONG(obj)); + #else + ret = xmlXPathNewFloat((double) PyInt_AS_LONG(obj)); + #endif + #ifdef PyBool_Check +- } else if PyBool_Check (obj) { ++ } else if (PyBool_Check (obj)) { + + if (obj == Py_True) { + ret = xmlXPathNewBoolean(1); +@@ -620,14 +620,14 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) + ret = xmlXPathNewBoolean(0); + } + #endif +- } else if PyBytes_Check (obj) { ++ } else if (PyBytes_Check (obj)) { + xmlChar *str; + + str = xmlStrndup((const xmlChar *) PyBytes_AS_STRING(obj), + PyBytes_GET_SIZE(obj)); + ret = xmlXPathWrapString(str); + #ifdef PyUnicode_Check +- } else if PyUnicode_Check (obj) { ++ } else if (PyUnicode_Check (obj)) { + #if PY_VERSION_HEX >= 0x03030000 + xmlChar *str; + const char *tmp; +@@ -650,7 +650,7 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) + ret = xmlXPathWrapString(str); + #endif + #endif +- } else if PyList_Check (obj) { ++ } else if (PyList_Check (obj)) { + int i; + PyObject *node; + xmlNodePtr cur; +-- +GitLab + diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb index 90890ffaed..07ae68610c 100644 --- a/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb +++ b/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb @@ -23,6 +23,7 @@ SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \ file://CVE-2020-7595.patch \ file://CVE-2019-20388.patch \ file://CVE-2020-24977.patch \ + file://fix-python39.patch \ " SRC_URI[libtar.md5sum] = "10942a1dc23137a8aa07f0639cbfece5" diff --git a/poky/meta/recipes-core/meta/cve-update-db-native.bb b/poky/meta/recipes-core/meta/cve-update-db-native.bb index cf2b251e21..cf62e1e32c 100644 --- a/poky/meta/recipes-core/meta/cve-update-db-native.bb +++ b/poky/meta/recipes-core/meta/cve-update-db-native.bb @@ -172,7 +172,12 @@ def parse_node_and_insert(c, node, cveId): op_end = '<' v_end = cpe['versionEndExcluding'] - yield [cveId, vendor, product, v_start, op_start, v_end, op_end] + if op_start or op_end or v_start or v_end: + yield [cveId, vendor, product, v_start, op_start, v_end, op_end] + else: + # This is no version information, expressed differently. + # Save processing by representing as -. + yield [cveId, vendor, product, '-', '', '', ''] c.executemany("insert into PRODUCTS values (?, ?, ?, ?, ?, ?, ?)", cpe_generator()) diff --git a/poky/meta/recipes-core/musl/musl/0001-crt-Add-.file-directive.patch b/poky/meta/recipes-core/musl/musl/0001-crt-Add-.file-directive.patch new file mode 100644 index 0000000000..d2bd587e39 --- /dev/null +++ b/poky/meta/recipes-core/musl/musl/0001-crt-Add-.file-directive.patch @@ -0,0 +1,300 @@ +From b0124f3c4f2a353506621d387135ebea6b8c6609 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 29 Oct 2020 22:40:53 -0700 +Subject: [PATCH] crt: Add .file directive + +Musl linked binaries come out to be not reproducible because +absolute build path is seen in debug info of crti.o and crtn.o +This is due to the fact that these objects are built from assembly +source files and they are missing .file directive +if we add .file <filename>.s in them then debug info encodes this +value instead of absolute path in debug_line section + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + crt/aarch64/crti.s | 1 + + crt/aarch64/crtn.s | 1 + + crt/arm/crti.s | 1 + + crt/arm/crtn.s | 1 + + crt/i386/crti.s | 1 + + crt/i386/crtn.s | 1 + + crt/microblaze/crti.s | 1 + + crt/microblaze/crtn.s | 1 + + crt/mips/crti.s | 1 + + crt/mips/crtn.s | 1 + + crt/mips64/crti.s | 1 + + crt/mips64/crtn.s | 1 + + crt/mipsn32/crti.s | 1 + + crt/mipsn32/crtn.s | 1 + + crt/or1k/crti.s | 1 + + crt/or1k/crtn.s | 1 + + crt/powerpc/crti.s | 1 + + crt/powerpc/crtn.s | 1 + + crt/powerpc64/crti.s | 1 + + crt/powerpc64/crtn.s | 1 + + crt/s390x/crti.s | 1 + + crt/s390x/crtn.s | 1 + + crt/sh/crti.s | 1 + + crt/sh/crtn.s | 1 + + crt/x32/crti.s | 1 + + crt/x32/crtn.s | 1 + + crt/x86_64/crti.s | 1 + + crt/x86_64/crtn.s | 1 + + 28 files changed, 28 insertions(+) + +diff --git a/crt/aarch64/crti.s b/crt/aarch64/crti.s +index 775df0ac..0f7c23a9 100644 +--- a/crt/aarch64/crti.s ++++ b/crt/aarch64/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .global _init + .type _init,%function +diff --git a/crt/aarch64/crtn.s b/crt/aarch64/crtn.s +index 73cab692..d62fc129 100644 +--- a/crt/aarch64/crtn.s ++++ b/crt/aarch64/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + ldp x29,x30,[sp],#16 + ret +diff --git a/crt/arm/crti.s b/crt/arm/crti.s +index 18dc1e41..8df72979 100644 +--- a/crt/arm/crti.s ++++ b/crt/arm/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .syntax unified + + .section .init +diff --git a/crt/arm/crtn.s b/crt/arm/crtn.s +index dc020f92..7451355b 100644 +--- a/crt/arm/crtn.s ++++ b/crt/arm/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .syntax unified + + .section .init +diff --git a/crt/i386/crti.s b/crt/i386/crti.s +index d2682a20..2823fc3b 100644 +--- a/crt/i386/crti.s ++++ b/crt/i386/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .global _init + _init: +diff --git a/crt/i386/crtn.s b/crt/i386/crtn.s +index f3b61e01..04fb1646 100644 +--- a/crt/i386/crtn.s ++++ b/crt/i386/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + add $12,%esp + ret +diff --git a/crt/microblaze/crti.s b/crt/microblaze/crti.s +index ed1c2fa4..29ee4733 100644 +--- a/crt/microblaze/crti.s ++++ b/crt/microblaze/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .global _init + .align 2 +diff --git a/crt/microblaze/crtn.s b/crt/microblaze/crtn.s +index 1e02c984..c2083749 100644 +--- a/crt/microblaze/crtn.s ++++ b/crt/microblaze/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + lwi r15, r1, 0 + rtsd r15, 8 +diff --git a/crt/mips/crti.s b/crt/mips/crti.s +index 39dee380..0211764e 100644 +--- a/crt/mips/crti.s ++++ b/crt/mips/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .set noreorder + + .section .init +diff --git a/crt/mips/crtn.s b/crt/mips/crtn.s +index 506a04b7..606490cf 100644 +--- a/crt/mips/crtn.s ++++ b/crt/mips/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .set noreorder + + .section .init +diff --git a/crt/mips64/crti.s b/crt/mips64/crti.s +index c962dd09..f2c19cdd 100644 +--- a/crt/mips64/crti.s ++++ b/crt/mips64/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .set noreorder + + .section .init +diff --git a/crt/mips64/crtn.s b/crt/mips64/crtn.s +index f3930b24..68903ffa 100644 +--- a/crt/mips64/crtn.s ++++ b/crt/mips64/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .set noreorder + + .section .init +diff --git a/crt/mipsn32/crti.s b/crt/mipsn32/crti.s +index 14fa28d9..a35387d3 100644 +--- a/crt/mipsn32/crti.s ++++ b/crt/mipsn32/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .set noreorder + .section .init + .global _init +diff --git a/crt/mipsn32/crtn.s b/crt/mipsn32/crtn.s +index dccd7e89..bdb6e561 100644 +--- a/crt/mipsn32/crtn.s ++++ b/crt/mipsn32/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .set noreorder + .section .init + ld $gp, 16($sp) +diff --git a/crt/or1k/crti.s b/crt/or1k/crti.s +index 7e741459..919369ca 100644 +--- a/crt/or1k/crti.s ++++ b/crt/or1k/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .global _init + _init: +diff --git a/crt/or1k/crtn.s b/crt/or1k/crtn.s +index 4185a027..d670b327 100644 +--- a/crt/or1k/crtn.s ++++ b/crt/or1k/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + l.lwz r9,0(r1) + l.jr r9 +diff --git a/crt/powerpc/crti.s b/crt/powerpc/crti.s +index 60461ca4..b748ca48 100644 +--- a/crt/powerpc/crti.s ++++ b/crt/powerpc/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .align 2 + .global _init +diff --git a/crt/powerpc/crtn.s b/crt/powerpc/crtn.s +index 2d14a6f0..d989e36f 100644 +--- a/crt/powerpc/crtn.s ++++ b/crt/powerpc/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + .align 2 + lwz 0,36(1) +diff --git a/crt/powerpc64/crti.s b/crt/powerpc64/crti.s +index 9f712f0e..d3323a67 100644 +--- a/crt/powerpc64/crti.s ++++ b/crt/powerpc64/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .align 2 + .global _init +diff --git a/crt/powerpc64/crtn.s b/crt/powerpc64/crtn.s +index a7a9f4a0..5e71ae66 100644 +--- a/crt/powerpc64/crtn.s ++++ b/crt/powerpc64/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + .align 2 + addi 1, 1, 32 +diff --git a/crt/s390x/crti.s b/crt/s390x/crti.s +index f453205b..3da3c5e1 100644 +--- a/crt/s390x/crti.s ++++ b/crt/s390x/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .align 2 + .global _init +diff --git a/crt/s390x/crtn.s b/crt/s390x/crtn.s +index 06066dc9..bfd55caf 100644 +--- a/crt/s390x/crtn.s ++++ b/crt/s390x/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + .align 2 + lmg %r14, %r15, 272(%r15) +diff --git a/crt/sh/crti.s b/crt/sh/crti.s +index d99bfd5c..77d61c51 100644 +--- a/crt/sh/crti.s ++++ b/crt/sh/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .global _init + .type _init, @function +diff --git a/crt/sh/crtn.s b/crt/sh/crtn.s +index 958ce951..29deb5be 100644 +--- a/crt/sh/crtn.s ++++ b/crt/sh/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + lds.l @r15+, pr + mov.l @r15+, r14 +diff --git a/crt/x32/crti.s b/crt/x32/crti.s +index 4788968b..8668b7c7 100644 +--- a/crt/x32/crti.s ++++ b/crt/x32/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .global _init + _init: +diff --git a/crt/x32/crtn.s b/crt/x32/crtn.s +index 29198b77..ef73d295 100644 +--- a/crt/x32/crtn.s ++++ b/crt/x32/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + pop %rax + ret +diff --git a/crt/x86_64/crti.s b/crt/x86_64/crti.s +index 4788968b..8668b7c7 100644 +--- a/crt/x86_64/crti.s ++++ b/crt/x86_64/crti.s +@@ -1,3 +1,4 @@ ++.file "crti.s" + .section .init + .global _init + _init: +diff --git a/crt/x86_64/crtn.s b/crt/x86_64/crtn.s +index 29198b77..ef73d295 100644 +--- a/crt/x86_64/crtn.s ++++ b/crt/x86_64/crtn.s +@@ -1,3 +1,4 @@ ++.file "crtn.s" + .section .init + pop %rax + ret +-- +2.29.1 + diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index 9c0818cfa5..23c2072ea3 100644 --- a/poky/meta/recipes-core/musl/musl_git.bb +++ b/poky/meta/recipes-core/musl/musl_git.bb @@ -4,7 +4,7 @@ require musl.inc inherit linuxloader -SRCREV = "a5aff1972c9e3981566414b09a28e331ccd2be5d" +SRCREV = "d91a6cf6e369a79587c5665fce9635e5634ca201" BASEVER = "1.2.1" @@ -15,6 +15,7 @@ PV = "${BASEVER}+git${SRCPV}" SRC_URI = "git://git.musl-libc.org/musl \ file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \ file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \ + file://0001-crt-Add-.file-directive.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-core/netbase/netbase_6.1.bb b/poky/meta/recipes-core/netbase/netbase_6.1.bb index bc0049c020..33eca459d5 100644 --- a/poky/meta/recipes-core/netbase/netbase_6.1.bb +++ b/poky/meta/recipes-core/netbase/netbase_6.1.bb @@ -6,13 +6,15 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab" PE = "1" -SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.tar.xz" +SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}~bpo10+1.tar.xz" +S = "${WORKDIR}/${BPN}-${PV}~bpo10+1" -SRC_URI[md5sum] = "e5871a3a5c8390557b8033cf19316a55" -SRC_URI[sha256sum] = "084d743bd84d4d9380bac4c71c51e57406dce44f5a69289bb823c903e9b035d8" +SRC_URI[md5sum] = "4fa7517285b4045ac0dc8dbf6730dd7a" +SRC_URI[sha256sum] = "4e9c3082dff8896cb6b6bea9bb2200d82fb0d7c8d8c8fc9b18704fe553316237" UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/" do_install () { + install -d ${D}/${mandir}/man8 ${D}${sysconfdir} install -m 0644 ${S}/etc/rpc ${D}${sysconfdir}/rpc install -m 0644 ${S}/etc/protocols ${D}${sysconfdir}/protocols diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch index 6ecb23b29f..c32963a807 100644 --- a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch +++ b/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch @@ -1,7 +1,7 @@ -From 0a8362cfb9f00870d70687475665b131dd82c947 Mon Sep 17 00:00:00 2001 +From 200ff35c6545b4ab85f5ea7a6096fbaec3d82f6d Mon Sep 17 00:00:00 2001 From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Date: Thu, 9 Jun 2016 02:23:01 -0700 -Subject: [PATCH 1/5] ovmf: update path to native BaseTools +Subject: [PATCH 1/4] ovmf: update path to native BaseTools BaseTools is a set of utilities to build EDK-based firmware. These utilities are used during the build process. Thus, they need to be built natively. @@ -30,5 +30,5 @@ index 91b1442ade..1858dae31a 100755 source edksetup.sh BaseTools else -- -2.17.1 +2.28.0 diff --git a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch b/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch index f37ed018ab..c61a08f022 100644 --- a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch +++ b/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch @@ -1,7 +1,7 @@ -From a8bceaec1b16fffbf6810df05503d8ae9092b735 Mon Sep 17 00:00:00 2001 +From 667c0cf97dadc4f5994d26ec3984f559a05ec406 Mon Sep 17 00:00:00 2001 From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Date: Fri, 26 Jul 2019 17:34:26 -0400 -Subject: [PATCH 2/5] BaseTools: makefile: adjust to build in under bitbake +Subject: [PATCH 2/4] BaseTools: makefile: adjust to build in under bitbake Prepend the build flags with those of bitbake. This is to build using the bitbake native sysroot include and library directories. @@ -10,14 +10,14 @@ Signed-off-by: Ricardo Neri <ricardo.neri@linux.intel.com> Upstream-Status: Pending --- - BaseTools/Source/C/Makefiles/header.makefile | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + BaseTools/Source/C/Makefiles/header.makefile | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile -index 4e9b36d98b..eb03ee33fa 100644 +index 1c105ee7d4..d5eea3864e 100644 --- a/BaseTools/Source/C/Makefiles/header.makefile +++ b/BaseTools/Source/C/Makefiles/header.makefile -@@ -62,23 +62,23 @@ $(error Bad HOST_ARCH) +@@ -69,35 +69,36 @@ $(error Bad HOST_ARCH) endif
INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE)
@@ -33,19 +33,35 @@ index 4e9b36d98b..eb03ee33fa 100644 +BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror \
-Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -g
else
+ ifeq ($(CXX), llvm)
+-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
+ -fno-delete-null-pointer-checks -Wall -Werror \
+ -Wno-deprecated-declarations -Wno-self-assign \
+ -Wno-unused-result -nostdlib -g
+ else
-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
-fno-delete-null-pointer-checks -Wall -Werror \
-Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict \
-Wno-unused-result -nostdlib -g
endif
+ endif
+ ifeq ($(CXX), llvm)
+-BUILD_LFLAGS =
+-BUILD_CXXFLAGS = -Wno-deprecated-register -Wno-unused-result
++BUILD_LFLAGS = $(LDFLAGS)
++BUILD_CXXFLAGS += -Wno-deprecated-register -Wno-unused-result
+ else
-BUILD_LFLAGS =
-BUILD_CXXFLAGS = -Wno-unused-result
+BUILD_LFLAGS = $(LDFLAGS)
+BUILD_CXXFLAGS += -Wno-unused-result
-
+ endif
++
ifeq ($(HOST_ARCH), IA32)
#
+ # Snow Leopard is a 32-bit and 64-bit environment. uname -m returns i386, but gcc defaults
-- -2.17.1 +2.28.0 diff --git a/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch b/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch index ab1e7db31f..df1d159011 100644 --- a/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch +++ b/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch @@ -1,7 +1,7 @@ -From 60a5f953f747e1e9e05a40157b651cba8ea57b91 Mon Sep 17 00:00:00 2001 +From e19481e5a64f8915ac118899b10c40d12c0f9daa Mon Sep 17 00:00:00 2001 From: Dengke Du <dengke.du@windriver.com> Date: Mon, 11 Sep 2017 02:21:55 -0400 -Subject: [PATCH 3/5] ovmf: enable long path file +Subject: [PATCH 3/4] ovmf: enable long path file Upstream-Status: Pending Signed-off-by: Dengke Du <dengke.du@windriver.com> @@ -24,5 +24,5 @@ index e1cce985f7..d67d03c70c 100644 #define MAX_UINT64 ((UINT64)0xFFFFFFFFFFFFFFFFULL)
#define MAX_UINT32 ((UINT32)0xFFFFFFFF)
-- -2.17.1 +2.28.0 diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-Update-to-latest.patch b/poky/meta/recipes-core/ovmf/ovmf/0004-ovmf-Update-to-latest.patch index 1d4273cdc1..128438b201 100644 --- a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-Update-to-latest.patch +++ b/poky/meta/recipes-core/ovmf/ovmf/0004-ovmf-Update-to-latest.patch @@ -1,7 +1,7 @@ -From 640a634936ba8eca4778470fb14c6eb9cfd19953 Mon Sep 17 00:00:00 2001 +From ad06fcf1e08736e79221cd6863ff2e3c9254f261 Mon Sep 17 00:00:00 2001 From: Steve Langasek <steve.langasek@ubuntu.com> Date: Sat, 10 Jun 2017 01:39:36 -0700 -Subject: [PATCH 1/2] ovmf: Update to latest +Subject: [PATCH 4/4] ovmf: Update to latest Description: pass -fno-stack-protector to all GCC toolchains The upstream build rules inexplicably pass -fno-stack-protector only @@ -15,15 +15,15 @@ Upstream-Status: Pending 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template -index 2b17d3b297..4cd2567c2a 100755 +index 933b3160fd..c2fbbf0c38 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template -@@ -1950,10 +1950,10 @@ DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 +@@ -1952,10 +1952,10 @@ DEFINE GCC_RISCV64_RC_FLAGS = -I binary -O elf64-littleriscv -B riscv # GCC Build Flag for included header file list generation
DEFINE GCC_DEPS_FLAGS = -MMD -MF $@.deps
--DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
-+DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-stack-protector -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+-DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
++DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -fno-stack-protector -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
-DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
-DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
@@ -32,7 +32,7 @@ index 2b17d3b297..4cd2567c2a 100755 DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
-@@ -1962,7 +1962,7 @@ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF +@@ -1964,7 +1964,7 @@ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
DEFINE GCC48_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
DEFINE GCC48_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
@@ -42,5 +42,5 @@ index 2b17d3b297..4cd2567c2a 100755 DEFINE GCC48_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS)
DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
-- -2.24.0 +2.28.0 diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb index 84547630e8..04c4449ec2 100644 --- a/poky/meta/recipes-core/ovmf/ovmf_git.bb +++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb @@ -16,11 +16,11 @@ SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \ file://0001-ovmf-update-path-to-native-BaseTools.patch \ file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \ file://0003-ovmf-enable-long-path-file.patch \ - file://0001-ovmf-Update-to-latest.patch \ + file://0004-ovmf-Update-to-latest.patch \ " -PV = "edk2-stable202005" -SRCREV = "ca407c7246bf405da6d9b1b9d93e5e7f17b4b1f9" +PV = "edk2-stable202008" +SRCREV = "06dc822d045c2bb42e497487935485302486e151" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)" inherit deploy diff --git a/poky/meta/recipes-core/readline/readline.inc b/poky/meta/recipes-core/readline/readline.inc index 052e2d5f3d..039ffdee00 100644 --- a/poky/meta/recipes-core/readline/readline.inc +++ b/poky/meta/recipes-core/readline/readline.inc @@ -4,7 +4,7 @@ command lines as they are typed in. Both Emacs and vi editing modes are availabl additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those \ lines, and perform csh-like history expansion on previous commands." SECTION = "libs" -HOMEPAGE = "https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html" +HOMEPAGE = "https://tiswww.case.edu/php/chet/readline/rltop.html" # GPLv2+ (< 6.0), GPLv3+ (>= 6.0) LICENSE = "GPLv3+" diff --git a/poky/meta/recipes-core/systemd/systemd-boot_246.2.bb b/poky/meta/recipes-core/systemd/systemd-boot_246.6.bb index f92c639810..f92c639810 100644 --- a/poky/meta/recipes-core/systemd/systemd-boot_246.2.bb +++ b/poky/meta/recipes-core/systemd/systemd-boot_246.6.bb diff --git a/poky/meta/recipes-core/systemd/systemd-serialgetty.bb b/poky/meta/recipes-core/systemd/systemd-serialgetty.bb index 0cc0dc8c79..d142b30f7e 100644 --- a/poky/meta/recipes-core/systemd/systemd-serialgetty.bb +++ b/poky/meta/recipes-core/systemd/systemd-serialgetty.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=80 PR = "r5" SERIAL_CONSOLES ?= "115200;ttyS0" +SERIAL_TERM ?= "linux" SRC_URI = "file://serial-getty@.service" @@ -22,6 +23,7 @@ do_install() { install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/ install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_unitdir}/system/ sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_unitdir}/system/serial-getty@.service + sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_unitdir}/system/serial-getty@.service tmp="${SERIAL_CONSOLES}" for entry in $tmp ; do diff --git a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service index 549d566009..b16fe1188e 100644 --- a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service +++ b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service @@ -29,7 +29,7 @@ Conflicts=rescue.service Before=rescue.service [Service] -Environment="TERM=xterm" +Environment="TERM=@TERM@" ExecStart=-/sbin/agetty -8 -L %I @BAUDRATE@ $TERM Type=idle Restart=always diff --git a/poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch b/poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch new file mode 100644 index 0000000000..89ef39bc3e --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch @@ -0,0 +1,227 @@ +From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00 2001 +From: Joshua Watt <JPEWhacker@gmail.com> +Date: Fri, 30 Oct 2020 08:15:43 -0500 +Subject: [PATCH] logind: Restore chvt as non-root user without polkit + +4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke +the ability to write user sessions that run graphical sessions (e.g. +weston/X11). This was partially amended in 19bb87fbfa ("login: allow +non-console sessions to change vt") by changing the default PolicyKit +policy so that non-root users are again allowed to switch the VT. This +makes the policy when PolKit is not enabled (as on many embedded +systems) match the default PolKit policy and allows launching graphical +sessions as a non-root user. + +Closes #17473 +--- + src/login/logind-dbus.c | 11 ++------- + src/login/logind-polkit.c | 26 +++++++++++++++++++++ + src/login/logind-polkit.h | 10 ++++++++ + src/login/logind-seat-dbus.c | 41 ++++----------------------------- + src/login/logind-session-dbus.c | 11 ++------- + src/login/meson.build | 1 + + 6 files changed, 46 insertions(+), 54 deletions(-) + create mode 100644 src/login/logind-polkit.c + create mode 100644 src/login/logind-polkit.h + +diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c +index 0f83ed99bc..a3765d88ba 100644 +--- a/src/login/logind-dbus.c ++++ b/src/login/logind-dbus.c +@@ -30,6 +30,7 @@ + #include "format-util.h" + #include "fs-util.h" + #include "logind-dbus.h" ++#include "logind-polkit.h" + #include "logind-seat-dbus.h" + #include "logind-session-dbus.h" + #include "logind-user-dbus.h" +@@ -1047,15 +1048,7 @@ static int method_activate_session_on_seat(sd_bus_message *message, void *userda + return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, + "Session %s not on seat %s", session_name, seat_name); + +- r = bus_verify_polkit_async( +- message, +- CAP_SYS_ADMIN, +- "org.freedesktop.login1.chvt", +- NULL, +- false, +- UID_INVALID, +- &m->polkit_registry, +- error); ++ r = check_polkit_chvt(message, m, error); + if (r < 0) + return r; + if (r == 0) +diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c +new file mode 100644 +index 0000000000..9072570cc6 +--- /dev/null ++++ b/src/login/logind-polkit.c +@@ -0,0 +1,26 @@ ++/* SPDX-License-Identifier: LGPL-2.1+ */ ++ ++#include "bus-polkit.h" ++#include "logind-polkit.h" ++#include "missing_capability.h" ++#include "user-util.h" ++ ++int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error) { ++#if ENABLE_POLKIT ++ return bus_verify_polkit_async( ++ message, ++ CAP_SYS_ADMIN, ++ "org.freedesktop.login1.chvt", ++ NULL, ++ false, ++ UID_INVALID, ++ &manager->polkit_registry, ++ error); ++#else ++ /* Allow chvt when polkit is not present. This allows a service to start a graphical session as a ++ * non-root user when polkit is not compiled in, matching the default polkit policy */ ++ return 1; ++#endif ++} ++ ++ +diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h +new file mode 100644 +index 0000000000..476c077a8a +--- /dev/null ++++ b/src/login/logind-polkit.h +@@ -0,0 +1,10 @@ ++/* SPDX-License-Identifier: LGPL-2.1+ */ ++#pragma once ++ ++#include "sd-bus.h" ++ ++#include "bus-object.h" ++#include "logind.h" ++ ++int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error); ++ +diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c +index a945132284..f22e9e2734 100644 +--- a/src/login/logind-seat-dbus.c ++++ b/src/login/logind-seat-dbus.c +@@ -9,6 +9,7 @@ + #include "bus-polkit.h" + #include "bus-util.h" + #include "logind-dbus.h" ++#include "logind-polkit.h" + #include "logind-seat-dbus.h" + #include "logind-seat.h" + #include "logind-session-dbus.h" +@@ -179,15 +180,7 @@ static int method_activate_session(sd_bus_message *message, void *userdata, sd_b + if (session->seat != s) + return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id); + +- r = bus_verify_polkit_async( +- message, +- CAP_SYS_ADMIN, +- "org.freedesktop.login1.chvt", +- NULL, +- false, +- UID_INVALID, +- &s->manager->polkit_registry, +- error); ++ r = check_polkit_chvt(message, s->manager, error); + if (r < 0) + return r; + if (r == 0) +@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message *message, void *userdata, sd_bus_erro + if (to <= 0) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal"); + +- r = bus_verify_polkit_async( +- message, +- CAP_SYS_ADMIN, +- "org.freedesktop.login1.chvt", +- NULL, +- false, +- UID_INVALID, +- &s->manager->polkit_registry, +- error); ++ r = check_polkit_chvt(message, s->manager, error); + if (r < 0) + return r; + if (r == 0) +@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message *message, void *userdata, sd_bus + assert(message); + assert(s); + +- r = bus_verify_polkit_async( +- message, +- CAP_SYS_ADMIN, +- "org.freedesktop.login1.chvt", +- NULL, +- false, +- UID_INVALID, +- &s->manager->polkit_registry, +- error); ++ r = check_polkit_chvt(message, s->manager, error); + if (r < 0) + return r; + if (r == 0) +@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message *message, void *userdata, sd + assert(message); + assert(s); + +- r = bus_verify_polkit_async( +- message, +- CAP_SYS_ADMIN, +- "org.freedesktop.login1.chvt", +- NULL, +- false, +- UID_INVALID, +- &s->manager->polkit_registry, +- error); ++ r = check_polkit_chvt(message, s->manager, error); + if (r < 0) + return r; + if (r == 0) +diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c +index ccc5ac8df2..57c8a4e900 100644 +--- a/src/login/logind-session-dbus.c ++++ b/src/login/logind-session-dbus.c +@@ -11,6 +11,7 @@ + #include "fd-util.h" + #include "logind-brightness.h" + #include "logind-dbus.h" ++#include "logind-polkit.h" + #include "logind-seat-dbus.h" + #include "logind-session-dbus.h" + #include "logind-session-device.h" +@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message *message, void *userdata, sd_bus_ + assert(message); + assert(s); + +- r = bus_verify_polkit_async( +- message, +- CAP_SYS_ADMIN, +- "org.freedesktop.login1.chvt", +- NULL, +- false, +- UID_INVALID, +- &s->manager->polkit_registry, +- error); ++ r = check_polkit_chvt(message, s->manager, error); + if (r < 0) + return r; + if (r == 0) +diff --git a/src/login/meson.build b/src/login/meson.build +index 0a7d3d5440..7e46be2add 100644 +--- a/src/login/meson.build ++++ b/src/login/meson.build +@@ -26,6 +26,7 @@ liblogind_core_sources = files(''' + logind-device.h + logind-inhibit.c + logind-inhibit.h ++ logind-polkit.c + logind-seat-dbus.c + logind-seat-dbus.h + logind-seat.c +-- +2.28.0 + diff --git a/poky/meta/recipes-core/systemd/systemd/selinux-hook-handling-to-enumerate-nexthop.patch b/poky/meta/recipes-core/systemd/systemd/selinux-hook-handling-to-enumerate-nexthop.patch new file mode 100644 index 0000000000..b1c92ed713 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/selinux-hook-handling-to-enumerate-nexthop.patch @@ -0,0 +1,46 @@ +From 92b555aaabf710e0a672a7244e8c0e3963075133 Mon Sep 17 00:00:00 2001 +From: Purushottam choudhary <purushottam.choudhary@kpit.com> +Date: Wed, 28 Oct 2020 22:11:49 +0530 +Subject: [PATCH] network: selinux hook handling to enumerate nexthop + +When selinux is enabled, the call of +manager_rtnl_enumerate_nexthop() fails. + +This fix is to facilitate selinux hook handling for enumerating +nexthop. + +In manager_rtnl_enumerate_nexthop() there is a check +if "Not supported" is returned by the send_netlink() call. + +This check expects that -EOPNOTSUPP is returned, +the selinux hook seems to return -EINVAL instead. + +This happens in kernel older than 5.3 +(more specificallytorvalds/linux@65ee00a) as it does not support +nexthop handling through netlink. + +And if SELinux is enforced in the order kernel, callingRTM_GETNEXTHOP +returns -EINVAL. + +Thus adding a call in the manager_rtnl_enumerate_nexthop for the +extra return -EINVAL. + +Upstream-Status: Backport +https://github.com/systemd/systemd/commit/92b555aaabf710e0a672a7244e8c0e3963075133 +--- + src/network/networkd-manager.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c +index a6c1a39..2a9be85 100644 +--- a/src/network/networkd-manager.c ++++ b/src/network/networkd-manager.c +@@ -2121,7 +2121,7 @@ int manager_rtnl_enumerate_nexthop(Manager *m) { + + r = sd_netlink_call(m->rtnl, req, 0, &reply); + if (r < 0) { +- if (r == -EOPNOTSUPP) { ++ if (r == -EOPNOTSUPP || r == -EINVAL) { + log_debug("Nexthop are not supported by the kernel. Ignoring."); + return 0; + } diff --git a/poky/meta/recipes-core/systemd/systemd/systemd-pager.sh b/poky/meta/recipes-core/systemd/systemd/systemd-pager.sh new file mode 100644 index 0000000000..86e3e0ab78 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/systemd-pager.sh @@ -0,0 +1,7 @@ +# Systemd expect a color capable pager, however the less provided +# by busybox is not. This make many interaction with systemd pretty +# annoying. As a workaround we disable the systemd pager if less +# is not the GNU version. +if ! less -V > /dev/null 2>&1 ; then + export SYSTEMD_PAGER= +fi diff --git a/poky/meta/recipes-core/systemd/systemd_246.6.bb b/poky/meta/recipes-core/systemd/systemd_246.6.bb index 9215adf8dc..d9e7b1a00c 100644 --- a/poky/meta/recipes-core/systemd/systemd_246.6.bb +++ b/poky/meta/recipes-core/systemd/systemd_246.6.bb @@ -18,9 +18,12 @@ SRC_URI += "file://touchscreen.rules \ file://00-create-volatile.conf \ file://init \ file://99-default.preset \ + file://systemd-pager.sh \ file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ file://0003-implment-systemd-sysv-install-for-OE.patch \ file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \ + file://selinux-hook-handling-to-enumerate-nexthop.patch \ + file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \ " # patches needed by musl @@ -305,6 +308,9 @@ do_install() { # install default policy for presets # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset + + # add a profile fragment to disable systemd pager with busybox less + install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh } python populate_packages_prepend (){ @@ -538,6 +544,7 @@ FILES_${PN} = " ${base_bindir}/* \ ${sysconfdir}/dbus-1/ \ ${sysconfdir}/modules-load.d/ \ ${sysconfdir}/pam.d/ \ + ${sysconfdir}/profile.d/ \ ${sysconfdir}/sysctl.d/ \ ${sysconfdir}/systemd/ \ ${sysconfdir}/tmpfiles.d/ \ diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/rc b/poky/meta/recipes-core/sysvinit/sysvinit/rc index fd1fdd26ba..d0d3149821 100755 --- a/poky/meta/recipes-core/sysvinit/sysvinit/rc +++ b/poky/meta/recipes-core/sysvinit/sysvinit/rc @@ -63,7 +63,7 @@ startup() { stty onlcr 0>&1 # Limit stack size for startup scripts - [ "$STACK_SIZE" == "" ] || ulimit -S -s $STACK_SIZE + [ "$STACK_SIZE" = "" ] || ulimit -S -s $STACK_SIZE # Now find out what the current and what the previous runlevel are. diff --git a/poky/meta/recipes-core/udev/eudev/init b/poky/meta/recipes-core/udev/eudev/init index 0455ade258..c60dbbf6d5 100644 --- a/poky/meta/recipes-core/udev/eudev/init +++ b/poky/meta/recipes-core/udev/eudev/init @@ -52,7 +52,7 @@ case "$1" in kill_udevd > "/dev/null" 2>&1 # trigger the sorted events - [ -e /proc/sys/kernel/hotplug ] && echo -e '\000' >/proc/sys/kernel/hotplug + [ -e /proc/sys/kernel/hotplug ] && printf '\0\n' >/proc/sys/kernel/hotplug @UDEVD@ -d udevadm control --env=STARTUP=1 diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.36.bb b/poky/meta/recipes-core/util-linux/util-linux_2.36.bb index 2ad00ff0a5..474f1e188c 100644 --- a/poky/meta/recipes-core/util-linux/util-linux_2.36.bb +++ b/poky/meta/recipes-core/util-linux/util-linux_2.36.bb @@ -1,5 +1,5 @@ SUMMARY = "A suite of basic system administration utilities" -HOMEPAGE = "http://userweb.kernel.org/~kzak/util-linux/" +HOMEPAGE = "https://en.wikipedia.org/wiki/Util-linux" DESCRIPTION = "Util-linux includes a suite of basic system administration utilities \ commonly found on most Linux systems. Some of the more important utilities include \ disk partitioning, kernel message management, filesystem creation, and system login." @@ -129,7 +129,7 @@ EXTRA_OECONF_append = " --disable-hwclock-gplv3" # PACKAGECONFIG ?= "pcre2" PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" -# inherit manpages requires this to be present, however util-linux does not have +# inherit manpages requires this to be present, however util-linux does not have # configuration options, and installs manpages always PACKAGECONFIG[manpages] = "" PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam," diff --git a/poky/meta/recipes-core/volatile-binds/volatile-binds.bb b/poky/meta/recipes-core/volatile-binds/volatile-binds.bb index b273293e9a..3c8b18291e 100644 --- a/poky/meta/recipes-core/volatile-binds/volatile-binds.bb +++ b/poky/meta/recipes-core/volatile-binds/volatile-binds.bb @@ -35,7 +35,7 @@ def volatile_systemd_services(d): SYSTEMD_SERVICE_${PN} = "${@volatile_systemd_services(d)}" -FILES_${PN} += "${systemd_unitdir}/system/*.service" +FILES_${PN} += "${systemd_unitdir}/system/*.service ${servicedir}" do_compile () { while read spec mountpoint; do @@ -64,6 +64,7 @@ do_compile[dirs] = "${WORKDIR}" do_install () { install -d ${D}${base_sbindir} + install -d ${D}${servicedir} install -m 0755 mount-copybind ${D}${base_sbindir}/ install -d ${D}${systemd_unitdir}/system diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch index 2322bd8e78..81b328a2ee 100644 --- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch +++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch @@ -1,4 +1,4 @@ -From 1ad21140787a6b8b0f774f75b50444d2c30a56f6 Mon Sep 17 00:00:00 2001 +From 96d23fc57d1ff9c851d563d6d6a6c4752dc4f1b6 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 21 May 2020 20:28:12 +0000 Subject: [PATCH] Do not configure packages on installation diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch index d3d3ab026d..1417153e81 100644 --- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch +++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch @@ -1,4 +1,4 @@ -From b18d7aa7d71b53b86bac21cd1d8c3accabb28f2b Mon Sep 17 00:00:00 2001 +From bf45c314867e5fb12141803fba06f3e45679d628 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 10 May 2019 16:47:38 +0200 Subject: [PATCH] Do not init tables from dpkg configuration diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch index 8c4cc04503..37f969690c 100644 --- a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch +++ b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch @@ -1,4 +1,4 @@ -From 742fbb243f99e940c3e6b31296f7f416f550a57a Mon Sep 17 00:00:00 2001 +From 34700bebc52659e7e3eecd252f65bd36e669eee8 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 21 May 2020 20:13:25 +0000 Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our diff --git a/poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch b/poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch new file mode 100644 index 0000000000..503b5a5c0b --- /dev/null +++ b/poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch @@ -0,0 +1,40 @@ +From 28e389a0d1275e7693df84a7d4a58b28364be1a9 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Thu, 22 Oct 2020 17:33:38 +0200 +Subject: [PATCH] test/libapt: do not use gtest from the host + +This really does not work when cross-compiling. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + test/libapt/CMakeLists.txt | 16 ---------------- + 1 file changed, 16 deletions(-) + +diff --git a/test/libapt/CMakeLists.txt b/test/libapt/CMakeLists.txt +index 035ff07..280b83c 100644 +--- a/test/libapt/CMakeLists.txt ++++ b/test/libapt/CMakeLists.txt +@@ -6,22 +6,6 @@ find_path(GTEST_ROOT src/gtest.cc + find_package(GTest) + set(GTEST_DEPENDENCIES) + +-if(NOT GTEST_FOUND AND EXISTS ${GTEST_ROOT}) +- include(ExternalProject) +- ExternalProject_Add(gtest PREFIX ./gtest +- SOURCE_DIR ${GTEST_ROOT} +- INSTALL_COMMAND true) +- +- link_directories(${CMAKE_CURRENT_BINARY_DIR}/gtest/src/gtest-build) +- +- set(GTEST_LIBRARIES "-lgtest") +- set(GTEST_DEPENDENCIES "gtest") +- set(GTEST_FOUND TRUE) +- find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_ROOT}/include) +- +- message(STATUS "Found GTest at ${GTEST_ROOT}, headers at ${GTEST_INCLUDE_DIRS}") +-endif() +- + if(GTEST_FOUND) + # gtest produces some warnings with the set of warnings we activate, + # so disable the offending warnings while compiling tests for now diff --git a/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb b/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb index bd1f4f39c3..de0e150a2e 100644 --- a/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb +++ b/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb @@ -8,6 +8,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \ file://0001-Disable-documentation-directory-altogether.patch \ file://0001-Fix-musl-build.patch \ file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \ + file://0001-test-libapt-do-not-use-gtest-from-the-host.patch \ " SRC_URI_append_class-native = " \ diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.35.inc b/poky/meta/recipes-devtools/binutils/binutils-2.35.inc index 5ae9ec4226..aa02063b19 100644 --- a/poky/meta/recipes-devtools/binutils/binutils-2.35.inc +++ b/poky/meta/recipes-devtools/binutils/binutils-2.35.inc @@ -41,5 +41,7 @@ SRC_URI = "\ file://0014-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \ file://0015-sync-with-OE-libtool-changes.patch \ file://0016-Check-for-clang-before-checking-gcc-version.patch \ + file://0017-gas-improve-reproducibility-for-stabs-debugging-data.patch \ + file://0001-aarch64-Return-an-error-on-conditional-branch-to-an-.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/binutils/binutils/0001-aarch64-Return-an-error-on-conditional-branch-to-an-.patch b/poky/meta/recipes-devtools/binutils/binutils/0001-aarch64-Return-an-error-on-conditional-branch-to-an-.patch new file mode 100644 index 0000000000..f46ddab415 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/0001-aarch64-Return-an-error-on-conditional-branch-to-an-.patch @@ -0,0 +1,135 @@ +From c7cd291722779c9d4703ed0010388fe394c644c8 Mon Sep 17 00:00:00 2001 +From: Siddhesh Poyarekar <siddesh.poyarekar@arm.com> +Date: Tue, 1 Sep 2020 14:25:52 +0530 +Subject: [PATCH] aarch64: Return an error on conditional branch to an undefined symbol + +The fix in 7e05773767820b441b23a16628b55c98cb1aef46 introduced a PLT +for conditional jumps when the target symbol is undefined. This is +incorrect because conditional branch relocations are not allowed to +clobber IP0/IP1 and hence, should not result in a dynamic relocation. + +Revert that change and in its place, issue an error when the target +symbol is undefined. + +bfd/ + + 2020-09-10 Siddhesh Poyarekar <siddesh.poyarekar@arm.com> + + * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Revert + changes in 7e05773767820b441b23a16628b55c98cb1aef46. Set + error for undefined symbol in BFD_RELOC_AARCH64_BRANCH19 and + BFD_RELOC_AARCH64_TSTBR14 relocations. + +ld/ + + 2020-09-10 Siddhesh Poyarekar <siddesh.poyarekar@arm.com> + + * testsuite/ld-aarch64/emit-relocs-560.d: Expect error instead + of valid output. +--- +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c7cd291722779c9d4703ed0010388fe394c644c8] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + + bfd/ChangeLog | 7 +++++ + bfd/elfnn-aarch64.c | 37 ++++++++++++----------- + ld/ChangeLog | 5 +++ + ld/testsuite/ld-aarch64/emit-relocs-560.d | 7 +---- + 4 files changed, 32 insertions(+), 24 deletions(-) + +diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c +index 5b4c189b593..a9924e7ec56 100644 +--- a/bfd/elfnn-aarch64.c ++++ b/bfd/elfnn-aarch64.c +@@ -5447,7 +5447,6 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto, + bfd_vma orig_value = value; + bfd_boolean resolved_to_zero; + bfd_boolean abs_symbol_p; +- bfd_boolean via_plt_p; + + globals = elf_aarch64_hash_table (info); + +@@ -5469,8 +5468,6 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto, + : bfd_is_und_section (sym_sec)); + abs_symbol_p = h != NULL && bfd_is_abs_symbol (&h->root); + +- via_plt_p = (globals->root.splt != NULL && h != NULL +- && h->plt.offset != (bfd_vma) - 1); + + /* Since STT_GNU_IFUNC symbol must go through PLT, we handle + it here if it is defined in a non-shared object. */ +@@ -5806,23 +5803,12 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto, + value += signed_addend; + break; + +- case BFD_RELOC_AARCH64_BRANCH19: +- case BFD_RELOC_AARCH64_TSTBR14: +- /* A conditional branch to an undefined weak symbol is converted to a +- branch to itself. */ +- if (weak_undef_p && !via_plt_p) +- { +- value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, +- place, value, +- signed_addend, +- weak_undef_p); +- break; +- } +- /* Fall through. */ + case BFD_RELOC_AARCH64_CALL26: + case BFD_RELOC_AARCH64_JUMP26: + { + asection *splt = globals->root.splt; ++ bfd_boolean via_plt_p = ++ splt != NULL && h != NULL && h->plt.offset != (bfd_vma) - 1; + + /* A call to an undefined weak symbol is converted to a jump to + the next instruction unless a PLT entry will be created. +@@ -5903,6 +5889,23 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto, + bfd_set_error (bfd_error_bad_value); + return bfd_reloc_notsupported; + } ++ value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, ++ place, value, ++ signed_addend, ++ weak_undef_p); ++ break; ++ ++ case BFD_RELOC_AARCH64_BRANCH19: ++ case BFD_RELOC_AARCH64_TSTBR14: ++ if (h && h->root.type == bfd_link_hash_undefined) ++ { ++ _bfd_error_handler ++ /* xgettext:c-format */ ++ (_("%pB: conditional branch to undefined symbol `%s' " ++ "not allowed"), input_bfd, h->root.root.string); ++ bfd_set_error (bfd_error_bad_value); ++ return bfd_reloc_notsupported; ++ } + /* Fall through. */ + + case BFD_RELOC_AARCH64_16: +@@ -7968,8 +7971,6 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info, + break; + } + +- case BFD_RELOC_AARCH64_BRANCH19: +- case BFD_RELOC_AARCH64_TSTBR14: + case BFD_RELOC_AARCH64_CALL26: + case BFD_RELOC_AARCH64_JUMP26: + /* If this is a local symbol then we resolve it +diff --git a/ld/testsuite/ld-aarch64/emit-relocs-560.d b/ld/testsuite/ld-aarch64/emit-relocs-560.d +index 153532457b4..8751b743bd4 100644 +--- a/ld/testsuite/ld-aarch64/emit-relocs-560.d ++++ b/ld/testsuite/ld-aarch64/emit-relocs-560.d +@@ -1,8 +1,3 @@ + #source: emit-relocs-560.s + #ld: -shared +-#readelf: -r +- +-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 2 entries: +- Offset Info Type Sym. Value Sym. Name \+ Addend +-[0-9a-f]+ 000100000402 R_AARCH64_JUMP_SL 0000000000000000 baz \+ 0 +-[0-9a-f]+ 000200000402 R_AARCH64_JUMP_SL 0000000000000000 bar \+ 0 ++#error: .*: conditional branch to undefined symbol `bar' not allowed +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch b/poky/meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch new file mode 100644 index 0000000000..42e0c1c32d --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch @@ -0,0 +1,35 @@ +From aa6586e80fc6fcd739aa959a71e4cf064cdef072 Mon Sep 17 00:00:00 2001 +From: Denys Zagorui <dzagorui@cisco.com> +Date: Mon, 9 Nov 2020 15:39:10 +0000 +Subject: [PATCH] gas: improve reproducibility for stabs debugging data format + + * config/obj-elf (obj_elf_init_stab_section): Improve + reproducibility for stabs debugging data format + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0541201782c006c09d029d18a45c6e743cfea906] +--- + gas/config/obj-elf.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c +index de22b5a1da..2025df8542 100644 +--- a/gas/config/obj-elf.c ++++ b/gas/config/obj-elf.c +@@ -2374,12 +2374,13 @@ obj_elf_init_stab_section (segT seg) + p = frag_more (12); + /* Zero it out. */ + memset (p, 0, 12); +- file = as_where (NULL); ++ file = remap_debug_filename (as_where (NULL)); + stabstr_name = concat (segment_name (seg), "str", (char *) NULL); + stroff = get_stab_string_offset (file, stabstr_name, TRUE); + know (stroff == 1 || (stroff == 0 && file[0] == '\0')); + md_number_to_chars (p, stroff, 4); + seg_info (seg)->stabu.p = p; ++ xfree ((char *) file); + } + + #endif +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/bison/bison_3.7.2.bb b/poky/meta/recipes-devtools/bison/bison_3.7.3.bb index ace4ea5c3f..74532caec3 100644 --- a/poky/meta/recipes-devtools/bison/bison_3.7.2.bb +++ b/poky/meta/recipes-devtools/bison/bison_3.7.3.bb @@ -12,7 +12,7 @@ DEPENDS = "bison-native flex-native" SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ file://add-with-bisonlocaledir.patch \ " -SRC_URI[sha256sum] = "7948d193104d979c0fb0294a1854c73c89d72ae41acfc081826142578a78a91b" +SRC_URI[sha256sum] = "88d9e36856b004c0887a12ba00ea3c47db388519629483dd8c3fce9694d4da6f" # No point in hardcoding path to m4, just use PATH EXTRA_OECONF += "M4=m4" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.7.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.9.bb index e61ea9bf89..15a958e624 100644 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.7.bb +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.9.bb @@ -14,7 +14,7 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl" DEPENDS_append_class-target = " udev" RDEPENDS_${PN} = "libgcc" -SRCREV = "11acf45eea6dd81e891564967051e2bb10bd25f7" +SRCREV = "2e1fa482300449042ff6612bb51027f3f5765270" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ " diff --git a/poky/meta/recipes-devtools/chrpath/chrpath_0.16.bb b/poky/meta/recipes-devtools/chrpath/chrpath_0.16.bb index 8de8850576..f12366b4e8 100644 --- a/poky/meta/recipes-devtools/chrpath/chrpath_0.16.bb +++ b/poky/meta/recipes-devtools/chrpath/chrpath_0.16.bb @@ -2,8 +2,7 @@ SUMMARY = "Tool to edit rpath in ELF binaries" DESCRIPTION = "chrpath allows you to change the rpath (where the \ application looks for libraries) in an application. It does not \ (yet) allow you to add an rpath if there isn't one already." -HOMEPAGE = "http://alioth.debian.org/projects/chrpath/" -BUGTRACKER = "http://alioth.debian.org/tracker/?atid=412807&group_id=31052" +HOMEPAGE = "https://tracker.debian.org/pkg/chrpath" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.18.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.18.4.bb index d91e42ef9a..d91e42ef9a 100644 --- a/poky/meta/recipes-devtools/cmake/cmake-native_3.18.2.bb +++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.18.4.bb diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc index fa1b818ae4..e840e884cf 100644 --- a/poky/meta/recipes-devtools/cmake/cmake.inc +++ b/poky/meta/recipes-devtools/cmake/cmake.inc @@ -22,7 +22,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \ " -SRC_URI[sha256sum] = "5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e" +SRC_URI[sha256sum] = "597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77" UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.18.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.18.4.bb index 64c92b89f2..64c92b89f2 100644 --- a/poky/meta/recipes-devtools/cmake/cmake_3.18.2.bb +++ b/poky/meta/recipes-devtools/cmake/cmake_3.18.4.bb diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.0.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.1.bb index c6d8963072..942741023f 100644 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.0.bb +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.1.bb @@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ " -SRCREV = "bac48ace91c51abe37792415e75452bbabd44d93" +SRCREV = "634141eaefe0cc87466dfb91b07b64facce4384b" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb b/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb index ee0a7e7bd6..61b2ea5dc2 100644 --- a/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb +++ b/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb @@ -27,3 +27,5 @@ LDFLAGS += "${TOOLCHAIN_OPTIONS}" do_install_ptest() { cp -r ${S}/testing ${D}${PTEST_PATH} } + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch b/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch index ce9d423104..d082459ca9 100644 --- a/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch +++ b/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch @@ -1,20 +1,21 @@ -From 00a3ace35d66e7ae60046e254a4d00f0f9c1abe2 Mon Sep 17 00:00:00 2001 +From 2c0437f47eaaf565aaccf0c0d150d5fc0fc734f5 Mon Sep 17 00:00:00 2001 From: OpenEmbedded <oe.patch@oe> Date: Thu, 22 Nov 2018 12:05:04 +0000 Subject: [PATCH] Do not install to /usr/local Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 77c9310..fc378fd 100644 +index 7aa729d..e079b18 100644 --- a/Makefile +++ b/Makefile -@@ -30,7 +30,7 @@ CFLAGS += -O2 - LDFLAGS = +@@ -31,7 +31,7 @@ CFLAGS += -D_FILE_OFFSET_BITS=64 + LDFLAGS ?= DESTDIR = -prefix = /usr/local diff --git a/poky/meta/recipes-devtools/dmidecode/dmidecode_3.2.bb b/poky/meta/recipes-devtools/dmidecode/dmidecode_3.3.bb index 63f4061cb7..3fc2b20f22 100644 --- a/poky/meta/recipes-devtools/dmidecode/dmidecode_3.2.bb +++ b/poky/meta/recipes-devtools/dmidecode/dmidecode_3.3.bb @@ -19,6 +19,5 @@ do_install() { oe_runmake DESTDIR="${D}" install } -SRC_URI[md5sum] = "9cc2e27e74ade740a25b1aaf0412461b" -SRC_URI[sha256sum] = "077006fa2da0d06d6383728112f2edef9684e9c8da56752e97cd45a11f838edd" +SRC_URI[sha256sum] = "82c737a780614c38a783e8055340d295e332fb12c7f418b5d21a0797d3fb1455" diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.2.23.bb b/poky/meta/recipes-devtools/dnf/dnf_4.4.0.bb index 8cfd4d0c89..dff6fe6c25 100644 --- a/poky/meta/recipes-devtools/dnf/dnf_4.2.23.bb +++ b/poky/meta/recipes-devtools/dnf/dnf_4.4.0.bb @@ -17,7 +17,7 @@ SRC_URI = "git://github.com/rpm-software-management/dnf.git \ file://0001-dnf-write-the-log-lock-to-root.patch \ " -SRCREV = "126d861812f827285960592359615ed7cb195aac" +SRCREV = "b9b7623892f551da201bffd03187d703242b00e9" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb b/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb index 97ce449954..4bd4aef099 100644 --- a/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb +++ b/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb @@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "e6b2aca70ccc3fe3687365009dd94a2e18e82b688ed4e260e04b741247 UPSTREAM_CHECK_URI = "https://github.com/dosfstools/dosfstools/releases" -inherit autotools pkgconfig +inherit autotools pkgconfig update-alternatives EXTRA_OECONF = "--without-udev --enable-compat-symlinks" @@ -26,3 +26,7 @@ BBCLASSEXTEND = "native nativesdk" # Add codepage437 to avoid error from `dosfsck -l` RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-ibm437" + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN} = "mkfs.vfat" +ALTERNATIVE_LINK_NAME[mkfs.vfat] = "${sbindir}/mkfs.vfat" diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb index 15054768dd..e6a4bd1f8c 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb @@ -125,6 +125,8 @@ do_compile_ptest() { } do_install_ptest() { + # This file's permissions depends on the host umask so be deterministic + chmod 0644 ${B}/tests/test_data.tmp cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test sed -e 's!../e2fsck/e2fsck!e2fsck!g' \ diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.180.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.181.bb index 61e46a4ed7..6c49a5fc26 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.180.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.181.bb @@ -28,7 +28,7 @@ SRC_URI_append_libc-musl = " \ file://0004-Fix-error-on-musl.patch \ file://0015-config-eu.am-do-not-use-Werror.patch \ " -SRC_URI[sha256sum] = "b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d" +SRC_URI[sha256sum] = "29a6ad7421ec2acfee489bb4a699908281ead2cb63a20a027ce8804a165f0eb3" inherit autotools gettext ptest pkgconfig @@ -40,6 +40,7 @@ DEPENDS_BZIP2_class-target = "bzip2" PACKAGECONFIG ??= "" PACKAGECONFIG[bzip2] = "--with-bzlib,--without-bzlib,${DEPENDS_BZIP2}" PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz" +PACKAGECONFIG[libdebuginfod] = "--enable-libdebuginfod,--disable-libdebuginfod,curl" RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils" @@ -59,6 +60,8 @@ do_install_ptest() { install -d -m 755 ${D}${PTEST_PATH}/src install -d -m 755 ${D}${PTEST_PATH}/libelf install -d -m 755 ${D}${PTEST_PATH}/libdw + install -d -m 755 ${D}${PTEST_PATH}/libdwfl + install -d -m 755 ${D}${PTEST_PATH}/libdwelf install -d -m 755 ${D}${PTEST_PATH}/libasm for test_file in ${TEST_FILES}; do if [ -f ${B}/src/${test_file} ]; then @@ -68,6 +71,11 @@ do_install_ptest() { cp ${D}${libdir}/libelf-${PV}.so ${D}${PTEST_PATH}/libelf/libelf.so cp ${D}${libdir}/libdw-${PV}.so ${D}${PTEST_PATH}/libdw/libdw.so cp ${D}${libdir}/libasm-${PV}.so ${D}${PTEST_PATH}/libasm/libasm.so + cp ${S}/libelf/*.h ${D}${PTEST_PATH}/libelf/ + cp ${S}/libdw/*.h ${D}${PTEST_PATH}/libdw/ + cp ${S}/libdwfl/*.h ${D}${PTEST_PATH}/libdwfl/ + cp ${S}/libdwelf/*.h ${D}${PTEST_PATH}/libdwelf/ + cp ${S}/libasm/*.h ${D}${PTEST_PATH}/libasm/ cp -r ${S}/tests/ ${D}${PTEST_PATH} cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests cp -r ${B}/config.h ${D}${PTEST_PATH} diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch b/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch index 2450b0d6b8..67d4703c80 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch @@ -1,4 +1,4 @@ -From 1ec7b2208803e0fbdcbe6c07b849e7dc4d9fa8a2 Mon Sep 17 00:00:00 2001 +From 1a62bb8e8f2cb0f180c749946a48114e8f391b55 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Fri, 23 Aug 2019 10:17:25 +0800 Subject: [PATCH] musl-obstack-fts @@ -20,7 +20,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 3 files changed, 58 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index e9649c2..03643c8 100644 +index ab9c751..b057d86 100644 --- a/configure.ac +++ b/configure.ac @@ -538,6 +538,60 @@ else diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch index 481b912387..d7b382fd94 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch @@ -1,4 +1,4 @@ -From 1ca86294ee5454592c9ad855e13080509d8a92d3 Mon Sep 17 00:00:00 2001 +From fa265ff686cb60e19aa607bda3752b6b2ee87a14 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Tue, 23 Jun 2020 07:49:35 +0000 Subject: [PATCH] tests/Makefile.am: compile test_nlist with standard CFLAGS @@ -8,20 +8,21 @@ be reproducible. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- tests/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Makefile.am b/tests/Makefile.am -index 8048b69..d2b28a4 100644 +index 05fc9b4..11de0fc 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am -@@ -86,7 +86,7 @@ backtrace-child-biarch$(EXEEXT): backtrace-child.c +@@ -92,7 +92,7 @@ endif test-nlist$(EXEEXT): test-nlist.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) \ -- $(test_nlist_CFLAGS) $(test_nlist_LDADD) -o $@ $< -+ $(CFLAGS) $(test_nlist_LDADD) -o $@ $< +- $(test_nlist_CFLAGS) $(GCOV_FLAGS) -o $@ $< $(test_nlist_LDADD) ++ $(CFLAGS) $(GCOV_FLAGS) -o $@ $< $(test_nlist_LDADD) TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \ update1 update2 update3 update4 \ diff --git a/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch index d5ec0ec9e5..894e46c3c4 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch @@ -1,4 +1,4 @@ -From 9a57efb0f826a70ae360aa55504ee2de656b92b6 Mon Sep 17 00:00:00 2001 +From 2e1f8ca0b67c1d1991c14d509938c347e09bae94 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Fri, 23 Aug 2019 10:18:47 +0800 Subject: [PATCH] musl-libs diff --git a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch index 4f28d9d027..2a21cd37ce 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch @@ -1,4 +1,4 @@ -From 6923400b777d4ba6f040c4006413bf997326460f Mon Sep 17 00:00:00 2001 +From 9b237f19f82d5ab1e0702637fece1866b1ef6681 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Fri, 23 Aug 2019 10:19:48 +0800 Subject: [PATCH] musl-utils @@ -58,7 +58,7 @@ index 6ba6af4..0c7674b 100644 ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; diff --git a/src/readelf.c b/src/readelf.c -index 5994615..f3cc071 100644 +index 685d0b1..a842b10 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -4829,10 +4829,11 @@ listptr_base (struct listptr *p) @@ -124,7 +124,7 @@ index 5994615..f3cc071 100644 static bool diff --git a/src/strip.c b/src/strip.c -index 4054c2a..d2d2176 100644 +index 48792a7..198a2e4 100644 --- a/src/strip.c +++ b/src/strip.c @@ -46,6 +46,13 @@ diff --git a/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch index 481e4b38eb..c79c737c62 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch @@ -1,4 +1,4 @@ -From 48b769ab692c8f02c1ae467229fe3404f662098a Mon Sep 17 00:00:00 2001 +From d3dc5f98f653342af97ebfbdf3479ee1f0d0cf38 Mon Sep 17 00:00:00 2001 From: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Wed, 1 May 2019 22:15:03 +0100 Subject: [PATCH] Fix error on musl: diff --git a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch index c3ae357265..48fd4d41f3 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch @@ -1,4 +1,4 @@ -From dce2187dd8f592316357b200ebbe8dbed9ee65cb Mon Sep 17 00:00:00 2001 +From 9b7554a3e21ccb455b3661a6b4e767636c2c5cf3 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Mon, 22 Jun 2020 21:35:16 +0000 Subject: [PATCH] config/eu.am: do not use -Werror @@ -10,6 +10,7 @@ Werror. Upstream-Status: Inappropriate [oe core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- config/eu.am | 2 -- 1 file changed, 2 deletions(-) diff --git a/poky/meta/recipes-devtools/file/file_5.39.bb b/poky/meta/recipes-devtools/file/file_5.39.bb index 0dcc90548a..abaa8149a3 100644 --- a/poky/meta/recipes-devtools/file/file_5.39.bb +++ b/poky/meta/recipes-devtools/file/file_5.39.bb @@ -11,14 +11,15 @@ LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=0251eaec1188b20d9a72c502ecfdd DEPENDS = "file-replacement-native" DEPENDS_class-native = "bzip2-replacement-native" -SRC_URI = "git://github.com/file/file.git" +SRC_URI = "git://github.com/file/file.git \ + file://0001-src-compress.c-correct-header-define-for-xz-lzma.patch" SRCREV = "87731415de945660b00f02207d8e9d986ef9b82e" S = "${WORKDIR}/git" inherit autotools update-alternatives -PACKAGECONFIG ??= "zlib" +PACKAGECONFIG ??= "bz2 lzma zlib" PACKAGECONFIG[bz2] = "--enable-bzlib, --disable-bzlib, bzip2" PACKAGECONFIG[lzma] = "--enable-xzlib, --disable-xzlib, xz" PACKAGECONFIG[zlib] = "--enable-zlib, --disable-zlib, zlib" diff --git a/poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch b/poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch new file mode 100644 index 0000000000..f8ba2f6153 --- /dev/null +++ b/poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch @@ -0,0 +1,27 @@ +From ffb6ebdb42590cb9f7d3f5177b7b820a9edc4c81 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sun, 18 Oct 2020 23:40:42 +0200 +Subject: [PATCH] src/compress.c: correct header define for xz/lzma + +Upstream-Status: Submitted [https://github.com/file/file/pull/98] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + src/compress.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/compress.c b/src/compress.c +index 67f21583..9670b72c 100644 +--- a/src/compress.c ++++ b/src/compress.c +@@ -71,7 +71,7 @@ typedef void (*sig_t)(int); + #include <bzlib.h> + #endif + +-#if defined(HAVE_XZLIB_H) && defined(XZLIBSUPPORT) ++#if defined(HAVE_LZMA_H) && defined(XZLIBSUPPORT) + #define BUILTIN_XZLIB + #include <lzma.h> + #endif +-- +2.28.0 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.2.inc b/poky/meta/recipes-devtools/gcc/gcc-10.2.inc index 7625af5110..e88f2ade6d 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-10.2.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-10.2.inc @@ -81,14 +81,13 @@ S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" FORTRAN = "" JAVA = "" -LTO = "--enable-lto" SSP ?= "--disable-libssp" SSP_mingw32 = "--enable-libssp" EXTRA_OECONF_BASE = "\ - ${LTO} \ ${SSP} \ --enable-libitm \ + --enable-lto \ --disable-bootstrap \ --with-system-zlib \ ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch index 1a65ece7bf..dc3e6da65a 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch @@ -1,4 +1,4 @@ -From bb1f359e34649516e61305e9748534cce7e0ee70 Mon Sep 17 00:00:00 2001 +From 702daf2e9cb97337e0e594fcd435b1b61a917d14 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 7 Dec 2015 23:39:54 +0000 Subject: [PATCH] handle sysroot support for nativesdk-gcc @@ -321,7 +321,7 @@ index 9098ab044ab..bfad4ebe382 100644 str = update_path (ostr, p->component); free (ostr); diff --git a/gcc/prefix.c b/gcc/prefix.c -index 1a403e535bd..3257ed3cd3e 100644 +index 1a403e535bd..c26d07bde12 100644 --- a/gcc/prefix.c +++ b/gcc/prefix.c @@ -72,7 +72,9 @@ License along with GCC; see the file COPYING3. If not see @@ -329,9 +329,9 @@ index 1a403e535bd..3257ed3cd3e 100644 #include "common/common-target.h" -static const char *std_prefix = PREFIX; -+static const char PREFIXVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX; ++char PREFIXVAR1[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX; + -+static const char *std_prefix = PREFIXVAR; ++static const char *std_prefix = PREFIXVAR1; static const char *get_key_value (char *); static char *translate_name (char *); @@ -340,7 +340,10 @@ index 1a403e535bd..3257ed3cd3e 100644 if (prefix == 0) - prefix = PREFIX; -+ prefix = PREFIXVAR; ++ prefix = PREFIXVAR1; /* We used to strip trailing DIR_SEPARATORs here, but that can sometimes yield a result with no separator when one was coded +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb-9.2.inc b/poky/meta/recipes-devtools/gdb/gdb-10.1.inc index 017b61ef62..4b8de2b4e6 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-9.2.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-10.1.inc @@ -17,5 +17,4 @@ SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \ file://0010-Fix-invalid-sigprocmask-call.patch \ file://0011-gdbserver-ctrl-c-handling.patch \ " -SRC_URI[md5sum] = "db95524e554870209ab7d9f8fd8dc557" -SRC_URI[sha256sum] = "360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555" +SRC_URI[sha256sum] = "f82f1eceeec14a3afa2de8d9b0d3c91d5a3820e23e0a01bbb70ef9f0276b62c0" diff --git a/poky/meta/recipes-devtools/gdb/gdb-common.inc b/poky/meta/recipes-devtools/gdb/gdb-common.inc index 08f615addf..bfb8013d67 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-common.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-common.inc @@ -15,13 +15,11 @@ UPSTREAM_CHECK_GITTAGREGEX = "gdb\-(?P<pver>.+)\-release" B = "${WORKDIR}/build-${TARGET_SYS}" -EXTRA_OEMAKE = "'SUBDIRS=intl mmalloc libiberty opcodes bfd sim gdb etc utils'" - EXPAT = "--with-expat --with-libexpat-prefix=${STAGING_DIR_HOST}" EXTRA_OECONF = "--disable-gdbtk --disable-x --disable-werror \ --with-curses --disable-multilib --disable-sim \ - --without-lzma --without-guile \ + --without-guile \ ${GDBPROPREFIX} ${EXPAT} \ ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)} \ --disable-rpath \ @@ -37,9 +35,12 @@ PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,python PACKAGECONFIG[babeltrace] = "--with-babeltrace,--without-babeltrace,babeltrace" # ncurses is already a hard DEPENDS, but would be added here if it weren't PACKAGECONFIG[tui] = "--enable-tui,--disable-tui" +PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz" GDBPROPREFIX = "--program-prefix=''" +DISABLE_STATIC = "" + do_configure () { # override this function to avoid the autoconf/automake/aclocal/autoheader # calls for now diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.1.bb index 301035940c..301035940c 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb +++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.1.bb diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_9.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_10.1.bb index 50cf159fdb..50cf159fdb 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-cross_9.2.bb +++ b/poky/meta/recipes-devtools/gdb/gdb-cross_10.1.bb diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch index 82287ea13a..84d178332d 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch @@ -1,7 +1,7 @@ -From 036f8e1d387f65e52cb021dbb1bd28e8b75cf017 Mon Sep 17 00:00:00 2001 +From e5126c7167e26f865990dc5f86344602603aa8c6 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 02:27:55 +0000 -Subject: [PATCH] make man install relative to DESTDIR +Subject: [PATCH 01/11] make man install relative to DESTDIR Upstream-Status: Pending @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/common/Makefile.in b/sim/common/Makefile.in -index c6de14122c..c4b1214946 100644 +index f713fcaa35b..7c553709d3f 100644 --- a/sim/common/Makefile.in +++ b/sim/common/Makefile.in @@ -35,7 +35,7 @@ tooldir = $(libdir)/$(target_alias) @@ -23,3 +23,6 @@ index c6de14122c..c4b1214946 100644 infodir = @infodir@ includedir = @includedir@ +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch b/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch index 6067caf63d..f830993d5e 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch @@ -1,7 +1,7 @@ -From 6bff2862f9597f324a9385eb2f828e838e51a8a1 Mon Sep 17 00:00:00 2001 +From 0680242c9a3a0149a23e63034ecb4404de2293dd Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 23 Mar 2016 06:30:09 +0000 -Subject: [PATCH] mips-linux-nat: Define _ABIO32 if not defined +Subject: [PATCH 02/11] mips-linux-nat: Define _ABIO32 if not defined This helps building gdb on mips64 on musl, since musl does not provide sgidefs.h this define is @@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 4 insertions(+) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index 104c972f24..7f575b3363 100644 +index 38ff461a35b..4337795bac8 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -41,6 +41,10 @@ @@ -30,3 +30,6 @@ index 104c972f24..7f575b3363 100644 class mips_linux_nat_target final : public linux_nat_trad_target { +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch index c4bab7bb1a..cbe1779db7 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -1,36 +1,19 @@ -From d5817bcf2f7313699bfa85b41220d862db327664 Mon Sep 17 00:00:00 2001 +From afbb66c244b1ae0aaaa90d88d3cd484f741c614f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 18:32:14 -0700 -Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems +Subject: [PATCH 03/11] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC + systems Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - gdb/gdbserver/linux-ppc-low.c | 6 ++++++ - gdb/nat/ppc-linux.h | 6 ++++++ + gdb/nat/ppc-linux.h | 6 ++++++ + gdbserver/linux-ppc-low.cc | 6 ++++++ 2 files changed, 12 insertions(+) -diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 5d8d67bec2..ffcf65ab58 100644 ---- a/gdb/gdbserver/linux-ppc-low.c -+++ b/gdb/gdbserver/linux-ppc-low.c -@@ -23,7 +23,13 @@ - #include "elf/common.h" - #include <sys/uio.h> - #include <elf.h> -+#if !defined(__GLIBC__) -+# define pt_regs uapi_pt_regs -+#endif - #include <asm/ptrace.h> -+#if !defined(__GLIBC__) -+# undef pt_regs -+#endif - - #include "arch/ppc-linux-common.h" - #include "arch/ppc-linux-tdesc.h" diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index d937a65b69..1fd54b4a0e 100644 +index d937a65b69c..1fd54b4a0e0 100644 --- a/gdb/nat/ppc-linux.h +++ b/gdb/nat/ppc-linux.h @@ -18,7 +18,13 @@ @@ -47,3 +30,24 @@ index d937a65b69..1fd54b4a0e 100644 #include <asm/cputable.h> /* This sometimes isn't defined. */ +diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc +index 337d555aee7..5d518f37268 100644 +--- a/gdbserver/linux-ppc-low.cc ++++ b/gdbserver/linux-ppc-low.cc +@@ -23,7 +23,13 @@ + #include "elf/common.h" + #include <sys/uio.h> + #include <elf.h> ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include <asm/ptrace.h> ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + + #include "arch/ppc-linux-common.h" + #include "arch/ppc-linux-tdesc.h" +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch b/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch index fd165d4b81..561cfff943 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch @@ -1,7 +1,7 @@ -From 505f10a0ea1a8bba0584859d9a348bb779593ec2 Mon Sep 17 00:00:00 2001 +From 26e406962cf7298837b350b979afff0ac34ecb0b Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 02:31:12 +0000 -Subject: [PATCH] Add support for Renesas SH (sh4) architecture. +Subject: [PATCH 04/11] Add support for Renesas SH (sh4) architecture. gdb (7.4-1~cvs20111117.2) experimental; urgency=low . @@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> gdb/Makefile.in | 2 + gdb/configure.host | 1 + gdb/sh-linux-tdep.c | 519 +++++++++++++++++++++++++++ - gdb/sh-tdep.c | 53 ++- + gdb/sh-tdep.c | 52 +-- gdb/sh-tdep.h | 49 +++ gdb/testsuite/gdb.asm/asm-source.exp | 5 + gdb/testsuite/gdb.asm/sh.inc | 3 +- @@ -24,13 +24,13 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> gdb/testsuite/gdb.base/annota3.c | 4 + gdb/testsuite/gdb.base/sigall.c | 3 + gdb/testsuite/gdb.base/signals.c | 4 + - 11 files changed, 617 insertions(+), 29 deletions(-) + 11 files changed, 617 insertions(+), 28 deletions(-) diff --git a/gdb/Makefile.in b/gdb/Makefile.in -index c3e074b21f..42dd7af59c 100644 +index 4808357e651..a009004ab05 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in -@@ -2317,6 +2317,8 @@ ALLDEPFILES = \ +@@ -2273,6 +2273,8 @@ ALLDEPFILES = \ sh-nbsd-nat.c \ sh-nbsd-tdep.c \ sh-tdep.c \ @@ -40,7 +40,7 @@ index c3e074b21f..42dd7af59c 100644 solib-aix.c \ solib-svr4.c \ diff --git a/gdb/configure.host b/gdb/configure.host -index ce52823729..5b5173a71a 100644 +index ce528237291..5b5173a71aa 100644 --- a/gdb/configure.host +++ b/gdb/configure.host @@ -148,6 +148,7 @@ riscv*-*-linux*) gdb_host=linux ;; @@ -52,7 +52,7 @@ index ce52823729..5b5173a71a 100644 gdb_host=nbsd ;; sh*-*-openbsd*) gdb_host=nbsd ;; diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c -index 13c10eeeda..1d0d583a64 100644 +index 5d2f38f5801..06a45b74827 100644 --- a/gdb/sh-linux-tdep.c +++ b/gdb/sh-linux-tdep.c @@ -18,14 +18,37 @@ @@ -600,7 +600,7 @@ index 13c10eeeda..1d0d583a64 100644 /* GNU/Linux uses SVR4-style shared libraries. */ diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c -index e3aee0ac28..5958cf3688 100644 +index 7aadf9165ca..e173e215a2d 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -21,6 +21,9 @@ @@ -637,16 +637,15 @@ index e3aee0ac28..5958cf3688 100644 static int sh_is_renesas_calling_convention (struct type *func_type) { -@@ -1050,7 +1036,7 @@ sh_treat_as_flt_p (struct type *type) +@@ -1050,6 +1036,7 @@ sh_treat_as_flt_p (struct type *type) return 0; /* Otherwise if the type of that member is float, the whole type is treated as float. */ -- if (TYPE_CODE (TYPE_FIELD_TYPE (type, 0)) == TYPE_CODE_FLT) -+ if (TYPE_CODE (check_typedef (TYPE_FIELD_TYPE (type, 0))) == TYPE_CODE_FLT) ++ type = check_typedef (type); + if (type->field (0).type ()->code () == TYPE_CODE_FLT) return 1; /* Otherwise it's not treated as float. */ - return 0; -@@ -1100,7 +1086,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch, +@@ -1100,7 +1087,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch, in four registers available. Loop thru args from first to last. */ for (argnum = 0; argnum < nargs; argnum++) { @@ -655,7 +654,7 @@ index e3aee0ac28..5958cf3688 100644 len = TYPE_LENGTH (type); val = sh_justify_value_in_reg (gdbarch, args[argnum], len); -@@ -1835,7 +1821,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, +@@ -1835,7 +1822,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, reg->how = DWARF2_FRAME_REG_UNDEFINED; } @@ -664,7 +663,7 @@ index e3aee0ac28..5958cf3688 100644 sh_alloc_frame_cache (void) { struct sh_frame_cache *cache; -@@ -1862,7 +1848,7 @@ sh_alloc_frame_cache (void) +@@ -1862,7 +1849,7 @@ sh_alloc_frame_cache (void) return cache; } @@ -673,7 +672,7 @@ index e3aee0ac28..5958cf3688 100644 sh_frame_cache (struct frame_info *this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); -@@ -1929,9 +1915,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache) +@@ -1929,9 +1916,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache) return cache; } @@ -686,7 +685,7 @@ index e3aee0ac28..5958cf3688 100644 { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct sh_frame_cache *cache = sh_frame_cache (this_frame, this_cache); -@@ -1945,7 +1931,7 @@ sh_frame_prev_register (struct frame_info *this_frame, +@@ -1945,7 +1932,7 @@ sh_frame_prev_register (struct frame_info *this_frame, the current frame. Frob regnum so that we pull the value from the correct place. */ if (regnum == gdbarch_pc_regnum (gdbarch)) @@ -695,7 +694,7 @@ index e3aee0ac28..5958cf3688 100644 if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1) return frame_unwind_got_memory (this_frame, regnum, -@@ -2234,8 +2220,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch, +@@ -2234,8 +2221,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch, static struct gdbarch * sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) { @@ -705,7 +704,7 @@ index e3aee0ac28..5958cf3688 100644 /* If there is already a candidate, use it. */ arches = gdbarch_list_lookup_by_info (arches, &info); -@@ -2247,6 +2233,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) +@@ -2247,6 +2234,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) tdep = XCNEW (struct gdbarch_tdep); gdbarch = gdbarch_alloc (&info, tdep); @@ -724,7 +723,7 @@ index e3aee0ac28..5958cf3688 100644 set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT); set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT); set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT); -@@ -2398,10 +2396,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) +@@ -2398,10 +2397,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) break; } @@ -738,7 +737,7 @@ index e3aee0ac28..5958cf3688 100644 frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind); diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h -index 76e2e76e39..2710f63010 100644 +index 76e2e76e39b..2710f63010c 100644 --- a/gdb/sh-tdep.h +++ b/gdb/sh-tdep.h @@ -21,6 +21,12 @@ @@ -821,7 +820,7 @@ index 76e2e76e39..2710f63010 100644 where each general-purpose register is stored inside the associated core file section. */ diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp -index 4914498f98..6e25cbed18 100644 +index 4914498f98c..6e25cbed185 100644 --- a/gdb/testsuite/gdb.asm/asm-source.exp +++ b/gdb/testsuite/gdb.asm/asm-source.exp @@ -116,6 +116,11 @@ switch -glob -- [istarget] { @@ -837,7 +836,7 @@ index 4914498f98..6e25cbed18 100644 set asm-arch sh set debug-flags "-gdwarf-2" diff --git a/gdb/testsuite/gdb.asm/sh.inc b/gdb/testsuite/gdb.asm/sh.inc -index a4a5fc545e..89efed7795 100644 +index a4a5fc545e4..89efed7795c 100644 --- a/gdb/testsuite/gdb.asm/sh.inc +++ b/gdb/testsuite/gdb.asm/sh.inc @@ -40,9 +40,8 @@ @@ -852,7 +851,7 @@ index a4a5fc545e..89efed7795 100644 .align 1 .Lafterconst\@: diff --git a/gdb/testsuite/gdb.base/annota1.c b/gdb/testsuite/gdb.base/annota1.c -index 424e1b8327..0de2e7b633 100644 +index 424e1b83278..0de2e7b633a 100644 --- a/gdb/testsuite/gdb.base/annota1.c +++ b/gdb/testsuite/gdb.base/annota1.c @@ -1,6 +1,9 @@ @@ -866,7 +865,7 @@ index 424e1b8327..0de2e7b633 100644 void handle_USR1 (int sig) diff --git a/gdb/testsuite/gdb.base/annota3.c b/gdb/testsuite/gdb.base/annota3.c -index 424e1b8327..952aaf218a 100644 +index 424e1b83278..952aaf218ab 100644 --- a/gdb/testsuite/gdb.base/annota3.c +++ b/gdb/testsuite/gdb.base/annota3.c @@ -1,6 +1,10 @@ @@ -881,7 +880,7 @@ index 424e1b8327..952aaf218a 100644 void handle_USR1 (int sig) diff --git a/gdb/testsuite/gdb.base/sigall.c b/gdb/testsuite/gdb.base/sigall.c -index 81f3b08d6b..1574b2d6cb 100644 +index 81f3b08d6bc..1574b2d6cb8 100644 --- a/gdb/testsuite/gdb.base/sigall.c +++ b/gdb/testsuite/gdb.base/sigall.c @@ -1,6 +1,9 @@ @@ -895,7 +894,7 @@ index 81f3b08d6b..1574b2d6cb 100644 /* Signal handlers, we set breakpoints in them to make sure that the signals really get delivered. */ diff --git a/gdb/testsuite/gdb.base/signals.c b/gdb/testsuite/gdb.base/signals.c -index 756606880f..1205a9bc9c 100644 +index 756606880fa..1205a9bc9c5 100644 --- a/gdb/testsuite/gdb.base/signals.c +++ b/gdb/testsuite/gdb.base/signals.c @@ -3,6 +3,10 @@ @@ -909,3 +908,6 @@ index 756606880f..1205a9bc9c 100644 static int count = 0; +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch b/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch index d0360da439..71eab1c2b1 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch @@ -1,7 +1,7 @@ -From d132f21d89157e980574da7d0c949f6dd17df8c3 Mon Sep 17 00:00:00 2001 +From ec566877c50bdae0013a38dd457004e1db725d86 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 15:25:03 -0700 -Subject: [PATCH] Dont disable libreadline.a when using --disable-static +Subject: [PATCH 05/11] Dont disable libreadline.a when using --disable-static If gdb is configured with --disable-static then this is dutifully passed to readline which then disables libreadline.a, which causes a problem when gdb @@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile.def b/Makefile.def -index 311feb9de3..24c0685d48 100644 +index 76d062bb671..e0a1e2b14b1 100644 --- a/Makefile.def +++ b/Makefile.def @@ -105,7 +105,8 @@ host_modules= { module= libiconv; @@ -33,10 +33,10 @@ index 311feb9de3..24c0685d48 100644 host_modules= { module= sim; }; host_modules= { module= texinfo; no_install= true; }; diff --git a/Makefile.in b/Makefile.in -index 1aabf6ede4..d957efde81 100644 +index 9dfd39fae13..eaf1dd0f229 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -25510,7 +25510,7 @@ configure-readline: +@@ -25548,7 +25548,7 @@ configure-readline: $$s/$$module_srcdir/configure \ --srcdir=$${topdir}/$$module_srcdir \ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ @@ -45,3 +45,6 @@ index 1aabf6ede4..d957efde81 100644 || exit 1 @endif readline +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch b/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch index d222d01083..a2932be6fb 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch @@ -1,7 +1,7 @@ -From 329e5bf29e934ba99622372a9660865864bb0298 Mon Sep 17 00:00:00 2001 +From 4b02e54b87d435e1715ce871bcce720561a7afb1 Mon Sep 17 00:00:00 2001 From: Andre McCurdy <amccurdy@gmail.com> Date: Sat, 30 Apr 2016 15:29:06 -0700 -Subject: [PATCH] use <asm/sgidefs.h> +Subject: [PATCH 06/11] use <asm/sgidefs.h> Build fix for MIPS with musl libc @@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index 7f575b3363..dc93a64a93 100644 +index 4337795bac8..7c8e54cabe0 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,7 +31,7 @@ @@ -31,3 +31,6 @@ index 7f575b3363..dc93a64a93 100644 #include "nat/gdb_ptrace.h" #include <asm/ptrace.h> #include "inf-ptrace.h" +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch b/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch index 09896611f0..8cbc50b75f 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch @@ -1,7 +1,7 @@ -From 782bb2ab9b104dad4bbaed1d9ac769ce7e5b9f4d Mon Sep 17 00:00:00 2001 +From 53f694ffa1ee9893b834758413c23947957f0fee Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 15:31:40 -0700 -Subject: [PATCH] Use exorted definitions of SIGRTMIN +Subject: [PATCH 07/11] Use exorted definitions of SIGRTMIN Define W_STOPCODE if not defined already @@ -20,10 +20,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c -index 4484fa5c87..3bb0ee7a49 100644 +index b81014024c7..e0513d47122 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c -@@ -4588,6 +4588,6 @@ lin_thread_get_thread_signals (sigset_t *set) +@@ -4428,6 +4428,6 @@ lin_thread_get_thread_signals (sigset_t *set) /* NPTL reserves the first two RT signals, but does not provide any way for the debugger to query the signal numbers - fortunately they don't change. */ @@ -33,7 +33,7 @@ index 4484fa5c87..3bb0ee7a49 100644 + sigaddset (set, SIGRTMIN + 1); } diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h -index 44dcbb7758..975d7276f6 100644 +index 44dcbb7758d..975d7276f66 100644 --- a/gdb/nat/linux-nat.h +++ b/gdb/nat/linux-nat.h @@ -91,4 +91,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp); @@ -45,3 +45,6 @@ index 44dcbb7758..975d7276f6 100644 +#endif + #endif /* NAT_LINUX_NAT_H */ +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch b/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch index 18168c6bae..4622752247 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch @@ -1,7 +1,7 @@ -From 40c9c174590ce6fdc873b453285249fe957f376d Mon Sep 17 00:00:00 2001 +From 07175ae348c9d07581e1db94762d5a2d577a75ad Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 15:35:39 -0700 -Subject: [PATCH] Change order of CFLAGS +Subject: [PATCH 08/11] Change order of CFLAGS Lets us override Werror if need be @@ -9,14 +9,14 @@ Upstream-Status: Inappropriate Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - gdb/gdbserver/Makefile.in | 2 +- + gdbserver/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in -index 16a9f2fd38..b9c8cd9c41 100644 ---- a/gdb/gdbserver/Makefile.in -+++ b/gdb/gdbserver/Makefile.in -@@ -146,7 +146,7 @@ PTHREAD_LIBS = @PTHREAD_LIBS@ +diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in +index 2b1a77f2de7..cb5ddb12fd5 100644 +--- a/gdbserver/Makefile.in ++++ b/gdbserver/Makefile.in +@@ -161,7 +161,7 @@ WIN32APILIBS = @WIN32APILIBS@ INTERNAL_CFLAGS_BASE = ${CXXFLAGS} ${GLOBAL_CFLAGS} \ ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS} $(PTHREAD_CFLAGS) INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS) @@ -25,3 +25,6 @@ index 16a9f2fd38..b9c8cd9c41 100644 # LDFLAGS is specifically reserved for setting from the command line # when running make. +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch b/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch index 8f15c49d0e..698fdb0672 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch @@ -1,7 +1,7 @@ -From 5b69a98f6bb7363a1f79f29bac2b25b7df6d2fdd Mon Sep 17 00:00:00 2001 +From 73a3babe48c7948f71683d0862eddc1609fdaa3d Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 10 May 2016 08:47:05 -0700 -Subject: [PATCH] resolve restrict keyword conflict +Subject: [PATCH 09/11] resolve restrict keyword conflict GCC detects that we call 'restrict' as param name in function signatures and complains since both params are called 'restrict' @@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnulib/import/sys_time.in.h b/gnulib/import/sys_time.in.h -index d535a6a48b..7c34d5a1aa 100644 +index d30b26719b2..fd76af5e6d9 100644 --- a/gnulib/import/sys_time.in.h +++ b/gnulib/import/sys_time.in.h @@ -93,20 +93,20 @@ struct timeval @@ -43,3 +43,6 @@ index d535a6a48b..7c34d5a1aa 100644 # endif _GL_CXXALIASWARN (gettimeofday); # if defined __cplusplus && defined GNULIB_NAMESPACE +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch b/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch index 5209c00275..7cf3eae753 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch @@ -1,7 +1,7 @@ -From bc1f01ff5e524f7777083024bce348a9b0017a7a Mon Sep 17 00:00:00 2001 +From c5c5372c6a319cac8b3f9f86304fcebcbb5ea06f Mon Sep 17 00:00:00 2001 From: Yousong Zhou <yszhou4tech@gmail.com> Date: Fri, 24 Mar 2017 10:36:03 +0800 -Subject: [PATCH] Fix invalid sigprocmask call +Subject: [PATCH 10/11] Fix invalid sigprocmask call MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -28,13 +28,13 @@ Upstream-Status: Pending [not author, cherry-picked from LEDE https://bugs.lede- Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - gdb/gdbsupport/signals-state-save-restore.c | 2 +- + gdbsupport/signals-state-save-restore.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/gdb/gdbsupport/signals-state-save-restore.c b/gdb/gdbsupport/signals-state-save-restore.c -index c292d498da..af9dcaeb08 100644 ---- a/gdb/gdbsupport/signals-state-save-restore.c -+++ b/gdb/gdbsupport/signals-state-save-restore.c +diff --git a/gdbsupport/signals-state-save-restore.cc b/gdbsupport/signals-state-save-restore.cc +index c292d498daf..af9dcaeb08e 100644 +--- a/gdbsupport/signals-state-save-restore.cc ++++ b/gdbsupport/signals-state-save-restore.cc @@ -38,7 +38,7 @@ save_original_signals_state (bool quiet) int i; int res; @@ -44,3 +44,6 @@ index c292d498da..af9dcaeb08 100644 if (res == -1) perror_with_name (("sigprocmask")); +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch b/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch index eedd94c4d4..0a596b522f 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch @@ -1,7 +1,7 @@ -From 3d6700d38153a0ec8e0800de703a5089a8cd3d2d Mon Sep 17 00:00:00 2001 +From 63df98fa78c8a6e12b40ebdc5c155838d2bf8b5f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 29 Nov 2018 18:00:23 -0800 -Subject: [PATCH] gdbserver ctrl-c handling +Subject: [PATCH 11/11] gdbserver ctrl-c handling This problem was created by the upstream commit 78708b7c8c After applying the commit, it will send SIGINT to the process @@ -19,21 +19,22 @@ Author: Josh Gao Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - gdb/gdbserver/linux-low.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) + gdbserver/linux-low.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c -index 4255795ea6..762f8bafb6 100644 ---- a/gdb/gdbserver/linux-low.c -+++ b/gdb/gdbserver/linux-low.c -@@ -5904,9 +5904,7 @@ linux_look_up_symbols (void) - static void - linux_request_interrupt (void) +diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc +index e45493339d2..aabc099b456 100644 +--- a/gdbserver/linux-low.cc ++++ b/gdbserver/linux-low.cc +@@ -5714,7 +5714,7 @@ linux_process_target::request_interrupt () { -- /* Send a SIGINT to the process group. This acts just like the user -- typed a ^C on the controlling terminal. */ -- kill (-signal_pid, SIGINT); -+ kill (signal_pid, SIGINT); + /* Send a SIGINT to the process group. This acts just like the user + typed a ^C on the controlling terminal. */ +- ::kill (-signal_pid, SIGINT); ++ ::kill (signal_pid, SIGINT); } - /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET + bool +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb_9.2.bb b/poky/meta/recipes-devtools/gdb/gdb_10.1.bb index d70757a151..d70757a151 100644 --- a/poky/meta/recipes-devtools/gdb/gdb_9.2.bb +++ b/poky/meta/recipes-devtools/gdb/gdb_10.1.bb diff --git a/poky/meta/recipes-devtools/git/git_2.28.0.bb b/poky/meta/recipes-devtools/git/git_2.29.2.bb index e90787d060..6433a2e2b7 100644 --- a/poky/meta/recipes-devtools/git/git_2.28.0.bb +++ b/poky/meta/recipes-devtools/git/git_2.29.2.bb @@ -5,5 +5,5 @@ EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ " EXTRA_OEMAKE += "NO_GETTEXT=1" -SRC_URI[tarball.sha256sum] = "f914c60a874d466c1e18467c864a910dd4ea22281ba6d4d58077cb0c3f115170" -SRC_URI[manpages.sha256sum] = "3cfca28a88d5b8112ea42322b797a500a14d0acddea391aed0462aff1ab11bf7" +SRC_URI[tarball.sha256sum] = "869a121e1d75e4c28213df03d204156a17f02fce2dc77be9795b327830f54195" +SRC_URI[manpages.sha256sum] = "68b258e6d590cb78e02c0df741bbaeab94cbbac6d25de9da4fb3882ee098307b" diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb index ae03a99a61..980ed63415 100644 --- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb @@ -8,8 +8,8 @@ DEPENDS_class-native = "hostperl-runtime-native" INHIBIT_DEFAULT_DEPS = "1" -SRCREV = "0b5188819ba6091770064adf26360b204113317e" -PV = "20200831+git${SRCPV}" +SRCREV = "664b772118739dac69ef8c39abea7e02973ff316" +PV = "20201018+git${SRCPV}" SRC_URI = "git://git.savannah.gnu.org/config.git \ file://gnu-configize.in" diff --git a/poky/meta/recipes-devtools/go/go-1.15.inc b/poky/meta/recipes-devtools/go/go-1.15.inc index 97d748b922..ccfb0c5987 100644 --- a/poky/meta/recipes-devtools/go/go-1.15.inc +++ b/poky/meta/recipes-devtools/go/go-1.15.inc @@ -1,8 +1,7 @@ require go-common.inc GO_BASEVERSION = "1.15" -GO_MINOR = ".2" -PV .= "${GO_MINOR}" +PV = "1.15.5" FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" @@ -16,5 +15,6 @@ SRC_URI += "\ file://0006-cmd-dist-separate-host-and-target-builds.patch \ file://0007-cmd-go-make-GOROOT-precious-by-default.patch \ file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ + file://0009-cmd-go-permit-CGO_LDFLAGS-to-appear-in-go-ldflag.patch \ " -SRC_URI[main.sha256sum] = "28bf9d0bcde251011caae230a4a05d917b172ea203f2a62f2c2f9533589d4b4d" +SRC_URI[main.sha256sum] = "c1076b90cf94b73ebed62a81d802cd84d43d02dea8c07abdc922c57a071c84f1" diff --git a/poky/meta/recipes-devtools/go/go-1.15/0009-cmd-go-permit-CGO_LDFLAGS-to-appear-in-go-ldflag.patch b/poky/meta/recipes-devtools/go/go-1.15/0009-cmd-go-permit-CGO_LDFLAGS-to-appear-in-go-ldflag.patch new file mode 100644 index 0000000000..b57041f1db --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-1.15/0009-cmd-go-permit-CGO_LDFLAGS-to-appear-in-go-ldflag.patch @@ -0,0 +1,100 @@ +From 4759221d46b1666de96b8047cec3160bfe4d3d5d Mon Sep 17 00:00:00 2001 +From: Ian Lance Taylor <iant@golang.org> +Date: Fri, 13 Nov 2020 11:05:37 -0800 +Subject: [PATCH] cmd/go: permit CGO_LDFLAGS to appear in //go:ldflag + +Fixes #42565 + +Upstream-Status: Backport [https://github.com/golang/go/commit/782cf560db4c919790fdb476d1bbe18e5ddf5ffd] +Change-Id: If7cf39905d124dbd54dfac6a53ee38270498efed +Reviewed-on: https://go-review.googlesource.com/c/go/+/269818 +Trust: Ian Lance Taylor <iant@golang.org> +Run-TryBot: Ian Lance Taylor <iant@golang.org> +TryBot-Result: Go Bot <gobot@golang.org> +Reviewed-by: Jay Conrod <jayconrod@google.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/cmd/go/internal/work/exec.go | 15 +++++++++ + src/cmd/go/testdata/script/ldflag.txt | 44 +++++++++++++++++++++++++++ + 2 files changed, 59 insertions(+) + create mode 100644 src/cmd/go/testdata/script/ldflag.txt + +diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go +index 575a2df..9209e3d 100644 +--- a/src/cmd/go/internal/work/exec.go ++++ b/src/cmd/go/internal/work/exec.go +@@ -2821,6 +2821,21 @@ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgo + idx = bytes.Index(src, []byte(cgoLdflag)) + } + } ++ ++ // We expect to find the contents of cgoLDFLAGS in flags. ++ if len(cgoLDFLAGS) > 0 { ++ outer: ++ for i := range flags { ++ for j, f := range cgoLDFLAGS { ++ if f != flags[i+j] { ++ continue outer ++ } ++ } ++ flags = append(flags[:i], flags[i+len(cgoLDFLAGS):]...) ++ break ++ } ++ } ++ + if err := checkLinkerFlags("LDFLAGS", "go:cgo_ldflag", flags); err != nil { + return nil, nil, err + } +diff --git a/src/cmd/go/testdata/script/ldflag.txt b/src/cmd/go/testdata/script/ldflag.txt +new file mode 100644 +index 0000000..6ceb33b +--- /dev/null ++++ b/src/cmd/go/testdata/script/ldflag.txt +@@ -0,0 +1,44 @@ ++# Issue #42565 ++ ++[!cgo] skip ++ ++# We can't build package bad, which uses #cgo LDFLAGS. ++cd bad ++! go build ++stderr no-such-warning ++ ++# We can build package ok with the same flags in CGO_LDFLAGS. ++env CGO_LDFLAGS=-Wno-such-warning -Wno-unknown-warning-option ++cd ../ok ++go build ++ ++# Build a main program that actually uses LDFLAGS. ++cd .. ++go build -ldflags=-v ++ ++# Because we passed -v the Go linker should print the external linker ++# command which should include the flag we passed in CGO_LDFLAGS. ++stderr no-such-warning ++ ++-- go.mod -- ++module ldflag ++ ++-- bad/bad.go -- ++package bad ++ ++// #cgo LDFLAGS: -Wno-such-warning -Wno-unknown-warning ++import "C" ++ ++func F() {} ++-- ok/ok.go -- ++package ok ++ ++import "C" ++ ++func F() {} ++-- main.go -- ++package main ++ ++import _ "ldflag/ok" ++ ++func main() {} +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.15.2.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.15.5.bb index ccd2d5ebad..1fb11b0435 100644 --- a/poky/meta/recipes-devtools/go/go-binary-native_1.15.2.bb +++ b/poky/meta/recipes-devtools/go/go-binary-native_1.15.5.bb @@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" PROVIDES = "go-native" SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" -SRC_URI[go_linux_amd64.sha256sum] = "b49fda1ca29a1946d6bb2a5a6982cf07ccd2aba849289508ee0f9918f6bb4552" -SRC_URI[go_linux_arm64.sha256sum] = "c8ec460cc82d61604b048f9439c06bd591722efce5cd48f49e19b5f6226bd36d" +SRC_URI[go_linux_amd64.sha256sum] = "9a58494e8da722c3aef248c9227b0e9c528c7318309827780f16220998180a0d" +SRC_URI[go_linux_arm64.sha256sum] = "a72a0b036beb4193a0214bca3fca4c5d68a38a4ccf098c909f7ce8bf08567c48" UPSTREAM_CHECK_URI = "https://golang.org/dl/" UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.15.bb b/poky/meta/recipes-devtools/go/go-runtime_1.15.bb index 4eeee65e0c..d6ddb31ed4 100644 --- a/poky/meta/recipes-devtools/go/go-runtime_1.15.bb +++ b/poky/meta/recipes-devtools/go/go-runtime_1.15.bb @@ -1,3 +1,4 @@ export CGO_ENABLED_riscv64 = "" require go-${PV}.inc require go-runtime.inc + diff --git a/poky/meta/recipes-devtools/go/go_1.15.bb b/poky/meta/recipes-devtools/go/go_1.15.bb index 4bf9dd50b2..d4812c0f0a 100644 --- a/poky/meta/recipes-devtools/go/go_1.15.bb +++ b/poky/meta/recipes-devtools/go/go_1.15.bb @@ -6,6 +6,8 @@ inherit linuxloader export GOBUILDMODE="" export CGO_ENABLED_riscv64 = "" export GO_LDSO = "${@get_linuxloader(d)}" +export CC_FOR_TARGET = "gcc" +export CXX_FOR_TARGET = "g++" # mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv and its # variants. @@ -13,3 +15,4 @@ python() { if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv' in d.getVar('TARGET_ARCH',True): d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel") } + diff --git a/poky/meta/recipes-devtools/help2man/help2man_1.47.15.bb b/poky/meta/recipes-devtools/help2man/help2man_1.47.16.bb index 6ab9f6cbe7..27a15eb0e2 100644 --- a/poky/meta/recipes-devtools/help2man/help2man_1.47.15.bb +++ b/poky/meta/recipes-devtools/help2man/help2man_1.47.16.bb @@ -4,7 +4,7 @@ LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "c25a35b30eceb315361484b0ff1f81c924e8ee5c8881576f1ee762f001dbcd1c" +SRC_URI[sha256sum] = "3ef8580c5b86e32ca092ce8de43df204f5e6f714b0cd32bc6237e6cd0f34a8f4" inherit autotools diff --git a/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb b/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.2.bb index c5761170aa..7a53151d0e 100644 --- a/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb +++ b/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.2.bb @@ -7,8 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" SRC_URI = "${KERNELORG_MIRROR}/software/utils/i2c-tools/${BP}.tar.gz \ " -SRC_URI[md5sum] = "3536237a6b51fb10caacdc3b8a496237" -SRC_URI[sha256sum] = "ef8f77afc70e7dbfd1171bfeae87a8a7f10074829370ce8d9ccd585a014e0073" +SRC_URI[sha256sum] = "7de18ed890e111fa54ab7ea896804d5faa4d1f0462a258aad9fbb7a8cc6b60cc" inherit update-alternatives diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.55.0.bb index 37991e6d80..07b3df40d3 100644 --- a/poky/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb +++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.55.0.bb @@ -1,5 +1,5 @@ SUMMARY = "Library providing simplified C and Python API to libsolv" -LICENSE = "LGPLv2.1" +LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \ @@ -11,7 +11,7 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \ file://enable_test_data_dir_set.patch \ " -SRCREV = "46a28d0cf09277fffc11392e5e362a2eda0d53a8" +SRCREV = "3f8981c9c5066e5243b695c904031b90f8d57d4a" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch index 138ff9de76..4705890157 100644 --- a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch +++ b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch @@ -1,4 +1,4 @@ -From fa6ebd96c7f330edcd74abf61584592eabb9e726 Mon Sep 17 00:00:00 2001 +From c61a3df892ba88d9f3f84c1844481457a04b051f Mon Sep 17 00:00:00 2001 From: Ed Bartosh <ed.bartosh@linux.intel.com> Date: Tue, 13 Jun 2017 14:55:52 +0300 Subject: [PATCH] Disabled reading host configs. @@ -12,10 +12,10 @@ Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> 1 file changed, 8 deletions(-) diff --git a/config.c b/config.c -index 265d494..15e64dd 100644 +index 46af755..5ed9114 100644 --- a/config.c +++ b/config.c -@@ -740,14 +740,6 @@ void read_config(void) +@@ -737,14 +737,6 @@ void read_config(void) memcpy(devices, const_devices, nr_const_devices*sizeof(struct device)); diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.25.bb index f11cdad37a..bca33a28ee 100644 --- a/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb +++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.25.bb @@ -24,8 +24,7 @@ RRECOMMENDS_${PN}_libc-glibc = "\ glibc-gconv-ibm866 \ glibc-gconv-ibm869 \ " -SRC_URI[md5sum] = "aeaf34406e9d28922b7c09a35ca5955e" -SRC_URI[sha256sum] = "24f4a2da9219f98498eb1b340cd96db7ef9b684c067d1bdeb6e85efdd13b2fb9" +SRC_URI[sha256sum] = "fd161eec3bb7a93d13936db67725ad3e17f2d5f4e6fa8f7667fbc7ac728e2c15" SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \ file://mtools-makeinfo.patch \ diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.10.1.bb b/poky/meta/recipes-devtools/ninja/ninja_1.10.1.bb index eefac4166a..ecb0566f37 100644 --- a/poky/meta/recipes-devtools/ninja/ninja_1.10.1.bb +++ b/poky/meta/recipes-devtools/ninja/ninja_1.10.1.bb @@ -1,5 +1,5 @@ SUMMARY = "Ninja is a small build system with a focus on speed." -HOMEPAGE = "http://martine.github.com/ninja/" +HOMEPAGE = "https://ninja-build.org/" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-correctly-match-priority.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-correctly-match-priority.patch new file mode 100644 index 0000000000..556d4ce5f5 --- /dev/null +++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-correctly-match-priority.patch @@ -0,0 +1,28 @@ +From 26206005dacd61380663bb4fd9b18178bb33665b Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sat, 24 Oct 2020 21:59:27 +0200 +Subject: [PATCH] update-alternatives: correctly match priority + +It should always be at the end of string, otherwise something +like "/usr/bin/python3.9-config 123" will erroneously match +against priority 9. + +Upstream-Status: Submitted +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + update-alternatives | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/update-alternatives b/update-alternatives +index 1389b3f..e0b31bf 100644 +--- a/update-alternatives ++++ b/update-alternatives +@@ -94,7 +94,7 @@ add_alt() { + local path="$2" + local priority="$3" + remove_alt $name $path +- if grep -qw "$priority" $ad/$name; then ++ if grep -qw "$priority"$ $ad/$name; then + echo "Warn: update-alternatives: $name has multiple providers with the same priority, please check $ad/$name for details" + fi + echo "$path $priority" >> $ad/$name diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb index f9df58a295..ce299d6b63 100644 --- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb +++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb @@ -7,8 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://opkg.py;beginline=2;endline=18;md5=ffa11ff3c15eb31c6a7ceaa00cc9f986" PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}" -SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \ -" +SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \ + file://0001-update-alternatives-correctly-match-priority.patch \ + " UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/" SRC_URI[md5sum] = "7bbadb3c381f3ea935b21d3bb8cc4671" diff --git a/poky/meta/recipes-devtools/orc/orc_0.4.31.bb b/poky/meta/recipes-devtools/orc/orc_0.4.32.bb index cd4dc31d70..a55b43b8ef 100644 --- a/poky/meta/recipes-devtools/orc/orc_0.4.31.bb +++ b/poky/meta/recipes-devtools/orc/orc_0.4.32.bb @@ -4,8 +4,7 @@ LICENSE = "BSD-2-Clause & BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=1400bd9d09e8af56b9ec982b3d85797e" SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz" -SRC_URI[md5sum] = "b6b95a47eff713e91873e2c2b1a5b3ad" -SRC_URI[sha256sum] = "a0ab5f10a6a9ae7c3a6b4218246564c3bf00d657cbdf587e6d34ec3ef0616075" +SRC_URI[sha256sum] = "a66e3d8f2b7e65178d786a01ef61f2a0a0b4d0b8370de7ce134ba73da4af18f0" inherit meson pkgconfig gtk-doc diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-core-Define-RISCV-32-support.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-core-Define-RISCV-32-support.patch new file mode 100644 index 0000000000..b60ca1d216 --- /dev/null +++ b/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-core-Define-RISCV-32-support.patch @@ -0,0 +1,56 @@ +From dbcf296f84e5cef6a3ff0f1c469a4508f1e0fb15 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 15 Nov 2020 15:32:39 -0800 +Subject: [PATCH] numpy/core: Define RISCV-32 support + +Helps compile on riscv32 + +Upstream-Status: Submitted [https://github.com/numpy/numpy/pull/17780] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + numpy/core/include/numpy/npy_cpu.h | 9 +++++++-- + numpy/core/include/numpy/npy_endian.h | 1 + + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h +index 4dbf9d84e..bc41a7eda 100644 +--- a/numpy/core/include/numpy/npy_cpu.h ++++ b/numpy/core/include/numpy/npy_cpu.h +@@ -18,6 +18,7 @@ + * NPY_CPU_ARCEL + * NPY_CPU_ARCEB + * NPY_CPU_RISCV64 ++ * NPY_CPU_RISCV32 + * NPY_CPU_WASM + */ + #ifndef _NPY_CPUARCH_H_ +@@ -100,8 +101,12 @@ + #define NPY_CPU_ARCEL + #elif defined(__arc__) && defined(__BIG_ENDIAN__) + #define NPY_CPU_ARCEB +-#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64 +- #define NPY_CPU_RISCV64 ++#elif defined(__riscv) ++ #if __riscv_xlen == 64 ++ #define NPY_CPU_RISCV64 ++ #elif __riscv_xlen == 32 ++ #define NPY_CPU_RISCV32 ++ #endif + #elif defined(__EMSCRIPTEN__) + /* __EMSCRIPTEN__ is defined by emscripten: an LLVM-to-Web compiler */ + #define NPY_CPU_WASM +diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h +index aa367a002..d59484573 100644 +--- a/numpy/core/include/numpy/npy_endian.h ++++ b/numpy/core/include/numpy/npy_endian.h +@@ -49,6 +49,7 @@ + || defined(NPY_CPU_PPC64LE) \ + || defined(NPY_CPU_ARCEL) \ + || defined(NPY_CPU_RISCV64) \ ++ || defined(NPY_CPU_RISCV32) \ + || defined(NPY_CPU_WASM) + #define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN + #elif defined(NPY_CPU_PPC) \ +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/python-numpy/files/run-ptest b/poky/meta/recipes-devtools/python-numpy/files/run-ptest new file mode 100644 index 0000000000..9a1c72aeb1 --- /dev/null +++ b/poky/meta/recipes-devtools/python-numpy/files/run-ptest @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 + +import numpy +numpy.test(label='full', verbose=2) + diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.1.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.1.bb deleted file mode 100644 index d388e88d25..0000000000 --- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.1.bb +++ /dev/null @@ -1,3 +0,0 @@ -inherit setuptools3 -require python-numpy.inc - diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.4.bb index 0113f4098d..2bfc913aa0 100644 --- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc +++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.4.bb @@ -1,20 +1,24 @@ SUMMARY = "A sophisticated Numeric Processing Package for Python" SECTION = "devel/python" LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=643d4e90100b7abe468c4db88127b895" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e527e2a94c4584cd192d03ffb1f4a744" SRCNAME = "numpy" SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ - " -SRC_URI[sha256sum] = "1396e6c3d20cbfc119195303b0272e749610b7042cc498be4134f013e9a3215c" + file://0001-numpy-core-Define-RISCV-32-support.patch \ + file://run-ptest \ +" +SRC_URI[sha256sum] = "fe836a685d6838dbb3f603caef01183ea98e88febf4ce956a2ea484a75378413" UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" DEPENDS += "python3-cython-native" +inherit ptest setuptools3 + S = "${WORKDIR}/numpy-${PV}" CLEANBROKEN = "1" @@ -27,7 +31,6 @@ RDEPENDS_${PN} = "${PYTHON_PN}-unittest \ ${PYTHON_PN}-pprint \ ${PYTHON_PN}-pickle \ ${PYTHON_PN}-shell \ - ${PYTHON_PN}-nose \ ${PYTHON_PN}-doctest \ ${PYTHON_PN}-datetime \ ${PYTHON_PN}-distutils \ @@ -43,6 +46,12 @@ RDEPENDS_${PN} = "${PYTHON_PN}-unittest \ ${PYTHON_PN}-threading \ ${PYTHON_PN}-multiprocessing \ " +RDEPENDS_${PN}-ptest += "${PYTHON_PN}-pytest \ + ${PYTHON_PN}-hypothesis \ + ${PYTHON_PN}-sortedcontainers \ + ${PYTHON_PN}-resource \ + ldd \ +" RDEPENDS_${PN}_class-native = "" diff --git a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch index ee0a9dbb13..99c50e94cb 100644 --- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch +++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch @@ -1,4 +1,4 @@ -From 6a5086619ee1c4bcebc7df622face11de6679255 Mon Sep 17 00:00:00 2001 +From d2633b49275b20e7acf724567fe0189aab25771e Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Tue, 17 Jul 2018 10:13:38 +0800 Subject: [PATCH] conditionally do not fetch code by easy_install @@ -15,11 +15,11 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 1 file changed, 5 insertions(+) diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py -index bcbd4f5..6455afd 100644 +index 9ec83b7..7e97a07 100644 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py -@@ -653,6 +653,11 @@ class easy_install(Command): - os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir)) +@@ -636,6 +636,11 @@ class easy_install(Command): + os.path.exists(tmpdir) and rmtree(tmpdir) def easy_install(self, spec, deps=False): + if os.environ.get('NO_FETCH_BUILD', None): diff --git a/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest b/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest new file mode 100644 index 0000000000..b63c4de0d9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' diff --git a/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb b/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb new file mode 100644 index 0000000000..7edd41030f --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Powerful Python library for atomic file writes" +HOMEPAGE = "https://github.com/untitaker/python-atomicwrites" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=91cc36cfafeefb7863673bcfcb1d4da4" + +SRC_URI[md5sum] = "b5cc15c8f9f180a48665f9aacf91d817" +SRC_URI[sha256sum] = "ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unixadmin \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS_${PN} = "${PYTHON_PN}-misc" diff --git a/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb new file mode 100644 index 0000000000..55cfda7180 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Classes Without Boilerplate" +HOMEPAGE = "http://www.attrs.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff" + +SRC_URI[sha256sum] = "832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700" +SRC_URI[md5sum] = "4fe38f89297b2b446d83190fce189f29" + +inherit pypi setuptools3 + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-crypt \ + ${PYTHON_PN}-ctypes \ +" +RDEPENDS_${PN}_class-nativesdk += " \ + ${PYTHON_PN}-crypt \ + ${PYTHON_PN}-ctypes \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.7.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.11.bb index 6d1fc4b653..7c636572f3 100644 --- a/poky/meta/recipes-devtools/python/python3-git_3.1.7.bb +++ b/poky/meta/recipes-devtools/python/python3-git_3.1.11.bb @@ -12,7 +12,7 @@ PYPI_PACKAGE = "GitPython" inherit pypi setuptools3 -SRC_URI[sha256sum] = "2db287d71a284e22e5c2846042d0602465c7434d910406990d5b74df4afb0858" +SRC_URI[sha256sum] = "befa4d101f91bad1b632df4308ec64555db684c360bd7d2130b4807d49ce86b8" DEPENDS += " ${PYTHON_PN}-gitdb" diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_5.41.4.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_5.41.4.bb new file mode 100644 index 0000000000..416acc8d72 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-hypothesis_5.41.4.bb @@ -0,0 +1,14 @@ +SUMMARY = "A library for property-based testing" +HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c" + +PYPI_PACKAGE = "hypothesis" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "7ef22dd2ae4a906ef1e237dcd6806aa7f97e30c37f924a0e6d595f4639350b53" + +RDEPENDS_${PN} += "python3-core" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.1.0.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.1.0.bb new file mode 100644 index 0000000000..d89621bedd --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.1.0.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Read metadata from Python packages" +HOMEPAGE = "https://pypi.org/project/importlib-metadata/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" + +inherit pypi setuptools3 + +SRC_URI = "https://files.pythonhosted.org/packages/7d/d4/dbc58eed92be61bae65a7d80a7604d35bf6ded3e3c53c14f2d45b4a28831/importlib_metadata-3.1.0.tar.gz" +SRC_URI[sha256sum] = "d9b8a46a0885337627a6430db287176970fff18ad421becec1d64cfc763c2099" + +S = "${WORKDIR}/importlib_metadata-${PV}" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" +RDEPENDS_${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2" +RDEPENDS_${PN}_append_class-target = " python3-misc" +RDEPENDS_${PN}_append_class-nativesdk = " python3-misc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb new file mode 100644 index 0000000000..af4291bbf4 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb @@ -0,0 +1,9 @@ +SUMMARY = "A small and simple INI-file parser module" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9" + +SRC_URI[md5sum] = "0b7f3be87481211c183eae095bcea6f1" +SRC_URI[sha256sum] = "bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32" + +inherit pypi setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest b/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest new file mode 100644 index 0000000000..3385d68939 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_8.6.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_8.6.0.bb new file mode 100644 index 0000000000..ee5ce7ba9c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-more-itertools_8.6.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "More routines for operating on iterables, beyond itertools" +HOMEPAGE = "https://github.com/erikrose/more-itertools" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5" + +SRC_URI[sha256sum] = "b3a9005928e5bed54076e6e549c792b306fddfe72b2d1d22dd63d42d5d3899cf" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-packaging_20.4.bb b/poky/meta/recipes-devtools/python/python3-packaging_20.4.bb new file mode 100644 index 0000000000..c75707e69c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-packaging_20.4.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Core utilities for Python packages" +HOMEPAGE = "https://github.com/pypa/packaging" +LICENSE = "Apache-2.0 & BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91" + +SRC_URI[md5sum] = "3208229da731c5d8e29d4d8941e75005" +SRC_URI[sha256sum] = "4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" +RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-pyparsing" diff --git a/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.5.bb b/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.5.bb new file mode 100644 index 0000000000..a022701ad0 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.5.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "Object-oriented filesystem paths" +HOMEPAGE = "https://github.com/mcmtroffaes/pathlib2" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=042856c23a3e903b33bf361ea1cbe29a" + +SRC_URI[md5sum] = "f2bd0a363eb0f8fa0556f35c1d9e66fb" +SRC_URI[sha256sum] = "6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-ctypes" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest b/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest new file mode 100644 index 0000000000..b63c4de0d9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' diff --git a/poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb b/poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb new file mode 100644 index 0000000000..d3e0365ca1 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "Plugin and hook calling mechanisms for python" +HOMEPAGE = "https://github.com/pytest-dev/pluggy" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2" + +SRC_URI[md5sum] = "7f610e28b8b34487336b585a3dfb803d" +SRC_URI[sha256sum] = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" +RDEPENDS_${PN} += "${PYTHON_PN}-importlib-metadata \ + ${PYTHON_PN}-more-itertools \ +" + +inherit pypi ptest setuptools3 + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/testing + cp -rf ${S}/testing/* ${D}${PTEST_PATH}/testing/ +} diff --git a/poky/meta/recipes-devtools/python/python3-py_1.9.0.bb b/poky/meta/recipes-devtools/python/python3-py_1.9.0.bb new file mode 100644 index 0000000000..794ec2a87e --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-py_1.9.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "Library with cross-python path, ini-parsing, io, code, log facilities" +HOMEPAGE = "http://py.readthedocs.io/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9" + +SRC_URI[md5sum] = "b80db4e61eef724f49feb4d20b649e62" +SRC_URI[sha256sum] = "9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS_${PN} += "${PYTHON_PN}-netclient" diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.19.1.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.20.0.bb index 34c8543bce..8987b7a428 100644 --- a/poky/meta/recipes-devtools/python/python3-pycairo_1.19.1.bb +++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.20.0.bb @@ -13,12 +13,12 @@ DEPENDS = "cairo python3" SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz" UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/" -SRC_URI[md5sum] = "59bc5c5d1debc3af0f6791af9d612551" -SRC_URI[sha256sum] = "2c143183280feb67f5beb4e543fd49990c28e7df427301ede04fc550d3562e84" +SRC_URI[md5sum] = "a1f9b661a0000c2f42281db933284451" +SRC_URI[sha256sum] = "5695a10cb7f9ae0d01f665b56602a845b0a8cb17e2123bfece10c2e58552468c" S = "${WORKDIR}/pycairo-${PV}" -inherit meson pkgconfig +inherit meson pkgconfig python3targetconfig CFLAGS += "-fPIC" diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.8.bb b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.8.bb deleted file mode 100644 index 46e122072e..0000000000 --- a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.8.bb +++ /dev/null @@ -1,5 +0,0 @@ -require python-pycryptodome.inc -inherit setuptools3 - -SRC_URI[sha256sum] = "0e24171cf01021bc5dc17d6a9d4f33a048f09d62cc3f62541e95ef104588bda4" - diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb new file mode 100644 index 0000000000..1e84ce4df7 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb @@ -0,0 +1,5 @@ +require python-pycryptodome.inc +inherit setuptools3 + +SRC_URI[sha256sum] = "910e202a557e1131b1c1b3f17a63914d57aac55cf9fb9b51644962841c3995c4" + diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.8.bb b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.9.bb index 035c7fa636..abff71efdd 100644 --- a/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.8.bb +++ b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.9.bb @@ -1,7 +1,7 @@ require python-pycryptodome.inc inherit setuptools3 -SRC_URI[sha256sum] = "48cc2cfc251f04a6142badeb666d1ff49ca6fdfc303fd72579f62b768aaa52b9" +SRC_URI[sha256sum] = "7b5b7c5896f8172ea0beb283f7f9428e0ab88ec248ce0a5b8c98d73e26267d51" FILES_${PN}-tests = " \ ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \ diff --git a/poky/meta/recipes-devtools/python/python3-pyelftools_0.26.bb b/poky/meta/recipes-devtools/python/python3-pyelftools_0.27.bb index 575dfc4dc9..0cfd99504b 100644 --- a/poky/meta/recipes-devtools/python/python3-pyelftools_0.26.bb +++ b/poky/meta/recipes-devtools/python/python3-pyelftools_0.27.bb @@ -4,8 +4,7 @@ SECTION = "devel/python" LICENSE = "PD" LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc" -SRC_URI[md5sum] = "0ba0de4b47127249c4d632ae299cb0e8" -SRC_URI[sha256sum] = "86ac6cee19f6c945e8dedf78c6ee74f1112bd14da5a658d8c9d4103aed5756a2" +SRC_URI[sha256sum] = "cde854e662774c5457d688ca41615f6594187ba7067af101232df889a6b7a66b" PYPI_PACKAGE = "pyelftools" diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.6.1.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.7.2.bb index bffef59e69..00e5dc6e30 100644 --- a/poky/meta/recipes-devtools/python/python3-pygments_2.6.1.bb +++ b/poky/meta/recipes-devtools/python/python3-pygments_2.7.2.bb @@ -2,11 +2,10 @@ SUMMARY = "Pygments is a syntax highlighting package written in Python." DESCRIPTION = "Pygments is a syntax highlighting package written in Python." HOMEPAGE = "http://pygments.org/" LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e1d7b7bffbfeaa14083fd2bd3236aea8" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1f5d0c4cf38dfc8122c00d6f1a97a0cc" inherit setuptools3 -SRC_URI[md5sum] = "a48c5219de92f12c41acba814730b31a" -SRC_URI[sha256sum] = "647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44" +SRC_URI[sha256sum] = "381985fcc551eb9d37c52088a32914e00517e57f4a21609f48141ba08e193fa0" DEPENDS += "\ ${PYTHON_PN} \ diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.36.1.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb index 0a34d4373f..b4427050f5 100644 --- a/poky/meta/recipes-devtools/python/python3-pygobject_3.36.1.bb +++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb @@ -14,8 +14,7 @@ SRC_URI = " \ http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ file://0001-Do-not-build-tests.patch \ " -SRC_URI[md5sum] = "ebfebc4533856572281add29f08412bf" -SRC_URI[sha256sum] = "d1bf42802d1cec113b5adaa0e7bf7f3745b44521dc2163588d276d5cd61d718f" +SRC_URI[sha256sum] = "0372d1bb9122fc19f500a249b1f38c2bb67485000f5887497b4b205b3e7084d5" UNKNOWN_CONFIGURE_WHITELIST = "introspection" @@ -27,7 +26,7 @@ RDEPENDS_${PN} += "python3-pkgutil" # python3-pycairo is checked on configuration -> DEPENDS # we don't link against python3-pycairo -> RDEPENDS -PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python3-pycairo, python3-pycairo" +PACKAGECONFIG[cairo] = "-Dpycairo=enabled,-Dpycairo=disabled, cairo python3-pycairo, python3-pycairo" BBCLASSEXTEND = "native" PACKAGECONFIG_class-native = "" diff --git a/poky/meta/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/poky/meta/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch new file mode 100644 index 0000000000..8c5c17247e --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch @@ -0,0 +1,39 @@ +From ff784f4803ab33f5e3389e40d038d52d1e211843 Mon Sep 17 00:00:00 2001 +From: Yuan Chao <yuanc.fnst@cn.fujitsu.com> +Date: Wed, 28 Aug 2019 16:12:27 +0900 +Subject: [PATCH] [PATCH] setup.py: remove the setup_requires for + setuptools-scm + +The setup_requires argument forces the download of the egg file for setuptools-scm +during the do_compile phase. This download is incompatible with the typical fetch +and mirror structure. The only usage of scm is the generation of the _version.py +file and in the release tarball it is already correctly created + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Derek Straka <derek@asterius.io> + +Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com> + +Rebase for pytest 6.1.0. + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + setup.cfg | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.cfg b/setup.cfg +index 60f6564..c4d1471 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -55,7 +55,6 @@ package_dir = + =src + setup_requires = + setuptools>=40.0 +- setuptools-scm + zip_safe = no + + [options.entry_points] +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/python/python3-pytest_6.1.2.bb b/poky/meta/recipes-devtools/python/python3-pytest_6.1.2.bb new file mode 100644 index 0000000000..6fc3b6f328 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pytest_6.1.2.bb @@ -0,0 +1,39 @@ +SUMMARY = "Simple powerful testing with python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b" + +SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch " + +SRC_URI[sha256sum] = "c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e" + +inherit update-alternatives pypi setuptools3 + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-atomicwrites \ + ${PYTHON_PN}-attrs \ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-doctest \ + ${PYTHON_PN}-importlib-metadata \ + ${PYTHON_PN}-iniconfig \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-more-itertools \ + ${PYTHON_PN}-packaging \ + ${PYTHON_PN}-pathlib2 \ + ${PYTHON_PN}-pluggy \ + ${PYTHON_PN}-py \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-toml \ + ${PYTHON_PN}-wcwidth \ +" + +ALTERNATIVE_${PN} += "py.test pytest" + +NATIVE_LINK_NAME[pytest] = "${bindir}/pytest" +ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest" + +ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test" +ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-scm_4.1.2.bb b/poky/meta/recipes-devtools/python/python3-setuptools-scm_4.1.2.bb new file mode 100644 index 0000000000..4ebbac6b65 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-setuptools-scm_4.1.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "the blessed package to manage your versions by scm tags" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" + +SRC_URI[md5sum] = "e6c9fad17c90516d640868eb833d5150" +SRC_URI[sha256sum] = "a8994582e716ec690f33fec70cca0f85bd23ec974e3f783233e4879090a7faa8" + +PYPI_PACKAGE = "setuptools_scm" +inherit pypi setuptools3 + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-py \ + ${PYTHON_PN}-setuptools \ +" +RDEPENDS_${PN}_class-native = "\ + ${PYTHON_PN}-setuptools-native \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_49.6.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_50.3.2.bb index 360128b116..4480d56775 100644 --- a/poky/meta/recipes-devtools/python/python3-setuptools_49.6.0.bb +++ b/poky/meta/recipes-devtools/python/python3-setuptools_50.3.2.bb @@ -12,7 +12,7 @@ SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-e SRC_URI += "file://0001-change-shebang-to-python3.patch" -SRC_URI[sha256sum] = "46bd862894ed22c2edff033c758c2dc026324788d758e96788e8f7c11f4e9707" +SRC_URI[sha256sum] = "ed0519d27a243843b05d82a5e9d01b0b083d9934eaa3d02779a23da18077bd3c" DEPENDS += "${PYTHON_PN}" diff --git a/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb b/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb new file mode 100644 index 0000000000..6060c03723 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb @@ -0,0 +1,9 @@ +SUMMARY = "Sorted Containers is an Apache2 licensed sorted collections library, written in pure-Python, and fast as C-extensions." +HOMEPAGE = "http://www.grantjenks.com/docs/sortedcontainers/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7c7c6a1a12ec816da16c1839137d53ae" + +inherit pypi setuptools3 +SRC_URI[sha256sum] = "59cc937650cf60d677c16775597c89a960658a09cf7c1a668f86e1e4464b10a1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-toml_0.10.2.bb b/poky/meta/recipes-devtools/python/python3-toml_0.10.2.bb new file mode 100644 index 0000000000..b46eba6fd1 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-toml_0.10.2.bb @@ -0,0 +1,15 @@ +SUMMARY = "Python Library for Tom's Obvious, Minimal Language" +HOMEPAGE = "https://github.com/uiri/toml" +LICENSE = "MIT" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://LICENSE;md5=16c77b2b1050d2f03cb9c2ed0edaf4f0" + +SRC_URI[sha256sum] = "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-misc \ +" diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest b/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest new file mode 100644 index 0000000000..b63c4de0d9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb new file mode 100644 index 0000000000..bb4aae2e86 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb @@ -0,0 +1,25 @@ +SUMMARY = "Library for building powerful interactive command lines in Python" +DESCRIPTION = "Measures the displayed width of unicode strings in a terminal" +HOMEPAGE = "https://github.com/jquast/wcwidth" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b15979c39a2543892fca8cd86b4b52cb" + +SRC_URI[md5sum] = "a07a75f99d316e14838ac760c831ea37" +SRC_URI[sha256sum] = "c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb b/poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb new file mode 100644 index 0000000000..97523e8e7c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files" +HOMEPAGE = "https://github.com/jaraco/zipp" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6" + +SRC_URI[md5sum] = "ae81f228995578b840d76d1b7d87fede" +SRC_URI[sha256sum] = "ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-toml-native" + +RDEPENDS_${PN} += "${PYTHON_PN}-compression \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-more-itertools" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch b/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch deleted file mode 100644 index 112c979441..0000000000 --- a/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch +++ /dev/null @@ -1,214 +0,0 @@ -From a078b6ff1492e848ad1055764fb9a414abaf3e12 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 5 Feb 2019 15:52:02 +0100 -Subject: [PATCH] Do not hardcode "lib" as location for modules, site-packages - and lib-dynload - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - Include/pythonrun.h | 2 ++ - Lib/site.py | 4 ++-- - Makefile.pre.in | 5 +++-- - Modules/getpath.c | 22 ++++++++++++++-------- - Python/getplatform.c | 10 ++++++++++ - Python/sysmodule.c | 2 ++ - 6 files changed, 33 insertions(+), 12 deletions(-) - -diff --git a/Include/pythonrun.h b/Include/pythonrun.h -index 46091e0..61b2e15 100644 ---- a/Include/pythonrun.h -+++ b/Include/pythonrun.h -@@ -7,6 +7,8 @@ - extern "C" { - #endif - -+PyAPI_FUNC(const char *) Py_GetLib(void); -+ - #ifndef Py_LIMITED_API - PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *); - PyAPI_FUNC(int) PyRun_AnyFileExFlags( -diff --git a/Lib/site.py b/Lib/site.py -index a065ab0..1d720ef 100644 ---- a/Lib/site.py -+++ b/Lib/site.py -@@ -335,12 +335,12 @@ def getsitepackages(prefixes=None): - seen.add(prefix) - - if os.sep == '/': -- sitepackages.append(os.path.join(prefix, "lib", -+ sitepackages.append(os.path.join(prefix, sys.lib, - "python%d.%d" % sys.version_info[:2], - "site-packages")) - else: - sitepackages.append(prefix) -- sitepackages.append(os.path.join(prefix, "lib", "site-packages")) -+ sitepackages.append(os.path.join(prefix, sys.lib, "site-packages")) - return sitepackages - - def addsitepackages(known_paths, prefixes=None): -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 65665df..be49140 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -143,7 +143,7 @@ LIBDIR= @libdir@ - MANDIR= @mandir@ - INCLUDEDIR= @includedir@ - CONFINCLUDEDIR= $(exec_prefix)/include --SCRIPTDIR= $(prefix)/lib -+SCRIPTDIR= @libdir@ - ABIFLAGS= @ABIFLAGS@ - - # Detailed destination directories -@@ -753,6 +753,7 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile - -DEXEC_PREFIX='"$(exec_prefix)"' \ - -DVERSION='"$(VERSION)"' \ - -DVPATH='"$(VPATH)"' \ -+ -DLIB='"$(LIB)"' \ - -o $@ $(srcdir)/Modules/getpath.c - - Programs/python.o: $(srcdir)/Programs/python.c -@@ -868,7 +869,7 @@ regen-symbol: $(srcdir)/Include/graminit.h - Python/compile.o Python/symtable.o Python/ast_unparse.o Python/ast.o Python/future.o Parser/parsetok.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h - - Python/getplatform.o: $(srcdir)/Python/getplatform.c -- $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c -+ $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c - - Python/importdl.o: $(srcdir)/Python/importdl.c - $(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c -diff --git a/Modules/getpath.c b/Modules/getpath.c -index b727f66..c003e46 100644 ---- a/Modules/getpath.c -+++ b/Modules/getpath.c -@@ -128,6 +128,7 @@ typedef struct { - wchar_t *exec_prefix; /* EXEC_PREFIX macro */ - - wchar_t *lib_python; /* "lib/pythonX.Y" */ -+ wchar_t *multilib_python; /* "lib[suffix]/pythonX.Y" */ - - int prefix_found; /* found platform independent libraries? */ - int exec_prefix_found; /* found the platform dependent libraries? */ -@@ -386,7 +387,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - if (delim) { - *delim = L'\0'; - } -- status = joinpath(prefix, calculate->lib_python, prefix_len); -+ status = joinpath(prefix, calculate->multilib_python, prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -444,7 +445,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - do { - /* Path: <argv0_path or substring> / <lib_python> / LANDMARK */ - size_t n = wcslen(prefix); -- status = joinpath(prefix, calculate->lib_python, prefix_len); -+ status = joinpath(prefix, calculate->multilib_python, prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -467,7 +468,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) { - return PATHLEN_ERR(); - } -- status = joinpath(prefix, calculate->lib_python, prefix_len); -+ status = joinpath(prefix, calculate->multilib_python, prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -510,7 +511,7 @@ calculate_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) { - return PATHLEN_ERR(); - } -- status = joinpath(prefix, calculate->lib_python, prefix_len); -+ status = joinpath(prefix, calculate->multilib_python, prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -635,7 +636,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - return PATHLEN_ERR(); - } - } -- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len); -+ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -667,7 +668,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - do { - /* Path: <argv0_path or substring> / <lib_python> / "lib-dynload" */ - size_t n = wcslen(exec_prefix); -- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len); -+ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -689,7 +690,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - if (safe_wcscpy(exec_prefix, calculate->exec_prefix, exec_prefix_len) < 0) { - return PATHLEN_ERR(); - } -- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len); -+ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -928,7 +929,7 @@ calculate_argv0_path(PyCalculatePath *calculate, const wchar_t *program_full_pat - return PATHLEN_ERR(); - } - reduce(argv0_path); -- status = joinpath(argv0_path, calculate->lib_python, argv0_path_len); -+ status = joinpath(argv0_path, calculate->multilib_python, argv0_path_len); - if (_PyStatus_EXCEPTION(status)) { - PyMem_RawFree(wbuf); - return status; -@@ -1201,6 +1202,10 @@ calculate_init(PyCalculatePath *calculate, const PyConfig *config) - if (!calculate->lib_python) { - return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); - } -+ calculate->multilib_python = Py_DecodeLocale(LIB "/python" VERSION, &len); -+ if (!calculate->multilib_python) { -+ return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); -+ } - - calculate->warnings = config->pathconfig_warnings; - calculate->pythonpath_env = config->pythonpath_env; -@@ -1216,6 +1221,7 @@ calculate_free(PyCalculatePath *calculate) - PyMem_RawFree(calculate->prefix); - PyMem_RawFree(calculate->exec_prefix); - PyMem_RawFree(calculate->lib_python); -+ PyMem_RawFree(calculate->multilib_python); - PyMem_RawFree(calculate->path_env); - } - -diff --git a/Python/getplatform.c b/Python/getplatform.c -index 81a0f7a..d55396b 100644 ---- a/Python/getplatform.c -+++ b/Python/getplatform.c -@@ -10,3 +10,13 @@ Py_GetPlatform(void) - { - return PLATFORM; - } -+ -+#ifndef LIB -+#define LIB "lib" -+#endif -+ -+const char * -+Py_GetLib(void) -+{ -+ return LIB; -+} -diff --git a/Python/sysmodule.c b/Python/sysmodule.c -index 5b0fb81..0dce754 100644 ---- a/Python/sysmodule.c -+++ b/Python/sysmodule.c -@@ -2668,6 +2668,8 @@ _PySys_InitCore(_PyRuntimeState *runtime, PyInterpreterState *interp, - PyUnicode_FromString(Py_GetCopyright())); - SET_SYS_FROM_STRING("platform", - PyUnicode_FromString(Py_GetPlatform())); -+ SET_SYS_FROM_STRING("lib", -+ PyUnicode_FromString(Py_GetLib())); - SET_SYS_FROM_STRING("maxsize", - PyLong_FromSsize_t(PY_SSIZE_T_MAX)); - SET_SYS_FROM_STRING("float_info", diff --git a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch index 3e471b9a49..a94fa0a5a9 100644 --- a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch +++ b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch @@ -1,4 +1,4 @@ -From b880e78bf4a1852e260188e6df3ec6034403d2fc Mon Sep 17 00:00:00 2001 +From 9da913bf5f39c6fe737219af7419170574d6fbfb Mon Sep 17 00:00:00 2001 From: Jeremy Puhlman <jpuhlman@mvista.com> Date: Wed, 4 Mar 2020 00:06:42 +0000 Subject: [PATCH] Don't search system for headers/libraries @@ -11,7 +11,7 @@ Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py -index 7208cd0..c0bd0ad 100644 +index a0bf9ea..da099bf 100644 --- a/setup.py +++ b/setup.py @@ -674,8 +674,8 @@ class PyBuildExt(build_ext): diff --git a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch index b97583682a..1490cdbb18 100644 --- a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch +++ b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch @@ -1,27 +1,28 @@ -From a21f4f8fa5e5c0601898740b4ac08ec84f41e190 Mon Sep 17 00:00:00 2001 +From deeedd1b8799294ab276ab7dbbfdb59c1dacc9a2 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 18 Apr 2019 17:11:06 +0200 -Subject: [PATCH] Lib/sysconfig.py: fix another place where 'lib' is hardcoded - as the library path +Date: Thu, 22 Oct 2020 13:10:34 +0200 +Subject: [PATCH] Lib/sysconfig.py: use libdir values from configuration file + +This allows correctly substituting them for target installs using +native python. -Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- Lib/sysconfig.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index d15cec8..87fa5e6 100644 +index bf04ac5..ed0462b 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py @@ -20,10 +20,10 @@ __all__ = [ _INSTALL_SCHEMES = { 'posix_prefix': { -- 'stdlib': '{installed_base}/lib/python{py_version_short}', -- 'platstdlib': '{platbase}/lib/python{py_version_short}', +- 'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}', +- 'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}', - 'purelib': '{base}/lib/python{py_version_short}/site-packages', -- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', +- 'platlib': '{platbase}/{platlibdir}/python{py_version_short}/site-packages', + 'stdlib': '{LIBDEST}', + 'platstdlib': '{LIBDEST}', + 'purelib': '{LIBDEST}/site-packages', @@ -29,3 +30,6 @@ index d15cec8..87fa5e6 100644 'include': '{installed_base}/include/python{py_version_short}{abiflags}', 'platinclude': +-- +2.24.0 + diff --git a/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch b/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch index 957839bf3e..793385de91 100644 --- a/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch +++ b/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch @@ -1,19 +1,20 @@ -From 6c8ea7c1dacd42f3ba00440231ec0e6b1a38300d Mon Sep 17 00:00:00 2001 +From 9f63e83b1cec872917647b11155edaffe399d103 Mon Sep 17 00:00:00 2001 From: Inada Naoki <songofacandy@gmail.com> Date: Sat, 14 Jul 2018 00:46:11 +0900 Subject: [PATCH] Use FLAG_REF always for interned strings Upstream-Status: Submitted [https://github.com/python/cpython/pull/8226] Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> + --- Python/marshal.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Python/marshal.c b/Python/marshal.c -index 6d06266c6a..51db2e3b2e 100644 +index c4538bd..2437160 100644 --- a/Python/marshal.c +++ b/Python/marshal.c -@@ -275,9 +275,14 @@ w_ref(PyObject *v, char *flag, WFILE *p) +@@ -298,9 +298,14 @@ w_ref(PyObject *v, char *flag, WFILE *p) if (p->version < 3 || p->hashtable == NULL) return 0; /* not writing object references */ @@ -28,8 +29,5 @@ index 6d06266c6a..51db2e3b2e 100644 return 0; + } - entry = _Py_HASHTABLE_GET_ENTRY(p->hashtable, v); + entry = _Py_hashtable_get_entry(p->hashtable, v); if (entry != NULL) { --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch b/poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch deleted file mode 100644 index 123ce3a2dc..0000000000 --- a/poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch +++ /dev/null @@ -1,35 +0,0 @@ -From acce3d441e7eadadd2d3ce38654155dc43f1f607 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Fri, 7 Feb 2020 09:36:25 +0800 -Subject: [PATCH] configure.ac: fix LIBPL - -Use LIBDIR rather than prefix/lib, so that it would work when lib64. - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> -Signed-off-by: Li Zhou <li.zhou@windriver.c> -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ce04258..915f475 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4532,9 +4532,9 @@ fi - dnl define LIBPL after ABIFLAGS and LDVERSION is defined. - AC_SUBST(PY_ENABLE_SHARED) - if test x$PLATFORM_TRIPLET = x; then -- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" -+ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}" - else -- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" -+ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" - fi - AC_SUBST(LIBPL) - --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch index 2b68c0acc2..b982691b36 100644 --- a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch +++ b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch @@ -1,4 +1,4 @@ -From bc59d49efff41051034d7fbf5d0c8505e4c3134b Mon Sep 17 00:00:00 2001 +From e65bfe22c858872b08366aff49119d4145a77f40 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 31 Jan 2019 16:46:30 +0100 Subject: [PATCH] distutils/sysconfig: append diff --git a/poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch b/poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch deleted file mode 100644 index fe031b9983..0000000000 --- a/poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch +++ /dev/null @@ -1,43 +0,0 @@ -From bb711b53f10d32a90a27ccf4b0dc51e4a701d862 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Fri, 7 Feb 2020 09:42:09 +0800 -Subject: [PATCH] python3: Do not hardcode "lib" for distutils - -Get the sys.lib from python3 itself and do not use -hardcoded value of 'lib' for distutils. - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Li Zhou <li.zhou@windriver.com> -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - Lib/distutils/command/install.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py -index c625c95..8e32f54 100644 ---- a/Lib/distutils/command/install.py -+++ b/Lib/distutils/command/install.py -@@ -19,6 +19,8 @@ from site import USER_BASE - from site import USER_SITE - HAS_USER_SITE = True - -+libname = sys.lib -+ - WINDOWS_SCHEME = { - 'purelib': '$base/Lib/site-packages', - 'platlib': '$base/Lib/site-packages', -@@ -29,8 +31,8 @@ WINDOWS_SCHEME = { - - INSTALL_SCHEMES = { - 'unix_prefix': { -- 'purelib': '$base/lib/python$py_version_short/site-packages', -- 'platlib': '$platbase/lib/python$py_version_short/site-packages', -+ 'purelib': '$base/' + libname + '/python$py_version_short/site-packages', -+ 'platlib': '$platbase/' + libname + '/python$py_version_short/site-packages', - 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', - 'scripts': '$base/bin', - 'data' : '$base', --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch index fb10ca94b3..bfddc1ad52 100644 --- a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch +++ b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch @@ -1,4 +1,4 @@ -From 994783da5c21cab81b6589ed2d4275e665a946f9 Mon Sep 17 00:00:00 2001 +From 5f9eea2c4f8716830f6c8855a3e10872119fae32 Mon Sep 17 00:00:00 2001 From: Changqing Li <changqing.li@windriver.com> Date: Mon, 22 Oct 2018 15:19:51 +0800 Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler @@ -27,7 +27,7 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com> 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac -index a189d42..0f85486 100644 +index d60f052..e491e24 100644 --- a/configure.ac +++ b/configure.ac @@ -54,6 +54,7 @@ AC_CONFIG_HEADER(pyconfig.h) @@ -38,7 +38,7 @@ index a189d42..0f85486 100644 # pybuilddir.txt will be created by --generate-posix-vars in the Makefile rm -f pybuilddir.txt -@@ -671,7 +672,7 @@ AC_MSG_RESULT($with_cxx_main) +@@ -689,7 +690,7 @@ AC_MSG_RESULT($with_cxx_main) preset_cxx="$CXX" if test -z "$CXX" then @@ -47,7 +47,7 @@ index a189d42..0f85486 100644 gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;; cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;; clang|*/clang) AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;; -@@ -957,7 +958,7 @@ rmdir CaseSensitiveTestDir +@@ -975,7 +976,7 @@ rmdir CaseSensitiveTestDir case $ac_sys_system in hp*|HP*) @@ -56,7 +56,7 @@ index a189d42..0f85486 100644 cc|*/cc) CC="$CC -Ae";; esac;; esac -@@ -1335,7 +1336,7 @@ else +@@ -1366,7 +1367,7 @@ else fi], [AC_MSG_RESULT(no)]) if test "$Py_LTO" = 'true' ; then @@ -65,7 +65,7 @@ index a189d42..0f85486 100644 *clang*) AC_SUBST(LLVM_AR) AC_PATH_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path}) -@@ -1425,7 +1426,7 @@ then +@@ -1456,7 +1457,7 @@ then fi fi LLVM_PROF_ERR=no @@ -74,7 +74,7 @@ index a189d42..0f85486 100644 *clang*) # Any changes made here should be reflected in the GCC+Darwin case below PGO_PROF_GEN_FLAG="-fprofile-instr-generate" -@@ -1486,7 +1487,7 @@ esac +@@ -1517,7 +1518,7 @@ esac # compiler and platform. BASECFLAGS tweaks need to be made even if the # user set OPT. @@ -83,7 +83,7 @@ index a189d42..0f85486 100644 *clang*) cc_is_clang=1 ;; -@@ -1622,7 +1623,7 @@ yes) +@@ -1653,7 +1654,7 @@ yes) # ICC doesn't recognize the option, but only emits a warning ## XXX does it emit an unused result warning and can it be disabled? @@ -92,16 +92,16 @@ index a189d42..0f85486 100644 *icc*) ac_cv_disable_unused_result_warning=no ;; -@@ -1943,7 +1944,7 @@ yes) +@@ -1993,7 +1994,7 @@ yes) + ;; esac - # ICC needs -fp-model strict or floats behave badly -case "$CC" in +case "$cc_basename" in *icc*) + # ICC needs -fp-model strict or floats behave badly CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict" - ;; -@@ -2711,7 +2712,7 @@ then +@@ -2765,7 +2766,7 @@ then then LINKFORSHARED="-Wl,--export-dynamic" fi;; @@ -110,7 +110,7 @@ index a189d42..0f85486 100644 *gcc*) if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null then -@@ -5362,7 +5363,7 @@ if test "$have_gcc_asm_for_x87" = yes; then +@@ -5507,7 +5508,7 @@ if test "$have_gcc_asm_for_x87" = yes; then # Some versions of gcc miscompile inline asm: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491 # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html diff --git a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch index 4bd98f62fd..5c620361da 100644 --- a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch +++ b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch @@ -25,7 +25,7 @@ index 7691258..ec3f2a4 100644 + # There is no need to report missing module dependencies, + # if the modules have been disabled in the first place. -+ self.missing = list(set(self.missing) - set(sysconf_dis)) ++ self.missing = list(set(self.missing) - set(mods_disabled)) + if self.missing: print() diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch index 820fb98ed8..5a39cf8933 100644 --- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch +++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch @@ -1,27 +1,26 @@ -From 064187668fcbefdd39a8cde372bf651124c3e578 Mon Sep 17 00:00:00 2001 +From c52fa7948ef109db1132fdc1aee0b68f8d767b4e Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 14 May 2013 15:00:26 -0700 -Subject: [PATCH] python3: Add target and native recipes +Subject: [PATCH 1/2] python3: Add target and native recipes Upstream-Status: Inappropriate [embedded specific] 02/2015 Rebased for Python 3.4.2 -# The proper prefix is inside our staging area. -# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de> -# Signed-off-by: Phil Blundell <philb@gnu.org> -# Signed-off-by: Khem Raj <raj.khem@gmail.com> -# Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> - +The proper prefix is inside our staging area. +Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de> +Signed-off-by: Phil Blundell <philb@gnu.org> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> --- Lib/distutils/sysconfig.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 2df348c..4f8db84 100644 +index 4774e12..ccf7d58 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py -@@ -96,7 +96,9 @@ def get_python_inc(plat_specific=0, prefix=None): +@@ -95,7 +95,9 @@ def get_python_inc(plat_specific=0, prefix=None): If 'prefix' is supplied, use it instead of sys.base_prefix or sys.base_exec_prefix -- i.e., ignore 'plat_specific'. """ @@ -32,7 +31,7 @@ index 2df348c..4f8db84 100644 prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX if os.name == "posix": if python_build: -@@ -139,7 +141,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): +@@ -138,7 +140,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): If 'prefix' is supplied, use it instead of sys.base_prefix or sys.base_exec_prefix -- i.e., ignore 'plat_specific'. """ @@ -47,12 +46,15 @@ index 2df348c..4f8db84 100644 if standard_lib: prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX else: -@@ -147,7 +155,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): - - if os.name == "posix": - libpython = os.path.join(prefix, -- "lib", "python" + get_python_version()) -+ lib_basename, "python" + get_python_version()) +@@ -152,7 +160,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): + else: + # Pure Python + libdir = "lib" +- libpython = os.path.join(prefix, libdir, ++ libpython = os.path.join(prefix, lib_basename, + "python" + get_python_version()) if standard_lib: return libpython - else: +-- +2.24.0 + diff --git a/poky/meta/recipes-devtools/python/python3/CVE-2020-27619.patch b/poky/meta/recipes-devtools/python/python3/CVE-2020-27619.patch new file mode 100644 index 0000000000..b2053e7a47 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/CVE-2020-27619.patch @@ -0,0 +1,69 @@ +From b664a1df4ee71d3760ab937653b10997081b1794 Mon Sep 17 00:00:00 2001 +From: "Miss Skeleton (bot)" <31488909+miss-islington@users.noreply.github.com> +Date: Tue, 6 Oct 2020 05:37:36 -0700 +Subject: [PATCH] bpo-41944: No longer call eval() on content received via HTTP + in the CJK codec tests (GH-22566) + +(cherry picked from commit 2ef5caa58febc8968e670e39e3d37cf8eef3cab8) + +Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> + +Upstream-Status: Backport [https://github.com/python/cpython/commit/b664a1df4ee71d3760ab937653b10997081b1794] +CVE: CVE-2020-27619 +Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com> + +--- + Lib/test/multibytecodec_support.py | 22 +++++++------------ + .../2020-10-05-17-43-46.bpo-41944.rf1dYb.rst | 1 + + 2 files changed, 9 insertions(+), 14 deletions(-) + create mode 100644 Misc/NEWS.d/next/Tests/2020-10-05-17-43-46.bpo-41944.rf1dYb.rst + +diff --git a/Lib/test/multibytecodec_support.py b/Lib/test/multibytecodec_support.py +index cca8af67d6d1d..f76c0153f5ecf 100644 +--- a/Lib/test/multibytecodec_support.py ++++ b/Lib/test/multibytecodec_support.py +@@ -305,29 +305,23 @@ def test_mapping_file(self): + self._test_mapping_file_plain() + + def _test_mapping_file_plain(self): +- unichrs = lambda s: ''.join(map(chr, map(eval, s.split('+')))) ++ def unichrs(s): ++ return ''.join(chr(int(x, 16)) for x in s.split('+')) ++ + urt_wa = {} + + with self.open_mapping_file() as f: + for line in f: + if not line: + break +- data = line.split('#')[0].strip().split() ++ data = line.split('#')[0].split() + if len(data) != 2: + continue + +- csetval = eval(data[0]) +- if csetval <= 0x7F: +- csetch = bytes([csetval & 0xff]) +- elif csetval >= 0x1000000: +- csetch = bytes([(csetval >> 24), ((csetval >> 16) & 0xff), +- ((csetval >> 8) & 0xff), (csetval & 0xff)]) +- elif csetval >= 0x10000: +- csetch = bytes([(csetval >> 16), ((csetval >> 8) & 0xff), +- (csetval & 0xff)]) +- elif csetval >= 0x100: +- csetch = bytes([(csetval >> 8), (csetval & 0xff)]) +- else: ++ if data[0][:2] != '0x': ++ self.fail(f"Invalid line: {line!r}") ++ csetch = bytes.fromhex(data[0][2:]) ++ if len(csetch) == 1 and 0x80 <= csetch[0]: + continue + + unich = unichrs(data[1]) +diff --git a/Misc/NEWS.d/next/Tests/2020-10-05-17-43-46.bpo-41944.rf1dYb.rst b/Misc/NEWS.d/next/Tests/2020-10-05-17-43-46.bpo-41944.rf1dYb.rst +new file mode 100644 +index 0000000000000..4f9782f1c85af +--- /dev/null ++++ b/Misc/NEWS.d/next/Tests/2020-10-05-17-43-46.bpo-41944.rf1dYb.rst +@@ -0,0 +1 @@ ++Tests for CJK codecs no longer call ``eval()`` on content received via HTTP. diff --git a/poky/meta/recipes-devtools/python/python3/python-config.patch b/poky/meta/recipes-devtools/python/python3/python-config.patch index c8a8f3d4aa..d0ddbbc7fd 100644 --- a/poky/meta/recipes-devtools/python/python3/python-config.patch +++ b/poky/meta/recipes-devtools/python/python3/python-config.patch @@ -1,4 +1,4 @@ -From 07df0ae0d70cba6d1847fe1c24a71063930bec60 Mon Sep 17 00:00:00 2001 +From 57d073c12e7bede29919117b0141df14015eb27f Mon Sep 17 00:00:00 2001 From: Tyler Hall <tylerwhall@gmail.com> Date: Sun, 4 May 2014 20:06:43 -0400 Subject: [PATCH] python-config: Revert to using distutils.sysconfig @@ -21,7 +21,7 @@ Signed-off-by: Tyler Hall <tylerwhall@gmail.com> 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Misc/python-config.in b/Misc/python-config.in -index 727c4a8..c702829 100644 +index ebd99da..13e57ae 100644 --- a/Misc/python-config.in +++ b/Misc/python-config.in @@ -6,7 +6,7 @@ @@ -37,11 +37,11 @@ index 727c4a8..c702829 100644 for opt in opt_flags: if opt == '--prefix': -- print(sysconfig.get_config_var('prefix')) +- print(getvar('prefix')) + print(sysconfig.PREFIX) elif opt == '--exec-prefix': -- print(sysconfig.get_config_var('exec_prefix')) +- print(getvar('exec_prefix')) + print(sysconfig.EXEC_PREFIX) elif opt in ('--includes', '--cflags'): diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json index 69aecb7004..615dc3a5e5 100644 --- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json +++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json @@ -122,8 +122,7 @@ "logging", "netclient", "numbers", - "stringold", - "typing" + "stringold" ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/asyncio", @@ -173,10 +172,12 @@ ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/compileall.py", + "${libdir}/python${PYTHON_MAJMIN}/filecmp.py", "${libdir}/python${PYTHON_MAJMIN}/py_compile.py" ], "cached": [ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/compileall.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/filecmp.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/py_compile.*.pyc" ] }, @@ -313,6 +314,7 @@ "${libdir}/python${PYTHON_MAJMIN}/tokenize.py", "${libdir}/python${PYTHON_MAJMIN}/traceback.py", "${libdir}/python${PYTHON_MAJMIN}/types.py", + "${libdir}/python${PYTHON_MAJMIN}/typing.py", "${libdir}/python${PYTHON_MAJMIN}/urllib", "${libdir}/python${PYTHON_MAJMIN}/urllib/parse.py", "${libdir}/python${PYTHON_MAJMIN}/warnings.py", @@ -388,6 +390,7 @@ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tokenize.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/traceback.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/types.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/typing.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/warnings.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/weakref.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__", @@ -557,18 +560,12 @@ "doctest": { "summary": "Python framework for running examples in docstrings", "rdepends": [ - "asyncio", "core", "debugger", "difflib", - "io", - "logging", - "netclient", - "numbers", "pprint", "shell", "stringold", - "typing", "unittest" ], "files": [ @@ -822,7 +819,6 @@ "terminal", "threading", "tkinter", - "typing", "unittest", "unixadmin", "venv", @@ -999,12 +995,14 @@ ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/cProfile.py", + "${libdir}/python${PYTHON_MAJMIN}/dataclasses.py", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lsprof.*.so", "${libdir}/python${PYTHON_MAJMIN}/profile.py", "${libdir}/python${PYTHON_MAJMIN}/pstats.py" ], "cached": [ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cProfile.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dataclasses.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/profile.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc" ] @@ -1130,13 +1128,11 @@ "core" ], "files": [ - "${libdir}/python${PYTHON_MAJMIN}/_dummy_thread.py", "${libdir}/python${PYTHON_MAJMIN}/_threading_local.py", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_queue.*.so", "${libdir}/python${PYTHON_MAJMIN}/queue.py" ], "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_dummy_thread.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_threading_local.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/queue.*.pyc" ] @@ -1147,23 +1143,11 @@ "core" ], "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so", "${libdir}/python${PYTHON_MAJMIN}/tkinter" ], "cached": [] }, - "typing": { - "summary": "Python typing support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/typing.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/typing.*.pyc" - ] - }, "unittest": { "summary": "Python unit testing framework", "rdepends": [ @@ -1175,8 +1159,7 @@ "netclient", "numbers", "pprint", - "stringold", - "typing" + "stringold" ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/unittest", diff --git a/poky/meta/recipes-devtools/python/python3_3.8.5.bb b/poky/meta/recipes-devtools/python/python3_3.9.0.bb index 2a3c52a116..19a8950f15 100644 --- a/poky/meta/recipes-devtools/python/python3_3.8.5.bb +++ b/poky/meta/recipes-devtools/python/python3_3.9.0.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.python.org" LICENSE = "PSFv2" SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=203a6dbc802ee896020a47161e759642" +LIC_FILES_CHKSUM = "file://LICENSE;md5=33223c9ef60c31e3f0e866cb09b65e83" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://run-ptest \ @@ -11,27 +11,25 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://get_module_deps3.py \ file://python3-manifest.json \ file://check_build_completeness.py \ + file://reformat_sysconfig.py \ file://cgi_py.patch \ file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \ file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \ file://python-config.patch \ file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \ - file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \ file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \ - file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \ file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ file://crosspythonpath.patch \ - file://reformat_sysconfig.py \ file://0001-Use-FLAG_REF-always-for-interned-strings.patch \ file://0001-test_locale.py-correct-the-test-output-format.patch \ file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \ file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \ - file://0001-configure.ac-fix-LIBPL.patch \ - file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \ file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \ + file://0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch \ + file://CVE-2020-27619.patch \ " SRC_URI_append_class-native = " \ @@ -40,8 +38,7 @@ SRC_URI_append_class-native = " \ file://0001-Don-t-search-system-for-headers-libraries.patch \ " -SRC_URI[md5sum] = "35b5a3d0254c1c59be9736373d429db7" -SRC_URI[sha256sum] = "e3003ed57db17e617acb382b0cade29a248c6026b1bd8aad1f976e9af66a83b0" +SRC_URI[sha256sum] = "9c73e63c99855709b9be0b3cc9e5b072cb60f37311e8c4e50f15576a0bf82854" # exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" @@ -49,10 +46,15 @@ UPSTREAM_CHECK_URI = "https://www.python.org/downloads/source/" CVE_PRODUCT = "python" +# Upstream consider this expected behaviour +CVE_CHECK_WHITELIST += "CVE-2007-4559" # This is not exploitable when glibc has CVE-2016-10739 fixed. CVE_CHECK_WHITELIST += "CVE-2019-18348" -PYTHON_MAJMIN = "3.8" +# This is windows only issue. +CVE_CHECK_WHITELIST += "CVE-2020-15523" + +PYTHON_MAJMIN = "3.9" S = "${WORKDIR}/Python-${PV}" @@ -71,13 +73,16 @@ DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/li DEPENDS_append_class-target = " python3-native" DEPENDS_append_class-nativesdk = " python3-native" -EXTRA_OECONF = " --without-ensurepip --enable-shared" +EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib}" EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}" export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" EXTRANATIVEPATH += "python3-native" +# LTO will be enabled via packageconfig depending upong distro features +LTO_class-target = "" + CACHED_CONFIGUREVARS = " \ ac_cv_file__dev_ptmx=yes \ ac_cv_file__dev_ptc=no \ @@ -92,7 +97,7 @@ def possibly_include_pgo(d): return '' -PACKAGECONFIG_class-target ??= "readline ${@possibly_include_pgo(d)} gdbm" +PACKAGECONFIG_class-target ??= "readline ${@possibly_include_pgo(d)} gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}" PACKAGECONFIG_class-native ??= "readline gdbm" PACKAGECONFIG_class-nativesdk ??= "readline gdbm" PACKAGECONFIG[readline] = ",,readline" @@ -100,6 +105,7 @@ PACKAGECONFIG[readline] = ",,readline" PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" PACKAGECONFIG[tk] = ",,tk" PACKAGECONFIG[gdbm] = ",,gdbm" +PACKAGECONFIG[lto] = "--with-lto,," do_configure_prepend () { mkdir -p ${B}/Modules @@ -162,6 +168,14 @@ do_install_append() { -e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \ -e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \ ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py + + # Unfortunately the following pyc files are non-deterministc due to 'frozenset' + # being written without strict ordering, even with PYTHONHASHSEED = 0 + # Upstream is discussing ways to solve the issue properly, until then let's + # just not install the problematic files. + # More info: http://benno.id.au/blog/2013/01/15/python-determinism + rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_range.cpython* + rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_xml_etree.cpython* } do_install_append_class-nativesdk () { diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index 84f600cec0..11be545cb5 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -32,6 +32,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://find_datadir.patch \ file://usb-fix-setup_len-init.patch \ file://0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch \ + file://CVE-2020-24352.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-24352.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-24352.patch new file mode 100644 index 0000000000..861ff6c3b0 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-24352.patch @@ -0,0 +1,52 @@ +From ca1f9cbfdce4d63b10d57de80fef89a89d92a540 Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit <pjp@fedoraproject.org> +Date: Wed, 21 Oct 2020 16:08:18 +0530 +Subject: [PATCH 1/1] ati: check x y display parameter values + +The source and destination x,y display parameters in ati_2d_blt() +may run off the vga limits if either of s->regs.[src|dst]_[xy] is +zero. Check the parameter values to avoid potential crash. + +Reported-by: Gaoning Pan <pgn@zju.edu.cn> +Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> +Message-id: 20201021103818.1704030-1-ppandit@redhat.com +Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> + +Upstream-Status: Backport [ https://git.qemu.org/?p=qemu.git;a=commitdiff;h=ca1f9cbfdce4d63b10d57de80fef89a89d92a540;hp=2ddafce7f797082ad216657c830afd4546f16e37 ] +CVE: CVE-2020-24352 +Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com> +--- + hw/display/ati_2d.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c +index 23a8ae0..4dc10ea 100644 +--- a/hw/display/ati_2d.c ++++ b/hw/display/ati_2d.c +@@ -75,8 +75,9 @@ void ati_2d_blt(ATIVGAState *s) + dst_stride *= bpp; + } + uint8_t *end = s->vga.vram_ptr + s->vga.vram_size; +- if (dst_bits >= end || dst_bits + dst_x + (dst_y + s->regs.dst_height) * +- dst_stride >= end) { ++ if (dst_x > 0x3fff || dst_y > 0x3fff || dst_bits >= end ++ || dst_bits + dst_x ++ + (dst_y + s->regs.dst_height) * dst_stride >= end) { + qemu_log_mask(LOG_UNIMP, "blt outside vram not implemented\n"); + return; + } +@@ -107,8 +108,9 @@ void ati_2d_blt(ATIVGAState *s) + src_bits += s->regs.crtc_offset & 0x07ffffff; + src_stride *= bpp; + } +- if (src_bits >= end || src_bits + src_x + +- (src_y + s->regs.dst_height) * src_stride >= end) { ++ if (src_x > 0x3fff || src_y > 0x3fff || src_bits >= end ++ || src_bits + src_x ++ + (src_y + s->regs.dst_height) * src_stride >= end) { + qemu_log_mask(LOG_UNIMP, "blt outside vram not implemented\n"); + return; + } +-- +1.8.3.1 + diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch b/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch index ac6dcaf101..331ea849e6 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch @@ -1,20 +1,21 @@ -From e3eff024826550aec4a6a5baef7210a29faf299d Mon Sep 17 00:00:00 2001 +From 5492ac3c716020a27a25253bbffe810db43202bf Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 9 Mar 2017 18:54:02 +0200 Subject: [PATCH] Add a color setting for mips64_n32 binaries Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- - build/rpmfc.c | 1 + + build/rpmfc.c | 4 ++++ rpmrc.in | 2 ++ - 2 files changed, 3 insertions(+) + 2 files changed, 6 insertions(+) diff --git a/build/rpmfc.c b/build/rpmfc.c -index d38a10916..c8e2f876a 100644 +index 10c380ee9..b7655aa93 100644 --- a/build/rpmfc.c +++ b/build/rpmfc.c -@@ -622,6 +622,7 @@ exit: +@@ -639,6 +639,7 @@ exit: static const struct rpmfcTokens_s rpmfcTokens[] = { { "directory", RPMFC_INCLUDE }, @@ -22,11 +23,21 @@ index d38a10916..c8e2f876a 100644 { "ELF 32-bit", RPMFC_ELF32|RPMFC_INCLUDE }, { "ELF 64-bit", RPMFC_ELF64|RPMFC_INCLUDE }, +@@ -1149,6 +1150,9 @@ static uint32_t getElfColor(const char *fn) + color = RPMFC_ELF32; + break; + } ++ if (ehdr.e_machine == EM_MIPS || ehdr.e_machine == EM_MIPS_RS3_LE) ++ if (ehdr.e_flags & EF_MIPS_ABI2) ++ color = RPMFC_ELFMIPSN32; + elf_end(elf); + } + close(fd); diff --git a/rpmrc.in b/rpmrc.in -index abc08fc31..f5bc820d8 100644 +index 5bd9ba3e5..f15bb8dad 100644 --- a/rpmrc.in +++ b/rpmrc.in -@@ -133,6 +133,8 @@ archcolor: mipsr6el 1 +@@ -137,6 +137,8 @@ archcolor: mipsr6el 1 archcolor: mips64r6 2 archcolor: mips64r6el 2 @@ -35,6 +46,3 @@ index abc08fc31..f5bc820d8 100644 archcolor: m68k 1 archcolor: m68kmint 1 --- -2.11.0 - diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch b/poky/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch deleted file mode 100644 index 0a19c12a7a..0000000000 --- a/poky/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch +++ /dev/null @@ -1,62 +0,0 @@ -From e8bf0eba7143abb6e69db82ee747a0c6790dd00a Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Wed, 3 Jun 2020 10:25:24 +0800 -Subject: [PATCH] Bump up the limit of signature header to 64MB - -Since commits [Place file signatures into the signature header where they -belong][1] applied, run `rpm -Kv **.rpm' failed if signature header -is larger than 64KB. Here are steps: - -1) A unsigned rpm package, the size is 227560 bytes -$ ls -al xz-src-5.2.5-r0.corei7_64.rpm --rw-------. 1 mockbuild 1000 227560 Jun 3 09:59 - -2) Sign the rpm package -$ rpmsign --addsign ... xz-src-5.2.5-r0.corei7_64.rpm - -3) The size of signed rpm is 312208 bytes -$ ls -al xz-src-5.2.5-r0.corei7_64.rpm --rw-------. 1 mockbuild 1000 312208 Jun 3 09:48 - -4) Run `rpm -Kv' failed with signature hdr data out of range -$ rpm -Kv xz-src-5.2.5-r0.corei7_64.rpm -xz-src-5.2.5-r0.corei7_64.rpm: -error: xz-src-5.2.5-r0.corei7_64.rpm: signature hdr data: BAD, no. of -bytes(88864) out of range - -From 1) and 3), the size of signed rpm package increased -312208 - 227560 = 84648, so the check of dl_max (64KB,65536) -is not enough. - -As [1] said: - - This also means the signature header can be MUCH bigger than ever - before,so bump up the limit (to 64MB, arbitrary something for now) - -So [1] missed to multiply by 1024. - -[1] https://github.com/rpm-software-management/rpm/commit/f558e886050c4e98f6cdde391df679a411b3f62c - -Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/486579912381ede82172dc6d0ff3941a6d0536b5] - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - lib/header.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/header.c b/lib/header.c -index 9ec7ed0..cbf6890 100644 ---- a/lib/header.c -+++ b/lib/header.c -@@ -1906,7 +1906,7 @@ rpmRC hdrblobRead(FD_t fd, int magic, int exact_size, rpmTagVal regionTag, hdrbl - - if (regionTag == RPMTAG_HEADERSIGNATURES) { - il_max = 32; -- dl_max = 64 * 1024; -+ dl_max = 64 * 1024 * 1024; - } - - memset(block, 0, sizeof(block)); --- -2.25.4 - diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch index 52440d6818..30975faeaf 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch @@ -1,4 +1,4 @@ -From 2f3d1619b6510bc131c4375827caf912559f0fa2 Mon Sep 17 00:00:00 2001 +From 4fd37bc9d8d0777aa038777dd81a76b64f536efd Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Mon, 27 Feb 2017 09:43:30 +0200 Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for @@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index d3aeab86e..1a1f3f91f 100644 +index 186e4aeec..5df252085 100644 --- a/configure.ac +++ b/configure.ac -@@ -1086,7 +1086,7 @@ else +@@ -944,7 +944,7 @@ else usrprefix=$prefix fi @@ -27,10 +27,10 @@ index d3aeab86e..1a1f3f91f 100644 AC_SUBST(OBJDUMP) diff --git a/macros.in b/macros.in -index fe9803aad..d128675bf 100644 +index 35c8cf9df..9d8b2825c 100644 --- a/macros.in +++ b/macros.in -@@ -985,7 +985,7 @@ package or when debugging this package.\ +@@ -996,7 +996,7 @@ package or when debugging this package.\ %_sharedstatedir %{_prefix}/com %_localstatedir %{_prefix}/var %_lib lib @@ -40,7 +40,7 @@ index fe9803aad..d128675bf 100644 %_infodir %{_datadir}/info %_mandir %{_datadir}/man diff --git a/rpm.am b/rpm.am -index 40b4ec55f..3139ce8f6 100644 +index b46c6b7da..02d5c7a0a 100644 --- a/rpm.am +++ b/rpm.am @@ -1,10 +1,10 @@ @@ -55,4 +55,4 @@ index 40b4ec55f..3139ce8f6 100644 +rpmconfigdir = $(libdir)/rpm # Libtool version (current-revision-age) for all our libraries - rpm_version_info = 9:1:0 + rpm_version_info = 10:0:1 diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch b/poky/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch index 0b1d6298a9..b960da6c31 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch @@ -11,29 +11,6 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> rpmio/digest_nss.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) -diff --git a/configure.ac b/configure.ac -index c04a2e8d1..c9d9ac16d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -255,6 +255,7 @@ AC_SEARCH_LIBS(dlopen, [dl]) - # Check for libelf library. Prefer external, otherwise none. - WITH_LIBELF_LIB= - AC_CHECK_HEADER([libelf.h]) -+AC_CHECK_HEADERS([error.h], [WITH_ERROR_H=yes]) - AC_CHECK_HEADERS([gelf.h], [ - AC_CHECK_LIB(elf, gelf_getvernaux, [ - AC_DEFINE(HAVE_LIBELF, 1, [Define to 1 if you have the 'elf' library (-lelf).]) -@@ -263,7 +264,7 @@ AC_CHECK_HEADERS([gelf.h], [ - ]) - ]) - AC_SUBST(WITH_LIBELF_LIB) --AM_CONDITIONAL(LIBELF,[test "$WITH_LIBELF" = yes]) -+AM_CONDITIONAL(LIBELF,[test "$WITH_LIBELF" = yes && test "$WITH_ERROR_H" = yes]) - - AC_CHECK_HEADERS([dwarf.h], [ - WITH_LIBDWARF=yes -diff --git a/rpmio/digest_nss.c b/rpmio/digest_nss.c -index 992d9acf6..e11920e3e 100644 --- a/rpmio/digest_nss.c +++ b/rpmio/digest_nss.c @@ -1,5 +1,6 @@ @@ -43,6 +20,3 @@ index 992d9acf6..e11920e3e 100644 #include <pthread.h> #include <nss.h> #include <sechash.h> --- -2.14.2 - diff --git a/poky/meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch b/poky/meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch new file mode 100644 index 0000000000..c7ae158f8d --- /dev/null +++ b/poky/meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch @@ -0,0 +1,25 @@ +From 9de15c7e1f4ca23a10edb9a3b657f06b2b13e841 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 20 Oct 2020 22:16:39 +0200 +Subject: [PATCH] rpmdb.c: add a missing include + +This addressed build failures on non-glibc systems. + +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + lib/rpmdb.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/rpmdb.c b/lib/rpmdb.c +index 4c101569f..73187630b 100644 +--- a/lib/rpmdb.c ++++ b/lib/rpmdb.c +@@ -8,6 +8,7 @@ + #include <utime.h> + #include <errno.h> + #include <dirent.h> ++#include <fcntl.h> + + #ifndef DYING /* XXX already in "system.h" */ + #include <fnmatch.h> diff --git a/poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch b/poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch deleted file mode 100644 index d8d338792d..0000000000 --- a/poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 93c3c7f043f62e96941274e957c4ad9432032af1 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 18 Nov 2019 16:22:56 +0100 -Subject: [PATCH] rpmfc.c: do not run file classification in parallel - -This is causing freezes with libmagic when the file in question is compressed: -https://github.com/rpm-software-management/rpm/issues/756 - -Upstream-Status: Inappropriate [upstream wants a proper fix] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - build/rpmfc.c | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/build/rpmfc.c b/build/rpmfc.c -index 3db7a9352..17afdd57a 100644 ---- a/build/rpmfc.c -+++ b/build/rpmfc.c -@@ -680,7 +680,6 @@ static void rpmfcAttributes(rpmfc fc, int ix, const char *ftype, const char *ful - /* Add attributes on libmagic type & path pattern matches */ - if (matches(&(*attr)->incl, ftype, path, is_executable)) { - argvAddTokens(&fc->fattrs[ix], (*attr)->name); -- #pragma omp critical(fahash) - fattrHashAddEntry(fc->fahash, attr-fc->atypes, ix); - } - } -@@ -1105,7 +1104,6 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode) - /* Build (sorted) file class dictionary. */ - fc->cdict = rpmstrPoolCreate(); - -- #pragma omp parallel - { - /* libmagic is not thread-safe, each thread needs to a private handle */ - magic_t ms = magic_open(msflags); -@@ -1113,15 +1111,12 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode) - if (ms == NULL) { - rpmlog(RPMLOG_ERR, _("magic_open(0x%x) failed: %s\n"), - msflags, strerror(errno)); -- #pragma omp cancel parallel - } - - if (magic_load(ms, NULL) == -1) { - rpmlog(RPMLOG_ERR, _("magic_load failed: %s\n"), magic_error(ms)); -- #pragma omp cancel parallel - } - -- #pragma omp for ordered reduction(+:nerrors) - for (int ix = 0; ix < fc->nfiles; ix++) { - rpmsid ftypeId; - const char * ftype; -@@ -1185,14 +1180,11 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode) - fc->fcolor[ix] = fcolor; - - /* Add to file class dictionary and index array */ -- #pragma omp ordered - if (fcolor != RPMFC_WHITE && (fcolor & RPMFC_INCLUDE)) { - ftypeId = rpmstrPoolId(fc->cdict, ftype, 1); -- #pragma omp atomic - fc->fknown++; - } else { - ftypeId = rpmstrPoolId(fc->cdict, "", 1); -- #pragma omp atomic - fc->fwhite++; - } - /* Pool id's start from 1, for headers we want it from 0 */ diff --git a/poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch b/poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch deleted file mode 100644 index 8842e3ebd7..0000000000 --- a/poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 6878a83f9bac015c64d83cee42530a20a264cc5a Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 7 Jan 2020 12:02:06 +0100 -Subject: [PATCH] rpmplugins.c: call dlerror() prior to dlsym() - -This is the recommended way in the manpage; if there is -a lingering error from an unrelated dl*() call that was -never obtained via dlerror(), it needs to be cleared -prior to calling dlsym(). - -Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/998] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - lib/rpmplugins.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/lib/rpmplugins.c b/lib/rpmplugins.c -index 65e684e84..b950f85cf 100644 ---- a/lib/rpmplugins.c -+++ b/lib/rpmplugins.c -@@ -68,6 +68,8 @@ static rpmPlugin rpmPluginNew(const char *name, const char *path, - - /* make sure the plugin has the supported hooks flag */ - hooks_name = rstrscat(NULL, name, "_hooks", NULL); -+ /* clear out any old errors that weren't fetched */ -+ dlerror(); - hooks = dlsym(handle, hooks_name); - if ((error = dlerror()) != NULL) { - rpmlog(RPMLOG_ERR, _("Failed to resolve symbol %s: %s\n"), diff --git a/poky/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch b/poky/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch new file mode 100644 index 0000000000..e78514b814 --- /dev/null +++ b/poky/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch @@ -0,0 +1,118 @@ +From b3952bd5e28f2a4d86c7377de239db8fa7237e14 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 31 Oct 2020 22:14:05 -0700 +Subject: [PATCH] tools: Add error.h for non-glibc case + +error is glibc specific API, so this patch will mostly not accepted +upstream given that elfutils has been closely tied to glibc + +Upstream-Status: Inappropriate [workaround for musl] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tools/debugedit.c | 6 +++++- + tools/elfdeps.c | 6 +++++- + tools/error.h | 27 +++++++++++++++++++++++++++ + tools/sepdebugcrcfix.c | 6 +++++- + 4 files changed, 42 insertions(+), 3 deletions(-) + create mode 100644 tools/error.h + +diff --git a/tools/debugedit.c b/tools/debugedit.c +index 9f8dcd0fb..852f46073 100644 +--- a/tools/debugedit.c ++++ b/tools/debugedit.c +@@ -26,7 +26,6 @@ + #include <byteswap.h> + #include <endian.h> + #include <errno.h> +-#include <error.h> + #include <limits.h> + #include <string.h> + #include <stdlib.h> +@@ -40,6 +39,11 @@ + + #include <gelf.h> + #include <dwarf.h> ++#ifdef __GLIBC__ ++#include <error.h> ++#else ++#include "error.h" ++#endif + + + /* Unfortunately strtab manipulation functions were only officially added +diff --git a/tools/elfdeps.c b/tools/elfdeps.c +index 6d9094874..f69e60997 100644 +--- a/tools/elfdeps.c ++++ b/tools/elfdeps.c +@@ -5,10 +5,14 @@ + #include <unistd.h> + #include <stdlib.h> + #include <fcntl.h> +-#include <error.h> + #include <errno.h> + #include <popt.h> + #include <gelf.h> ++#ifdef __GLIBC__ ++#include <error.h> ++#else ++#include "error.h" ++#endif + + #include <rpm/rpmstring.h> + #include <rpm/argv.h> +diff --git a/tools/error.h b/tools/error.h +new file mode 100644 +index 000000000..ef06827a0 +--- /dev/null ++++ b/tools/error.h +@@ -0,0 +1,27 @@ ++#ifndef _ERROR_H_ ++#define _ERROR_H_ ++ ++#include <stdarg.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <errno.h> ++ ++static unsigned int error_message_count = 0; ++ ++static inline void error(int status, int errnum, const char* format, ...) ++{ ++ va_list ap; ++ fprintf(stderr, "%s: ", program_invocation_name); ++ va_start(ap, format); ++ vfprintf(stderr, format, ap); ++ va_end(ap); ++ if (errnum) ++ fprintf(stderr, ": %s", strerror(errnum)); ++ fprintf(stderr, "\n"); ++ error_message_count++; ++ if (status) ++ exit(status); ++} ++ ++#endif /* _ERROR_H_ */ +diff --git a/tools/sepdebugcrcfix.c b/tools/sepdebugcrcfix.c +index fba460014..2be9c1fd8 100644 +--- a/tools/sepdebugcrcfix.c ++++ b/tools/sepdebugcrcfix.c +@@ -29,9 +29,13 @@ + #include <endian.h> + #include <stdio.h> + #include <stdlib.h> +-#include <error.h> + #include <libelf.h> + #include <gelf.h> ++#ifdef __GLIBC__ ++#include <error.h> ++#else ++#include "error.h" ++#endif + + #ifndef _ + #define _(x) x +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb b/poky/meta/recipes-devtools/rpm/rpm_4.16.0.bb index a1c5205554..4125f3f9d0 100644 --- a/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb +++ b/poky/meta/recipes-devtools/rpm/rpm_4.16.0.bb @@ -22,9 +22,9 @@ HOMEPAGE = "http://www.rpm.org" # libraries are also LGPL - how to express this? LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a" +LIC_FILES_CHKSUM = "file://COPYING;md5=c4eec0c20c6034b9407a09945b48a43f" -SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.15.x \ +SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.16.x \ file://environment.d-rpm.sh \ file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \ file://0001-Do-not-read-config-files-from-HOME.patch \ @@ -38,27 +38,28 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.15.x \ file://0001-perl-disable-auto-reqs.patch \ file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \ file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ - file://0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch \ - file://0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch \ file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \ - file://0001-Bump-up-the-limit-of-signature-header-to-64MB.patch \ + file://0001-rpmdb.c-add-a-missing-include.patch \ + file://0001-tools-Add-error.h-for-non-glibc-case.patch \ " PE = "1" -SRCREV = "ab2179452c5be276a6b96c591afded485c7e58c3" +SRCREV = "cd7f9303ef1070f027493cad7d00bc66935af2a0" S = "${WORKDIR}/git" -DEPENDS = "openssl db file popt xz bzip2 elfutils python3" +DEPENDS = "libgcrypt db file popt xz bzip2 elfutils python3" DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native" inherit autotools gettext pkgconfig python3native export PYTHON_ABI +AUTOTOOLS_AUXDIR = "${S}/build-aux" + # OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe EXTRA_AUTORECONF_append = " --exclude=gnu-configize" -EXTRA_OECONF_append = " --without-lua --enable-python --with-crypto=openssl" +EXTRA_OECONF_append = " --without-lua --enable-python --with-crypto=libgcrypt" EXTRA_OECONF_append_libc-musl = " --disable-nls --disable-openmp" # --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs @@ -97,6 +98,10 @@ WRAPPER_TOOLS = " \ ${libdir}/rpm/rpmdeps \ " +do_configure_prepend() { + mkdir -p ${S}/build-aux +} + do_install_append_class-native() { for tool in ${WRAPPER_TOOLS}; do test -x ${D}$tool && create_wrapper ${D}$tool \ diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb b/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb index 375efa0dea..b7205e5bde 100644 --- a/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb +++ b/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb @@ -55,4 +55,4 @@ do_install_append() { install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir} } -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb b/poky/meta/recipes-devtools/ruby/ruby_2.7.2.bb index 3dd9fb0a62..055ea9343f 100644 --- a/poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb +++ b/poky/meta/recipes-devtools/ruby/ruby_2.7.2.bb @@ -8,8 +8,8 @@ SRC_URI += " \ file://0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch \ " -SRC_URI[md5sum] = "debb9c325bf65021214451660f46e909" -SRC_URI[sha256sum] = "d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418" +SRC_URI[md5sum] = "2d4a28dcfa38352a627a597f6057c465" +SRC_URI[sha256sum] = "6e5706d0d4ee4e1e2f883db9d768586b4d06567debea353c796ec45e8321c3d4" PACKAGECONFIG ??= "" PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" diff --git a/poky/meta/recipes-devtools/strace/strace_5.8.bb b/poky/meta/recipes-devtools/strace/strace_5.9.bb index 0415588b97..bee2616a44 100644 --- a/poky/meta/recipes-devtools/strace/strace_5.8.bb +++ b/poky/meta/recipes-devtools/strace/strace_5.9.bb @@ -16,7 +16,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ file://0001-strace-fix-reproducibilty-issues.patch \ file://0001-xlat-Mark-IPPROTO_MAX-last-in-IPPROTO_-constants.patch \ " -SRC_URI[sha256sum] = "df4a669f7fff9cc302784085bd4b72fab216a426a3f72c892b28a537b71e7aa9" +SRC_URI[sha256sum] = "39473eb8465546c3e940fb663cb381eba5613160c7302794699d194a4d5d66d9" inherit autotools ptest diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch index 3ab7875274..47a8dac10e 100644 --- a/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch +++ b/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch @@ -10,7 +10,7 @@ Subject: [PATCH 1/9] linux/syslinux: support ext2/3/4 device * The ext2/3/4 support doesn't require root privileges since it doesn't need mount (but write permission is required). -Upstream-Status: Submitted +Upstream-Status: Submitted [https://www.syslinux.org/archives/2015-January/023039.html] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Tested-by: Du Dolpher <dolpher.du@intel.com> diff --git a/poky/meta/recipes-devtools/vala/vala_0.48.9.bb b/poky/meta/recipes-devtools/vala/vala_0.50.1.bb index 09bfcd6474..cca7eef523 100644 --- a/poky/meta/recipes-devtools/vala/vala_0.48.9.bb +++ b/poky/meta/recipes-devtools/vala/vala_0.50.1.bb @@ -2,4 +2,4 @@ require ${BPN}.inc SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch" -SRC_URI[sha256sum] = "9cea16d3bb3daddbfe0556b99fbfa08146230db7651e1e674cd08b4df5cefea9" +SRC_URI[sha256sum] = "958d9f06c9c3d7d1b2145512a9bc2a7c6aefbbf0416a04c7a0ecf463f7138f6c" diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch new file mode 100644 index 0000000000..f66df3d2d2 --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch @@ -0,0 +1,54 @@ +From cdec010444df5a4328e90d07a2024fdeefcc74b5 Mon Sep 17 00:00:00 2001 +From: Paul Floyd <paulf@free.fr> +Date: Wed, 18 Nov 2020 12:49:20 -0400 +Subject: [PATCH] helgrind: Intercept libc functions + +PTH_FUNC definition needs to be modified in order to +intercept posix thread functions in both libc and +libpthread. In order to handle this in helgrind, weak alias +the pthread functions in glibc. + +Upstream-Status: Submitted + +Signed-off-by: Paul Floyd <paulf@free.fr> +Signed-off-by: Stacy Gaikovaia <stacy.gaikovaia@windriver.com> +--- + helgrind/hg_intercepts.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/helgrind/hg_intercepts.c b/helgrind/hg_intercepts.c +index a10c3a4a3..316140ca6 100644 +--- a/helgrind/hg_intercepts.c ++++ b/helgrind/hg_intercepts.c +@@ -77,6 +77,11 @@ + /*--- ---*/ + /*----------------------------------------------------------------*/ + ++#define hg_expand(tok) #tok ++#define hg_str(tok) hg_expand(tok) ++# define hg_weak_alias(name, aliasname) \ ++ extern __typeof (name) aliasname __attribute__ ((weak, alias(hg_str(name)))) ++ + #if defined(VGO_solaris) + /* On Solaris, libpthread is just a filter library on top of libc. + * Threading and synchronization functions in runtime linker are not +@@ -91,9 +96,16 @@ + #define CREQ_PTHREAD_T Word + #define SEM_ERROR ret + #else ++#ifdef MUSL_LIBC ++#define PTH_FUNC(ret_ty, f, args...) \ ++ ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args); \ ++ ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args) ++#else + #define PTH_FUNC(ret_ty, f, args...) \ + ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args); \ ++ hg_weak_alias(I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f), I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBC_SONAME,f)); \ + ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args) ++#endif + #define CREQ_PTHREAD_T pthread_t + #define SEM_ERROR errno + #endif /* VGO_solaris */ +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb index bcba55f327..5db181ac14 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb +++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb @@ -42,6 +42,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ file://0001-drd-Port-to-Fedora-33.patch \ file://0001-drd-musl-fix.patch \ + file://0001-helgrind-Intercept-libc-functions.patch \ " SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589" SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca" diff --git a/poky/meta/recipes-extended/acpica/acpica_20200717.bb b/poky/meta/recipes-extended/acpica/acpica_20200925.bb index d1d06c0c24..a6d8d67270 100644 --- a/poky/meta/recipes-extended/acpica/acpica_20200717.bb +++ b/poky/meta/recipes-extended/acpica/acpica_20200925.bb @@ -17,7 +17,7 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" DEPENDS = "m4-native flex-native bison-native" SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz" -SRC_URI[sha256sum] = "cb99903ef240732f395af40c23b9b19c7899033f48840743544eebb6da72a828" +SRC_URI[sha256sum] = "d44388e21e3d2e47c6d39e9c897935d3f775f04fec76271dcba072c74f834589" UPSTREAM_CHECK_URI = "https://acpica.org/downloads" diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.2.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb index 711bfbfb9b..51d12cb8c6 100644 --- a/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.2.bb +++ b/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4e5d1baf6f20559e3bec172226a47e4e \ SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https \ file://auto-catalogs.patch" -SRCREV = "9a407dc9a497364c91421fd961954eddb565baf1" +SRCREV = "8de61a75572b5b8f90c1f87634aa3767472be7a7" DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc index 87870e4aba..df8d4d284a 100644 --- a/poky/meta/recipes-extended/cups/cups.inc +++ b/poky/meta/recipes-extended/cups/cups.inc @@ -20,6 +20,9 @@ SRC_URI = "https://github.com/apple/cups/releases/download/v${PV}/${BP}-source.t UPSTREAM_CHECK_URI = "https://github.com/apple/cups/releases" UPSTREAM_CHECK_REGEX = "cups-(?P<pver>\d+\.\d+(\.\d+)?)-source.tar" +# This is an Ubuntu only issue. +CVE_CHECK_WHITELIST += "CVE-2018-6553" + LEAD_SONAME = "libcupsdriver.so" CLEANBROKEN = "1" diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch index 75a3841f2d..673b35033f 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch +++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch @@ -1,4 +1,4 @@ -From afecc8791f904dc1893858d68a642b491356c74b Mon Sep 17 00:00:00 2001 +From 538bd5ec36d88f17803cb848cbbfe62ad51fc2f4 Mon Sep 17 00:00:00 2001 From: Tudor Florea <tudor.florea@enea.com> Date: Wed, 28 May 2014 18:59:54 +0200 Subject: [PATCH] ethtool: use serial-tests config needed by ptest. @@ -15,11 +15,11 @@ Upstream-Status: Inappropriate 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 19223f7..8a58d15 100644 +index 0162155..6866e72 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_INIT(ethtool, 5.8, netdev@vger.kernel.org) + AC_INIT(ethtool, 5.9, netdev@vger.kernel.org) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([ethtool.c]) -AM_INIT_AUTOMAKE([gnu subdir-objects]) diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.8.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.9.bb index 0403f0e3a9..2d2f9b77f0 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool_5.8.bb +++ b/poky/meta/recipes-extended/ethtool/ethtool_5.9.bb @@ -11,7 +11,7 @@ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ file://avoid_parallel_tests.patch \ " -SRC_URI[sha256sum] = "91e8bbda48a7fd5d374efacca542364ceb3a6c1f286f024b64ec40ccc799e125" +SRC_URI[sha256sum] = "f934a830554c46d7d60b1a9147f4cab15589b7e09344c4b79b1948b740f0a725" UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/" diff --git a/poky/meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch b/poky/meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch new file mode 100644 index 0000000000..ca0d668ce9 --- /dev/null +++ b/poky/meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch @@ -0,0 +1,35 @@ +From 207b94e37c84007b294e57878c913271aad544ef Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 11 Nov 2020 23:13:23 -0800 +Subject: [PATCH] Use cross AR during compile + +If AR is specifcied then it should be used instead of defaulting to 'ar' +from host + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 31364ab..4804f7b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -92,6 +92,13 @@ GAWK_CANONICAL_HOST + AC_USE_SYSTEM_EXTENSIONS + + dnl checks for programs ++m4_ifndef([AC_PROG_AR],[dnl ++ AN_MAKEVAR([AR], [AC_PROG_AR]) ++ AN_PROGRAM([ar], [AC_PROG_AR]) ++ AC_DEFUN([AC_PROG_AR], ++ [AC_CHECK_TOOL(AR, ar, :)]) ++]) ++AC_PROG_AR + AC_PROG_EGREP + AC_PROG_YACC + AC_PROG_LN_S +-- +2.29.2 + diff --git a/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb b/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb index 0d005cd43b..8c6411c867 100644 --- a/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb +++ b/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb @@ -17,6 +17,7 @@ PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr" SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ file://run-ptest \ + file://0001-Use-cross-AR-during-compile.patch \ " SRC_URI[md5sum] = "f719bc9966df28e67fc6ebc405e7ea03" diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2020-15900.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2020-15900.patch deleted file mode 100644 index d7c5f034e5..0000000000 --- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2020-15900.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 5d499272b95a6b890a1397e11d20937de000d31b Mon Sep 17 00:00:00 2001 -From: Ray Johnston <ray.johnston@artifex.com> -Date: Wed, 22 Jul 2020 09:57:54 -0700 -Subject: [PATCH] Bug 702582, CVE 2020-15900 Memory Corruption in Ghostscript - 9.52 - -Fix the 'rsearch' calculation for the 'post' size to give the correct -size. Previous calculation would result in a size that was too large, -and could underflow to max uint32_t. Also fix 'rsearch' to return the -correct 'pre' string with empty string match. - -A future change may 'undefine' this undocumented, non-standard operator -during initialization as we do with the many other non-standard internal -PostScript operators and procedures. - -Upstream-Status: Backport [https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5d499272b95a6b890a1397e11d20937de000d31b] -CVE: CVE-2020-15900 -Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com> ---- - psi/zstring.c | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -diff --git a/psi/zstring.c b/psi/zstring.c -index 33662dafa..58e1af2b3 100644 ---- a/psi/zstring.c -+++ b/psi/zstring.c -@@ -142,13 +142,18 @@ search_impl(i_ctx_t *i_ctx_p, bool forward) - return 0; - found: - op->tas.type_attrs = op1->tas.type_attrs; -- op->value.bytes = ptr; -- r_set_size(op, size); -+ op->value.bytes = ptr; /* match */ -+ op->tas.rsize = size; /* match */ - push(2); -- op[-1] = *op1; -- r_set_size(op - 1, ptr - op[-1].value.bytes); -- op1->value.bytes = ptr + size; -- r_set_size(op1, count + (!forward ? (size - 1) : 0)); -+ op[-1] = *op1; /* pre */ -+ op[-3].value.bytes = ptr + size; /* post */ -+ if (forward) { -+ op[-1].tas.rsize = ptr - op[-1].value.bytes; /* pre */ -+ op[-3].tas.rsize = count; /* post */ -+ } else { -+ op[-1].tas.rsize = count; /* pre */ -+ op[-3].tas.rsize -= count + size; /* post */ -+ } - make_true(op); - return 0; - } --- -2.17.1 - diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch index ffa269e3b2..5b57da2a97 100644 --- a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch +++ b/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch @@ -1,7 +1,7 @@ -From 84bb692d6b047c09266de154f404af9817fa04aa Mon Sep 17 00:00:00 2001 +From 04a86a613e0f9bfbbad99874f72217f75e8c53a3 Mon Sep 17 00:00:00 2001 From: Robert Yang <liezhi.yang@windriver.com> Date: Thu, 29 Mar 2018 15:59:05 +0800 -Subject: [PATCH 01/10] contrib.mak: fix for parallel build +Subject: [PATCH] contrib.mak: fix for parallel build Upstream-Status: Pending @@ -9,23 +9,16 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Rebase to 9.23 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + --- - contrib/contrib.mak | 2 ++ - 1 file changed, 2 insertions(+) + contrib/contrib.mak | 1 + + 1 file changed, 1 insertion(+) diff --git a/contrib/contrib.mak b/contrib/contrib.mak -index f5a2fa4..4999752 100644 +index 2edee7a..c9100e8 100644 --- a/contrib/contrib.mak +++ b/contrib/contrib.mak -@@ -1067,6 +1067,7 @@ $(DEVOBJ)dviprlib.$(OBJ) : $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h \ - $(DEVCC) $(O_)$@ $(C_) $(JAPSRC)dviprlib.c - - extra-dmprt-install: install-libdata -+ mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib - $(INSTALL_DATA) $(JAPSRC)dmp_init.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1 - $(INSTALL_DATA) $(JAPSRC)dmp_site.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1 - $(INSTALL_DATA) $(JAPSRC)escp_24.src $(DESTDIR)$(gsdatadir)$(D)lib || exit 1 -@@ -1235,6 +1236,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) \ +@@ -1241,6 +1241,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) \ ### ----------------- Additional .upp files ---------------- ### extra-upp-install: install-libdata @@ -33,6 +26,3 @@ index f5a2fa4..4999752 100644 for f in $(CONTRIBSRC)uniprint$(D)*.upp; do \ $(INSTALL_DATA) $$f $(DESTDIR)$(gsdatadir)$(D)lib || exit 1; \ done --- -1.8.3.1 - diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.52.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb index 65135f5821..cbf60c8c85 100644 --- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.52.bb +++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb @@ -34,7 +34,6 @@ SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/d SRC_URI = "${SRC_URI_BASE} \ file://ghostscript-9.21-prevent_recompiling.patch \ file://cups-no-gcrypt.patch \ - file://CVE-2020-15900.patch \ " SRC_URI_class-native = "${SRC_URI_BASE} \ @@ -42,8 +41,7 @@ SRC_URI_class-native = "${SRC_URI_BASE} \ file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \ " -SRC_URI[md5sum] = "0f6964ab9b83a63b7e373f136243f901" -SRC_URI[sha256sum] = "c2501d8e8e0814c4a5aa7e443e230e73d7af7f70287546f7b697e5ef49e32176" +SRC_URI[sha256sum] = "6eaf422f26a81854a230b80fd18aaef7e8d94d661485bd2e97e695b9dce7bf7f" # Put something like # @@ -84,6 +82,10 @@ BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1" inherit autotools-brokensep +do_configure_prepend_class-target () { + rm -rf ${S}/jpeg/ +} + do_configure_append () { # copy tools from the native ghostscript build if [ "${PN}" != "ghostscript-native" ]; then diff --git a/poky/meta/recipes-extended/grep/grep_3.4.bb b/poky/meta/recipes-extended/grep/grep_3.5.bb index e176dd727b..22ef70bc5b 100644 --- a/poky/meta/recipes-extended/grep/grep_3.4.bb +++ b/poky/meta/recipes-extended/grep/grep_3.5.bb @@ -7,8 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz" -SRC_URI[md5sum] = "111b117d22d6a7d049d6ae7505e9c4d2" -SRC_URI[sha256sum] = "58e6751c41a7c25bfc6e9363a41786cff3ba5709cf11d5ad903cf7cce31cc3fb" +SRC_URI[sha256sum] = "b82ac77707c2ab945520c8404c9fa9f890f7791a62cf2103cf6238acad87a44a" inherit autotools gettext texinfo pkgconfig diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.58.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.60.bb index e47dedae89..41f70b403f 100644 --- a/poky/meta/recipes-extended/hdparm/hdparm_9.58.bb +++ b/poky/meta/recipes-extended/hdparm/hdparm_9.60.bb @@ -25,8 +25,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \ file://wiper.sh-fix-stat-path.patch \ " -SRC_URI[md5sum] = "4652c49cf096a64683c05f54b4fa4679" -SRC_URI[sha256sum] = "9ae78e883f3ce071d32ee0f1b9a2845a634fc4dd94a434e653fdbef551c5e10f" +SRC_URI[md5sum] = "25a791d47236c58801f8b27074f3ef93" +SRC_URI[sha256sum] = "8397739c73e44d5ab96c4aef28fa9c0147276d53a1b5657ce04c4565cf6635cc" EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"' diff --git a/poky/meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch b/poky/meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch deleted file mode 100644 index 51ed66ed24..0000000000 --- a/poky/meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d4ed0c741fc789bb09d977d74d30875fdd50d08b Mon Sep 17 00:00:00 2001 -From: Jan Engelhardt <jengelh@inai.de> -Date: Wed, 3 Jun 2020 15:38:48 +0200 -Subject: [PATCH] build: resolve iptables-apply not getting installed -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -ip6tables-apply gets installed but iptables-apply does not. -That is wrong. - -» make install DESTDIR=$PWD/r -» find r -name "*app*" -r/usr/local/sbin/ip6tables-apply -r/usr/local/share/man/man8/iptables-apply.8 -r/usr/local/share/man/man8/ip6tables-apply.8 - -Fixes: v1.8.5~87 -Signed-off-by: Jan Engelhardt <jengelh@inai.de> -Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> - -Upstream-Status: Backport -[https://git.netfilter.org/iptables/commit/?id=d4ed0c741fc789bb09d977d74d30875fdd50d08b] - -Signed-off-by: Yi Zhao <yi.zhao@windriver.com> ---- - iptables/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/iptables/Makefile.am b/iptables/Makefile.am -index dc66b3cc..2024dbf5 100644 ---- a/iptables/Makefile.am -+++ b/iptables/Makefile.am -@@ -56,7 +56,7 @@ man_MANS = iptables.8 iptables-restore.8 iptables-save.8 \ - ip6tables-save.8 iptables-extensions.8 \ - iptables-apply.8 ip6tables-apply.8 - --sbin_SCRIPT = iptables-apply -+sbin_SCRIPTS = iptables-apply - - if ENABLE_NFTABLES - man_MANS += xtables-nft.8 xtables-translate.8 xtables-legacy.8 \ --- -2.17.1 - diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.5.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.6.bb index 5976128807..9c15b0bc9d 100644 --- a/poky/meta/recipes-extended/iptables/iptables_1.8.5.bb +++ b/poky/meta/recipes-extended/iptables/iptables_1.8.6.bb @@ -11,13 +11,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \ file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \ file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \ - file://0001-build-resolve-iptables-apply-not-getting-installed.patch \ file://iptables.service \ file://iptables.rules \ file://ip6tables.service \ file://ip6tables.rules \ -" -SRC_URI[sha256sum] = "d457d74512e63aa3f50336e0597d4023c0e3c6845594d38532efb6ebcb294309" + " +SRC_URI[sha256sum] = "a0f4fe0c3eb8faa5bd9c8376d132f340b9558e750c91deb2d5028aa3d0047767" SYSTEMD_SERVICE_${PN} = "\ iptables.service \ diff --git a/poky/meta/recipes-extended/less/less_562.bb b/poky/meta/recipes-extended/less/less_563.bb index c900574674..123522b5dc 100644 --- a/poky/meta/recipes-extended/less/less_562.bb +++ b/poky/meta/recipes-extended/less/less_563.bb @@ -28,8 +28,7 @@ DEPENDS = "ncurses" SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \ " -SRC_URI[md5sum] = "0371a9678cb42f37b9bf9b86e8aa7903" -SRC_URI[sha256sum] = "eab470c7c928132441541aa49b1352c0fc699c30f762dfaeb3bf88e6f0fd701b" +SRC_URI[sha256sum] = "ce5b6d2b9fc4442d7a07c93ab128d2dff2ce09a1d4f2d055b95cf28dd0dc9a9a" UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html" diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.14.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.16.bb index 5179d4565a..f7902727c4 100644 --- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.14.bb +++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.16.bb @@ -10,7 +10,7 @@ DEPENDS = "expat zlib" SRC_URI = "git://github.com/openSUSE/libsolv.git \ " -SRCREV = "b264537ea43ce39d93d8d97fcca16e97825beaa0" +SRCREV = "7046fb004987c7f1b3722628d9a4ca1c67577188" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" diff --git a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb index a06cbcf845..3e8f7a13ec 100644 --- a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb +++ b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb @@ -1,6 +1,6 @@ SUMMARY = "lsb_release support for OpenEmbedded" SECTION = "console/utils" -HOMEPAGE = "http://prdownloads.sourceforge.net/lsb" +HOMEPAGE = "https://sourceforge.net/projects/lsb/files" LICENSE = "GPLv2+" # lsb_release needs getopt diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch b/poky/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch index 6b665030c3..e51950f153 100644 --- a/poky/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch +++ b/poky/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch @@ -1,4 +1,4 @@ -From 13ef88cdccfe3f58c53d57806866b91e310eb272 Mon Sep 17 00:00:00 2001 +From 93772c511d954d755cc9128c58ed8968a5af541b Mon Sep 17 00:00:00 2001 From: "Mingde (Matthew) Zeng" <matthewzmd@gmail.com> Date: Wed, 29 Jul 2020 08:47:09 -0400 Subject: [PATCH] Remove OOM tests from runtest/mm @@ -13,13 +13,13 @@ Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com> 1 file changed, 6 deletions(-) diff --git a/runtest/mm b/runtest/mm -index a09f39c1e..76fa82754 100644 +index 481d39691..cf207d10e 100644 --- a/runtest/mm +++ b/runtest/mm -@@ -73,12 +73,6 @@ ksm06 ksm06 - ksm06_1 ksm06 -n 10 - ksm06_2 ksm06 -n 10000 - +@@ -74,12 +74,6 @@ ksm06_2 ksm06 -n 10000 + + cpuset01 cpuset01 + -oom01 oom01 -oom02 oom02 -oom03 oom03 @@ -27,8 +27,5 @@ index a09f39c1e..76fa82754 100644 -oom05 oom05 - swapping01 swapping01 -i 5 - + thp01 thp01 -I 120 --- -2.27.0 - diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch b/poky/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch deleted file mode 100644 index 27b890e22b..0000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch +++ /dev/null @@ -1,33 +0,0 @@ -From adb9587466a493fdd9d4410f1b8b130ebca06daa Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 19 May 2020 22:21:23 -0700 -Subject: [PATCH] ptrace01: Fix missing format string - -Fixes -| ptrace01.c:89:2: error: format string is not a string literal -(potentially insecure) [-Werror,-Wformat-security] -| tst_res(TINFO, tc->message); -| ^ ~~~~~~~~~~~ - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [58424835952641f4fd60c0ae3ab6c64decca3f8a] ---- - testcases/kernel/syscalls/ptrace/ptrace01.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/testcases/kernel/syscalls/ptrace/ptrace01.c b/testcases/kernel/syscalls/ptrace/ptrace01.c -index 87a99e4150..9071bbabaf 100644 ---- a/testcases/kernel/syscalls/ptrace/ptrace01.c -+++ b/testcases/kernel/syscalls/ptrace/ptrace01.c -@@ -86,7 +86,7 @@ static void run(unsigned int i) - - got_signal = 0; - -- tst_res(TINFO, tc->message); -+ tst_res(TINFO, "%s", tc->message); - - if (tc->handler == 1) { - parent_act.sa_handler = parent_handler; --- -2.26.2 - diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch b/poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch deleted file mode 100644 index 17d5af89e2..0000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch +++ /dev/null @@ -1,69 +0,0 @@ -From e0a63deb1857eb90288e90d6368df70cdd0c0ec9 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 28 May 2020 13:04:33 -0700 -Subject: [PATCH] sigwaitinfo: Do not run invalid/undefined test cases - -These testcases run for eternity on musl - -test_bad_address* cases are passing invalid pointers to a function; that's always UB -empty_set and timeout rely on the implementation-defined "may fail" for EINTR in sigtimedwait [1] - -normally "may fail" is an "unspecified" but here the impl -is supposed to document it so it's "impl-defined" - -[1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigtimedwait.html - -Upstream-Status: Submitted [https://patchwork.ozlabs.org/project/ltp/patch/20200528204556.2444156-1-raj.khem@gmail.com/] -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Cc: Rich Felker <dalias@aerifal.cx> ---- - .../kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 12 ++---------- - 1 file changed, 2 insertions(+), 10 deletions(-) - ---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c -+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c -@@ -422,15 +422,10 @@ struct test_desc { - } tests[] = { - #ifdef TEST_RT_SIGTIMEDWAIT - { -- test_empty_set, my_rt_sigtimedwait, SIGUSR1}, { - test_unmasked_matching, my_rt_sigtimedwait, SIGUSR1}, { - test_masked_matching, my_rt_sigtimedwait, SIGUSR1}, { - test_unmasked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, { -- test_masked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, { -- test_bad_address, my_rt_sigtimedwait, SIGUSR1}, { -- test_bad_address2, my_rt_sigtimedwait, SIGUSR1}, { -- test_bad_address3, my_rt_sigtimedwait, SIGUSR1}, { -- test_timeout, my_rt_sigtimedwait, 0}, -+ test_masked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, - /* Special cases */ - /* 1: sigwaitinfo does respond to ignored signal */ - { -@@ -452,25 +447,17 @@ struct test_desc { - #endif - #if defined TEST_SIGWAITINFO - { -- test_empty_set, my_sigwaitinfo, SIGUSR1}, { - test_unmasked_matching, my_sigwaitinfo, SIGUSR1}, { - test_masked_matching, my_sigwaitinfo, SIGUSR1}, { - test_unmasked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, { -- test_masked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, { -- test_bad_address, my_sigwaitinfo, SIGUSR1}, { -- test_bad_address2, my_sigwaitinfo, SIGUSR1}, -+ test_masked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, - #endif - #if defined TEST_SIGTIMEDWAIT - { -- test_empty_set, my_sigtimedwait, SIGUSR1}, { - test_unmasked_matching, my_sigtimedwait, SIGUSR1}, { - test_masked_matching, my_sigtimedwait, SIGUSR1}, { - test_unmasked_matching_noinfo, my_sigtimedwait, SIGUSR1}, { -- test_masked_matching_noinfo, my_sigtimedwait, SIGUSR1}, { -- test_bad_address, my_sigtimedwait, SIGUSR1}, { -- test_bad_address2, my_sigtimedwait, SIGUSR1}, { -- test_bad_address3, my_sigtimedwait, SIGUSR1}, { -- test_timeout, my_sigtimedwait, 0}, -+ test_masked_matching_noinfo, my_sigtimedwait, SIGUSR1}, - #endif - }; - diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch deleted file mode 100644 index 09b6f54874..0000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 99687ab002f9f750f6f18fa1d70a91f0aa4f8ba2 Mon Sep 17 00:00:00 2001 -From: He Zhe <zhe.he@windriver.com> -Date: Thu, 18 Jun 2020 17:18:27 +0800 -Subject: [PATCH] syscalls/copy_file_range02: Expect EFBIG in subcase max - length on 32-bit architectures - -For syscall -ssize_t copy_file_range(int fd_in, loff_t *off_in, - int fd_out, loff_t *off_out, - size_t len, unsigned int flags); -off_out is loff_t* that is long long, 64 bits on 32-bit architectures, -while len is size_t that unsigned int, 32 bits on 32-bit architectures. - -In subcase "max length", simplified as below, - -dst = tst_max_lfs_filesize(); -TEST(sys_copy_file_range(fd_src, 0, *tc->copy_to_fd, &dst, tc->len, tc->flags)); - -where dst is 4K*4G and len is 4G, so (4K+1)*4G is always smaller than 4G*4G, -it can never match the following kernel condition on 32-bit architectures. - -if (pos_in + count < pos_in || pos_out + count < pos_out) - return -EOVERFLOW; - -And thus we would get error like -copy_file_range02.c:139: FAIL: copy_file_range failed unexpectedly; expected EOVERFLOW, but got: EFBIG (27) - -Also correct a typo. - -Upstream-Status: Backport [http://lists.linux.it/pipermail/ltp/2020-June/017716.html] - -Signed-off-by: He Zhe <zhe.he@windriver.com> -Acked-by: Li Wang <liwang@redhat.com> ---- - .../kernel/syscalls/copy_file_range/copy_file_range02.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c -index fa679c4d3..bc27fbe57 100644 ---- a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c -+++ b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c -@@ -78,7 +78,11 @@ static struct tcase { - {&fd_chrdev, 0, EINVAL, CONTSIZE, "char device", 0}, - {&fd_fifo, 0, EINVAL, CONTSIZE, "fifo", 0}, - {&fd_pipe[0], 0, EINVAL, CONTSIZE, "pipe", 0}, -- {&fd_copy, 0, EOVERFLOW, ULLONG_MAX, "max length lenght", 1}, -+#ifdef TST_ABI64 -+ {&fd_copy, 0, EOVERFLOW, ULLONG_MAX, "max length", 1}, -+#else -+ {&fd_copy, 0, EFBIG, ULLONG_MAX, "max length", 1}, -+#endif - {&fd_copy, 0, EFBIG, MIN_OFF, "max file size", 1}, - }; - --- -2.17.1 - diff --git a/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch b/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch deleted file mode 100644 index a187f61f08..0000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d0fc9ca5d3366f9b8907e463222403cd2327be10 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 8 Jan 2016 06:51:20 +0000 -Subject: [PATCH] guard mallocopt() with __GLIBC__ - -mallocopt is not available on non glibc implementations - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Reviewed-by: Petr Vorel <petr.vorel@gmail.com> -Upstream-Status: Accepted [967612c454aea66770b64f69287671037fe895b3] ---- - utils/benchmark/ebizzy-0.3/ebizzy.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/utils/benchmark/ebizzy-0.3/ebizzy.c b/utils/benchmark/ebizzy-0.3/ebizzy.c -index 5bb8eff..934d951 100644 ---- a/utils/benchmark/ebizzy-0.3/ebizzy.c -+++ b/utils/benchmark/ebizzy-0.3/ebizzy.c -@@ -215,10 +215,10 @@ static void read_options(int argc, char *argv[]) - "\"never mmap\" option specified\n"); - usage(); - } -- -+#ifdef __GLIBC__ - if (never_mmap) - mallopt(M_MMAP_MAX, 0); -- -+#endif - if (chunk_size < record_size) { - fprintf(stderr, "Chunk size %u smaller than record size %u\n", - chunk_size, record_size); --- -2.7.4 - diff --git a/poky/meta/recipes-extended/ltp/ltp_20200515.bb b/poky/meta/recipes-extended/ltp/ltp_20200930.bb index 0c7044d044..7acf15b360 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20200515.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20200930.bb @@ -27,16 +27,12 @@ CFLAGS_append_x86-64 = " -fomit-frame-pointer" CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__" CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" -SRCREV = "0d79a93e6ca44d9bc95973faea6bcd7b0c6d1f43" +SRCREV = "da2f34028f046a208aa2fed5e287df2538e69f91" SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0001-build-Add-option-to-select-libc-implementation.patch \ - file://0004-guard-mallocopt-with-__GLIBC__.patch \ file://0007-Fix-test_proc_kill-hanging.patch \ file://0001-Add-more-musl-exclusions.patch \ - file://0001-ptrace01-Fix-missing-format-string.patch \ - file://0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch \ - file://0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch \ file://0001-Remove-OOM-tests-from-runtest-mm.patch \ " diff --git a/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb b/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb index 03034864c8..c584b7589e 100644 --- a/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb +++ b/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb @@ -1,5 +1,5 @@ SUMMARY = "Text-based modem control and terminal emulation program" -HOMEPAGE = "http://alioth.debian.org/projects/minicom/" +HOMEPAGE = "https://salsa.debian.org/minicom-team/minicom" DESCRIPTION = "Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems" SECTION = "console/network" DEPENDS = "ncurses virtual/libiconv" diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.12.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.13.bb index 54798f9e6f..994f1c5d90 100644 --- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.12.bb +++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.13.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/" SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz" -SRC_URI[sha256sum] = "a86fef9477339923afefe974988a38e32d0feb90dfeeb88f7f55aac356a96354" +SRC_URI[sha256sum] = "ada945ab8d519102bb632f197273b3326ded25b38c003b0cf3861d1d6d4a9bb9" inherit gettext autotools update-alternatives pkgconfig diff --git a/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb b/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb index d24035b677..ed21d81179 100644 --- a/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb +++ b/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb @@ -3,7 +3,7 @@ DESCRIPTION = "PBZIP2 is a parallel implementation of the bzip2 block-sorting \ file compressor that uses pthreads and achieves near-linear speedup on SMP \ machines. The output of this version is fully compatible with bzip2 v1.0.2 or \ newer (ie: anything compressed with pbzip2 can be decompressed with bzip2)." -HOMEPAGE = "http://compression.ca/pbzip2/" +HOMEPAGE = "https://launchpad.net/pbzip2/" SECTION = "console/utils" LICENSE = "bzip2-1.0.6" LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743" diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.21.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.23.bb index 71671dd046..f09bb24737 100644 --- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.21.bb +++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.23.bb @@ -9,7 +9,7 @@ SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \ file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \ file://no_daddr_t.patch \ " -SRC_URI[sha256sum] = "ee44b71aba20e9c7d10ec4768efa2245d12579fa17e08b9314c17f06f785ae39" +SRC_URI[sha256sum] = "c0a76147a02f4c31af1fb4b9b7e0b90ac8bbd8590ccb54264d5cbe046c769cd2" DEPENDS = "coreutils-native" diff --git a/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch b/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch new file mode 100644 index 0000000000..f7ccfdd623 --- /dev/null +++ b/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch @@ -0,0 +1,52 @@ +sudo.conf.in: fix conflict with multilib + +When pass ${libdir} to --libexecdir of sudo, it fails to install sudo +and lib32-sudo at same time: + +| Error: Transaction test error: +| file /etc/sudo.conf conflicts between attempted installs of + sudo-1.9.3p1-r0.core2_64 and lib32-sudo-1.9.3p1-r0.core2_32 + +Update the comments in sudo.conf.in to avoid the conflict. + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +Upstream-Status: Inappropriate [OE configuration specific] +--- + examples/sudo.conf.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/examples/sudo.conf.in b/examples/sudo.conf.in +index 19e33ff..af78235 100644 +--- a/examples/sudo.conf.in ++++ b/examples/sudo.conf.in +@@ -4,7 +4,7 @@ + # Sudo plugins: + # Plugin plugin_name plugin_path plugin_options ... + # +-# The plugin_path is relative to @plugindir@ unless ++# The plugin_path is relative to $plugindir such as /usr/lib/sudo unless + # fully qualified. + # The plugin_name corresponds to a global symbol in the plugin + # that contains the plugin interface structure. +@@ -50,7 +50,7 @@ Plugin sudoers_audit sudoers.so + # The compiled-in value is usually sufficient and should only be changed + # if you rename or move the sudo_noexec.so file. + # +-#Path noexec @plugindir@/sudo_noexec.so ++#Path noexec $plugindir/sudo_noexec.so + + # + # Sudo plugin directory: +@@ -59,7 +59,7 @@ Plugin sudoers_audit sudoers.so + # The default directory to use when searching for plugins that are + # specified without a fully qualified path name. + # +-#Path plugin_dir @plugindir@ ++#Path plugin_dir $plugindir + + # + # Sudo developer mode: +-- +2.17.1 + diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.3.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.3p1.bb index 270625ebe8..ba61a7f247 100644 --- a/poky/meta/recipes-extended/sudo/sudo_1.9.3.bb +++ b/poky/meta/recipes-extended/sudo/sudo_1.9.3p1.bb @@ -2,11 +2,12 @@ require sudo.inc SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \ " PAM_SRC_URI = "file://sudo.pam" -SRC_URI[sha256sum] = "1d9889cc3b3b15ed8c2c7c3de3aa392a3a726838d020815067c080525c3f5837" +SRC_URI[sha256sum] = "dcb9de53e45e1c39042074b847f5e0d8ae1890725dd6a9d9101a81569e6eb49e" DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" @@ -24,6 +25,7 @@ EXTRA_OECONF += " \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \ --with-rundir=/run/sudo \ --with-vardir=/var/lib/sudo \ + --libexecdir=${libdir} \ " do_install_append () { @@ -43,5 +45,5 @@ do_install_append () { } FILES_${PN} += "${nonarch_libdir}/tmpfiles.d" -FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \ - ${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la" +FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \ + ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la" diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc index 8eb17c5eaf..5368464f30 100644 --- a/poky/meta/recipes-extended/timezone/timezone.inc +++ b/poky/meta/recipes-extended/timezone/timezone.inc @@ -6,7 +6,7 @@ SECTION = "base" LICENSE = "PD & BSD & BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba" -PV = "2020b" +PV = "2020d" SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \ http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \ @@ -14,5 +14,5 @@ SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones" -SRC_URI[tzcode.sha256sum] = "47eff8944de4a64f7629b851e4a32338ab12c9b73edd62063795167ff1fe43da" -SRC_URI[tzdata.sha256sum] = "9b053f951d245ce89d850b96ee4711d82d833559b1fc96ba19f90bc4d745e809" +SRC_URI[tzcode.sha256sum] = "6cf050ba28e8053029d3f32d71341d11a794c6b5dd51a77fc769d6dae364fad5" +SRC_URI[tzdata.sha256sum] = "8d813957de363387696f05af8a8889afa282ab5016a764c701a20758d39cbaf3" diff --git a/poky/meta/recipes-extended/which/which_2.21.bb b/poky/meta/recipes-extended/which/which_2.21.bb index fac0fd3944..fc9185061b 100644 --- a/poky/meta/recipes-extended/which/which_2.21.bb +++ b/poky/meta/recipes-extended/which/which_2.21.bb @@ -4,7 +4,7 @@ executables that bash(1) would execute when the passed \ program names would have been entered on the shell prompt. \ It does this by using the exact same algorithm as bash." SECTION = "libs" -HOMEPAGE = "http://carlo17.home.xs4all.nl/which/" +HOMEPAGE = "https://carlowood.github.io/which/" LICENSE = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\ diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.36.4.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.1.bb index 4c3b18331a..f9daa8bfe2 100644 --- a/poky/meta/recipes-gnome/epiphany/epiphany_3.36.4.bb +++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.1.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \ gsettings-desktop-schemas libxml2-native \ - glib-2.0 glib-2.0-native json-glib libdazzle libhandy" + glib-2.0 glib-2.0-native json-glib libdazzle libhandy libportal" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings features_check upstream-version-is-even gettext mime-xdg @@ -14,7 +14,7 @@ REQUIRED_DISTRO_FEATURES = "x11 opengl" SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ file://0002-help-meson.build-disable-the-use-of-yelp.patch \ " -SRC_URI[archive.sha256sum] = "588a75b1588f5a509c33cf0be6a38a0f4fc1748eeb499a51d991ddef485242bf" +SRC_URI[archive.sha256sum] = "59b7576acb11fbb52eaca6dbf6fce28664de5c915ca2580c47f0b08ba83d2843" FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch b/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch index d4f3cc1d35..118b5d1825 100644 --- a/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch +++ b/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch @@ -1,4 +1,4 @@ -From 0048ae2d225d25cc58f378718ca6f9ddb1a228f9 Mon Sep 17 00:00:00 2001 +From 3725c254f1d1d8204fa299e71c1e2bfd0ff6a634 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 31 Jan 2018 15:50:38 +0200 Subject: [PATCH] help/meson.build: disable the use of yelp @@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/help/meson.build b/help/meson.build -index fddcf4c..f7d76c6 100644 +index 484860c..d9b2e80 100644 --- a/help/meson.build +++ b/help/meson.build @@ -32,7 +32,7 @@ help_media = [ - 'media/web-browser.png' + 'media/epiphany-private-3-36.png' ] -gnome.yelp(meson.project_name(), diff --git a/poky/meta/recipes-gnome/gcr/gcr/0001-meson-Make-sure-gcr-oids.h-is-built.patch b/poky/meta/recipes-gnome/gcr/gcr/0001-meson-Make-sure-gcr-oids.h-is-built.patch deleted file mode 100644 index 4bf5bfba94..0000000000 --- a/poky/meta/recipes-gnome/gcr/gcr/0001-meson-Make-sure-gcr-oids.h-is-built.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9fca6ae0aa7355c27d0922c561b9fbe18dde5b3d Mon Sep 17 00:00:00 2001 -From: Niels De Graef <nielsdegraef@gmail.com> -Date: Fri, 19 Jun 2020 22:37:31 +0200 -Subject: [PATCH 1/1] meson: Make sure gcr-oids.h is built - -Fixes https://gitlab.gnome.org/GNOME/gcr/-/issues/48 ---- - gcr/meson.build | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- end of original header --- - -Upstream-Status: Backport [https://github.com/GNOME/gcr.git] - -Signed-off-by: Joe Slater <joe.slater@windriver.com> - ---- -diff --git a/gcr/meson.build b/gcr/meson.build -index 199452f..06c3a63 100644 ---- a/gcr/meson.build -+++ b/gcr/meson.build -@@ -178,7 +178,10 @@ endif - gcr_base_dep = declare_dependency( - link_with: gcr_base_lib, - include_directories: include_directories('..'), -- sources: gcr_enums_gen[1], # Make sure gcr-enum-types-base.h can be included -+ sources: [ -+ gcr_enums_gen[1], -+ gcr_oids[1], -+ ], - ) - - if get_option('introspection') --- -2.7.4 - diff --git a/poky/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-set-internal-vapi-dependencies.patch b/poky/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-set-internal-vapi-dependencies.patch deleted file mode 100644 index b484a1b222..0000000000 --- a/poky/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-set-internal-vapi-dependencies.patch +++ /dev/null @@ -1,45 +0,0 @@ -From ebb77dad4563b882b449cbc5e882f36ac8c2de71 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 11 May 2020 22:19:16 +0000 -Subject: [PATCH] meson.build: correctly set internal vapi dependencies - -If they are set as strings, meson will supply the right -arguments to vapigen, but will not set the ninja dependencies -to ensure they get built first, and so races will occur: -https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/1881/steps/8/logs/step1b - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/55] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - gcr/meson.build | 2 +- - ui/meson.build | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/gcr/meson.build b/gcr/meson.build -index 254a933..199452f 100644 ---- a/gcr/meson.build -+++ b/gcr/meson.build -@@ -203,7 +203,7 @@ if get_option('introspection') - - gcr_vapi = gnome.generate_vapi('gcr-@0@'.format(gcr_major_version), - sources: gcr_gir[0], -- packages: [ 'glib-2.0', 'gio-2.0', 'gck-@0@'.format(gck_major_version) ], -+ packages: [ 'glib-2.0', 'gio-2.0', gck_vapi ], - metadata_dirs: meson.current_source_dir(), - vapi_dirs: [ - build_root / 'gck', -diff --git a/ui/meson.build b/ui/meson.build -index 5ca3753..477412d 100644 ---- a/ui/meson.build -+++ b/ui/meson.build -@@ -174,8 +174,8 @@ if get_option('introspection') - packages: [ - 'glib-2.0', - 'gio-2.0', -- 'gck-@0@'.format(gck_major_version), -- 'gcr-@0@'.format(gcr_major_version), -+ gck_vapi, -+ gcr_vapi, - 'gtk+-3.0' - ], - metadata_dirs: meson.current_source_dir(), diff --git a/poky/meta/recipes-gnome/gcr/gcr_3.36.0.bb b/poky/meta/recipes-gnome/gcr/gcr_3.38.0.bb index ff455a68ec..49e8f1848b 100644 --- a/poky/meta/recipes-gnome/gcr/gcr_3.36.0.bb +++ b/poky/meta/recipes-gnome/gcr/gcr_3.38.0.bb @@ -17,11 +17,7 @@ inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even # depends on gtk+3, but also x11 through gtk+-x11 REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI += " file://0001-meson.build-correctly-set-internal-vapi-dependencies.patch" -SRC_URI += " file://0001-meson-Make-sure-gcr-oids.h-is-built.patch" - -SRC_URI[archive.md5sum] = "adc65563b6b458507b9a578a8b68fb61" -SRC_URI[archive.sha256sum] = "aaf9bed017a2263c6145c89a1a84178f9f40f238426463e4ae486694ef5f6601" +SRC_URI[archive.sha256sum] = "a64cc7b65757fc2cd16de1708d132a16d05cd1f62c6eba436d56fe45d4ba27e1" FILES_${PN} += " \ ${datadir}/dbus-1 \ diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch index 5da3fbf6d8..c8c70c4b58 100644 --- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch +++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch @@ -1,4 +1,4 @@ -From 0a867caa8803a78f7cf3a204c4c358bc63daaf28 Mon Sep 17 00:00:00 2001 +From 8b3b153b6b95662316528ef083365b46cf5f7841 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen <jussi.kukkonen@intel.com> Date: Tue, 30 May 2017 14:55:49 +0300 Subject: [PATCH] Don't use AC_CANONICAL_HOST @@ -14,12 +14,12 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 1 file changed, 1 deletion(-) diff --git a/configure.ac b/configure.ac -index e749112..58790e8 100644 +index 449865d..888649e 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,6 @@ AC_PREREQ(2.53) - AC_INIT([adwaita-icon-theme], [3.36.1], + AC_INIT([adwaita-icon-theme], [3.38.0], [http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme]) -AC_CANONICAL_HOST AC_CONFIG_MACRO_DIR([m4]) diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.36.1.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb index 2d78bea2c8..ff557978dc 100644 --- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.36.1.bb +++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb @@ -16,8 +16,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ file://0001-Run-installation-commands-as-shell-jobs.patch \ " -SRC_URI[md5sum] = "c61ca9d6b3ce70a9ab66dcff945923ff" -SRC_URI[sha256sum] = "e498518627044dfd7db7d79a5b3d437848caf1991ef4ef036a2d3a2ac2c1f14d" +SRC_URI[sha256sum] = "6683a1aaf2430ccd9ea638dd4bfe1002bc92b412050c3dba20e480f979faaf97" DEPENDS += "librsvg-native" diff --git a/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb index ff365551df..ade93644ec 100644 --- a/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb +++ b/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb @@ -3,7 +3,7 @@ DESCRIPTION = "GConf is a system for storing application preferences. \ It is intended for user preferences; not configuration of something like \ Apache, or arbitrary data storage." SECTION = "x11/gnome" -HOMEPAGE = "https://projects.gnome.org/gconf/" +HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf" LICENSE = "LGPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch index 9d6f5dea3c..185ebc154a 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch @@ -1,4 +1,4 @@ -From 8dfb44450ca9fffc15977e95eadcb7054ab60a9a Mon Sep 17 00:00:00 2001 +From 41c3ee549787333a073a3ce6303efef625c74dce Mon Sep 17 00:00:00 2001 From: Sascha Silbe <x-yo17@se-silbe.de> Date: Fri, 8 Jun 2018 13:55:10 +0200 Subject: [PATCH] Relocate the repository directory for native builds @@ -21,7 +21,7 @@ Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de> 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/girepository/girepository.c b/girepository/girepository.c -index b7948d6..39a2586 100644 +index 7d03485..20f4813 100644 --- a/girepository/girepository.c +++ b/girepository/girepository.c @@ -21,6 +21,8 @@ @@ -62,10 +62,10 @@ index b7948d6..39a2586 100644 typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir); diff --git a/girepository/meson.build b/girepository/meson.build -index 204659f..3e61d31 100644 +index c8ef6aa..b85ff7f 100644 --- a/girepository/meson.build +++ b/girepository/meson.build -@@ -44,7 +44,7 @@ girepo_internals_lib = static_library('girepository-internals', +@@ -45,7 +45,7 @@ girepo_internals_lib = static_library('girepository-internals', ], c_args: gi_hidden_visibility_cflags + custom_c_args, include_directories : configinc, diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-gir-add-a-dependency-for-g-ir-compiler-for-building-.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-gir-add-a-dependency-for-g-ir-compiler-for-building-.patch deleted file mode 100644 index fc37a5bb96..0000000000 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-gir-add-a-dependency-for-g-ir-compiler-for-building-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 56ba5656258b82dbc069ab3a61e597c931a16a83 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 17 Jun 2020 11:43:16 +0200 -Subject: [PATCH] gir: add a dependency for g-ir-compiler for building .girs - -meson inserts the dependency if the compiler is used directly, but -fails to do so if the compiler is run through a wrapper. This leads -to build race errors between building the compiler and using it. - -Fix provided by Quentin Schulz <quentin.schulz@streamunlimited.com> - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/228] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - gir/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gir/meson.build b/gir/meson.build -index b37fdb81..557e5517 100644 ---- a/gir/meson.build -+++ b/gir/meson.build -@@ -448,7 +448,7 @@ foreach gir : gir_files - typelibs += custom_target('generate-typelib-@0@'.format(gir).underscorify(), - input: gir, - output: '@BASENAME@.typelib', -- depends: [gobject_gir, ], -+ depends: [gobject_gir, gircompiler, ], - command: gircompiler_command, - install: true, - install_dir: typelibdir, --- -2.27.0 - diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch new file mode 100644 index 0000000000..8fba0124cf --- /dev/null +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch @@ -0,0 +1,25 @@ +From ef5446af0ddad6a341b47957097ac40c6cb5e6d3 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 20 Oct 2020 22:40:14 +0200 +Subject: [PATCH] meson.build: exclude girepo_dep if introspection data is + disabled + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/248] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 14af2b1..a3c27c3 100644 +--- a/meson.build ++++ b/meson.build +@@ -283,7 +283,7 @@ pkg.generate( + # FIXME: meson.override_dependency() and declare_dependency()'s variable arguments + # are new in Meson 0.54.0, older versions of Meson won't be able to use g-i as + # subproject anyway +-if meson.version().version_compare('>=0.54.0') ++if meson.version().version_compare('>=0.54.0') and get_option('build_introspection_data') == true + girepo_dep = declare_dependency( + sources: typelibs, + dependencies: girepo_dep, diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.64.1.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb index 4d80f00e10..ee0ab2866b 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.64.1.bb +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb @@ -15,11 +15,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \ - file://0001-gir-add-a-dependency-for-g-ir-compiler-for-building-.patch \ + file://0001-meson.build-exclude-girepo_dep-if-introspection-data.patch \ " -SRC_URI[md5sum] = "3419dfd086efcf83768e0579ab6abd2b" -SRC_URI[sha256sum] = "80beae6728c134521926affff9b2e97125749b38d38744dc901f4010ee3e7fa7" +SRC_URI[sha256sum] = "dd44a55ee5f426ea22b6b89624708f9e8d53f5cc94e5485c15c87cb30e06161d" SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" @@ -48,7 +47,7 @@ PACKAGECONFIG[doctool] = "-Ddoctool=enabled,-Ddoctool=disabled,python3-mako," # Configure target build to use native tools of itself and to use a qemu wrapper # and optionally to generate introspection data EXTRA_OEMESON_class-target = " \ - -Dgi_cross_use_host_gi=true \ + -Dgi_cross_use_prebuilt_gi=true \ -Dgi_cross_binary_wrapper=${B}/g-ir-scanner-qemuwrapper \ -Dgi_cross_ldd_wrapper=${B}/g-ir-scanner-lddwrapper \ -Dgi_cross_pkgconfig_sysroot_path=${PKG_CONFIG_SYSROOT_DIR} \ diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch deleted file mode 100644 index c481b18f1c..0000000000 --- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 42e58c4c3e95a4a78ee8294f9b3901726bbbabe4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Sat, 11 May 2019 00:21:11 +0200 -Subject: [PATCH] Do not skip gir installation for cross compiling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We are cool and can handle cross gobject-introspection. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - headers/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/headers/meson.build b/headers/meson.build -index 3ce8b61..1132695 100644 ---- a/headers/meson.build -+++ b/headers/meson.build -@@ -19,7 +19,7 @@ enums_xml = custom_target( - install: true, - install_dir: schemasdir) - --if not meson.is_cross_build() and get_option('introspection') -+if get_option('introspection') - noinst_lib = shared_library('noinst', - headers, - install: false) --- -2.20.1 - diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.36.1.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb index f54b242e73..34681197d8 100644 --- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.36.1.bb +++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb @@ -13,6 +13,4 @@ GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even -SRC_URI[archive.md5sum] = "708ddd8dec388ebda5539667604197c3" -SRC_URI[archive.sha256sum] = "004bdbe43cf8290f2de7d8537e14d8957610ca479a4fa368e34dbd03f03ec9d9" -SRC_URI += "file://0001-Do-not-skip-gir-installation-for-cross-compiling.patch" +SRC_URI[archive.sha256sum] = "5704c8266004b296036671f223c705dc046aa694a1b1abb87c67e7d2747a8c67" diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.22.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.23.bb index 6af2bd94c1..338b7030e1 100644 --- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.22.bb +++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.23.bb @@ -8,7 +8,7 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar file://0003-Add-disable-opengl-configure-option.patch \ file://link_fribidi.patch \ " -SRC_URI[sha256sum] = "bf18a4a5dff28a7b02aaef1b949c2d09c96c18387eddab152bb4cd55a5b67dda" +SRC_URI[sha256sum] = "5d864d248357a2251545b3387b35942de5f66e4c66013f0962eb5cb6f8dae2b1" S = "${WORKDIR}/gtk+-${PV}" diff --git a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch index 5ca4e3e086..1d260aa72b 100644 --- a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch +++ b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch @@ -1,4 +1,4 @@ -From 657310f3842c84d28f6b77e8ad4d9b93472ca5da Mon Sep 17 00:00:00 2001 +From ebb0f7313a0931f646e86badce2627eff2fa37a8 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Mon, 5 Sep 2016 22:25:44 +0100 Subject: [PATCH] Use native pkg-config when looking for gtk-doc. diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.32.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.1.bb index 1eaf370ab0..5f9fe0a91d 100644 --- a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.32.bb +++ b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Documentation generator for glib-based software" DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \ from glib-based software and produce a set of html documentation files from them" -HOMEPAGE = "http://www.gtk.org/gtk-doc/" +HOMEPAGE = "https://www.gtk.org/docs/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" @@ -18,8 +18,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments" PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" -SRC_URI[archive.md5sum] = "07764836262e154e94922e5f2aa476ae" -SRC_URI[archive.sha256sum] = "de0ef034fb17cb21ab0c635ec730d19746bce52984a6706e7bbec6fb5e0b907c" +SRC_URI[archive.sha256sum] = "a5cfed2a0b73a09b796fff80ad6d8f040ab2b2655bdc941ac207ffe6d9c10f10" SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \ file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \ file://conditionaltests.patch \ @@ -59,4 +58,3 @@ gtkdoc_makefiles_sysroot_preprocess() { -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \ ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make } - diff --git a/poky/meta/recipes-gnome/json-glib/json-glib/0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch b/poky/meta/recipes-gnome/json-glib/json-glib/0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch new file mode 100644 index 0000000000..0eb7244186 --- /dev/null +++ b/poky/meta/recipes-gnome/json-glib/json-glib/0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch @@ -0,0 +1,30 @@ +From 0f06c4cb4a57083c08312144b03c8346cf620be6 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 30 Oct 2020 22:15:29 +0000 +Subject: [PATCH] json-glib/json-enum-types.c.in: fix build reproducibility + +Changes the comment and include to reference the file basename +instead of the full path. This ensures that the generated file is +reproducible when it is included in source packages meant for debugging. + +Upstream-Status: Backport [6f3842abd5dff68b6ee5f2ef48a4ebf1cbebf434] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + json-glib/json-enum-types.c.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/json-glib/json-enum-types.c.in b/json-glib/json-enum-types.c.in +index da07c46..7b39290 100644 +--- a/json-glib/json-enum-types.c.in ++++ b/json-glib/json-enum-types.c.in +@@ -9,8 +9,8 @@ + + /*** BEGIN file-production ***/ + +-/* enumerations from "@filename@" */ +-#include "@filename@" ++/* enumerations from "@basename@" */ ++#include "@basename@" + + /*** END file-production ***/ + diff --git a/poky/meta/recipes-gnome/json-glib/json-glib/0001-scanner-use-macro-instead-of-cast-to-convert-pointer.patch b/poky/meta/recipes-gnome/json-glib/json-glib/0001-scanner-use-macro-instead-of-cast-to-convert-pointer.patch deleted file mode 100644 index 2a834b674d..0000000000 --- a/poky/meta/recipes-gnome/json-glib/json-glib/0001-scanner-use-macro-instead-of-cast-to-convert-pointer.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d60fcd5bd5c2675e4342775b910a2ea48ec0eccb Mon Sep 17 00:00:00 2001 -From: Dimitry Andric <dim@FreeBSD.org> -Date: Wed, 19 Aug 2020 03:35:16 +0000 -Subject: [PATCH] scanner: use macro instead of cast to convert pointer to integer - -Clang 11 build failed due to a new warning (part of -Werror=pointer-to-int-cast): -../json-glib/json-scanner.c:928:13: error: cast to smaller integer type 'GTokenType' from 'gpointer' (aka 'void *') [-Werror,-Wvoid-pointer-to-enum-cast] - *token_p = (GTokenType) value_p->v_symbol; - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/json-glib/-/commit/8c5fabe962b7337066dac7a697d23fce257a5d64] -Signed-off-by: Jan Beich <jbeich@FreeBSD.org> -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - json-glib/json-scanner.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/json-glib/json-scanner.c b/json-glib/json-scanner.c -index 0c9919f..59dd29c 100644 ---- a/json-glib/json-scanner.c -+++ b/json-glib/json-scanner.c -@@ -925,7 +925,7 @@ json_scanner_get_token_i (JsonScanner *scanner, - - case G_TOKEN_SYMBOL: - if (scanner->config->symbol_2_token) -- *token_p = (GTokenType) value_p->v_symbol; -+ *token_p = GPOINTER_TO_INT (value_p->v_symbol); - break; - - case G_TOKEN_BINARY: --- -2.28.0 - diff --git a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb b/poky/meta/recipes-gnome/json-glib/json-glib_1.6.0.bb index add9ff41a1..59b0609900 100644 --- a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb +++ b/poky/meta/recipes-gnome/json-glib/json-glib_1.6.0.bb @@ -13,20 +13,19 @@ DEPENDS = "glib-2.0" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase lib_package gobject-introspection gtk-doc gettext ptest-gnome manpages upstream-version-is-even +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_OPTION = "gtk_doc" +GTKDOC_MESON_ENABLE_FLAG = 'enabled' +GTKDOC_MESON_DISABLE_FLAG = 'disabled' SRC_URI += "file://run-ptest \ - file://0001-scanner-use-macro-instead-of-cast-to-convert-pointer.patch \ -" -SRC_URI[archive.md5sum] = "4d4bb9837f6d31e32d0ce658ae135f68" -SRC_URI[archive.sha256sum] = "720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47" + file://0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch" +SRC_URI[archive.sha256sum] = "0d7c67602c4161ea7070fab6c5823afd9bd7f7bc955f652a50d3753b08494e73" +PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native" - -do_install_append() { - if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then - rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir} - fi -} +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.36.0.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb index 25ccee2e29..a2a1aed7bc 100644 --- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.36.0.bb +++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb @@ -12,8 +12,7 @@ inherit gnomebase upstream-version-is-even vala features_check gobject-introspec DEPENDS = "glib-2.0-native glib-2.0 gtk+3" -SRC_URI[archive.md5sum] = "154be45a6aac020e7d59f477bd7cafcf" -SRC_URI[archive.sha256sum] = "82b31bbf550fc62970c78bf7f9d55e5fae5b8ea13b24fe2d13c8c6039409d958" +SRC_URI[archive.sha256sum] = "e18af28217943bcec106585298a91ec3da48aa3ad62fd0992f23f0c70cd1678f" GIR_MESON_OPTION = 'with_introspection' diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_233.bb b/poky/meta/recipes-gnome/libgudev/libgudev_234.bb index 8bc379ff62..9cea36df5b 100644 --- a/poky/meta/recipes-gnome/libgudev/libgudev_233.bb +++ b/poky/meta/recipes-gnome/libgudev/libgudev_234.bb @@ -5,8 +5,7 @@ other programming languages, such as Javascript, because of GObject \ introspection support." HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev" BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues" -SRC_URI[archive.sha256sum] = "587c4970eb23f4e2deee2cb1fb7838c94a78c578f41ce12cac0a3f4a80dabb03" -SRC_URI[archive.md5sum] = "d59a317a40aaa02a2226056c0bb4d3e1" +SRC_URI[archive.sha256sum] = "1baeacacf0db42fa073ad5183d1decce9317857416a2b0f82ce3370d711a2e37" DEPENDS = "glib-2.0 udev" diff --git a/poky/meta/recipes-gnome/libhandy/libhandy_git.bb b/poky/meta/recipes-gnome/libhandy/libhandy_1.0.1.bb index 9f74014640..146ef62f41 100644 --- a/poky/meta/recipes-gnome/libhandy/libhandy_git.bb +++ b/poky/meta/recipes-gnome/libhandy/libhandy_1.0.1.bb @@ -3,9 +3,8 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SRC_URI = "git://gitlab.gnome.org/GNOME/${BPN}.git;protocol=https" -SRCREV = "7a193d7692c9c76a1a94f17c4d30b585f77d177c" +SRCREV = "5cee0927b8b39dea1b2a62ec6d19169f73ba06c6" S = "${WORKDIR}/git" -PV = "0.0.13" GIR_MESON_ENABLE_FLAG = 'enabled' GIR_MESON_DISABLE_FLAG = 'disabled' diff --git a/poky/meta/recipes-gnome/libportal/libportal_0.3.bb b/poky/meta/recipes-gnome/libportal/libportal_0.3.bb new file mode 100644 index 0000000000..022628b1ac --- /dev/null +++ b/poky/meta/recipes-gnome/libportal/libportal_0.3.bb @@ -0,0 +1,13 @@ +SUMMARY = "libportal provides GIO-style async APIs for most Flatpak portals." +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https" +SRCREV = "a609e06d0c4adc5c510cf9ac7b060db3d368e78f" +S = "${WORKDIR}/git" + +GTKDOC_MESON_OPTION = 'gtk_doc' + +inherit meson gtk-doc + +DEPENDS += "glib-2.0 glib-2.0-native" diff --git a/poky/meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch b/poky/meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch deleted file mode 100644 index 51ee66f42b..0000000000 --- a/poky/meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch +++ /dev/null @@ -1,137 +0,0 @@ -meson: add option introspection - -Add an option 'introspection' for meson which could control whether -build GIR files or not. - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/53] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - libsecret/meson.build | 86 ++++++++++++++++++++++--------------------- - meson.build | 1 + - meson_options.txt | 1 + - 3 files changed, 46 insertions(+), 42 deletions(-) - -diff --git a/libsecret/meson.build b/libsecret/meson.build -index 759b5ef..2ee8850 100644 ---- a/libsecret/meson.build -+++ b/libsecret/meson.build -@@ -104,50 +104,52 @@ libsecret_dep = declare_dependency( - ) - - # GObject Introspection --libsecret_gir_sources = [ -- 'secret-attributes.c', -- 'secret-attributes.h', -- 'secret-backend.c', -- 'secret-backend.h', -- 'secret-collection.c', -- 'secret-collection.h', -- 'secret-item.c', -- 'secret-item.h', -- 'secret-methods.c', -- 'secret-password.c', -- 'secret-password.h', -- 'secret-paths.c', -- 'secret-paths.h', -- 'secret-prompt.c', -- 'secret-prompt.h', -- 'secret-retrievable.c', -- 'secret-retrievable.h', -- 'secret-schema.c', -- 'secret-schema.h', -- 'secret-schemas.c', -- 'secret-schemas.h', -- 'secret-service.c', -- 'secret-service.h', -- 'secret-types.h', -- 'secret-value.c', -- 'secret-value.h', --] --libsecret_gir_sources += version_h --libsecret_gir_sources += _enums_generated -- --libsecret_gir = gnome.generate_gir(libsecret, -- sources: libsecret_gir_sources, -- namespace: 'Secret', -- nsversion: api_version_major, -- export_packages: 'libsecret-@0@'.format(api_version_major), -- includes: [ 'GObject-2.0', 'Gio-2.0' ], -- header: 'libsecret/secret.h', -- extra_args: [ '-D SECRET_COMPILATION'], -- install: true, --) -+if with_gir -+ libsecret_gir_sources = [ -+ 'secret-attributes.c', -+ 'secret-attributes.h', -+ 'secret-backend.c', -+ 'secret-backend.h', -+ 'secret-collection.c', -+ 'secret-collection.h', -+ 'secret-item.c', -+ 'secret-item.h', -+ 'secret-methods.c', -+ 'secret-password.c', -+ 'secret-password.h', -+ 'secret-paths.c', -+ 'secret-paths.h', -+ 'secret-prompt.c', -+ 'secret-prompt.h', -+ 'secret-retrievable.c', -+ 'secret-retrievable.h', -+ 'secret-schema.c', -+ 'secret-schema.h', -+ 'secret-schemas.c', -+ 'secret-schemas.h', -+ 'secret-service.c', -+ 'secret-service.h', -+ 'secret-types.h', -+ 'secret-value.c', -+ 'secret-value.h', -+ ] -+ libsecret_gir_sources += version_h -+ libsecret_gir_sources += _enums_generated -+ -+ libsecret_gir = gnome.generate_gir(libsecret, -+ sources: libsecret_gir_sources, -+ namespace: 'Secret', -+ nsversion: api_version_major, -+ export_packages: 'libsecret-@0@'.format(api_version_major), -+ includes: [ 'GObject-2.0', 'Gio-2.0' ], -+ header: 'libsecret/secret.h', -+ extra_args: [ '-D SECRET_COMPILATION'], -+ install: true, -+ ) -+endif - - # Vapi --if with_vapi -+if with_vapi and with_gir - libsecret_vapi = gnome.generate_vapi('libsecret-@0@'.format(api_version_major), - sources: libsecret_gir[0], - metadata_dirs: meson.source_root() / 'libsecret', -diff --git a/meson.build b/meson.build -index a26d046..d22e008 100644 ---- a/meson.build -+++ b/meson.build -@@ -22,6 +22,7 @@ with_gcrypt = get_option('gcrypt') - enable_debug = get_option('debugging') - with_vapi = get_option('vapi') - with_gtkdoc = get_option('gtk_doc') -+with_gir = get_option('introspection') - - # Some variables - config_h_dir = include_directories('.') -diff --git a/meson_options.txt b/meson_options.txt -index c1fda5d..445aeb0 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -3,3 +3,4 @@ option('gcrypt', type: 'boolean', value: true, description: 'With gcrypt and tra - option('debugging', type: 'boolean', value: false, description: 'Turn debugging on/off') - option('vapi', type: 'boolean', value: true, description: 'Create VAPI file.') - option('gtk_doc', type: 'boolean', value: true, description: 'Build reference documentation using gtk-doc') -+option('introspection', type: 'boolean', value: true, description: 'Create GIR file.') --- -2.17.1 - diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.20.3.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb index 533015a1e4..96f6460181 100644 --- a/poky/meta/recipes-gnome/libsecret/libsecret_0.20.3.bb +++ b/poky/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb @@ -13,10 +13,7 @@ inherit gnomebase gtk-doc vala gobject-introspection manpages DEPENDS += "glib-2.0 libgcrypt gettext-native" -SRC_URI += "file://0001-meson-add-option-introspection.patch" - -SRC_URI[archive.md5sum] = "47c3fdfeb111a87b509ad271e4a6f496" -SRC_URI[archive.sha256sum] = "4fcb3c56f8ac4ab9c75b66901fb0104ec7f22aa9a012315a14c0d6dffa5290e4" +SRC_URI[archive.sha256sum] = "325a4c54db320c406711bf2b55e5cb5b6c29823426aa82596a907595abb39d28" GTKDOC_MESON_OPTION = 'gtk_doc' diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc index fc3eade886..7d9db1f38c 100644 --- a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc +++ b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc @@ -6,6 +6,8 @@ inherit clutter features_check upstream-version-is-even gobject-introspection # depends on clutter-1.0 which depends on cogl-1.0 REQUIRED_DISTRO_FEATURES ?= "opengl" +export GST_PLUGIN_SCANNER_1_0="${S}/gst-plugin-scanner-dummy" + SRC_URI += "file://0001-Install-example-binary-needed-for-core-image-clutter.patch" DEPENDS = "gstreamer1.0-plugins-base gstreamer1.0-plugins-bad clutter-1.0 libgudev" diff --git a/poky/meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch b/poky/meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch deleted file mode 100644 index 60c996ca85..0000000000 --- a/poky/meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch +++ /dev/null @@ -1,87 +0,0 @@ -From c7d89412884de2dbfa543720d185027377e62f21 Mon Sep 17 00:00:00 2001 -From: Heiko Thiery <heiko.thiery@gmail.com> -Date: Fri, 5 Jun 2020 23:46:52 +0200 -Subject: [PATCH] xf86drm.c: fix build failure - -./xf86drm.c: In function 'drmNodeIsDRM': -../xf86drm.c:2825:7: error: "__FreeBSD__" is not defined [-Werror=undef] - #elif __FreeBSD__ - ^ -../xf86drm.c: In function 'drmGetMinorNameForFD': -../xf86drm.c:2938:7: error: "__FreeBSD__" is not defined [-Werror=undef] - #elif __FreeBSD__ - ^ -../xf86drm.c: In function 'drmParsePciBusInfo': -../xf86drm.c:3258:7: error: "__FreeBSD__" is not defined [-Werror=undef] - #elif __FreeBSD__ - ^ -../xf86drm.c: In function 'drmParsePciDeviceInfo': -../xf86drm.c:3427:7: error: "__FreeBSD__" is not defined [-Werror=undef] - #elif __FreeBSD__ - ^ -../xf86drm.c: In function 'drmGetDeviceNameFromFd2': -../xf86drm.c:4305:7: error: "__FreeBSD__" is not defined [-Werror=undef] - #elif __FreeBSD__ - ^ - -Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> - -Upstream-Status: Backport -Signed-off-by: Armin Kuster <akuster@mvista.com> - ---- - xf86drm.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/xf86drm.c b/xf86drm.c -index 07a18c4..50a6f09 100644 ---- a/xf86drm.c -+++ b/xf86drm.c -@@ -2822,7 +2822,7 @@ static bool drmNodeIsDRM(int maj, int min) - snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device/drm", - maj, min); - return stat(path, &sbuf) == 0; --#elif __FreeBSD__ -+#elif defined(__FreeBSD__) - char name[SPECNAMELEN]; - - if (!devname_r(makedev(maj, min), S_IFCHR, name, sizeof(name))) -@@ -2935,7 +2935,7 @@ static char *drmGetMinorNameForFD(int fd, int type) - - closedir(sysdir); - return NULL; --#elif __FreeBSD__ -+#elif defined(__FreeBSD__) - struct stat sbuf; - char dname[SPECNAMELEN]; - const char *mname; -@@ -3255,7 +3255,7 @@ static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info) - info->func = pinfo.func; - - return 0; --#elif __FreeBSD__ -+#elif defined(__FreeBSD__) - return get_sysctl_pci_bus_info(maj, min, info); - #else - #warning "Missing implementation of drmParsePciBusInfo" -@@ -3424,7 +3424,7 @@ static int drmParsePciDeviceInfo(int maj, int min, - device->subdevice_id = pinfo.subdevice_id; - - return 0; --#elif __FreeBSD__ -+#elif defined(__FreeBSD__) - drmPciBusInfo info; - struct pci_conf_io pc; - struct pci_match_conf patterns[1]; -@@ -4302,7 +4302,7 @@ drm_public char *drmGetDeviceNameFromFd2(int fd) - free(value); - - return strdup(path); --#elif __FreeBSD__ -+#elif defined(__FreeBSD__) - return drmGetDeviceNameFromFd(fd); - #else - struct stat sbuf; --- -1.8.3.1 - diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.102.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.103.bb index ad512d14a9..1028d618ae 100644 --- a/poky/meta/recipes-graphics/drm/libdrm_2.4.102.bb +++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.103.bb @@ -10,10 +10,9 @@ LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c5 PROVIDES = "drm" DEPENDS = "libpthread-stubs" -SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \ - file://0001-xf86drm.c-fix-build-failure.patch " +SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz" -SRC_URI[sha256sum] = "8bcbf9336c28e393d76c1f16d7e79e394a7fce8a2e929d52d3ad7ad8525ba05b" +SRC_URI[sha256sum] = "3fe0affdba6460166a7323290c18cf68e9b59edcb520722826cb244e9cb50222" inherit meson pkgconfig manpages diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.10.2.bb b/poky/meta/recipes-graphics/freetype/freetype_2.10.4.bb index 1034ddc0d7..8462cd3511 100644 --- a/poky/meta/recipes-graphics/freetype/freetype_2.10.2.bb +++ b/poky/meta/recipes-graphics/freetype/freetype_2.10.4.bb @@ -15,8 +15,7 @@ LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=4af6221506f202774ef74f64932878a1 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BP}.tar.xz \ file://use-right-libtool.patch \ " -SRC_URI[md5sum] = "7c0d5a39f232d7eb9f9d7da76bf08074" -SRC_URI[sha256sum] = "1543d61025d2e6312e0a1c563652555f17378a204a61e99928c9fcef030a2d8b" +SRC_URI[sha256sum] = "86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784" UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)" diff --git a/poky/meta/recipes-graphics/glslang/glslang_8.13.3743.bb b/poky/meta/recipes-graphics/glslang/glslang_8.13.3743.bb new file mode 100644 index 0000000000..2c4f4be5a2 --- /dev/null +++ b/poky/meta/recipes-graphics/glslang/glslang_8.13.3743.bb @@ -0,0 +1,20 @@ +SUMMARY = "OpenGL / OpenGL ES Reference Compiler" +DESCRIPTION = "Glslang is the official reference compiler front end for the \ +OpenGL ES and OpenGL shading languages. It implements a strict interpretation \ +of the specifications for these languages. It is open and free for anyone to use, \ +either from a command line or programmatically." +SECTION = "graphics" +HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=918e668376010a04448a312fb37ae69b" + +SRCREV = "e05cc20ec20a154d94256c744a3837c23719c0f9" +SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https" +UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$" +S = "${WORKDIR}/git" + +PV = "8.13.3743+git${SRCPV}" + +inherit cmake python3native + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/images/core-image-weston.bb b/poky/meta/recipes-graphics/images/core-image-weston.bb index fa7e9ef421..8d88e3bc0c 100644 --- a/poky/meta/recipes-graphics/images/core-image-weston.bb +++ b/poky/meta/recipes-graphics/images/core-image-weston.bb @@ -8,7 +8,7 @@ inherit core-image features_check REQUIRED_DISTRO_FEATURES = "wayland" -CORE_IMAGE_BASE_INSTALL += "weston weston-init weston-examples gtk+3-demo clutter-1.0-examples" +CORE_IMAGE_BASE_INSTALL += "weston weston-init weston-examples wayland-utils gtk+3-demo clutter-1.0-examples" CORE_IMAGE_BASE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'weston-xwayland matchbox-terminal', '', d)}" QB_MEM = "-m 512" diff --git a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch index 82fffe1e68..152db441bc 100644 --- a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch +++ b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch @@ -19,7 +19,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 2bc3458..ea3041e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -189,10 +189,6 @@ endif() +@@ -191,10 +191,6 @@ endif() report_option(ENABLE_SHARED "Shared libraries") report_option(ENABLE_STATIC "Static libraries") @@ -27,6 +27,6 @@ index 2bc3458..ea3041e 100644 - set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) -endif() - - if(WITH_12BIT) - set(WITH_ARITH_DEC 0) - set(WITH_ARITH_ENC 0) + if(WITH_JPEG8 OR WITH_JPEG7) + set(WITH_ARITH_ENC 1) + set(WITH_ARITH_DEC 1) diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb index 9729fb5dd5..b6efc6bca0 100644 --- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb +++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb @@ -4,8 +4,8 @@ HOMEPAGE = "http://libjpeg-turbo.org/" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \ - file://jpeglib.h;endline=16;md5=7ea97dc83b0f59052ee837e61ef0e08f \ - file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \ + file://jpeglib.h;endline=16;md5=52b5eaade8d5b6a452a7693dfe52c084 \ + file://djpeg.c;endline=11;md5=302e980133b5c0c7f4dcb4ca0df41090 \ " DEPENDS_append_x86-64_class-target = " nasm-native" DEPENDS_append_x86_class-target = " nasm-native" @@ -14,8 +14,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ file://0001-libjpeg-turbo-fix-package_qa-error.patch \ " -SRC_URI[md5sum] = "3a7dc293918775fc933f81e2bce36464" -SRC_URI[sha256sum] = "16f8f6f2715b3a38ab562a84357c793dd56ae9899ce130563c72cd93d8357b5d" +SRC_URI[md5sum] = "4cada3f0bdc93d826fa31bf9e4469ef6" +SRC_URI[sha256sum] = "d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb" UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/" UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/" diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb index c72fbc61a9..478d5c4de4 100644 --- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb +++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb @@ -6,7 +6,7 @@ DEPENDS = "virtual/libgles2 virtual/egl libdrm" LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb" -SRCREV = "4660a7dca6512b6e658759d00cff7d4ad2a2059d" +SRCREV = "e6386d1b99366ea7559438c0d3abd2ae2d6d61ac" SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https" UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-renderfillrect-fix.patch b/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-renderfillrect-fix.patch new file mode 100644 index 0000000000..83d4f4b1ec --- /dev/null +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-renderfillrect-fix.patch @@ -0,0 +1,33 @@ +# HG changeset patch +# User Sam Lantinga <slouken@libsdl.org> +# Date 1590793369 25200 +# Node ID a90089f75990e8b07a1dcf931c5f8a580ae343bf +# Parent a9b4bd264f3cbedc4f3287b3ec6b32311370ba85 +Fixed bug 5146 - SDL_RenderFillRect doesn't work in DirectFB + +Lacky + +It looks like refactoring of SDL2 internal API has broken SDL_RenderFillRect for DirectFB. In new version function SDL_RenderFillRect returns 0, but rectangle is not visible. + +Replacing "count" with "len" in the argument list for SDL_memcpy in DirectFB_QueueFillRects fixes problem. + +-- + +The patch was imported from the libsdl Mercurial repository +(https://hg.libsdl.org/SDL) as of changeset id a90089f75990. + +Upstream-Status: Backport + +Signed-off-by: Mark Jonas <toertel@gmail.com> + +diff -r a9b4bd264f3c -r a90089f75990 src/video/directfb/SDL_DirectFB_render.c +--- a/src/video/directfb/SDL_DirectFB_render.c Thu May 21 00:06:09 2020 -0400 ++++ b/src/video/directfb/SDL_DirectFB_render.c Fri May 29 16:02:49 2020 -0700 +@@ -626,7 +626,7 @@ + } + + cmd->data.draw.count = count; +- SDL_memcpy(verts, rects, count); ++ SDL_memcpy(verts, rects, len); + return 0; + } diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-spurious-curly-brace-missing-e.patch b/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-spurious-curly-brace-missing-e.patch new file mode 100644 index 0000000000..aa351a89ba --- /dev/null +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-spurious-curly-brace-missing-e.patch @@ -0,0 +1,49 @@ +# HG changeset patch +# User Fabrice Fontaine <fontaine.fabrice@gmail.com> +# Date 1585069551 25200 +# Node ID 769f800952179633ec6c3e6bc1bc1d40e401750a +# Parent 63387e8920f58f608288f247824ec5f4c286691f +src/video/directfb/SDL_DirectFB_render.c: fix build +Build with directfb is broken due to a spurious '}' and a missing 'E' +since version 2.0.12 and https://hg.libsdl.org/SDL/rev/2d5b5a5ccbfb: + +/home/buildroot/autobuild/run/instance-2/output-1/build/sdl2-2.0.12/src/video/directfb/SDL_DirectFB_render.c: In function 'SetBlendMode': +/home/buildroot/autobuild/run/instance-2/output-1/build/sdl2-2.0.12/src/video/directfb/SDL_DirectFB_render.c:202:9: error: case label not within a switch statement + 202 | case SDL_BLENDMODE_MUL: + | ^~~~ + +/home/buildroot/autobuild/run/instance-2/output-1/build/sdl2-2.0.12/src/video/directfb/SDL_DirectFB_render.c:205:67: error: 'DSBF_DSTCOLOR' undeclared (first use in this function); did you mean 'DSBF_DESTCOLOR'? + 205 | SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DSTCOLOR)); + | ^~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/83ccefee68c2800c0544e6f40fa8bc8ee6b67b77 + +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> + +-- + +The patch was imported from the libsdl Mercurial repository +(https://hg.libsdl.org/SDL) as of changeset id 769f80095217. + +Upstream-Status: Backport + +Signed-off-by: Mark Jonas <toertel@gmail.com> + + +diff -r 63387e8920f5 -r 769f80095217 src/video/directfb/SDL_DirectFB_render.c +--- a/src/video/directfb/SDL_DirectFB_render.c Mon Mar 23 14:10:25 2020 -0700 ++++ b/src/video/directfb/SDL_DirectFB_render.c Tue Mar 24 10:05:51 2020 -0700 +@@ -198,11 +198,10 @@ + SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_SRCCOLOR)); + + break; +- } + case SDL_BLENDMODE_MUL: + data->blitFlags = DSBLIT_BLEND_ALPHACHANNEL; + data->drawFlags = DSDRAW_BLEND; +- SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DSTCOLOR)); ++ SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DESTCOLOR)); + SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_INVSRCALPHA)); + + break; diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb index 83dce86801..5fa99821c4 100644 --- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb @@ -18,6 +18,8 @@ PROVIDES = "virtual/libsdl2" SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \ file://more-gen-depends.patch \ + file://directfb-spurious-curly-brace-missing-e.patch \ + file://directfb-renderfillrect-fix.patch \ " S = "${WORKDIR}/SDL2-${PV}" @@ -34,6 +36,7 @@ CVE_PRODUCT = "simple_directmedia_layer sdl" EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \ --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \ --disable-video-dummy \ + --disable-video-rpi \ --enable-pthreads \ --enable-sdl-dlopen \ --disable-rpath \ @@ -55,7 +58,7 @@ PACKAGECONFIG ??= " \ " PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib," PACKAGECONFIG[arm-neon] = "--enable-arm-neon,--disable-arm-neon" -PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb" +PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb,directfb" PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm" diff --git a/poky/meta/recipes-graphics/libva/libva-initial_2.8.0.bb b/poky/meta/recipes-graphics/libva/libva-initial_2.8.0.bb deleted file mode 100644 index f90bb510c4..0000000000 --- a/poky/meta/recipes-graphics/libva/libva-initial_2.8.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require libva.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" -SRC_URI[sha256sum] = "adbb1244d278908f89ccfcf254a442de6d71934565a492cb6f03caf2ed4d1ec3" - -do_install_append () { - rm -f ${D}${libdir}/*.so* -} diff --git a/poky/meta/recipes-graphics/libva/libva-initial_2.9.0.bb b/poky/meta/recipes-graphics/libva/libva-initial_2.9.0.bb new file mode 100644 index 0000000000..5c6abeafe6 --- /dev/null +++ b/poky/meta/recipes-graphics/libva/libva-initial_2.9.0.bb @@ -0,0 +1,5 @@ +require libva.inc + +do_install_append () { + rm -f ${D}${libdir}/*.so* +} diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.8.0.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.9.1.bb index 78e3805339..feb9ce1662 100644 --- a/poky/meta/recipes-graphics/libva/libva-utils_2.8.0.bb +++ b/poky/meta/recipes-graphics/libva/libva-utils_2.9.1.bb @@ -14,8 +14,8 @@ SECTION = "x11" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" -SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.8-branch" -SRCREV = "af101a46d24c3f71a12b9f1ddb0c63626b19b3d8" +SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.9-branch" +SRCREV = "50c7f19d65e2535940e31c6711352b36d6d64fd7" S = "${WORKDIR}/git" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$" diff --git a/poky/meta/recipes-graphics/libva/libva.inc b/poky/meta/recipes-graphics/libva/libva.inc index e7bec80c14..7b6f11674d 100644 --- a/poky/meta/recipes-graphics/libva/libva.inc +++ b/poky/meta/recipes-graphics/libva/libva.inc @@ -17,6 +17,8 @@ SECTION = "x11" LICENSE = "MIT" SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2" +LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" +SRC_URI[sha256sum] = "e344c1392dde92696c9ffd9cb3c7277d0a3b912236eb4e0fdedf7f375434584b" S = "${WORKDIR}/libva-${PV}" diff --git a/poky/meta/recipes-graphics/libva/libva_2.8.0.bb b/poky/meta/recipes-graphics/libva/libva_2.9.0.bb index 621ceea86c..4d3fa50963 100644 --- a/poky/meta/recipes-graphics/libva/libva_2.8.0.bb +++ b/poky/meta/recipes-graphics/libva/libva_2.9.0.bb @@ -1,8 +1,5 @@ require libva.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" -SRC_URI[sha256sum] = "adbb1244d278908f89ccfcf254a442de6d71934565a492cb6f03caf2ed4d1ec3" - PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', '', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} \ diff --git a/poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch b/poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch new file mode 100644 index 0000000000..a61e7b2160 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch @@ -0,0 +1,31 @@ +From f148d4f1b5b13288b254ead07f1d008d997e2342 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Mon, 2 Nov 2020 23:23:53 +0100 +Subject: [PATCH] anv: fix a build race between generating a header and using + it + +anv_batch_chain.c includes genX_bits.h but doesn't ensure it gets +generated first. This causes build failures, as observed here: +https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/1501/steps/8/logs/step2d + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7412] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + src/intel/vulkan/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build +index 36e1689314e..b713d8eade3 100644 +--- a/src/intel/vulkan/meson.build ++++ b/src/intel/vulkan/meson.build +@@ -131,6 +131,7 @@ libanv_files = files( + anv_deps = [ + dep_libdrm, + dep_valgrind, ++ idep_genxml, + idep_nir_headers, + idep_vulkan_util_headers, + ] +-- +2.29.0 + diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch new file mode 100644 index 0000000000..9ee72880a2 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch @@ -0,0 +1,36 @@ +From cf17d6251653f4a98e7c4f904ea2f0bc0ecedd5c Mon Sep 17 00:00:00 2001 +From: Duncan Hopkins <duncan@duncanhopkins.me.uk> +Date: Thu, 15 Oct 2020 12:14:57 +0100 +Subject: [PATCH] meson: Add xcb-fixes to loader when using x11 and dri3. Fixes + undefined symbol for xcb_xfixes_create_region in loader_dri3_helper.c + +loader_dr3_helper.c uses xcb_xfixes_create_region() that requires dep_xcb_xfixes to link. This is dependent on with_platform_x11 and with_dri3. +But the source meson file does not set this up dependent on with_dri3. +The build was initialsed using platforms=x11 and gallium-drivers=zink,swrast. + +Reviewed-by: Eric Anholt <eric@anholt.net> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7164> + +Upstream-Status: Backport [cf17d6251653f4a98e7c4f904ea2f0bc0ecedd5c] + +--- + meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index cfe02fa6373..3cb3c904927 100644 +--- a/meson.build ++++ b/meson.build +@@ -1782,7 +1782,8 @@ if with_platform_x11 + dep_xxf86vm = dependency('xxf86vm') + endif + endif +- if (with_egl or ( ++ if (with_egl or ++ with_dri3 or ( + with_gallium_vdpau or with_gallium_xvmc or with_gallium_xa or + with_gallium_omx != 'disabled')) + dep_xcb_xfixes = dependency('xcb-xfixes') +-- +2.17.1 + diff --git a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch index ee171ad1c8..74f7fe5c2d 100644 --- a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch +++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch @@ -1,4 +1,4 @@ -From 65857eaee12a21a631750ffcd9e64e0afbbc3af0 Mon Sep 17 00:00:00 2001 +From ce57ce220d9c377beabf4914f33c43118f672ffe Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair@alistair23.me> Date: Thu, 14 Nov 2019 13:08:31 -0800 Subject: [PATCH] meson.build: make TLS ELF optional @@ -15,23 +15,23 @@ Signed-off-by: Alistair Francis <alistair@alistair23.me> 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index c51dde9..c16f78f 100644 +index c5136ea..185270d 100644 --- a/meson.build +++ b/meson.build -@@ -392,7 +392,7 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless or with_plat - endif +@@ -424,7 +424,7 @@ endif # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS. --if not ['windows', 'freebsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) -+if not ['windows', 'freebsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls') + use_elf_tls = false +-if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) ++if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls') pre_args += '-DUSE_ELF_TLS' + use_elf_tls = true endif - diff --git a/meson_options.txt b/meson_options.txt -index ab43150..d7b1555 100644 +index 2d39d13..72006eb 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -355,6 +355,12 @@ option( +@@ -368,6 +368,12 @@ option( value : true, description : 'Enable direct rendering in GLX and EGL for DRI', ) diff --git a/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch b/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch deleted file mode 100644 index a0536c87ac..0000000000 --- a/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 7eaa21a79ce6d6e92f6bf98c28b68e3fcb4d7874 Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Wed, 12 Jun 2019 14:18:31 -0300 -Subject: [PATCH] Allow enable DRI without DRI drivers - -Upstream-Status: Pending - -Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> - ---- - meson.build | 2 +- - meson_options.txt | 6 ++++++ - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index a954118..62864c6 100644 ---- a/meson.build -+++ b/meson.build -@@ -154,7 +154,7 @@ with_dri_r200 = dri_drivers.contains('r200') - with_dri_nouveau = dri_drivers.contains('nouveau') - with_dri_swrast = dri_drivers.contains('swrast') - --with_dri = dri_drivers.length() != 0 and dri_drivers != [''] -+with_dri = get_option('dri') or (dri_drivers.length() != 0 and dri_drivers != ['']) - - gallium_drivers = get_option('gallium-drivers') - if gallium_drivers.contains('auto') -diff --git a/meson_options.txt b/meson_options.txt -index 637ff14..700c34c 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -35,6 +35,12 @@ option( - choices : ['auto', 'true', 'false'], - description : 'enable support for dri3' - ) -+option( -+ 'dri', -+ type : 'boolean', -+ value : false, -+ description : 'enable support for dri' -+) - option( - 'dri-drivers', - type : 'array', diff --git a/poky/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch b/poky/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch index 8d614e571a..833742359f 100644 --- a/poky/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch +++ b/poky/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch @@ -1,4 +1,4 @@ -From 41cd8836d785c79381764e7de59319f87959a5cf Mon Sep 17 00:00:00 2001 +From 43d9e40db7357f27e91002b2bb7688b6775ebb43 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair@alistair23.me> Date: Thu, 14 Nov 2019 09:06:02 -0800 Subject: [PATCH] Revert "mesa: Enable asm unconditionally, now that @@ -15,18 +15,18 @@ Signed-off-by: Alistair Francis <alistair@alistair23.me> 2 files changed, 67 insertions(+), 33 deletions(-) diff --git a/meson.build b/meson.build -index 62864c6..b53be8d 100644 +index e7dc599..e2fc934 100644 --- a/meson.build +++ b/meson.build -@@ -49,6 +49,7 @@ with_vulkan_icd_dir = get_option('vulkan-icd-dir') +@@ -52,6 +52,7 @@ pre_args = [ + with_vulkan_icd_dir = get_option('vulkan-icd-dir') with_tests = get_option('build-tests') - with_valgrind = get_option('valgrind') - with_libunwind = get_option('libunwind') + with_aco_tests = get_option('build-aco-tests') +with_asm = get_option('asm') with_glx_read_only_text = get_option('glx-read-only-text') with_glx_direct = get_option('glx-direct') with_osmesa = get_option('osmesa') -@@ -1093,41 +1094,68 @@ dep_ws2_32 = cc.find_library('ws2_32', required : with_platform_windows) +@@ -1154,41 +1155,68 @@ dep_ws2_32 = cc.find_library('ws2_32', required : with_platform_windows) # TODO: shared/static? Is this even worth doing? @@ -129,10 +129,10 @@ index 62864c6..b53be8d 100644 endif diff --git a/meson_options.txt b/meson_options.txt -index 700c34c..62e8472 100644 +index 147cccb..562b059 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -241,6 +241,12 @@ option( +@@ -254,6 +254,12 @@ option( value : false, description : 'Enable GLVND support.' ) diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_20.1.8.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_20.2.1.bb index e50782be1c..e50782be1c 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_20.1.8.bb +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_20.2.1.bb diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index 9fc62e95e1..a6652b0ddb 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -10,21 +10,22 @@ HOMEPAGE = "http://mesa3d.org" BUGTRACKER = "https://bugs.freedesktop.org" SECTION = "x11" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/license.html;md5=c1843d93c460bbf778d6037ce324f9f7" +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9aa1bc48c9826ad9fdb16661f6930496" PE = "2" SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \ file://0002-meson.build-make-TLS-ELF-optional.patch \ - file://0003-Allow-enable-DRI-without-DRI-drivers.patch \ file://0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch \ file://0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \ + file://0001-anv-fix-a-build-race-between-generating-a-header-and.patch \ + file://0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch \ " -SRC_URI[sha256sum] = "df21351494f7caaec5a3ccc16f14f15512e98d2ecde178bba1d134edc899b961" +SRC_URI[sha256sum] = "d1a46d9a3f291bc0e0374600bdcb59844fa3eafaa50398e472a36fc65fd0244a" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" @@ -48,11 +49,6 @@ PROVIDES = " \ inherit meson pkgconfig python3native gettext features_check -# Unset these to stop python trying to report the target Python setup -_PYTHON_SYSCONFIGDATA_NAME[unexport] = "1" -STAGING_INCDIR[unexport] = "1" -STAGING_LIBDIR[unexport] = "1" - BBCLASSEXTEND = "native nativesdk" ANY_OF_DISTRO_FEATURES_class-target = "opengl vulkan" @@ -88,6 +84,9 @@ EXTRA_OEMESON = " \ -Dplatforms='${@",".join("${PLATFORMS}".split())}' \ " +def strip_comma(s): + return s.strip(',') + PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium virgl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \ @@ -114,16 +113,16 @@ DRIDRIVERS_class-nativesdk = "swrast" DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" # "dri" requires "opengl" -PACKAGECONFIG[dri] = "-Ddri=true -Ddri-drivers=${DRIDRIVERS}, -Ddri=false -Ddri-drivers='', xorgproto libdrm" +PACKAGECONFIG[dri] = "-Ddri-drivers=${@strip_comma('${DRIDRIVERS}')}, -Ddri-drivers='', xorgproto libdrm" PACKAGECONFIG[dri3] = "-Ddri3=true, -Ddri3=false, xorgproto libxshmfence" # Vulkan drivers need dri3 enabled -# radeon could be enabled as well but requires gallium-llvm with llvm >= 3.9 +# amd could be enabled as well but requires gallium-llvm with llvm >= 3.9 VULKAN_DRIVERS = "" VULKAN_DRIVERS_append_x86_class-target = ",intel" VULKAN_DRIVERS_append_x86-64_class-target = ",intel" VULKAN_DRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" -PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${VULKAN_DRIVERS}, -Dvulkan-drivers=''," +PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers=''," PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false" @@ -150,9 +149,8 @@ GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}" # radeonsi requires LLVM -GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" -GALLIUMDRIVERS_LLVM33_ENABLED = "${@oe.utils.version_less_or_equal('MESA_LLVM_RELEASE', '3.2', False, len('${GALLIUMDRIVERS_LLVM33}') > 0, d)}" -GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${@',${GALLIUMDRIVERS_LLVM33}' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" +GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" +GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${GALLIUMDRIVERS_RADEONSI}" PACKAGECONFIG[r600] = "" PACKAGECONFIG[virgl] = "" @@ -161,9 +159,9 @@ GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ' GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}" GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}" -PACKAGECONFIG[gallium] = "-Dgallium-drivers=${GALLIUMDRIVERS}, -Dgallium-drivers=''" +PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers=''" PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true, -Dllvm=false, llvm${MESA_LLVM_RELEASE} llvm-native \ - ${@'elfutils' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" + elfutils" PACKAGECONFIG[xa] = "-Dgallium-xa=true, -Dgallium-xa=false" PACKAGECONFIG[va] = "-Dgallium-va=true,-Dgallium-va=false,libva-initial" diff --git a/poky/meta/recipes-graphics/mesa/mesa_20.1.8.bb b/poky/meta/recipes-graphics/mesa/mesa_20.2.1.bb index 96e8aa38d6..96e8aa38d6 100644 --- a/poky/meta/recipes-graphics/mesa/mesa_20.1.8.bb +++ b/poky/meta/recipes-graphics/mesa/mesa_20.2.1.bb diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch new file mode 100644 index 0000000000..caa48e088d --- /dev/null +++ b/poky/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch @@ -0,0 +1,27 @@ +From d623e9797b7ee9b3739a8a4afe1a01f7e03754aa Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sun, 1 Nov 2020 20:08:49 +0000 +Subject: [PATCH] Add a missing include for htobe32 definition + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c b/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c +index 5f45e0c23..c755ee29a 100644 +--- a/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c ++++ b/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c +@@ -34,6 +34,8 @@ + + #include "piglit-util-gl.h" + ++#include <endian.h> ++ + #define IMAGE_WIDTH 60 + #define IMAGE_HEIGHT 60 + +-- +2.17.1 + diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb index d35117a4f9..a9d1d39dfe 100644 --- a/poky/meta/recipes-graphics/piglit/piglit_git.bb +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -7,10 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0" SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https \ file://0001-cmake-install-bash-completions-in-the-right-place.patch \ file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \ + file://0001-Add-a-missing-include-for-htobe32-definition.patch \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "2a6a8f954dcd3f748055f28e019d2eca64635332" +SRCREV = "59e695c16fdcdd4ea4f16365f0e397a93cef7b80" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" diff --git a/poky/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch b/poky/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch new file mode 100644 index 0000000000..7102e25bcf --- /dev/null +++ b/poky/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch @@ -0,0 +1,49 @@ +From 0b9468d4face34879214f500b15e810cdd1a81a1 Mon Sep 17 00:00:00 2001 +From: Niklas Haas <git@haasn.xyz> +Date: Tue, 29 May 2018 07:34:00 +0200 +Subject: [PATCH] Fix the link order of libglslang and libHLSL + +libglslang depends on libHLSL, so the latter needs to be specified last. +This fixes an issue when trying to build shaderc against system-wide +versions of libglslang/libHLSL, rather than the in-tree versions from +third_party. + +Additionally, libshaderc_util also depends on SPIRV-Tools + +Upstream-Status: Backport [21c8be385b3fab5edcb934a6d99f69fd389c4e67] + +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> + +--- + glslc/CMakeLists.txt | 2 +- + libshaderc_util/CMakeLists.txt | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt +index 31664d1..35b3f19 100644 +--- a/glslc/CMakeLists.txt ++++ b/glslc/CMakeLists.txt +@@ -43,7 +43,7 @@ if (SHADERC_ENABLE_WGSL_OUTPUT) + endif(SHADERC_ENABLE_WGSL_OUTPUT) + + target_link_libraries(glslc PRIVATE +- glslang OSDependent OGLCompiler HLSL glslang SPIRV # Glslang libraries ++ glslang OSDependent OGLCompiler glslang SPIRV HLSL # Glslang libraries + $<$<BOOL:${SHADERC_ENABLE_WGSL_OUTPUT}>:libtint> # Tint libraries, optional + shaderc_util shaderc # internal Shaderc libraries + ${CMAKE_THREAD_LIBS_INIT}) +diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt +index 48f9991..984cc06 100644 +--- a/libshaderc_util/CMakeLists.txt ++++ b/libshaderc_util/CMakeLists.txt +@@ -46,8 +46,8 @@ add_definitions(-DENABLE_HLSL) + + find_package(Threads) + target_link_libraries(shaderc_util PRIVATE +- glslang OSDependent OGLCompiler HLSL glslang SPIRV +- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT}) ++ glslang OSDependent OGLCompiler glslang HLSL SPIRV ++ SPIRV-Tools-opt SPIRV-Tools ${CMAKE_THREAD_LIBS_INIT}) + + shaderc_add_tests( + TEST_PREFIX shaderc_util diff --git a/poky/meta/recipes-graphics/shaderc/files/0003-cmake-de-vendor-libs-and-disable-git-versioning.patch b/poky/meta/recipes-graphics/shaderc/files/0003-cmake-de-vendor-libs-and-disable-git-versioning.patch new file mode 100644 index 0000000000..0d58925adc --- /dev/null +++ b/poky/meta/recipes-graphics/shaderc/files/0003-cmake-de-vendor-libs-and-disable-git-versioning.patch @@ -0,0 +1,53 @@ +From e092619a9ef7910ad56acfb8728c66f0125d176a Mon Sep 17 00:00:00 2001 +From: Jose Quaresma <quaresma.jose@gmail.com> +Date: Sat, 17 Oct 2020 12:51:50 +0100 +Subject: [PATCH 3/3] cmake: de-vendor libs and disable git versioning + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> +--- + CMakeLists.txt | 2 -- + glslc/CMakeLists.txt | 1 - + glslc/src/build-version.inc | 0 + 3 files changed, 3 deletions(-) + create mode 100644 glslc/src/build-version.inc + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a4e779b..cfa7bd8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,7 +70,6 @@ endif(MSVC) + + # Configure subdirectories. + # We depend on these for later projects, so they should come first. +-add_subdirectory(third_party) + + if(SHADERC_ENABLE_SPVC) + add_subdirectory(libshaderc_spvc) +@@ -79,7 +78,6 @@ endif() + add_subdirectory(libshaderc_util) + add_subdirectory(libshaderc) + add_subdirectory(glslc) +-add_subdirectory(examples) + + add_custom_target(build-version + ${PYTHON_EXECUTABLE} +diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt +index 0f5d888..08686e0 100644 +--- a/glslc/CMakeLists.txt ++++ b/glslc/CMakeLists.txt +@@ -26,7 +26,6 @@ shaderc_default_compile_options(glslc_exe) + target_include_directories(glslc_exe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/.. ${spirv-tools_SOURCE_DIR}/include) + set_target_properties(glslc_exe PROPERTIES OUTPUT_NAME glslc) + target_link_libraries(glslc_exe PRIVATE glslc shaderc_util shaderc) +-add_dependencies(glslc_exe build-version) + + shaderc_add_tests( + TEST_PREFIX glslc +diff --git a/glslc/src/build-version.inc b/glslc/src/build-version.inc +new file mode 100644 +index 0000000..e69de29 +-- +2.28.0 + diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2020.3.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2020.3.bb new file mode 100644 index 0000000000..f5edf53caf --- /dev/null +++ b/poky/meta/recipes-graphics/shaderc/shaderc_2020.3.bb @@ -0,0 +1,33 @@ +SUMMARY = "A collection of tools, libraries and tests for shader compilation" +DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \ +source code to SPIRV modules. It has been shipping in the Android NDK since version r12b." +SECTION = "graphics" +HOMEPAGE = "https://github.com/google/shaderc" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRCREV = "1fce59794079f90ceb091190adbbb5499acd4e95" +SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \ + file://0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch \ + file://0003-cmake-de-vendor-libs-and-disable-git-versioning.patch \ + " +S = "${WORKDIR}/git" + +inherit cmake python3native + +DEPENDS = "spirv-tools glslang" + +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DSHADERC_SKIP_TESTS=ON" + +do_configure_prepend() { + # TODO: probably there is better solution for this. + # I dont know any method for get the version of a receipe in DEPENDS + # so do this ugly hack + cat <<- EOF > ${S}/glslc/src/build-version.inc +"${PV}\\n" +"$(pkg-config --modversion SPIRV-Tools)\\n" +"$(glslangValidator --version | head -1 | cut -d' ' -f3)\\n" +EOF +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch b/poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch new file mode 100644 index 0000000000..5d37da8fe0 --- /dev/null +++ b/poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch @@ -0,0 +1,35 @@ +From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Dec 2019 07:02:24 -0800 +Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files + +Upstream-Status: Submitted [https://github.com/google/effcee/pull/36] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + CMakeLists.txt | 1 + + effcee/CMakeLists.txt | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +--- a/external/effcee/CMakeLists.txt ++++ b/external/effcee/CMakeLists.txt +@@ -27,6 +27,7 @@ endif() + + include(cmake/setup_build.cmake) + include(cmake/utils.cmake) ++include(GNUInstallDirs) + + add_subdirectory(third_party) + add_subdirectory(effcee) +--- a/external/effcee/effcee/CMakeLists.txt ++++ b/external/effcee/effcee/CMakeLists.txt +@@ -14,8 +14,8 @@ install( + DESTINATION + include/effcee) + install(TARGETS effcee +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + if(EFFCEE_BUILD_TESTING) + add_executable(effcee-test diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_2020.5.bb b/poky/meta/recipes-graphics/spir/spirv-tools_2020.5.bb new file mode 100644 index 0000000000..5e42987240 --- /dev/null +++ b/poky/meta/recipes-graphics/spir/spirv-tools_2020.5.bb @@ -0,0 +1,38 @@ +SUMMARY = "The SPIR-V Tools project provides an API and commands for \ +processing SPIR-V modules" +DESCRIPTION = "The project includes an assembler, binary module parser, \ +disassembler, validator, and optimizer for SPIR-V." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" +SECTION = "graphics" + +S = "${WORKDIR}/git" +DEST_DIR = "${S}/external" +SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;name=spirv-tools \ + git://github.com/KhronosGroup/SPIRV-Headers.git;name=spirv-headers;destsuffix=${DEST_DIR}/spirv-headers \ + git://github.com/google/effcee.git;name=effcee;destsuffix=${DEST_DIR}/effcee \ + git://github.com/google/re2.git;name=re2;destsuffix=${DEST_DIR}/re2 \ + git://github.com/google/googletest.git;name=googletest;destsuffix=${DEST_DIR}/googletest \ + file://0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch;destsuffix=${DEST_DIR}/effcee \ +" +SRCREV_spirv-tools = "b27e039c68dd9eb959bb9249fcb2c9a54841474b" +SRCREV_spirv-headers = "3fdabd0da2932c276b25b9b4a988ba134eba1aa6" +SRCREV_effcee = "cd25ec17e9382f99a895b9ef53ff3c277464d07d" +SRCREV_re2 = "5bd613749fd530b576b890283bfb6bc6ea6246cb" +SRCREV_googletest = "f2fb48c3b3d79a75a88a99fba6576b25d42ec528" + +inherit cmake python3native + +EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF" + +do_install_append() { + install -d ${D}/${includedir}/spirv + install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}${includedir}/spirv + install -d ${D}/${includedir}/spirv/unified1 + install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/unified1/* ${D}${includedir}/spirv/unified1 +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*.so" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch deleted file mode 100644 index 153e662733..0000000000 --- a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 663d51cd31fd98411e25f37aaf52b591d9639bf5 Mon Sep 17 00:00:00 2001 -From: "Maxin B. John" <maxin.john@intel.com> -Date: Mon, 30 Jul 2018 17:23:29 +0300 -Subject: [PATCH] Don't build demos with questionably licensed data - -Some of the models don't have open source compatible licenses: -don't build demos using those. Also don't build demos that need -resources that are not included. - -ssao: -scenerendering: - Sibenik model, no license found - -deferred: -deferredmultisampling: -deferredshadows: - armor model, CC-BY-3.0 - -vulkanscene: -imgui: -shadowmapping: - vulkanscene model, no license found - -indirectdraw: - plant model, no license found - -hdr: -pbribl: -pbrtexture: - Require external Vulkan Asset Pack - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> -Signed-off-by: Maxin B. John <maxin.john@intel.com> ---- - examples/CMakeLists.txt | 14 -------------- - 1 file changed, 14 deletions(-) - -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index a53c834..71a12e7 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -55,9 +55,6 @@ set(EXAMPLES - conditionalrender - conservativeraster - debugmarker -- deferred -- deferredmultisampling -- deferredshadows - descriptorsets - displacement - distancefieldfonts -@@ -65,9 +62,6 @@ set(EXAMPLES - gears - geometryshader - gltfscene -- hdr -- imgui -- indirectdraw - inlineuniformblocks - inputattachments - instancing -@@ -83,23 +77,16 @@ set(EXAMPLES - parallaxmapping - particlefire - pbrbasic -- pbribl -- pbrtexture - pipelines - pipelinestatistics - pushconstants - pushdescriptors - radialblur - renderheadless -- scenerendering - screenshot -- shadowmapping -- shadowmappingomni -- shadowmappingcascade - skeletalanimation - specializationconstants - sphericalenvmapping -- ssao - stencilbuffer - subpasses - terraintessellation -@@ -113,7 +100,6 @@ set(EXAMPLES - texturesparseresidency - triangle - viewportarray -- vulkanscene - ) - - buildExamples() --- -2.17.1 - diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb deleted file mode 100644 index 4175a56157..0000000000 --- a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb +++ /dev/null @@ -1,44 +0,0 @@ -DESCRIPTION = "Collection of Vulkan examples" -LICENSE = "MIT" -DEPENDS = "zlib" - -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dcf473723faabf17baa9b5f2207599d0 \ - file://examples/triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa" - -SRCREV_glm = "1ad55c5016339b83b7eec98c31007e0aee57d2bf" -SRCREV_ktx = "726d14d02c95bb21ec9e43807751b491d295dd3c" - -SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \ - git://github.com/g-truc/glm;destsuffix=git/external/glm;name=glm \ - git://github.com/KhronosGroup/KTX-Software;destsuffix=git/external/ktx;name=ktx;lfs=0 \ - file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \ - " -UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "4818f85916bf88c1ca8c2ed1a46e0e758651489e" -UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" -S = "${WORKDIR}/git" - -REQUIRED_DISTRO_FEATURES = 'vulkan' - -inherit cmake features_check -DEPENDS = "vulkan-loader assimp wayland-protocols wayland-native" - -do_install_append () { - # Remove assets that have uncertain licenses - rm ${D}${datadir}/vulkan-demos/models/armor/* \ - ${D}${datadir}/vulkan-demos/models/sibenik/* \ - ${D}${datadir}/vulkan-demos/models/vulkanscene* \ - ${D}${datadir}/vulkan-demos/models/plants.dae \ - ${D}${datadir}/vulkan-demos/textures/texturearray_plants* - - mv ${D}${bindir}/screenshot ${D}${bindir}/vulkan-screenshot -} - -EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos" - -ANY_OF_DISTRO_FEATURES = "x11 wayland" - -# Can only pick one of [wayland,xcb] -PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'xcb', d)}" -PACKAGECONFIG[wayland] = "-DUSE_WAYLAND_WSI=ON, -DUSE_WAYLAND_WSI=OFF, wayland" -PACKAGECONFIG[xcb] = ",,libxcb" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.135.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.154.0.bb index d21c3d62b9..0e4d260960 100644 --- a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.135.0.bb +++ b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.154.0.bb @@ -5,10 +5,9 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" -# was sdk-1.2.135 branch but it was removed upstream, commit is in master branch though SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master" -SRCREV = "fb7f9c9bcd1d1544ea203a1f3d4253d0e90c5a90" +SRCREV = "7f9879b1b1fab53f719a9ed5e6e29533b10972b2" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.135.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.154.1.bb index 8bab58f0b9..23bf59f8a6 100644 --- a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.135.0.bb +++ b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.154.1.bb @@ -9,8 +9,8 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.2.135" -SRCREV = "86429d9e7f3542e88fb98ffa7d8a82c10c9828ac" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.2.154" +SRCREV = "2aa801755eab3fab610d9676c4dd94054e30c854" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch new file mode 100644 index 0000000000..90fe277a41 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch @@ -0,0 +1,29 @@ +From 5fb216d35b6846074196e80421f3162df3b9c8cd Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sun, 1 Nov 2020 23:19:22 +0000 +Subject: [PATCH] CMakeLists.txt: do not hardcode 'lib' as installation target + +Upstream-Status: Inappropriate [already fixed in newer versions] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e00f8c77..f9896eed 100644 +--- a/third_party/spirv-cross/CMakeLists.txt ++++ b/third_party/spirv-cross/CMakeLists.txt +@@ -67,8 +67,8 @@ macro(spirv_cross_add_library name config_name) + install(TARGETS ${name} + EXPORT ${config_name}Config + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION include/spirv_cross) + install(FILES ${hdrs} DESTINATION include/spirv_cross) + install(EXPORT ${config_name}Config DESTINATION share/${config_name}/cmake) +-- +2.17.1 + diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-support-link-against-libatomic-if-no-built-in-atomic.patch b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-support-link-against-libatomic-if-no-built-in-atomic.patch new file mode 100644 index 0000000000..6c0fb60868 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-support-link-against-libatomic-if-no-built-in-atomic.patch @@ -0,0 +1,117 @@ +From e20a5d13935a41a856e8f71c49f2cc9d81b1d92c Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Fri, 13 Nov 2020 17:07:00 +0800 +Subject: [PATCH] support link against libatomic if no built-in atomic exist + +fix error: +| framework/lib/ppc/libframework.a(device.cpp.o): in function `std::__atomic_base<unsigned long long>::load(std::memory_order) const': +| /usr/include/c++/10.2.0/bits/atomic_base.h:426: undefined reference to `__atomic_load_8' + +Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/212] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + CMakeLists.txt | 1 + + bldsys/cmake/check_atomic.cmake | 62 +++++++++++++++++++++++++++++++++ + framework/CMakeLists.txt | 4 +++ + 3 files changed, 67 insertions(+) + create mode 100644 bldsys/cmake/check_atomic.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e72e829..466f51d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -42,6 +42,7 @@ endmacro(vulkan_samples_pch) + include(utils) + include(global_options) + include(sample_helper) ++include(check_atomic) + + # Add third party libraries + add_subdirectory(third_party) +diff --git a/bldsys/cmake/check_atomic.cmake b/bldsys/cmake/check_atomic.cmake +new file mode 100644 +index 0000000..6b47a7a +--- /dev/null ++++ b/bldsys/cmake/check_atomic.cmake +@@ -0,0 +1,62 @@ ++# check weither need to link atomic library explicitly ++INCLUDE(CheckCXXSourceCompiles) ++INCLUDE(CheckLibraryExists) ++ ++if(NOT DEFINED VULKAN_COMPILER_IS_GCC_COMPATIBLE) ++ if(CMAKE_COMPILER_IS_GNUCXX) ++ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE ON) ++ elseif( MSVC ) ++ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE OFF) ++ elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) ++ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE ON) ++ elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel" ) ++ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE ON) ++ endif() ++endif() ++ ++# Sometimes linking against libatomic is required for atomic ops, if ++# the platform doesn't support lock-free atomics. ++ ++function(check_working_cxx_atomics varname) ++ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) ++ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11") ++ CHECK_CXX_SOURCE_COMPILES(" ++#include <atomic> ++std::atomic<int> x; ++std::atomic<short> y; ++std::atomic<char> z; ++int main() { ++ ++z; ++ ++y; ++ return ++x; ++} ++" ${varname}) ++ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS}) ++endfunction(check_working_cxx_atomics) ++ ++function(check_working_cxx_atomics64 varname) ++ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) ++ set(CMAKE_REQUIRED_FLAGS "-std=c++11 ${CMAKE_REQUIRED_FLAGS}") ++ CHECK_CXX_SOURCE_COMPILES(" ++#include <atomic> ++#include <cstdint> ++std::atomic<uint64_t> x (0); ++int main() { ++ uint64_t i = x.load(std::memory_order_relaxed); ++ (void)i; ++ return 0; ++} ++" ${varname}) ++ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS}) ++endfunction(check_working_cxx_atomics64) ++ ++set(NEED_LINK_ATOMIC OFF CACHE BOOL "weither need to link against atomic library") ++if(VULKAN_COMPILER_IS_GCC_COMPATIBLE) ++ # check if non-64-bit atomics work without the library. ++ check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB) ++ # check 64-bit atomics work without the library. ++ check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB) ++ if (NOT HAVE_CXX_ATOMICS_WITHOUT_LIB OR NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB) ++ set(NEED_LINK_ATOMIC ON CACHE BOOL "weither need to link to atomic library" FORCE) ++ endif() ++endif() +diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt +index bf26786..322526e 100644 +--- a/framework/CMakeLists.txt ++++ b/framework/CMakeLists.txt +@@ -412,6 +412,10 @@ target_link_libraries(${PROJECT_NAME} + ctpl + docopt) + ++if(${NEED_LINK_ATOMIC}) ++ target_link_libraries(${PROJECT_NAME} atomic) ++endif() ++ + # Link platform specific libraries + if(ANDROID) + target_link_libraries(${PROJECT_NAME} log android native_app_glue) +-- +2.17.1 + diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb new file mode 100644 index 0000000000..980557a3b9 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "The Vulkan Samples is collection of resources to help develop optimized Vulkan applications." +LICENSE = "Apache-2.0" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a" + +SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git \ + file://0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch \ + file://0001-support-link-against-libatomic-if-no-built-in-atomic.patch \ + " + +UPSTREAM_CHECK_COMMITS = "1" +SRCREV = "f52361d3cd6ac8c30fc3365a464b4e220c32cfd6" + +UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = 'vulkan' + +inherit cmake features_check + +FILES_${PN} += "${datadir}" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.135.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.154.0.bb index 085c0e27e9..0fc3494eea 100644 --- a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.135.0.bb +++ b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.154.0.bb @@ -5,8 +5,8 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.135" -SRCREV = "6d8197fd6c91d352a601587ffdde28f4cd7bc399" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.154" +SRCREV = "10d757bb1072416ddfbe4c24b43d4cd2f808a5c7" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.16.1.bb b/poky/meta/recipes-graphics/wayland/libinput_1.16.3.bb index 1497609183..8929de6ae0 100644 --- a/poky/meta/recipes-graphics/wayland/libinput_1.16.1.bb +++ b/poky/meta/recipes-graphics/wayland/libinput_1.16.3.bb @@ -16,7 +16,7 @@ SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ file://run-ptest \ file://determinism.patch \ " -SRC_URI[sha256sum] = "7ba7d1aeedd15168bb21d17e9e628aa1c27957963a423a3fea3938a501758539" +SRC_URI[sha256sum] = "dc5e1ae51ec1cc635ca96f61118b0f07dfea783cab0747a60f3555068bb077e4" UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" diff --git a/poky/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb b/poky/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb new file mode 100644 index 0000000000..4c51f7e8c5 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Wayland utilities" +DESCRIPTION = "Wayland-utils contains (for now) \ +wayland-info, a utility for displaying information about the Wayland \ +protocols supported by a Wayland compositor. \ +wayland-info is basically a standalone version of weston-info as found \ +in weston repository. " +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \ + " + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + " +SRC_URI[sha256sum] = "64fecc4c58e87ae9b302901abe10c2e8af69c7503c221a96ecd0700e0aa268c0" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" + +inherit meson pkgconfig + +DEPENDS += "wayland wayland-native wayland-protocols" diff --git a/poky/meta/recipes-graphics/wayland/weston-init.bb b/poky/meta/recipes-graphics/wayland/weston-init.bb index b7a99be646..65d7b81dc5 100644 --- a/poky/meta/recipes-graphics/wayland/weston-init.bb +++ b/poky/meta/recipes-graphics/wayland/weston-init.bb @@ -7,9 +7,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" SRC_URI = "file://init \ file://weston.env \ file://weston.ini \ - file://weston@.service \ - file://weston@.socket \ - file://71-weston-drm.rules \ + file://weston.service \ + file://weston.socket \ file://weston-autologin \ file://weston-start" @@ -24,24 +23,27 @@ DEFAULTBACKEND_qemuall ?= "fbdev" DEFAULTBACKEND_qemuarm64 = "drm" DEFAULTBACKEND_qemux86 = "drm" DEFAULTBACKEND_qemux86-64 = "drm" +# gallium swrast was found to crash weston on startup in x32 qemu +DEFAULTBACKEND_qemux86-64_x86-x32 = "fbdev" +DEFAULTBACKEND_x86-x32 = "fbdev" do_install() { - install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston + if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then + install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston + fi install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston # Install Weston systemd service and accompanying udev rule - install -D -p -m0644 ${WORKDIR}/weston@.service ${D}${systemd_system_unitdir}/weston@.service - install -D -p -m0644 ${WORKDIR}/weston@.socket ${D}${systemd_system_unitdir}/weston@.socket + install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service + install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin fi sed -i -e s:/etc:${sysconfdir}:g \ -e s:/usr/bin:${bindir}:g \ -e s:/var:${localstatedir}:g \ - ${D}${systemd_unitdir}/system/weston@.service - install -D -p -m0644 ${WORKDIR}/71-weston-drm.rules \ - ${D}${sysconfdir}/udev/rules.d/71-weston-drm.rules + ${D}${systemd_unitdir}/system/weston.service # Install weston-start script install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start @@ -51,24 +53,39 @@ do_install() { fi if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then - echo "idle-time=0" >> ${D}${sysconfdir}/xdg/weston/weston.ini + sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini fi + + install -dm 755 -o weston -g weston ${D}/home/weston } -inherit update-rc.d features_check systemd +INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" + +inherit update-rc.d features_check systemd useradd + +USERADD_PACKAGES = "${PN}" # rdepends on weston which depends on virtual/egl -REQUIRED_DISTRO_FEATURES = "opengl" +# requires pam enabled if started via systemd +REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}" RDEPENDS_${PN} = "weston kbd" INITSCRIPT_NAME = "weston" INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." -FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service ${systemd_system_unitdir}/weston@.socket ${sysconfdir}/default/weston ${sysconfdir}/pam.d/" +FILES_${PN} += "\ + ${sysconfdir}/xdg/weston/weston.ini \ + ${systemd_system_unitdir}/weston.service \ + ${systemd_system_unitdir}/weston.socket \ + ${sysconfdir}/default/weston \ + ${sysconfdir}/pam.d/ \ + /home/weston \ + " CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston" -SYSTEMD_SERVICE_${PN} = "weston@%i.service" -SYSTEMD_AUTO_ENABLE = "disable" +SYSTEMD_SERVICE_${PN} = "weston.service weston.socket" +USERADD_PARAM_${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston" +GROUPADD_PARAM_${PN} = "-r wayland" diff --git a/poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules b/poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules deleted file mode 100644 index 1a1b8bbda4..0000000000 --- a/poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules +++ /dev/null @@ -1,2 +0,0 @@ -ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fb0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="weston@root.service" -ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="weston@root.service" diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston-start b/poky/meta/recipes-graphics/wayland/weston-init/weston-start index ccc7093425..0b93dc964a 100755 --- a/poky/meta/recipes-graphics/wayland/weston-init/weston-start +++ b/poky/meta/recipes-graphics/wayland/weston-init/weston-start @@ -33,6 +33,10 @@ if [ -n "$WESTON_USER" ]; then echo "ERROR: If you have WESTON_USER variable set, you also need WESTON_TTY." exit 1 fi + if [ -z "$WESTON_GROUP" ]; then + # no explicit WESTON_GROUP given, therefore use WESTON_USER + export WESTON_GROUP="${WESTON_USER}" + fi weston_args_user="-u $WESTON_USER -t $WESTON_TTY" fi @@ -75,7 +79,7 @@ if test -z "$XDG_RUNTIME_DIR"; then fi if [ -n "$WESTON_USER" ] then - chown $WESTON_USER:$WESTON_USER $XDG_RUNTIME_DIR + chown $WESTON_USER:$WESTON_GROUP $XDG_RUNTIME_DIR fi fi diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston@.service b/poky/meta/recipes-graphics/wayland/weston-init/weston.service index ce8f4fb71a..e09625b31c 100644 --- a/poky/meta/recipes-graphics/wayland/weston-init/weston@.service +++ b/poky/meta/recipes-graphics/wayland/weston-init/weston.service @@ -9,6 +9,7 @@ Documentation=man:weston(1) man:weston.ini(5) Documentation=http://wayland.freedesktop.org/ # Make sure we are started after logins are permitted. +Requires=systemd-user-sessions.service After=systemd-user-sessions.service # If Plymouth is used, we want to start when it is on its way out. @@ -18,6 +19,9 @@ After=plymouth-quit-wait.service Wants=dbus.socket After=dbus.socket +# Ensure the socket is present +Requires=weston.socket + # Since we are part of the graphical session, make sure we are started before # it is complete. Before=graphical.target @@ -37,10 +41,11 @@ TimeoutStartSec=60 WatchdogSec=20 # The user to run Weston as. -User=%I +User=weston +Group=weston -# Make sure working directory is users home directory -WorkingDirectory=/home/%i +# Make sure the working directory is the users home directory +WorkingDirectory=/home/weston # Set up a full user session for the user, required by Weston. PAMName=weston-autologin @@ -61,5 +66,6 @@ UtmpIdentifier=tty7 UtmpMode=user [Install] +# Note: If you only want weston to start on-demand, remove this line with a +# service drop file WantedBy=graphical.target -DefaultInstance=tty7 diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston.socket b/poky/meta/recipes-graphics/wayland/weston-init/weston.socket new file mode 100644 index 0000000000..c1bdc83c05 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston-init/weston.socket @@ -0,0 +1,14 @@ +[Unit] +Description=Weston socket +RequiresMountsFor=/run + +[Socket] +ListenStream=/run/wayland-0 +SocketMode=0775 +SocketUser=weston +SocketGroup=wayland +RemoveOnStop=yes + +[Install] +WantedBy=sockets.target + diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston@.socket b/poky/meta/recipes-graphics/wayland/weston-init/weston@.socket deleted file mode 100644 index f1790d74a8..0000000000 --- a/poky/meta/recipes-graphics/wayland/weston-init/weston@.socket +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Weston Wayland socket -After=user-runtime-dir@1000.service - -[Socket] -ListenStream=/run/user/1000/wayland-%I - -[Install] -WantedBy=sockets.target - diff --git a/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb index 75f9fb05fd..8cb105c785 100644 --- a/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb +++ b/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb @@ -21,11 +21,14 @@ UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" inherit meson pkgconfig useradd features_check # depends on virtual/egl -REQUIRED_DISTRO_FEATURES = "opengl" +# weston-init requires pam enabled if started via systemd +REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}" DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0" DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" +LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', d)}" + WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa/0001-Refuse-to-run-on-UEFI-machines.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa/0001-Refuse-to-run-on-UEFI-machines.patch deleted file mode 100644 index 9e01770667..0000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa/0001-Refuse-to-run-on-UEFI-machines.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 2645e0aa9c17c2c966a0533e52ad00510311483e Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Wed, 29 Aug 2018 11:04:23 -0400 -Subject: [PATCH] Refuse to run on UEFI machines - -No possible good can come of this. - -v2: Check for .../efi-framebuffer.0 ("is there an EFI framebuffer") -instead of /sys/firmware/efi ("is this an EFI machine"). Suggested by -Peter Jones. - -Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/driver/xf86-video-vesa] - -Reviewed-by: Peter Jones <pjones@redhat.com> -Signed-off-by: Adam Jackson <ajax@redhat.com> -Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> ---- - src/vesa.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/vesa.c b/src/vesa.c -index 9b65b9b..af750e2 100644 ---- a/src/vesa.c -+++ b/src/vesa.c -@@ -43,7 +43,7 @@ - #endif - - #include <string.h> -- -+#include <unistd.h> - #include "vesa.h" - - /* All drivers initialising the SW cursor need this */ -@@ -450,7 +450,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev, - intptr_t match_data) - { - ScrnInfoPtr pScrn; -- -+ -+#ifdef __linux__ -+ if (access("/sys/devices/platform/efi-framebuffer.0", F_OK) == 0) { -+ ErrorF("vesa: Refusing to run on UEFI\n"); -+ return FALSE; -+ } -+#endif -+ - pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, - NULL, NULL, NULL, NULL, NULL); - if (pScrn != NULL) { --- -2.20.1 - diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb index f6aa54456c..d313c8c6a8 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb @@ -15,9 +15,5 @@ COMPATIBLE_HOST = '(i.86|x86_64).*-linux' RRECOMMENDS_${PN} += "xserver-xorg-module-libint10" -SRC_URI[md5sum] = "8134201beaf6f77150c7809c3cc802e6" -SRC_URI[sha256sum] = "bf443c94d7bf6cd4e248f8a3147f4647be04dc4c80250d9405006263bbdee38c" +SRC_URI[sha256sum] = "1f1624f3c73906801ad1bc98335a2cb5676a7a4d18e5374d9a1d18464e54c659" -SRC_URI += " \ - file://0001-Refuse-to-run-on-UEFI-machines.patch \ - " diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb index f27c5daa61..e9f6051b6e 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb @@ -30,6 +30,10 @@ REQUIRED_DISTRO_FEATURES = "x11" export PYTHON = "python3" +do_install_append () { + chown root.root ${D}${datadir}/doc/${BPN}/tutorial -R +} + python populate_packages_prepend () { do_split_packages(d, '${libdir}', r'^libxcb-(.*)\.so\..*$', 'libxcb-%s', 'XCB library module for %s', allow_links=True) } diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.10.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb index 16d9c36eae..99f55f4a14 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.10.0.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb @@ -9,14 +9,13 @@ DEPENDS = "util-macros flex-native bison-native" SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "2d9ad3a46b317138b5e72a91cf105451" -SRC_URI[sha256sum] = "57c3630cdc38fb4734cd57fa349e92244f5ae3862813e533cedbd86721a0b6f2" +SRC_URI[sha256sum] = "a2202f851e072b84e64a395212cbd976ee18a8ee602008b0bad02a13247dbc52" UPSTREAM_CHECK_URI = "http://xkbcommon.org/" inherit meson pkgconfig -EXTRA_OEMESON = "-Denable-docs=false" +EXTRA_OEMESON = "-Denable-docs=false -Denable-xkbregistry=false" PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}" PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config," diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.30.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.31.bb index a4d67cd2ce..ad150544e1 100644 --- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.30.bb +++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.31.bb @@ -13,7 +13,7 @@ LICENSE = "MIT & MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2" -SRC_URI[sha256sum] = "095a524f7b633ed257617202d06c9c71fe020c8897b106cf0dcdd0c6e8b797d4" +SRC_URI[sha256sum] = "da44181f2c8828789c720decf7d13acb3c3950e2a040af5132f50f04bb6aada3" SECTION = "x11/libs" DEPENDS = "util-macros libxslt-native" @@ -22,7 +22,7 @@ EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" FILES_${PN} += "${datadir}/X11/xkb" -inherit autotools pkgconfig gettext +inherit autotools pkgconfig gettext python3native do_install_append () { install -d ${D}${datadir}/X11/xkb/compiled diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.bb b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb index 6de30098d6..52e474a2e9 100644 --- a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.bb +++ b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb @@ -11,8 +11,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \ file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65" -SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.xz" -SRC_URI[sha256sum] = "186a3ceb26f9b4a015f5a44dcc814c93033a5fc39684f36f1ecc79834416a605" +SRC_URI = "https://xorg.freedesktop.org/archive/individual/proto/${BP}.tar.xz" +SRC_URI[sha256sum] = "f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3" inherit autotools pkgconfig python3native diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch new file mode 100644 index 0000000000..c2301e711d --- /dev/null +++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch @@ -0,0 +1,67 @@ +From d48ec5e1a5fb7907520dee71b1d94045486a0c29 Mon Sep 17 00:00:00 2001 +From: Alexander Kamensky <alexander.kamensky42@gmail.com> +Date: Thu, 12 Nov 2020 12:56:46 -0800 +Subject: [PATCH] arm64: kexec: disabled check if kaslr-seed dtb property was + wiped + +Kexec when loading arm64 kernel checks if chosen/kaslr-seed dtb property is +wiped. It's a good assertion to verify proper behavior of kernel. However, +if bootloader creates and fills kaslr-seed property and kernel is not +configured with CONFIG_RANDOMIZE_BASE then logic of reading and wiping +kaslr-seed does not run. As a result kaslr-seed property is not zero and when +kexec tries to load secondary kernel it fails with the following message: + +setup_2nd_dtb: kaslr-seed is not wiped to 0. +kexec: setup_2nd_dtb failed. +kexec: load failed. + +This was observed on Yocto Project on qemuarm64 machine with 5.8 kernel, +qemu 5.1.0. Qemu created kaslr-seed property but kernel was not configured +with CONFIG_RANDOMIZE_BASE. + +Although check has some value, there is a use-case where it breaks kexec, +this patch removes it. + +Note in described use-case the fact that kaslr-seed is not wiped and user +readable through /sys/firmware/fdt or +/sys/firmware/devicetree/base/chosen/kaslr-seed is not a security problem +as kaslr is disabled anyway. + +Signed-off-by: Alexander Kamensky <alexander.kamensky42@gmail.com> +Upstream-Status: Submitted [http://lists.infradead.org/pipermail/kexec/2020-November/021740.html] +--- + kexec/arch/arm64/kexec-arm64.c | 14 +------------- + 1 file changed, 1 insertion(+), 13 deletions(-) + +Index: kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.c +=================================================================== +--- kexec-tools-2.0.20.orig/kexec/arch/arm64/kexec-arm64.c ++++ kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.c +@@ -428,7 +428,7 @@ static int setup_2nd_dtb(struct dtb *dtb + int len, range_len; + int nodeoffset; + int new_size; +- int result, kaslr_seed; ++ int result; + + result = fdt_check_header(dtb->buf); + +@@ -499,18 +499,6 @@ static int setup_2nd_dtb(struct dtb *dtb + return result; + } + } else { +- kaslr_seed = fdt64_to_cpu(*prop); +- +- /* kaslr_seed must be wiped clean by primary +- * kernel during boot +- */ +- if (kaslr_seed != 0) { +- dbgprintf("%s: kaslr-seed is not wiped to 0.\n", +- __func__); +- result = -EINVAL; +- goto on_error; +- } +- + /* + * Invoke the getrandom system call with + * GRND_NONBLOCK, to make sure we diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb index 1e81ecc2c7..69d2e9bfba 100644 --- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb +++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb @@ -21,6 +21,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz file://0006-kexec-arm-undefine-__NR_kexec_file_load-for-arm.patch \ file://0007-kexec-un-break-the-build-on-32-bit-x86.patch \ file://0001-kexec-Fix-build-with-fno-common.patch \ + file://0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch \ " SRC_URI[md5sum] = "46724b67f32501c5d3e778161347cad9" diff --git a/poky/meta/recipes-kernel/kmod/kmod.inc b/poky/meta/recipes-kernel/kmod/kmod.inc index 646dff9a97..dabda2d57e 100644 --- a/poky/meta/recipes-kernel/kmod/kmod.inc +++ b/poky/meta/recipes-kernel/kmod/kmod.inc @@ -4,7 +4,7 @@ SUMMARY = "Tools for managing Linux kernel modules" DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel modules like \ insert, remove, list, check properties, resolve dependencies and aliases." -HOMEPAGE = "http://packages.profusion.mobi/kmod/" +HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kmod/" LICENSE = "GPL-2.0+ & LGPL-2.1+" LICENSE_libkmod = "LGPL-2.1+" SECTION = "base" diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200817.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20201022.bb index 0abd28c9fa..93b9d5308a 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200817.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20201022.bb @@ -126,7 +126,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \ file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \ - file://WHENCE;md5=4d229f79f8770b5b2c4aac655b9fabef \ + file://WHENCE;md5=daf28db5d6353de0a886f08106cffa22 \ " # These are not common licenses, set NO_GENERIC_LICENSE for them @@ -198,7 +198,7 @@ PE = "1" SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "76d05d5f1eff268d3b80675245fa596f557bd55ee2e16ddd54d18ffeae943887" +SRC_URI[sha256sum] = "bf586e0beb4c65f22bf0a79811f259aa0a5a7cc9f70eebecb260525b6914cef7" inherit allarch @@ -501,6 +501,7 @@ FILES_${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia" RDEPENDS_${PN}-nvidia-gpu += "${PN}-nvidia-license" RDEPENDS_${PN}-nvidia-tegra += "${PN}-nvidia-license" +RDEPENDS_${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license" # For rtl LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware" diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb index aa8e162f4f..8a900ed182 100644 --- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -86,6 +86,12 @@ do_install() { # be dealt with. # cp -a scripts $kerneldir/build + # although module.lds can be regenerated on target via 'make modules_prepare' + # there are several places where 'makes scripts prepare' is done, and that won't + # regenerate the file. So we copy it onto the target as a migration to using + # modules_prepare + cp -a --parents scripts/module.lds $kerneldir/build/ 2>/dev/null || : + if [ -d arch/${ARCH}/scripts ]; then cp -a arch/${ARCH}/scripts $kerneldir/build/arch/${ARCH} fi @@ -113,6 +119,10 @@ do_install() { # but without this file, we get a forced syncconfig run in v5.8+, which prompts and # breaks workflows. cp -a --parents include/generated/autoconf.h $kerneldir/build 2>/dev/null || : + + if [ -e $kerneldir/include/generated/.vdso-offsets.h.cmd ]; then + rm $kerneldir/include/generated/.vdso-offsets.h.cmd + fi ) # now grab the chunks from the source tree that we need diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index fbc62f29c8..6272af6253 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' -LINUX_VERSION ?= "5.9-rc+" +LINUX_VERSION ?= "5.10-rc+" LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb index 13f7246f46..104ada2db5 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "3a5f7e9a874f0a6e9ad599b4fc6c491db231dd6f" -SRCREV_meta ?= "7f765dcb29003bafc9c0ac770147940be6c420b2" +SRCREV_machine ?= "97576fb7447efba82eb025bde3ae9ceb29939d5e" +SRCREV_meta ?= "d626f9108d590d41e82b97cbffc380aa699e86e1" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.4.69" +LINUX_VERSION ?= "5.4.78" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb index 3d6d750c86..033dfc76a2 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a" -SRCREV_meta ?= "34775c20bc4f4ac32ac7eded79f9dc8ca77e4277" +SRCREV_machine ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f" +SRCREV_meta ?= "7883b60d324029d26020c0b3f826b35c52fd9674" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.8;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.8.13" +LINUX_VERSION ?= "5.8.18" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb index 00e1b65782..d8784c49ad 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.4.69" +LINUX_VERSION ?= "5.4.78" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "58f39df46d9daf12a095ffe225032ec325612960" -SRCREV_machine ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c" -SRCREV_meta ?= "7f765dcb29003bafc9c0ac770147940be6c420b2" +SRCREV_machine_qemuarm ?= "6cf3b1d30bc7ac9bd86190129b3cbbdd04b8b236" +SRCREV_machine ?= "370ef947d5b1470e858bae5a300110566c994b9f" +SRCREV_meta ?= "d626f9108d590d41e82b97cbffc380aa699e86e1" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb index 764264f637..50cee07620 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.8.13" +LINUX_VERSION ?= "5.8.18" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "627cc1717f47c4d9bc9d58f88b1764990d982a99" -SRCREV_machine ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a" -SRCREV_meta ?= "34775c20bc4f4ac32ac7eded79f9dc8ca77e4277" +SRCREV_machine_qemuarm ?= "9509db6e3ed6a23b1f7495b53248d1cbfe22710b" +SRCREV_machine ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f" +SRCREV_meta ?= "7883b60d324029d26020c0b3f826b35c52fd9674" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb index bcc5003268..c24e5ddc87 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb @@ -12,16 +12,16 @@ KBRANCH_qemux86 ?= "v5.4/standard/base" KBRANCH_qemux86-64 ?= "v5.4/standard/base" KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "561d4f6eb1de32e1448451db86656826cf406eb5" -SRCREV_machine_qemuarm64 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c" -SRCREV_machine_qemumips ?= "e421f3f2399c153c4d58241cb6d1be926f7efc45" -SRCREV_machine_qemuppc ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c" -SRCREV_machine_qemuriscv64 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c" -SRCREV_machine_qemux86 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c" -SRCREV_machine_qemux86-64 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c" -SRCREV_machine_qemumips64 ?= "72d2f11b5f171e196d6b9824b82575d9a7b59e6f" -SRCREV_machine ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c" -SRCREV_meta ?= "7f765dcb29003bafc9c0ac770147940be6c420b2" +SRCREV_machine_qemuarm ?= "b3bafed66cf1be24caaa9c876d7d9a8298df831b" +SRCREV_machine_qemuarm64 ?= "370ef947d5b1470e858bae5a300110566c994b9f" +SRCREV_machine_qemumips ?= "36c2a0b1caef0b2dd6b5777d1939c383238536a8" +SRCREV_machine_qemuppc ?= "370ef947d5b1470e858bae5a300110566c994b9f" +SRCREV_machine_qemuriscv64 ?= "370ef947d5b1470e858bae5a300110566c994b9f" +SRCREV_machine_qemux86 ?= "370ef947d5b1470e858bae5a300110566c994b9f" +SRCREV_machine_qemux86-64 ?= "370ef947d5b1470e858bae5a300110566c994b9f" +SRCREV_machine_qemumips64 ?= "971a3cedf9a2a7774fa072b9a13380fb59fd605b" +SRCREV_machine ?= "370ef947d5b1470e858bae5a300110566c994b9f" +SRCREV_meta ?= "d626f9108d590d41e82b97cbffc380aa699e86e1" # remap qemuarm to qemuarma15 for the 5.4 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.4.69" +LINUX_VERSION ?= "5.4.78" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb index f80ae2359b..af576891e2 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb @@ -12,16 +12,16 @@ KBRANCH_qemux86 ?= "v5.8/standard/base" KBRANCH_qemux86-64 ?= "v5.8/standard/base" KBRANCH_qemumips64 ?= "v5.8/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "41542e01d0deb5a38c190809f4fd01a442769938" -SRCREV_machine_qemuarm64 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a" -SRCREV_machine_qemumips ?= "36e642d5b6c5b1d05f6172a75df172ad8fefc30b" -SRCREV_machine_qemuppc ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a" -SRCREV_machine_qemuriscv64 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a" -SRCREV_machine_qemux86 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a" -SRCREV_machine_qemux86-64 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a" -SRCREV_machine_qemumips64 ?= "5538a54afd2525803729c85a40609cae292cb242" -SRCREV_machine ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a" -SRCREV_meta ?= "34775c20bc4f4ac32ac7eded79f9dc8ca77e4277" +SRCREV_machine_qemuarm ?= "14b463d0e5c1e2ff354244420f9bbc7f0ab80533" +SRCREV_machine_qemuarm64 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f" +SRCREV_machine_qemumips ?= "8d8d9afb396f154f366f32948fdff3cf4e269841" +SRCREV_machine_qemuppc ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f" +SRCREV_machine_qemuriscv64 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f" +SRCREV_machine_qemux86 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f" +SRCREV_machine_qemux86-64 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f" +SRCREV_machine_qemumips64 ?= "01a02b058f9a8941032b298b8d25c673526152f4" +SRCREV_machine ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f" +SRCREV_meta ?= "7883b60d324029d26020c0b3f826b35c52fd9674" # remap qemuarm to qemuarma15 for the 5.8 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.8;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.8.13" +LINUX_VERSION ?= "5.8.18" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch deleted file mode 100644 index ae8bec45de..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch +++ /dev/null @@ -1,54 +0,0 @@ -From ff4d1d7e85be94ef43709cd698f0ec9a12f247d1 Mon Sep 17 00:00:00 2001 -From: Beniamin Sandu <beniaminsandu@gmail.com> -Date: Thu, 13 Aug 2020 16:24:39 +0300 -Subject: [PATCH 01/10] Kconfig: fix dependency issue when building in-tree - without CONFIG_FTRACE - -When building in-tree, one could disable CONFIG_FTRACE from kernel -config which will leave CONFIG_TRACEPOINTS selected by LTTNG modules, -but generate a lot of linker errors like below because it leaves out -other stuff, e.g.: - -trace.c:(.text+0xd86b): undefined reference to `trace_event_buffer_reserve' -ld: trace.c:(.text+0xd8de): undefined reference to `trace_event_buffer_commit' -ld: trace.c:(.text+0xd926): undefined reference to `event_triggers_call' -ld: trace.c:(.text+0xd942): undefined reference to `trace_event_ignore_this_pid' -ld: net/mac80211/trace.o: in function `trace_event_raw_event_drv_tdls_cancel_channel_switch': - -It appears to be caused by the fact that TRACE_EVENT macros in the Linux -kernel depend on the Ftrace ring buffer as soon as CONFIG_TRACEPOINTS is -enabled. - -Steps to reproduce: - -- Get a clone of an upstream stable kernel and use scripts/built-in.sh on it - -- Configure a standard x86-64 build, enable built-in LTTNG but disable - CONFIG_FTRACE from Kernel Hacking-->Tracers using menuconfig - -- Build will fail at linking stage - -Upstream-Status: Backport - -Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> ---- - Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Kconfig b/Kconfig -index acdab73..10eccff 100644 ---- a/Kconfig -+++ b/Kconfig -@@ -2,7 +2,7 @@ - - config LTTNG - tristate "LTTng support" -- select TRACEPOINTS -+ select TRACING - help - LTTng is an open source tracing framework for Linux. - --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch new file mode 100644 index 0000000000..956f53d7b7 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch @@ -0,0 +1,318 @@ +From e13a7d262928984154fcf89feb14098e0cd1ad31 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Tue, 27 Oct 2020 11:42:23 -0400 +Subject: [PATCH 04/11] fix: btrfs: tracepoints: output proper root owner for + trace_find_free_extent() (v5.10) + +See upstream commit : + + commit 437490fed3b0c9ae21af8f70e0f338d34560842b + Author: Qu Wenruo <wqu@suse.com> + Date: Tue Jul 28 09:42:49 2020 +0800 + + btrfs: tracepoints: output proper root owner for trace_find_free_extent() + + The current trace event always output result like this: + + find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA) + find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA) + find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA) + find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA) + find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA) + find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA) + + T's saying we're allocating data extent for EXTENT tree, which is not + even possible. + + It's because we always use EXTENT tree as the owner for + trace_find_free_extent() without using the @root from + btrfs_reserve_extent(). + + This patch will change the parameter to use proper @root for + trace_find_free_extent(): + + Now it looks much better: + + find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) + find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA) + find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=1(DATA) + find_free_extent: root=5(FS_TREE) len=4096 empty_size=0 flags=1(DATA) + find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA) + find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) + find_free_extent: root=7(CSUM_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) + find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) + find_free_extent: root=1(ROOT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP) + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Change-Id: I1d674064d29b31417e2acffdeb735f5052a87032 + +Upstream-Status: Backport + +Signed-off-by: He Zhe <zhe.he@windriver.com> +--- + instrumentation/events/lttng-module/btrfs.h | 206 ++++++++++++-------- + 1 file changed, 122 insertions(+), 84 deletions(-) + +diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h +index 7b29008..52fcfd0 100644 +--- a/instrumentation/events/lttng-module/btrfs.h ++++ b/instrumentation/events/lttng-module/btrfs.h +@@ -1856,7 +1856,29 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_f + + #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */ + +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0) || \ ++ LTTNG_KERNEL_RANGE(5,9,6, 5,10,0) || \ ++ LTTNG_KERNEL_RANGE(5,4,78, 5,5,0)) ++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, ++ ++ btrfs_find_free_extent, ++ ++ TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size, ++ u64 data), ++ ++ TP_ARGS(root, num_bytes, empty_size, data), ++ ++ TP_FIELDS( ++ ctf_array(u8, fsid, root->lttng_fs_info_fsid, BTRFS_UUID_SIZE) ++ ctf_integer(u64, root_objectid, root->root_key.objectid) ++ ctf_integer(u64, num_bytes, num_bytes) ++ ctf_integer(u64, empty_size, empty_size) ++ ctf_integer(u64, data, data) ++ ) ++) ++ ++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)) ++ + LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, + + btrfs_find_free_extent, +@@ -1874,6 +1896,105 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, + ) + ) + ++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0)) ++ ++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, ++ ++ btrfs_find_free_extent, ++ ++ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, ++ u64 data), ++ ++ TP_ARGS(fs_info, num_bytes, empty_size, data), ++ ++ TP_FIELDS( ++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) ++ ctf_integer(u64, num_bytes, num_bytes) ++ ctf_integer(u64, empty_size, empty_size) ++ ctf_integer(u64, data, data) ++ ) ++) ++ ++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)) ++ ++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, ++ ++ btrfs_find_free_extent, ++ ++ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, ++ u64 data), ++ ++ TP_ARGS(fs_info, num_bytes, empty_size, data), ++ ++ TP_FIELDS( ++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) ++ ctf_integer(u64, num_bytes, num_bytes) ++ ctf_integer(u64, empty_size, empty_size) ++ ctf_integer(u64, data, data) ++ ) ++) ++ ++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) ++ ++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, ++ ++ btrfs_find_free_extent, ++ ++ TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, ++ u64 data), ++ ++ TP_ARGS(fs_info, num_bytes, empty_size, data), ++ ++ TP_FIELDS( ++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) ++ ctf_integer(u64, num_bytes, num_bytes) ++ ctf_integer(u64, empty_size, empty_size) ++ ctf_integer(u64, data, data) ++ ) ++) ++ ++#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \ ++ LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \ ++ LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \ ++ LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0)) ++ ++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, ++ ++ btrfs_find_free_extent, ++ ++ TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size, ++ u64 data), ++ ++ TP_ARGS(root, num_bytes, empty_size, data), ++ ++ TP_FIELDS( ++ ctf_integer(u64, root_objectid, root->root_key.objectid) ++ ctf_integer(u64, num_bytes, num_bytes) ++ ctf_integer(u64, empty_size, empty_size) ++ ctf_integer(u64, data, data) ++ ) ++) ++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) ++ ++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, ++ ++ btrfs_find_free_extent, ++ ++ TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size, ++ u64 data), ++ ++ TP_ARGS(root, num_bytes, empty_size, data), ++ ++ TP_FIELDS( ++ ctf_integer(u64, root_objectid, root->root_key.objectid) ++ ctf_integer(u64, num_bytes, num_bytes) ++ ctf_integer(u64, empty_size, empty_size) ++ ctf_integer(u64, data, data) ++ ) ++) ++#endif ++ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)) + LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, + + TP_PROTO(const struct btrfs_block_group *block_group, u64 start, +@@ -1907,22 +2028,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus + ) + + #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0)) +-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, +- +- btrfs_find_free_extent, +- +- TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, +- u64 data), +- +- TP_ARGS(fs_info, num_bytes, empty_size, data), +- +- TP_FIELDS( +- ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) +- ctf_integer(u64, num_bytes, num_bytes) +- ctf_integer(u64, empty_size, empty_size) +- ctf_integer(u64, data, data) +- ) +-) + + LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, + +@@ -1957,22 +2062,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus + ) + + #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)) +-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, +- +- btrfs_find_free_extent, +- +- TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, +- u64 data), +- +- TP_ARGS(fs_info, num_bytes, empty_size, data), +- +- TP_FIELDS( +- ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) +- ctf_integer(u64, num_bytes, num_bytes) +- ctf_integer(u64, empty_size, empty_size) +- ctf_integer(u64, data, data) +- ) +-) + + LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, + +@@ -2011,23 +2100,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus + + #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) + +-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, +- +- btrfs_find_free_extent, +- +- TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, +- u64 data), +- +- TP_ARGS(fs_info, num_bytes, empty_size, data), +- +- TP_FIELDS( +- ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) +- ctf_integer(u64, num_bytes, num_bytes) +- ctf_integer(u64, empty_size, empty_size) +- ctf_integer(u64, data, data) +- ) +-) +- + LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, + + TP_PROTO(struct btrfs_fs_info *fs_info, +@@ -2066,23 +2138,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus + LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \ + LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0)) + +-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, +- +- btrfs_find_free_extent, +- +- TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size, +- u64 data), +- +- TP_ARGS(root, num_bytes, empty_size, data), +- +- TP_FIELDS( +- ctf_integer(u64, root_objectid, root->root_key.objectid) +- ctf_integer(u64, num_bytes, num_bytes) +- ctf_integer(u64, empty_size, empty_size) +- ctf_integer(u64, data, data) +- ) +-) +- + LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, + + TP_PROTO(const struct btrfs_root *root, +@@ -2120,23 +2175,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus + + #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) + +-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, +- +- btrfs_find_free_extent, +- +- TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size, +- u64 data), +- +- TP_ARGS(root, num_bytes, empty_size, data), +- +- TP_FIELDS( +- ctf_integer(u64, root_objectid, root->root_key.objectid) +- ctf_integer(u64, num_bytes, num_bytes) +- ctf_integer(u64, empty_size, empty_size) +- ctf_integer(u64, data, data) +- ) +-) +- + LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, + + TP_PROTO(struct btrfs_root *root, +-- +2.17.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch deleted file mode 100644 index fab673b854..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch +++ /dev/null @@ -1,41 +0,0 @@ -From e10ab43dd0e425df5bc0ac763447664ed075ba05 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 10 Aug 2020 11:22:05 -0400 -Subject: [PATCH 02/10] fix: Move mmutrace.h into the mmu/ sub-directory (v5.9) - - commit 33e3042dac6bcc33b80835f7d7b502b1d74c457c - Author: Sean Christopherson <sean.j.christopherson@intel.com> - Date: Mon Jun 22 13:20:29 2020 -0700 - - KVM: x86/mmu: Move mmu_audit.c and mmutrace.h into the mmu/ sub-directory - - Move mmu_audit.c and mmutrace.h under mmu/ where they belong. - -Upstream-Status: Backport - -Change-Id: I582525ccca34e1e3bd62870364108a7d3e9df2e4 -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> ---- - probes/lttng-probe-kvm-x86-mmu.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/probes/lttng-probe-kvm-x86-mmu.c b/probes/lttng-probe-kvm-x86-mmu.c -index 37384a2..5a7ef1e 100644 ---- a/probes/lttng-probe-kvm-x86-mmu.c -+++ b/probes/lttng-probe-kvm-x86-mmu.c -@@ -24,7 +24,11 @@ - */ - #include <wrapper/tracepoint.h> - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)) -+#include <../../arch/x86/kvm/mmu/mmutrace.h> -+#else - #include <../../arch/x86/kvm/mmutrace.h> -+#endif - - #undef TRACE_INCLUDE_PATH - #undef TRACE_INCLUDE_FILE --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch deleted file mode 100644 index 524631cc72..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f16315cc45c4c6b880de541bb092ca18a13952b7 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 10 Aug 2020 11:36:03 -0400 -Subject: [PATCH 03/10] fix: KVM: x86/mmu: Make kvm_mmu_page definition and - accessor internal-only (v5.9) - - commit 985ab2780164698ec6e7d73fad523d50449261dd - Author: Sean Christopherson <sean.j.christopherson@intel.com> - Date: Mon Jun 22 13:20:32 2020 -0700 - - KVM: x86/mmu: Make kvm_mmu_page definition and accessor internal-only - - Make 'struct kvm_mmu_page' MMU-only, nothing outside of the MMU should - be poking into the gory details of shadow pages. - -Upstream-Status: Backport - -Change-Id: Ia5c1b9c49c2b00dad1d5b17c50c3dc730dafda20 -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> ---- - probes/lttng-probe-kvm-x86-mmu.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/probes/lttng-probe-kvm-x86-mmu.c b/probes/lttng-probe-kvm-x86-mmu.c -index 5a7ef1e..8f98186 100644 ---- a/probes/lttng-probe-kvm-x86-mmu.c -+++ b/probes/lttng-probe-kvm-x86-mmu.c -@@ -25,6 +25,7 @@ - #include <wrapper/tracepoint.h> - - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)) -+#include <../../arch/x86/kvm/mmu/mmu_internal.h> - #include <../../arch/x86/kvm/mmu/mmutrace.h> - #else - #include <../../arch/x86/kvm/mmutrace.h> --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch deleted file mode 100644 index e29c07252c..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 8fe742807e65af29dac3fea568ff93cbc5dd9a56 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 24 Aug 2020 15:26:04 -0400 -Subject: [PATCH 04/10] fix: ext4: limit the length of per-inode prealloc list - (v5.9) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -See upstream commit: - - commit 27bc446e2def38db3244a6eb4bb1d6312936610a - Author: brookxu <brookxu.cn@gmail.com> - Date: Mon Aug 17 15:36:15 2020 +0800 - - ext4: limit the length of per-inode prealloc list - - In the scenario of writing sparse files, the per-inode prealloc list may - be very long, resulting in high overhead for ext4_mb_use_preallocated(). - To circumvent this problem, we limit the maximum length of per-inode - prealloc list to 512 and allow users to modify it. - - After patching, we observed that the sys ratio of cpu has dropped, and - the system throughput has increased significantly. We created a process - to write the sparse file, and the running time of the process on the - fixed kernel was significantly reduced, as follows: - - Running time on unfixed kernel: - [root@TENCENT64 ~]# time taskset 0x01 ./sparse /data1/sparce.dat - real 0m2.051s - user 0m0.008s - sys 0m2.026s - - Running time on fixed kernel: - [root@TENCENT64 ~]# time taskset 0x01 ./sparse /data1/sparce.dat - real 0m0.471s - user 0m0.004s - sys 0m0.395s - -Upstream-Status: Backport - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Change-Id: I5169cb24853d4da32e2862a6626f1f058689b053 ---- - instrumentation/events/lttng-module/ext4.h | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h -index 5f7ab28..72ad4c9 100644 ---- a/instrumentation/events/lttng-module/ext4.h -+++ b/instrumentation/events/lttng-module/ext4.h -@@ -460,6 +460,20 @@ LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa, - ) - #endif - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)) -+LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations, -+ TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed), -+ -+ TP_ARGS(inode, len, needed), -+ -+ TP_FIELDS( -+ ctf_integer(dev_t, dev, inode->i_sb->s_dev) -+ ctf_integer(ino_t, ino, inode->i_ino) -+ ctf_integer(unsigned int, len, len) -+ ctf_integer(unsigned int, needed, needed) -+ ) -+) -+#else - LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations, - TP_PROTO(struct inode *inode), - -@@ -470,6 +484,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations, - ctf_integer(ino_t, ino, inode->i_ino) - ) - ) -+#endif - - LTTNG_TRACEPOINT_EVENT(ext4_mb_discard_preallocations, - TP_PROTO(struct super_block *sb, int needed), --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch deleted file mode 100644 index f76e9698c8..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 52563d02a9234215b62c5f519aa1b5d8589ccd0a Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 24 Aug 2020 15:37:50 -0400 -Subject: [PATCH 05/10] =?UTF-8?q?fix:=20ext4:=20indicate=20via=20a=20block?= - =?UTF-8?q?=20bitmap=20read=20is=20prefetched=E2=80=A6=20(v5.9)?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -See upstream commit: - - commit ab74c7b23f3770935016e3eb3ecdf1e42b73efaa - Author: Theodore Ts'o <tytso@mit.edu> - Date: Wed Jul 15 11:48:55 2020 -0400 - - ext4: indicate via a block bitmap read is prefetched via a tracepoint - - Modify the ext4_read_block_bitmap_load tracepoint so that it tells us - whether a block bitmap is being prefetched. - -Upstream-Status: Backport - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Change-Id: I0e5e2c5b8004223d0928235c092449ee16a940e1 ---- - instrumentation/events/lttng-module/ext4.h | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h -index 72ad4c9..4476abb 100644 ---- a/instrumentation/events/lttng-module/ext4.h -+++ b/instrumentation/events/lttng-module/ext4.h -@@ -893,12 +893,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_buddy_bitmap_load, - TP_ARGS(sb, group) - ) - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)) -+LTTNG_TRACEPOINT_EVENT(ext4_read_block_bitmap_load, -+ TP_PROTO(struct super_block *sb, unsigned long group, bool prefetch), -+ -+ TP_ARGS(sb, group, prefetch), -+ -+ TP_FIELDS( -+ ctf_integer(dev_t, dev, sb->s_dev) -+ ctf_integer(__u32, group, group) -+ ctf_integer(bool, prefetch, prefetch) -+ ) -+) -+#else - LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_read_block_bitmap_load, - - TP_PROTO(struct super_block *sb, unsigned long group), - - TP_ARGS(sb, group) - ) -+#endif - - LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_load_inode_bitmap, - --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch deleted file mode 100644 index 0970dd30aa..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch +++ /dev/null @@ -1,391 +0,0 @@ -From 57ccbfa6a8a79c7b84394c2097efaf7935607aa5 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Tue, 25 Aug 2020 10:56:29 -0400 -Subject: [PATCH 06/10] fix: removal of [smp_]read_barrier_depends (v5.9) - -See upstream commits: - - commit 76ebbe78f7390aee075a7f3768af197ded1bdfbb - Author: Will Deacon <will@kernel.org> - Date: Tue Oct 24 11:22:47 2017 +0100 - - locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE() - - In preparation for the removal of lockless_dereference(), which is the - same as READ_ONCE() on all architectures other than Alpha, add an - implicit smp_read_barrier_depends() to READ_ONCE() so that it can be - used to head dependency chains on all architectures. - - commit 76ebbe78f7390aee075a7f3768af197ded1bdfbb - Author: Will Deacon <will.deacon@arm.com> - Date: Tue Oct 24 11:22:47 2017 +0100 - - locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE() - - In preparation for the removal of lockless_dereference(), which is the - same as READ_ONCE() on all architectures other than Alpha, add an - implicit smp_read_barrier_depends() to READ_ONCE() so that it can be - used to head dependency chains on all architectures. - -Upstream-Status: Backport - -Change-Id: Ife8880bd9378dca2972da8838f40fc35ccdfaaac -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> ---- - instrumentation/events/lttng-module/i2c.h | 4 ++-- - lib/ringbuffer/backend.h | 2 +- - lib/ringbuffer/backend_internal.h | 2 +- - lib/ringbuffer/frontend.h | 4 ++-- - lib/ringbuffer/ring_buffer_frontend.c | 4 ++-- - lib/ringbuffer/ring_buffer_iterator.c | 2 +- - lttng-events.c | 8 ++++---- - probes/lttng-kprobes.c | 6 +++--- - probes/lttng-kretprobes.c | 6 +++--- - probes/lttng-tracepoint-event-impl.h | 12 ++++++------ - probes/lttng-uprobes.c | 6 +++--- - wrapper/compiler.h | 18 ++++++++++++++++++ - wrapper/trace-clock.h | 15 +++++---------- - 13 files changed, 51 insertions(+), 38 deletions(-) - -diff --git a/instrumentation/events/lttng-module/i2c.h b/instrumentation/events/lttng-module/i2c.h -index dcbabf6..131d134 100644 ---- a/instrumentation/events/lttng-module/i2c.h -+++ b/instrumentation/events/lttng-module/i2c.h -@@ -23,7 +23,7 @@ LTTNG_TRACEPOINT_EVENT_CODE(i2c_write, - - TP_code_pre( - tp_locvar->extract_sensitive_payload = -- READ_ONCE(extract_sensitive_payload); -+ LTTNG_READ_ONCE(extract_sensitive_payload); - ), - - TP_FIELDS( -@@ -78,7 +78,7 @@ LTTNG_TRACEPOINT_EVENT_CODE(i2c_reply, - - TP_code_pre( - tp_locvar->extract_sensitive_payload = -- READ_ONCE(extract_sensitive_payload); -+ LTTNG_READ_ONCE(extract_sensitive_payload); - ), - - TP_FIELDS( -diff --git a/lib/ringbuffer/backend.h b/lib/ringbuffer/backend.h -index da937f2..43e1d47 100644 ---- a/lib/ringbuffer/backend.h -+++ b/lib/ringbuffer/backend.h -@@ -156,7 +156,7 @@ size_t lib_ring_buffer_do_strcpy(const struct lib_ring_buffer_config *config, - * Only read source character once, in case it is - * modified concurrently. - */ -- c = READ_ONCE(src[count]); -+ c = LTTNG_READ_ONCE(src[count]); - if (!c) - break; - lib_ring_buffer_do_copy(config, &dest[count], &c, 1); -diff --git a/lib/ringbuffer/backend_internal.h b/lib/ringbuffer/backend_internal.h -index 2d6a345..1226fd8 100644 ---- a/lib/ringbuffer/backend_internal.h -+++ b/lib/ringbuffer/backend_internal.h -@@ -367,7 +367,7 @@ void lib_ring_buffer_clear_noref(const struct lib_ring_buffer_config *config, - * Performing a volatile access to read the sb_pages, because we want to - * read a coherent version of the pointer and the associated noref flag. - */ -- id = READ_ONCE(bufb->buf_wsb[idx].id); -+ id = LTTNG_READ_ONCE(bufb->buf_wsb[idx].id); - for (;;) { - /* This check is called on the fast path for each record. */ - if (likely(!subbuffer_id_is_noref(config, id))) { -diff --git a/lib/ringbuffer/frontend.h b/lib/ringbuffer/frontend.h -index 6f516d9..41382fe 100644 ---- a/lib/ringbuffer/frontend.h -+++ b/lib/ringbuffer/frontend.h -@@ -79,7 +79,7 @@ void *channel_destroy(struct channel *chan); - #define for_each_channel_cpu(cpu, chan) \ - for ((cpu) = -1; \ - ({ (cpu) = cpumask_next(cpu, (chan)->backend.cpumask); \ -- smp_read_barrier_depends(); (cpu) < nr_cpu_ids; });) -+ smp_rmb(); (cpu) < nr_cpu_ids; });) - - extern struct lib_ring_buffer *channel_get_ring_buffer( - const struct lib_ring_buffer_config *config, -@@ -155,7 +155,7 @@ static inline - int lib_ring_buffer_is_finalized(const struct lib_ring_buffer_config *config, - struct lib_ring_buffer *buf) - { -- int finalized = READ_ONCE(buf->finalized); -+ int finalized = LTTNG_READ_ONCE(buf->finalized); - /* - * Read finalized before counters. - */ -diff --git a/lib/ringbuffer/ring_buffer_frontend.c b/lib/ringbuffer/ring_buffer_frontend.c -index 3cab365..4980d20 100644 ---- a/lib/ringbuffer/ring_buffer_frontend.c -+++ b/lib/ringbuffer/ring_buffer_frontend.c -@@ -1074,7 +1074,7 @@ int lib_ring_buffer_snapshot(struct lib_ring_buffer *buf, - int finalized; - - retry: -- finalized = READ_ONCE(buf->finalized); -+ finalized = LTTNG_READ_ONCE(buf->finalized); - /* - * Read finalized before counters. - */ -@@ -1245,7 +1245,7 @@ int lib_ring_buffer_get_subbuf(struct lib_ring_buffer *buf, - return -EBUSY; - } - retry: -- finalized = READ_ONCE(buf->finalized); -+ finalized = LTTNG_READ_ONCE(buf->finalized); - /* - * Read finalized before counters. - */ -diff --git a/lib/ringbuffer/ring_buffer_iterator.c b/lib/ringbuffer/ring_buffer_iterator.c -index d25db72..7b4f20a 100644 ---- a/lib/ringbuffer/ring_buffer_iterator.c -+++ b/lib/ringbuffer/ring_buffer_iterator.c -@@ -46,7 +46,7 @@ restart: - switch (iter->state) { - case ITER_GET_SUBBUF: - ret = lib_ring_buffer_get_next_subbuf(buf); -- if (ret && !READ_ONCE(buf->finalized) -+ if (ret && !LTTNG_READ_ONCE(buf->finalized) - && config->alloc == RING_BUFFER_ALLOC_GLOBAL) { - /* - * Use "pull" scheme for global buffers. The reader -diff --git a/lttng-events.c b/lttng-events.c -index be7e389..d719294 100644 ---- a/lttng-events.c -+++ b/lttng-events.c -@@ -1719,7 +1719,7 @@ int lttng_metadata_printf(struct lttng_session *session, - size_t len; - va_list ap; - -- WARN_ON_ONCE(!READ_ONCE(session->active)); -+ WARN_ON_ONCE(!LTTNG_READ_ONCE(session->active)); - - va_start(ap, fmt); - str = kvasprintf(GFP_KERNEL, fmt, ap); -@@ -2305,7 +2305,7 @@ int _lttng_event_metadata_statedump(struct lttng_session *session, - { - int ret = 0; - -- if (event->metadata_dumped || !READ_ONCE(session->active)) -+ if (event->metadata_dumped || !LTTNG_READ_ONCE(session->active)) - return 0; - if (chan->channel_type == METADATA_CHANNEL) - return 0; -@@ -2377,7 +2377,7 @@ int _lttng_channel_metadata_statedump(struct lttng_session *session, - { - int ret = 0; - -- if (chan->metadata_dumped || !READ_ONCE(session->active)) -+ if (chan->metadata_dumped || !LTTNG_READ_ONCE(session->active)) - return 0; - - if (chan->channel_type == METADATA_CHANNEL) -@@ -2604,7 +2604,7 @@ int _lttng_session_metadata_statedump(struct lttng_session *session) - struct lttng_event *event; - int ret = 0; - -- if (!READ_ONCE(session->active)) -+ if (!LTTNG_READ_ONCE(session->active)) - return 0; - - lttng_metadata_begin(session); -diff --git a/probes/lttng-kprobes.c b/probes/lttng-kprobes.c -index a44eaa1..38fb72e 100644 ---- a/probes/lttng-kprobes.c -+++ b/probes/lttng-kprobes.c -@@ -31,11 +31,11 @@ int lttng_kprobes_handler_pre(struct kprobe *p, struct pt_regs *regs) - int ret; - unsigned long data = (unsigned long) p->addr; - -- if (unlikely(!READ_ONCE(chan->session->active))) -+ if (unlikely(!LTTNG_READ_ONCE(chan->session->active))) - return 0; -- if (unlikely(!READ_ONCE(chan->enabled))) -+ if (unlikely(!LTTNG_READ_ONCE(chan->enabled))) - return 0; -- if (unlikely(!READ_ONCE(event->enabled))) -+ if (unlikely(!LTTNG_READ_ONCE(event->enabled))) - return 0; - - lib_ring_buffer_ctx_init(&ctx, chan->chan, <tng_probe_ctx, sizeof(data), -diff --git a/probes/lttng-kretprobes.c b/probes/lttng-kretprobes.c -index ab98ff2..a6bcd21 100644 ---- a/probes/lttng-kretprobes.c -+++ b/probes/lttng-kretprobes.c -@@ -51,11 +51,11 @@ int _lttng_kretprobes_handler(struct kretprobe_instance *krpi, - unsigned long parent_ip; - } payload; - -- if (unlikely(!READ_ONCE(chan->session->active))) -+ if (unlikely(!LTTNG_READ_ONCE(chan->session->active))) - return 0; -- if (unlikely(!READ_ONCE(chan->enabled))) -+ if (unlikely(!LTTNG_READ_ONCE(chan->enabled))) - return 0; -- if (unlikely(!READ_ONCE(event->enabled))) -+ if (unlikely(!LTTNG_READ_ONCE(event->enabled))) - return 0; - - payload.ip = (unsigned long) krpi->rp->kp.addr; -diff --git a/probes/lttng-tracepoint-event-impl.h b/probes/lttng-tracepoint-event-impl.h -index 77b8638..72a669e 100644 ---- a/probes/lttng-tracepoint-event-impl.h -+++ b/probes/lttng-tracepoint-event-impl.h -@@ -1132,11 +1132,11 @@ static void __event_probe__##_name(void *__data, _proto) \ - \ - if (!_TP_SESSION_CHECK(session, __session)) \ - return; \ -- if (unlikely(!READ_ONCE(__session->active))) \ -+ if (unlikely(!LTTNG_READ_ONCE(__session->active))) \ - return; \ -- if (unlikely(!READ_ONCE(__chan->enabled))) \ -+ if (unlikely(!LTTNG_READ_ONCE(__chan->enabled))) \ - return; \ -- if (unlikely(!READ_ONCE(__event->enabled))) \ -+ if (unlikely(!LTTNG_READ_ONCE(__event->enabled))) \ - return; \ - __lf = lttng_rcu_dereference(__session->pid_tracker.p); \ - if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid))) \ -@@ -1225,11 +1225,11 @@ static void __event_probe__##_name(void *__data) \ - \ - if (!_TP_SESSION_CHECK(session, __session)) \ - return; \ -- if (unlikely(!READ_ONCE(__session->active))) \ -+ if (unlikely(!LTTNG_READ_ONCE(__session->active))) \ - return; \ -- if (unlikely(!READ_ONCE(__chan->enabled))) \ -+ if (unlikely(!LTTNG_READ_ONCE(__chan->enabled))) \ - return; \ -- if (unlikely(!READ_ONCE(__event->enabled))) \ -+ if (unlikely(!LTTNG_READ_ONCE(__event->enabled))) \ - return; \ - __lf = lttng_rcu_dereference(__session->pid_tracker.p); \ - if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid))) \ -diff --git a/probes/lttng-uprobes.c b/probes/lttng-uprobes.c -index bc10128..bda1d9b 100644 ---- a/probes/lttng-uprobes.c -+++ b/probes/lttng-uprobes.c -@@ -40,11 +40,11 @@ int lttng_uprobes_handler_pre(struct uprobe_consumer *uc, struct pt_regs *regs) - unsigned long ip; - } payload; - -- if (unlikely(!READ_ONCE(chan->session->active))) -+ if (unlikely(!LTTNG_READ_ONCE(chan->session->active))) - return 0; -- if (unlikely(!READ_ONCE(chan->enabled))) -+ if (unlikely(!LTTNG_READ_ONCE(chan->enabled))) - return 0; -- if (unlikely(!READ_ONCE(event->enabled))) -+ if (unlikely(!LTTNG_READ_ONCE(event->enabled))) - return 0; - - lib_ring_buffer_ctx_init(&ctx, chan->chan, <tng_probe_ctx, -diff --git a/wrapper/compiler.h b/wrapper/compiler.h -index 1496f33..b9f8c51 100644 ---- a/wrapper/compiler.h -+++ b/wrapper/compiler.h -@@ -9,6 +9,7 @@ - #define _LTTNG_WRAPPER_COMPILER_H - - #include <linux/compiler.h> -+#include <linux/version.h> - - /* - * Don't allow compiling with buggy compiler. -@@ -39,4 +40,21 @@ - # define WRITE_ONCE(x, val) ({ ACCESS_ONCE(x) = val; }) - #endif - -+/* -+ * In v4.15 a smp read barrier was added to READ_ONCE to replace -+ * lockless_dereference(), replicate this behavior on prior kernels -+ * and remove calls to smp_read_barrier_depends which was dropped -+ * in v5.9. -+ */ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) -+#define LTTNG_READ_ONCE(x) READ_ONCE(x) -+#else -+#define LTTNG_READ_ONCE(x) \ -+({ \ -+ typeof(x) __val = READ_ONCE(x); \ -+ smp_read_barrier_depends(); \ -+ __val; \ -+}) -+#endif -+ - #endif /* _LTTNG_WRAPPER_COMPILER_H */ -diff --git a/wrapper/trace-clock.h b/wrapper/trace-clock.h -index 9f4e366..187fc82 100644 ---- a/wrapper/trace-clock.h -+++ b/wrapper/trace-clock.h -@@ -160,33 +160,30 @@ static inline void put_trace_clock(void) - - static inline u64 trace_clock_read64(void) - { -- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock); -+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock); - - if (likely(!ltc)) { - return trace_clock_read64_monotonic(); - } else { -- read_barrier_depends(); /* load ltc before content */ - return ltc->read64(); - } - } - - static inline u64 trace_clock_freq(void) - { -- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock); -+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock); - - if (!ltc) { - return trace_clock_freq_monotonic(); - } else { -- read_barrier_depends(); /* load ltc before content */ - return ltc->freq(); - } - } - - static inline int trace_clock_uuid(char *uuid) - { -- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock); -+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock); - -- read_barrier_depends(); /* load ltc before content */ - /* Use default UUID cb when NULL */ - if (!ltc || !ltc->uuid) { - return trace_clock_uuid_monotonic(uuid); -@@ -197,24 +194,22 @@ static inline int trace_clock_uuid(char *uuid) - - static inline const char *trace_clock_name(void) - { -- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock); -+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock); - - if (!ltc) { - return trace_clock_name_monotonic(); - } else { -- read_barrier_depends(); /* load ltc before content */ - return ltc->name(); - } - } - - static inline const char *trace_clock_description(void) - { -- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock); -+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock); - - if (!ltc) { - return trace_clock_description_monotonic(); - } else { -- read_barrier_depends(); /* load ltc before content */ - return ltc->description(); - } - } --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch deleted file mode 100644 index 2843c9cb62..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch +++ /dev/null @@ -1,59 +0,0 @@ -From eae02feb58064eee5ce15a9f6bdffd107c47da05 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 31 Aug 2020 11:41:38 -0400 -Subject: [PATCH 07/10] fix: writeback: Drop I_DIRTY_TIME_EXPIRE (v5.9) - -See upstream commit: - - commit 5fcd57505c002efc5823a7355e21f48dd02d5a51 - Author: Jan Kara <jack@suse.cz> - Date: Fri May 29 16:24:43 2020 +0200 - - writeback: Drop I_DIRTY_TIME_EXPIRE - - The only use of I_DIRTY_TIME_EXPIRE is to detect in - __writeback_single_inode() that inode got there because flush worker - decided it's time to writeback the dirty inode time stamps (either - because we are syncing or because of age). However we can detect this - directly in __writeback_single_inode() and there's no need for the - strange propagation with I_DIRTY_TIME_EXPIRE flag. - -Upstream-Status: Backport - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Change-Id: I92e37c2ff3ec36d431e8f9de5c8e37c5a2da55ea ---- - instrumentation/events/lttng-module/writeback.h | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h -index affb4eb..ece67ad 100644 ---- a/instrumentation/events/lttng-module/writeback.h -+++ b/instrumentation/events/lttng-module/writeback.h -@@ -46,7 +46,21 @@ static inline struct backing_dev_info *lttng_inode_to_bdi(struct inode *inode) - - #endif - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)) -+#define show_inode_state(state) \ -+ __print_flags(state, "|", \ -+ {I_DIRTY_SYNC, "I_DIRTY_SYNC"}, \ -+ {I_DIRTY_DATASYNC, "I_DIRTY_DATASYNC"}, \ -+ {I_DIRTY_PAGES, "I_DIRTY_PAGES"}, \ -+ {I_NEW, "I_NEW"}, \ -+ {I_WILL_FREE, "I_WILL_FREE"}, \ -+ {I_FREEING, "I_FREEING"}, \ -+ {I_CLEAR, "I_CLEAR"}, \ -+ {I_SYNC, "I_SYNC"}, \ -+ {I_DIRTY_TIME, "I_DIRTY_TIME"}, \ -+ {I_REFERENCED, "I_REFERENCED"} \ -+ ) -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)) - #define show_inode_state(state) \ - __print_flags(state, "|", \ - {I_DIRTY_SYNC, "I_DIRTY_SYNC"}, \ --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch deleted file mode 100644 index 7a0d9a38b8..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 87b2affc3eb06f3fb2d0923f18af37713eb6814b Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 31 Aug 2020 14:16:01 -0400 -Subject: [PATCH 08/10] fix: writeback: Fix sync livelock due to b_dirty_time - processing (v5.9) - -See upstream commit: - - commit f9cae926f35e8230330f28c7b743ad088611a8de - Author: Jan Kara <jack@suse.cz> - Date: Fri May 29 16:08:58 2020 +0200 - - writeback: Fix sync livelock due to b_dirty_time processing - - When we are processing writeback for sync(2), move_expired_inodes() - didn't set any inode expiry value (older_than_this). This can result in - writeback never completing if there's steady stream of inodes added to - b_dirty_time list as writeback rechecks dirty lists after each writeback - round whether there's more work to be done. Fix the problem by using - sync(2) start time is inode expiry value when processing b_dirty_time - list similarly as for ordinarily dirtied inodes. This requires some - refactoring of older_than_this handling which simplifies the code - noticeably as a bonus. - -Upstream-Status: Backport - -Change-Id: I8b894b13ccc14d9b8983ee4c2810a927c319560b -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> ---- - .../events/lttng-module/writeback.h | 39 ++++++++++++------- - 1 file changed, 26 insertions(+), 13 deletions(-) - -diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h -index ece67ad..e9018dd 100644 ---- a/instrumentation/events/lttng-module/writeback.h -+++ b/instrumentation/events/lttng-module/writeback.h -@@ -384,34 +384,48 @@ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balanc - #endif - LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage) - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)) -+LTTNG_TRACEPOINT_EVENT(writeback_queue_io, -+ TP_PROTO(struct bdi_writeback *wb, -+ struct wb_writeback_work *work, -+ unsigned long dirtied_before, -+ int moved), -+ TP_ARGS(wb, work, dirtied_before, moved), -+ TP_FIELDS( -+ ctf_array_text(char, name, dev_name(wb->bdi->dev), 32) -+ ctf_integer(unsigned long, older, dirtied_before) -+ ctf_integer(int, moved, moved) -+ ) -+) -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) - LTTNG_TRACEPOINT_EVENT(writeback_queue_io, - TP_PROTO(struct bdi_writeback *wb, --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) - struct wb_writeback_work *work, --#else -- unsigned long *older_than_this, --#endif - int moved), --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) - TP_ARGS(wb, work, moved), --#else -+ TP_FIELDS( -+ ctf_array_text(char, name, dev_name(wb->bdi->dev), 32) -+ ctf_integer(int, moved, moved) -+ ) -+) -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) -+LTTNG_TRACEPOINT_EVENT(writeback_queue_io, -+ TP_PROTO(struct bdi_writeback *wb, -+ unsigned long *older_than_this, -+ int moved), - TP_ARGS(wb, older_than_this, moved), --#endif - TP_FIELDS( - ctf_array_text(char, name, dev_name(wb->bdi->dev), 32) --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) --#else - ctf_integer(unsigned long, older, - older_than_this ? *older_than_this : 0) - ctf_integer(long, age, - older_than_this ? - (jiffies - *older_than_this) * 1000 / HZ - : -1) --#endif - ctf_integer(int, moved, moved) - ) - ) -+#endif - - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)) - LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state, -@@ -460,7 +474,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state, - ctf_integer(unsigned long, dirty_limit, global_dirty_limit) - ) - ) --#else -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) - LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state, - - writeback_global_dirty_state, -@@ -485,7 +499,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state, - ) - ) - #endif --#endif - - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) - --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch deleted file mode 100644 index 346e1d63ad..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch +++ /dev/null @@ -1,52 +0,0 @@ -From b74b25f349e92d7b5bdc8684e406d6a889f13773 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Fri, 4 Sep 2020 11:52:51 -0400 -Subject: [PATCH 09/10] fix: version ranges for ext4_discard_preallocations and - writeback_queue_io - -Upstream-Status: Backport - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Change-Id: Id4fa53cb2e713cbda651e1a75deed91013115592 ---- - instrumentation/events/lttng-module/ext4.h | 3 ++- - instrumentation/events/lttng-module/writeback.h | 8 +++++++- - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h -index 4476abb..b172c8d 100644 ---- a/instrumentation/events/lttng-module/ext4.h -+++ b/instrumentation/events/lttng-module/ext4.h -@@ -460,7 +460,8 @@ LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa, - ) - #endif - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) || \ -+ LTTNG_KERNEL_RANGE(5,8,6, 5,9,0)) - LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations, - TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed), - -diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h -index e9018dd..09637d7 100644 ---- a/instrumentation/events/lttng-module/writeback.h -+++ b/instrumentation/events/lttng-module/writeback.h -@@ -384,7 +384,13 @@ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balanc - #endif - LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage) - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) || \ -+ LTTNG_KERNEL_RANGE(5,8,6, 5,9,0) || \ -+ LTTNG_KERNEL_RANGE(5,4,62, 5,5,0) || \ -+ LTTNG_KERNEL_RANGE(4,19,143, 4,20,0) || \ -+ LTTNG_KERNEL_RANGE(4,14,196, 4,15,0) || \ -+ LTTNG_KERNEL_RANGE(4,9,235, 4,10,0) || \ -+ LTTNG_KERNEL_RANGE(4,4,235, 4,5,0)) - LTTNG_TRACEPOINT_EVENT(writeback_queue_io, - TP_PROTO(struct bdi_writeback *wb, - struct wb_writeback_work *work, --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0010-Fix-system-call-filter-table.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0010-Fix-system-call-filter-table.patch deleted file mode 100644 index a16750ddb3..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0010-Fix-system-call-filter-table.patch +++ /dev/null @@ -1,918 +0,0 @@ -From ad594e3a953db1b0c3c059fde45b5a5494f6be78 Mon Sep 17 00:00:00 2001 -From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Date: Tue, 28 Jan 2020 16:02:44 -0500 -Subject: [PATCH 10/10] Fix: system call filter table - -The system call filter table has effectively been unused for a long -time due to system call name prefix mismatch. This means the overhead of -selective system call tracing was larger than it should have been because -the event payload preparation would be done for all system calls as soon -as a single system call is traced. - -However, fixing this underlying issue unearths several issues that crept -unnoticed when the "enabler" concept was introduced (after the original -implementation of the system call filter table). - -Here is a list of the issues which are resolved here: - -- Split lttng_syscalls_unregister into an unregister and destroy - function, thus awaiting for a grace period (and therefore quiescence - of the users) after unregistering the system call tracepoints before - freeing the system call filter data structures. This effectively fixes - a use-after-free. - -- The state for enabling "all" system calls vs enabling specific system - calls (and sequences of enable-disable) was incorrect with respect to - the "enablers" semantic. This is solved by always tracking the - bitmap of enabled system calls, and keeping this bitmap even when - enabling all system calls. The sc_filter is now always allocated - before system call tracing is registered to tracepoints, which means - it does not need to be RCU dereferenced anymore. - -Padding fields in the ABI are reserved to select whether to: - -- Trace either native or compat system call (or both, which is the - behavior currently implemented), -- Trace either system call entry or exit (or both, which is the - behavior currently implemented), -- Select the system call to trace by name (behavior currently - implemented) or by system call number, - -Upstream-Status: Backport - -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> ---- - lttng-abi.c | 43 ++++++ - lttng-abi.h | 26 ++++ - lttng-events.c | 112 +++++++++++++-- - lttng-events.h | 31 ++++- - lttng-syscalls.c | 348 +++++++++++++++++++++++++---------------------- - 5 files changed, 380 insertions(+), 180 deletions(-) - -diff --git a/lttng-abi.c b/lttng-abi.c -index 64ea99d..b33879d 100644 ---- a/lttng-abi.c -+++ b/lttng-abi.c -@@ -1264,6 +1264,46 @@ nomem: - return ret; - } - -+static -+int lttng_abi_validate_event_param(struct lttng_kernel_event *event_param) -+{ -+ /* Limit ABI to implemented features. */ -+ switch (event_param->instrumentation) { -+ case LTTNG_KERNEL_SYSCALL: -+ switch (event_param->u.syscall.entryexit) { -+ case LTTNG_KERNEL_SYSCALL_ENTRYEXIT: -+ break; -+ default: -+ return -EINVAL; -+ } -+ switch (event_param->u.syscall.abi) { -+ case LTTNG_KERNEL_SYSCALL_ABI_ALL: -+ break; -+ default: -+ return -EINVAL; -+ } -+ switch (event_param->u.syscall.match) { -+ case LTTNG_SYSCALL_MATCH_NAME: -+ break; -+ default: -+ return -EINVAL; -+ } -+ break; -+ -+ case LTTNG_KERNEL_TRACEPOINT: /* Fallthrough */ -+ case LTTNG_KERNEL_KPROBE: /* Fallthrough */ -+ case LTTNG_KERNEL_KRETPROBE: /* Fallthrough */ -+ case LTTNG_KERNEL_NOOP: /* Fallthrough */ -+ case LTTNG_KERNEL_UPROBE: -+ break; -+ -+ case LTTNG_KERNEL_FUNCTION: /* Fallthrough */ -+ default: -+ return -EINVAL; -+ } -+ return 0; -+} -+ - static - int lttng_abi_create_event(struct file *channel_file, - struct lttng_kernel_event *event_param) -@@ -1305,6 +1345,9 @@ int lttng_abi_create_event(struct file *channel_file, - ret = -EOVERFLOW; - goto refcount_error; - } -+ ret = lttng_abi_validate_event_param(event_param); -+ if (ret) -+ goto event_error; - if (event_param->instrumentation == LTTNG_KERNEL_TRACEPOINT - || event_param->instrumentation == LTTNG_KERNEL_SYSCALL) { - struct lttng_enabler *enabler; -diff --git a/lttng-abi.h b/lttng-abi.h -index 1d356ab..51d60e5 100644 ---- a/lttng-abi.h -+++ b/lttng-abi.h -@@ -90,6 +90,31 @@ struct lttng_kernel_event_callsite { - } u; - } __attribute__((packed)); - -+enum lttng_kernel_syscall_entryexit { -+ LTTNG_KERNEL_SYSCALL_ENTRYEXIT = 0, -+ LTTNG_KERNEL_SYSCALL_ENTRY = 1, /* Not implemented. */ -+ LTTNG_KERNEL_SYSCALL_EXIT = 2, /* Not implemented. */ -+}; -+ -+enum lttng_kernel_syscall_abi { -+ LTTNG_KERNEL_SYSCALL_ABI_ALL = 0, -+ LTTNG_KERNEL_SYSCALL_ABI_NATIVE = 1, /* Not implemented. */ -+ LTTNG_KERNEL_SYSCALL_ABI_COMPAT = 2, /* Not implemented. */ -+}; -+ -+enum lttng_kernel_syscall_match { -+ LTTNG_SYSCALL_MATCH_NAME = 0, -+ LTTNG_SYSCALL_MATCH_NR = 1, /* Not implemented. */ -+}; -+ -+struct lttng_kernel_syscall { -+ uint8_t entryexit; /* enum lttng_kernel_syscall_entryexit */ -+ uint8_t abi; /* enum lttng_kernel_syscall_abi */ -+ uint8_t match; /* enum lttng_kernel_syscall_match */ -+ uint8_t padding; -+ uint32_t nr; /* For LTTNG_SYSCALL_MATCH_NR */ -+} __attribute__((packed)); -+ - /* - * For syscall tracing, name = "*" means "enable all". - */ -@@ -106,6 +131,7 @@ struct lttng_kernel_event { - struct lttng_kernel_kprobe kprobe; - struct lttng_kernel_function_tracer ftrace; - struct lttng_kernel_uprobe uprobe; -+ struct lttng_kernel_syscall syscall; - char padding[LTTNG_KERNEL_EVENT_PADDING2]; - } u; - } __attribute__((packed)); -diff --git a/lttng-events.c b/lttng-events.c -index d719294..4c0b04a 100644 ---- a/lttng-events.c -+++ b/lttng-events.c -@@ -201,6 +201,10 @@ void lttng_session_destroy(struct lttng_session *session) - WARN_ON(ret); - } - synchronize_trace(); /* Wait for in-flight events to complete */ -+ list_for_each_entry(chan, &session->chan, list) { -+ ret = lttng_syscalls_destroy(chan); -+ WARN_ON(ret); -+ } - list_for_each_entry_safe(enabler, tmpenabler, - &session->enablers_head, node) - lttng_enabler_destroy(enabler); -@@ -740,6 +744,28 @@ struct lttng_event *_lttng_event_create(struct lttng_channel *chan, - event->enabled = 0; - event->registered = 0; - event->desc = event_desc; -+ switch (event_param->u.syscall.entryexit) { -+ case LTTNG_KERNEL_SYSCALL_ENTRYEXIT: -+ ret = -EINVAL; -+ goto register_error; -+ case LTTNG_KERNEL_SYSCALL_ENTRY: -+ event->u.syscall.entryexit = LTTNG_SYSCALL_ENTRY; -+ break; -+ case LTTNG_KERNEL_SYSCALL_EXIT: -+ event->u.syscall.entryexit = LTTNG_SYSCALL_EXIT; -+ break; -+ } -+ switch (event_param->u.syscall.abi) { -+ case LTTNG_KERNEL_SYSCALL_ABI_ALL: -+ ret = -EINVAL; -+ goto register_error; -+ case LTTNG_KERNEL_SYSCALL_ABI_NATIVE: -+ event->u.syscall.abi = LTTNG_SYSCALL_ABI_NATIVE; -+ break; -+ case LTTNG_KERNEL_SYSCALL_ABI_COMPAT: -+ event->u.syscall.abi = LTTNG_SYSCALL_ABI_COMPAT; -+ break; -+ } - if (!event->desc) { - ret = -EINVAL; - goto register_error; -@@ -826,8 +852,7 @@ void register_event(struct lttng_event *event) - event); - break; - case LTTNG_KERNEL_SYSCALL: -- ret = lttng_syscall_filter_enable(event->chan, -- desc->name); -+ ret = lttng_syscall_filter_enable(event->chan, event); - break; - case LTTNG_KERNEL_KPROBE: - case LTTNG_KERNEL_UPROBE: -@@ -870,8 +895,7 @@ int _lttng_event_unregister(struct lttng_event *event) - ret = 0; - break; - case LTTNG_KERNEL_SYSCALL: -- ret = lttng_syscall_filter_disable(event->chan, -- desc->name); -+ ret = lttng_syscall_filter_disable(event->chan, event); - break; - case LTTNG_KERNEL_NOOP: - ret = 0; -@@ -1203,39 +1227,87 @@ int lttng_desc_match_enabler(const struct lttng_event_desc *desc, - struct lttng_enabler *enabler) - { - const char *desc_name, *enabler_name; -+ bool compat = false, entry = false; - - enabler_name = enabler->event_param.name; - switch (enabler->event_param.instrumentation) { - case LTTNG_KERNEL_TRACEPOINT: - desc_name = desc->name; -+ switch (enabler->type) { -+ case LTTNG_ENABLER_STAR_GLOB: -+ return lttng_match_enabler_star_glob(desc_name, enabler_name); -+ case LTTNG_ENABLER_NAME: -+ return lttng_match_enabler_name(desc_name, enabler_name); -+ default: -+ return -EINVAL; -+ } - break; - case LTTNG_KERNEL_SYSCALL: - desc_name = desc->name; -- if (!strncmp(desc_name, "compat_", strlen("compat_"))) -+ if (!strncmp(desc_name, "compat_", strlen("compat_"))) { - desc_name += strlen("compat_"); -+ compat = true; -+ } - if (!strncmp(desc_name, "syscall_exit_", - strlen("syscall_exit_"))) { - desc_name += strlen("syscall_exit_"); - } else if (!strncmp(desc_name, "syscall_entry_", - strlen("syscall_entry_"))) { - desc_name += strlen("syscall_entry_"); -+ entry = true; - } else { - WARN_ON_ONCE(1); - return -EINVAL; - } -+ switch (enabler->event_param.u.syscall.entryexit) { -+ case LTTNG_KERNEL_SYSCALL_ENTRYEXIT: -+ break; -+ case LTTNG_KERNEL_SYSCALL_ENTRY: -+ if (!entry) -+ return 0; -+ break; -+ case LTTNG_KERNEL_SYSCALL_EXIT: -+ if (entry) -+ return 0; -+ break; -+ default: -+ return -EINVAL; -+ } -+ switch (enabler->event_param.u.syscall.abi) { -+ case LTTNG_KERNEL_SYSCALL_ABI_ALL: -+ break; -+ case LTTNG_KERNEL_SYSCALL_ABI_NATIVE: -+ if (compat) -+ return 0; -+ break; -+ case LTTNG_KERNEL_SYSCALL_ABI_COMPAT: -+ if (!compat) -+ return 0; -+ break; -+ default: -+ return -EINVAL; -+ } -+ switch (enabler->event_param.u.syscall.match) { -+ case LTTNG_SYSCALL_MATCH_NAME: -+ switch (enabler->type) { -+ case LTTNG_ENABLER_STAR_GLOB: -+ return lttng_match_enabler_star_glob(desc_name, enabler_name); -+ case LTTNG_ENABLER_NAME: -+ return lttng_match_enabler_name(desc_name, enabler_name); -+ default: -+ return -EINVAL; -+ } -+ break; -+ case LTTNG_SYSCALL_MATCH_NR: -+ return -EINVAL; /* Not implemented. */ -+ default: -+ return -EINVAL; -+ } - break; - default: - WARN_ON_ONCE(1); - return -EINVAL; - } -- switch (enabler->type) { -- case LTTNG_ENABLER_STAR_GLOB: -- return lttng_match_enabler_star_glob(desc_name, enabler_name); -- case LTTNG_ENABLER_NAME: -- return lttng_match_enabler_name(desc_name, enabler_name); -- default: -- return -EINVAL; -- } - } - - static -@@ -1361,9 +1433,21 @@ void lttng_create_event_if_missing(struct lttng_enabler *enabler) - static - int lttng_enabler_ref_events(struct lttng_enabler *enabler) - { -- struct lttng_session *session = enabler->chan->session; -+ struct lttng_channel *chan = enabler->chan; -+ struct lttng_session *session = chan->session; - struct lttng_event *event; - -+ if (enabler->event_param.instrumentation == LTTNG_KERNEL_SYSCALL && -+ enabler->event_param.u.syscall.entryexit == LTTNG_KERNEL_SYSCALL_ENTRYEXIT && -+ enabler->event_param.u.syscall.abi == LTTNG_KERNEL_SYSCALL_ABI_ALL && -+ enabler->event_param.u.syscall.match == LTTNG_SYSCALL_MATCH_NAME && -+ !strcmp(enabler->event_param.name, "*")) { -+ if (enabler->enabled) -+ WRITE_ONCE(chan->syscall_all, 1); -+ else -+ WRITE_ONCE(chan->syscall_all, 0); -+ } -+ - /* First ensure that probe events are created for this enabler. */ - lttng_create_event_if_missing(enabler); - -diff --git a/lttng-events.h b/lttng-events.h -index a36a312..d4d9976 100644 ---- a/lttng-events.h -+++ b/lttng-events.h -@@ -292,6 +292,16 @@ struct lttng_uprobe_handler { - struct list_head node; - }; - -+enum lttng_syscall_entryexit { -+ LTTNG_SYSCALL_ENTRY, -+ LTTNG_SYSCALL_EXIT, -+}; -+ -+enum lttng_syscall_abi { -+ LTTNG_SYSCALL_ABI_NATIVE, -+ LTTNG_SYSCALL_ABI_COMPAT, -+}; -+ - /* - * lttng_event structure is referred to by the tracing fast path. It must be - * kept small. -@@ -318,6 +328,11 @@ struct lttng_event { - struct inode *inode; - struct list_head head; - } uprobe; -+ struct { -+ char *syscall_name; -+ enum lttng_syscall_entryexit entryexit; -+ enum lttng_syscall_abi abi; -+ } syscall; - } u; - struct list_head list; /* Event list in session */ - unsigned int metadata_dumped:1; -@@ -457,10 +472,10 @@ struct lttng_channel { - struct lttng_syscall_filter *sc_filter; - int header_type; /* 0: unset, 1: compact, 2: large */ - enum channel_type channel_type; -+ int syscall_all; - unsigned int metadata_dumped:1, - sys_enter_registered:1, - sys_exit_registered:1, -- syscall_all:1, - tstate:1; /* Transient enable state */ - }; - -@@ -653,10 +668,11 @@ void lttng_clock_unref(void); - #if defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS) - int lttng_syscalls_register(struct lttng_channel *chan, void *filter); - int lttng_syscalls_unregister(struct lttng_channel *chan); -+int lttng_syscalls_destroy(struct lttng_channel *chan); - int lttng_syscall_filter_enable(struct lttng_channel *chan, -- const char *name); -+ struct lttng_event *event); - int lttng_syscall_filter_disable(struct lttng_channel *chan, -- const char *name); -+ struct lttng_event *event); - long lttng_channel_syscall_mask(struct lttng_channel *channel, - struct lttng_kernel_syscall_mask __user *usyscall_mask); - #else -@@ -670,14 +686,19 @@ static inline int lttng_syscalls_unregister(struct lttng_channel *chan) - return 0; - } - -+static inline int lttng_syscalls_destroy(struct lttng_channel *chan) -+{ -+ return 0; -+} -+ - static inline int lttng_syscall_filter_enable(struct lttng_channel *chan, -- const char *name) -+ struct lttng_event *event); - { - return -ENOSYS; - } - - static inline int lttng_syscall_filter_disable(struct lttng_channel *chan, -- const char *name) -+ struct lttng_event *event); - { - return -ENOSYS; - } -diff --git a/lttng-syscalls.c b/lttng-syscalls.c -index 97f1ba9..26cead6 100644 ---- a/lttng-syscalls.c -+++ b/lttng-syscalls.c -@@ -367,8 +367,10 @@ const struct trace_syscall_entry compat_sc_exit_table[] = { - #undef CREATE_SYSCALL_TABLE - - struct lttng_syscall_filter { -- DECLARE_BITMAP(sc, NR_syscalls); -- DECLARE_BITMAP(sc_compat, NR_compat_syscalls); -+ DECLARE_BITMAP(sc_entry, NR_syscalls); -+ DECLARE_BITMAP(sc_exit, NR_syscalls); -+ DECLARE_BITMAP(sc_compat_entry, NR_compat_syscalls); -+ DECLARE_BITMAP(sc_compat_exit, NR_compat_syscalls); - }; - - static void syscall_entry_unknown(struct lttng_event *event, -@@ -391,29 +393,23 @@ void syscall_entry_probe(void *__data, struct pt_regs *regs, long id) - size_t table_len; - - if (unlikely(in_compat_syscall())) { -- struct lttng_syscall_filter *filter; -- -- filter = lttng_rcu_dereference(chan->sc_filter); -- if (filter) { -- if (id < 0 || id >= NR_compat_syscalls -- || !test_bit(id, filter->sc_compat)) { -- /* System call filtered out. */ -- return; -- } -+ struct lttng_syscall_filter *filter = chan->sc_filter; -+ -+ if (id < 0 || id >= NR_compat_syscalls -+ || (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_compat_entry))) { -+ /* System call filtered out. */ -+ return; - } - table = compat_sc_table; - table_len = ARRAY_SIZE(compat_sc_table); - unknown_event = chan->sc_compat_unknown; - } else { -- struct lttng_syscall_filter *filter; -- -- filter = lttng_rcu_dereference(chan->sc_filter); -- if (filter) { -- if (id < 0 || id >= NR_syscalls -- || !test_bit(id, filter->sc)) { -- /* System call filtered out. */ -- return; -- } -+ struct lttng_syscall_filter *filter = chan->sc_filter; -+ -+ if (id < 0 || id >= NR_syscalls -+ || (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_entry))) { -+ /* System call filtered out. */ -+ return; - } - table = sc_table; - table_len = ARRAY_SIZE(sc_table); -@@ -545,29 +541,23 @@ void syscall_exit_probe(void *__data, struct pt_regs *regs, long ret) - - id = syscall_get_nr(current, regs); - if (unlikely(in_compat_syscall())) { -- struct lttng_syscall_filter *filter; -- -- filter = lttng_rcu_dereference(chan->sc_filter); -- if (filter) { -- if (id < 0 || id >= NR_compat_syscalls -- || !test_bit(id, filter->sc_compat)) { -- /* System call filtered out. */ -- return; -- } -+ struct lttng_syscall_filter *filter = chan->sc_filter; -+ -+ if (id < 0 || id >= NR_compat_syscalls -+ || (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_compat_exit))) { -+ /* System call filtered out. */ -+ return; - } - table = compat_sc_exit_table; - table_len = ARRAY_SIZE(compat_sc_exit_table); - unknown_event = chan->compat_sc_exit_unknown; - } else { -- struct lttng_syscall_filter *filter; -- -- filter = lttng_rcu_dereference(chan->sc_filter); -- if (filter) { -- if (id < 0 || id >= NR_syscalls -- || !test_bit(id, filter->sc)) { -- /* System call filtered out. */ -- return; -- } -+ struct lttng_syscall_filter *filter = chan->sc_filter; -+ -+ if (id < 0 || id >= NR_syscalls -+ || (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_exit))) { -+ /* System call filtered out. */ -+ return; - } - table = sc_exit_table; - table_len = ARRAY_SIZE(sc_exit_table); -@@ -713,27 +703,23 @@ int fill_table(const struct trace_syscall_entry *table, size_t table_len, - memset(&ev, 0, sizeof(ev)); - switch (type) { - case SC_TYPE_ENTRY: -- strncpy(ev.name, SYSCALL_ENTRY_STR, -- LTTNG_KERNEL_SYM_NAME_LEN); -+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY; -+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE; - break; - case SC_TYPE_EXIT: -- strncpy(ev.name, SYSCALL_EXIT_STR, -- LTTNG_KERNEL_SYM_NAME_LEN); -+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT; -+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE; - break; - case SC_TYPE_COMPAT_ENTRY: -- strncpy(ev.name, COMPAT_SYSCALL_ENTRY_STR, -- LTTNG_KERNEL_SYM_NAME_LEN); -+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY; -+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT; - break; - case SC_TYPE_COMPAT_EXIT: -- strncpy(ev.name, COMPAT_SYSCALL_EXIT_STR, -- LTTNG_KERNEL_SYM_NAME_LEN); -- break; -- default: -- BUG_ON(1); -+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT; -+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT; - break; - } -- strncat(ev.name, desc->name, -- LTTNG_KERNEL_SYM_NAME_LEN - strlen(ev.name) - 1); -+ strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN); - ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0'; - ev.instrumentation = LTTNG_KERNEL_SYSCALL; - chan_table[i] = _lttng_event_create(chan, &ev, filter, -@@ -803,6 +789,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter) - strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN); - ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0'; - ev.instrumentation = LTTNG_KERNEL_SYSCALL; -+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY; -+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE; - chan->sc_unknown = _lttng_event_create(chan, &ev, filter, - desc, - ev.instrumentation); -@@ -820,6 +808,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter) - strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN); - ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0'; - ev.instrumentation = LTTNG_KERNEL_SYSCALL; -+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY; -+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT; - chan->sc_compat_unknown = _lttng_event_create(chan, &ev, filter, - desc, - ev.instrumentation); -@@ -837,6 +827,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter) - strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN); - ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0'; - ev.instrumentation = LTTNG_KERNEL_SYSCALL; -+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT; -+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT; - chan->compat_sc_exit_unknown = _lttng_event_create(chan, &ev, - filter, desc, - ev.instrumentation); -@@ -854,6 +846,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter) - strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN); - ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0'; - ev.instrumentation = LTTNG_KERNEL_SYSCALL; -+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT; -+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE; - chan->sc_exit_unknown = _lttng_event_create(chan, &ev, filter, - desc, ev.instrumentation); - WARN_ON_ONCE(!chan->sc_exit_unknown); -@@ -883,6 +877,14 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter) - if (ret) - return ret; - #endif -+ -+ if (!chan->sc_filter) { -+ chan->sc_filter = kzalloc(sizeof(struct lttng_syscall_filter), -+ GFP_KERNEL); -+ if (!chan->sc_filter) -+ return -ENOMEM; -+ } -+ - if (!chan->sys_enter_registered) { - ret = lttng_wrapper_tracepoint_probe_register("sys_enter", - (void *) syscall_entry_probe, chan); -@@ -930,7 +932,11 @@ int lttng_syscalls_unregister(struct lttng_channel *chan) - return ret; - chan->sys_exit_registered = 0; - } -- /* lttng_event destroy will be performed by lttng_session_destroy() */ -+ return 0; -+} -+ -+int lttng_syscalls_destroy(struct lttng_channel *chan) -+{ - kfree(chan->sc_table); - kfree(chan->sc_exit_table); - #ifdef CONFIG_COMPAT -@@ -993,136 +999,150 @@ uint32_t get_sc_tables_len(void) - return ARRAY_SIZE(sc_table) + ARRAY_SIZE(compat_sc_table); - } - --int lttng_syscall_filter_enable(struct lttng_channel *chan, -- const char *name) -+static -+const char *get_syscall_name(struct lttng_event *event) - { -- int syscall_nr, compat_syscall_nr, ret; -- struct lttng_syscall_filter *filter; -+ size_t prefix_len = 0; - -- WARN_ON_ONCE(!chan->sc_table); -+ WARN_ON_ONCE(event->instrumentation != LTTNG_KERNEL_SYSCALL); - -- if (!name) { -- /* Enable all system calls by removing filter */ -- if (chan->sc_filter) { -- filter = chan->sc_filter; -- rcu_assign_pointer(chan->sc_filter, NULL); -- synchronize_trace(); -- kfree(filter); -+ switch (event->u.syscall.entryexit) { -+ case LTTNG_SYSCALL_ENTRY: -+ switch (event->u.syscall.abi) { -+ case LTTNG_SYSCALL_ABI_NATIVE: -+ prefix_len = strlen(SYSCALL_ENTRY_STR); -+ break; -+ case LTTNG_SYSCALL_ABI_COMPAT: -+ prefix_len = strlen(COMPAT_SYSCALL_ENTRY_STR); -+ break; - } -- chan->syscall_all = 1; -- return 0; -- } -- -- if (!chan->sc_filter) { -- if (chan->syscall_all) { -- /* -- * All syscalls are already enabled. -- */ -- return -EEXIST; -+ break; -+ case LTTNG_SYSCALL_EXIT: -+ switch (event->u.syscall.abi) { -+ case LTTNG_SYSCALL_ABI_NATIVE: -+ prefix_len = strlen(SYSCALL_EXIT_STR); -+ break; -+ case LTTNG_SYSCALL_ABI_COMPAT: -+ prefix_len = strlen(COMPAT_SYSCALL_EXIT_STR); -+ break; - } -- filter = kzalloc(sizeof(struct lttng_syscall_filter), -- GFP_KERNEL); -- if (!filter) -- return -ENOMEM; -- } else { -- filter = chan->sc_filter; -+ break; - } -- syscall_nr = get_syscall_nr(name); -- compat_syscall_nr = get_compat_syscall_nr(name); -- if (syscall_nr < 0 && compat_syscall_nr < 0) { -- ret = -ENOENT; -- goto error; -+ WARN_ON_ONCE(prefix_len == 0); -+ return event->desc->name + prefix_len; -+} -+ -+int lttng_syscall_filter_enable(struct lttng_channel *chan, -+ struct lttng_event *event) -+{ -+ struct lttng_syscall_filter *filter = chan->sc_filter; -+ const char *syscall_name; -+ unsigned long *bitmap; -+ int syscall_nr; -+ -+ WARN_ON_ONCE(!chan->sc_table); -+ -+ syscall_name = get_syscall_name(event); -+ -+ switch (event->u.syscall.abi) { -+ case LTTNG_SYSCALL_ABI_NATIVE: -+ syscall_nr = get_syscall_nr(syscall_name); -+ break; -+ case LTTNG_SYSCALL_ABI_COMPAT: -+ syscall_nr = get_compat_syscall_nr(syscall_name); -+ break; -+ default: -+ return -EINVAL; - } -- if (syscall_nr >= 0) { -- if (test_bit(syscall_nr, filter->sc)) { -- ret = -EEXIST; -- goto error; -+ if (syscall_nr < 0) -+ return -ENOENT; -+ -+ -+ switch (event->u.syscall.entryexit) { -+ case LTTNG_SYSCALL_ENTRY: -+ switch (event->u.syscall.abi) { -+ case LTTNG_SYSCALL_ABI_NATIVE: -+ bitmap = filter->sc_entry; -+ break; -+ case LTTNG_SYSCALL_ABI_COMPAT: -+ bitmap = filter->sc_compat_entry; -+ break; - } -- bitmap_set(filter->sc, syscall_nr, 1); -- } -- if (compat_syscall_nr >= 0) { -- if (test_bit(compat_syscall_nr, filter->sc_compat)) { -- ret = -EEXIST; -- goto error; -+ break; -+ case LTTNG_SYSCALL_EXIT: -+ switch (event->u.syscall.abi) { -+ case LTTNG_SYSCALL_ABI_NATIVE: -+ bitmap = filter->sc_exit; -+ break; -+ case LTTNG_SYSCALL_ABI_COMPAT: -+ bitmap = filter->sc_compat_exit; -+ break; - } -- bitmap_set(filter->sc_compat, compat_syscall_nr, 1); -+ break; -+ default: -+ return -EINVAL; - } -- if (!chan->sc_filter) -- rcu_assign_pointer(chan->sc_filter, filter); -+ if (test_bit(syscall_nr, bitmap)) -+ return -EEXIST; -+ bitmap_set(bitmap, syscall_nr, 1); - return 0; -- --error: -- if (!chan->sc_filter) -- kfree(filter); -- return ret; - } - - int lttng_syscall_filter_disable(struct lttng_channel *chan, -- const char *name) -+ struct lttng_event *event) - { -- int syscall_nr, compat_syscall_nr, ret; -- struct lttng_syscall_filter *filter; -+ struct lttng_syscall_filter *filter = chan->sc_filter; -+ const char *syscall_name; -+ unsigned long *bitmap; -+ int syscall_nr; - - WARN_ON_ONCE(!chan->sc_table); - -- if (!chan->sc_filter) { -- if (!chan->syscall_all) -- return -EEXIST; -- filter = kzalloc(sizeof(struct lttng_syscall_filter), -- GFP_KERNEL); -- if (!filter) -- return -ENOMEM; -- /* Trace all system calls, then apply disable. */ -- bitmap_set(filter->sc, 0, NR_syscalls); -- bitmap_set(filter->sc_compat, 0, NR_compat_syscalls); -- } else { -- filter = chan->sc_filter; -+ syscall_name = get_syscall_name(event); -+ -+ switch (event->u.syscall.abi) { -+ case LTTNG_SYSCALL_ABI_NATIVE: -+ syscall_nr = get_syscall_nr(syscall_name); -+ break; -+ case LTTNG_SYSCALL_ABI_COMPAT: -+ syscall_nr = get_compat_syscall_nr(syscall_name); -+ break; -+ default: -+ return -EINVAL; - } -+ if (syscall_nr < 0) -+ return -ENOENT; - -- if (!name) { -- /* Fail if all syscalls are already disabled. */ -- if (bitmap_empty(filter->sc, NR_syscalls) -- && bitmap_empty(filter->sc_compat, -- NR_compat_syscalls)) { -- ret = -EEXIST; -- goto error; -- } - -- /* Disable all system calls */ -- bitmap_clear(filter->sc, 0, NR_syscalls); -- bitmap_clear(filter->sc_compat, 0, NR_compat_syscalls); -- goto apply_filter; -- } -- syscall_nr = get_syscall_nr(name); -- compat_syscall_nr = get_compat_syscall_nr(name); -- if (syscall_nr < 0 && compat_syscall_nr < 0) { -- ret = -ENOENT; -- goto error; -- } -- if (syscall_nr >= 0) { -- if (!test_bit(syscall_nr, filter->sc)) { -- ret = -EEXIST; -- goto error; -+ switch (event->u.syscall.entryexit) { -+ case LTTNG_SYSCALL_ENTRY: -+ switch (event->u.syscall.abi) { -+ case LTTNG_SYSCALL_ABI_NATIVE: -+ bitmap = filter->sc_entry; -+ break; -+ case LTTNG_SYSCALL_ABI_COMPAT: -+ bitmap = filter->sc_compat_entry; -+ break; - } -- bitmap_clear(filter->sc, syscall_nr, 1); -- } -- if (compat_syscall_nr >= 0) { -- if (!test_bit(compat_syscall_nr, filter->sc_compat)) { -- ret = -EEXIST; -- goto error; -+ break; -+ case LTTNG_SYSCALL_EXIT: -+ switch (event->u.syscall.abi) { -+ case LTTNG_SYSCALL_ABI_NATIVE: -+ bitmap = filter->sc_exit; -+ break; -+ case LTTNG_SYSCALL_ABI_COMPAT: -+ bitmap = filter->sc_compat_exit; -+ break; - } -- bitmap_clear(filter->sc_compat, compat_syscall_nr, 1); -+ break; -+ default: -+ return -EINVAL; - } --apply_filter: -- if (!chan->sc_filter) -- rcu_assign_pointer(chan->sc_filter, filter); -- chan->syscall_all = 0; -- return 0; -+ if (!test_bit(syscall_nr, bitmap)) -+ return -EEXIST; -+ bitmap_clear(bitmap, syscall_nr, 1); - --error: -- if (!chan->sc_filter) -- kfree(filter); -- return ret; -+ return 0; - } - - static -@@ -1236,6 +1256,9 @@ const struct file_operations lttng_syscall_list_fops = { - .release = seq_release, - }; - -+/* -+ * A syscall is enabled if it is traced for either entry or exit. -+ */ - long lttng_channel_syscall_mask(struct lttng_channel *channel, - struct lttng_kernel_syscall_mask __user *usyscall_mask) - { -@@ -1262,8 +1285,9 @@ long lttng_channel_syscall_mask(struct lttng_channel *channel, - char state; - - if (channel->sc_table) { -- if (filter) -- state = test_bit(bit, filter->sc); -+ if (!READ_ONCE(channel->syscall_all) && filter) -+ state = test_bit(bit, filter->sc_entry) -+ || test_bit(bit, filter->sc_exit); - else - state = 1; - } else { -@@ -1275,9 +1299,11 @@ long lttng_channel_syscall_mask(struct lttng_channel *channel, - char state; - - if (channel->compat_sc_table) { -- if (filter) -+ if (!READ_ONCE(channel->syscall_all) && filter) - state = test_bit(bit - ARRAY_SIZE(sc_table), -- filter->sc_compat); -+ filter->sc_compat_entry) -+ || test_bit(bit - ARRAY_SIZE(sc_table), -+ filter->sc_compat_exit); - else - state = 1; - } else { --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.2.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb index e36b327a08..ca79e27df6 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.2.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb @@ -11,19 +11,10 @@ include lttng-platforms.inc SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ - file://0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch \ - file://0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch \ - file://0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch \ - file://0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch \ - file://0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch \ - file://0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch \ - file://0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch \ - file://0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch \ - file://0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch \ - file://0010-Fix-system-call-filter-table.patch \ + file://0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch \ " -SRC_URI[sha256sum] = "df50bc3bd58679705714f17721acf619a8b0cedc694f8a97052aa5099626feca" +SRC_URI[sha256sum] = "673ef85c9f03e9b8fed10795e09d4e68add39404b70068d08b10f7b85754d7f0" export INSTALL_MOD_DIR="kernel/lttng-modules" diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb index 1c9f2aed16..923d64b975 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb @@ -19,25 +19,50 @@ STAP_DOCS ?= "--disable-docs --disable-publican --disable-refdocs" EXTRA_OECONF += "${STAP_DOCS} " PACKAGECONFIG ??= "translator sqlite monitor python3-probes" -PACKAGECONFIG[translator] = "--enable-translator,--disable-translator,boost,python3-core bash perl" +PACKAGECONFIG[translator] = "--enable-translator,--disable-translator,boost,bash" PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt" PACKAGECONFIG[sqlite] = "--enable-sqlite,--disable-sqlite,sqlite3" PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor,ncurses json-c" PACKAGECONFIG[python3-probes] = "--with-python3-probes,--without-python3-probes,python3-setuptools-native" -inherit autotools gettext pkgconfig distutils3-base systemd +inherit autotools gettext pkgconfig systemd +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'distutils3-base', '', d)} +# exporter comes with python3-probes PACKAGES =+ "${PN}-exporter" - FILES_${PN}-exporter = "${sysconfdir}/stap-exporter/* \ ${sysconfdir}/sysconfig/stap-exporter \ ${systemd_unitdir}/system/stap-exporter.service \ ${sbindir}/stap-exporter" - RDEPENDS_${PN}-exporter = "${PN} python3-core python3-netclient" - SYSTEMD_SERVICE_${PN}-exporter = "stap-exporter.service" +PACKAGES =+ "${PN}-runtime" +FILES_${PN}-runtime = "\ + ${bindir}/staprun \ + ${bindir}/stap-merge \ + ${bindir}/stapsh \ + ${libexecdir}/${BPN}/stapio \ +" +RDEPENDS_${PN}_class-target += "${PN}-runtime" + +PACKAGES =+ "${PN}-examples" +FILES_${PN}-examples = "${datadir}/${BPN}/examples/" +RDEPENDS_${PN}-examples += "${PN}" + +# don't complain that some examples involve bash, perl, php... +INSANE_SKIP_${PN}-examples += "file-rdeps" + +PACKAGES =+ "${PN}-python" +FILES_${PN}-python += "\ + ${bindir}/dtrace \ + ${libdir}/python*/ \ + ${libexecdir}/${BPN}/python/ \ +" +# python material requires sdt headers +RDEPENDS_${PN}-python += "${PN}-dev python3-core" +INSANE_SKIP_${PN}-python += "dev-deps" + do_configure_prepend () { # Improve reproducibility for c++ object files reltivepath="${@os.path.relpath(d.getVar('STAGING_INCDIR'), d.getVar('S'))}" @@ -51,7 +76,7 @@ do_install_append () { rm ${D}${libexecdir}/${PN}/stap-env fi - if [ ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then + if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then # Fix makefile hardcoded path assumptions for systemd (assumes $prefix) # without usrmerge distro feature enabled install -d `dirname ${D}${systemd_unitdir}` @@ -60,7 +85,9 @@ do_install_append () { fi # Ensure correct ownership for files copied in - chown root:root ${D}${sysconfdir}/stap-exporter/* -R + if [ -d ${D}${sysconfdir}/stap-exporter ]; then + chown root:root ${D}${sysconfdir}/stap-exporter/* -R + fi } BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.04.29.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb index a5827b9ef0..b3567bca95 100644 --- a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.04.29.bb +++ b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb @@ -1,11 +1,11 @@ SUMMARY = "Wireless Central Regulatory Domain Database" -HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA" +HOMEPAGE = "https://wireless.wiki.kernel.org/en/developers/regulatory/crda" SECTION = "net" LICENSE = "ISC" LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" -SRC_URI[sha256sum] = "89fd031aed5977c219a71501e144375a10e7c90d1005d5d086ea7972886a2c7a" +SRC_URI[sha256sum] = "b4164490d82ff7b0086e812ac42ab27baf57be24324d4c0ee1c5dd6ba27f2a52" inherit bin_package allarch diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch b/poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch new file mode 100644 index 0000000000..98e2988dda --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch @@ -0,0 +1,31 @@ +From ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Thu, 22 Oct 2020 20:57:32 +0200 +Subject: [PATCH] dlmisc: the snd_plugin_dir_set / snd_plugin_dir must be + declared even for \!DL_ORIGIN_AVAILABLE + +Fixes: 8580c081c2 ("dlsym: add support for ALSA_PLUGIN_DIR environment variable") +BugLink: https://github.com/alsa-project/alsa-lib/issues/91 +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + src/dlmisc.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/dlmisc.c b/src/dlmisc.c +index c9517c55..f20eb593 100644 +--- a/src/dlmisc.c ++++ b/src/dlmisc.c +@@ -42,11 +42,9 @@ + #ifndef PIC + struct snd_dlsym_link *snd_dlsym_start = NULL; + #endif +-#ifdef DL_ORIGIN_AVAILABLE + static int snd_plugin_dir_set = 0; + static char *snd_plugin_dir = NULL; + #endif +-#endif + + #if defined(DL_ORIGIN_AVAILABLE) && defined(HAVE_LIBPTHREAD) + static pthread_mutex_t snd_dlpath_mutex = PTHREAD_MUTEX_INITIALIZER; diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.3.2.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb index 1ed1a7b9a3..f38e8b94ff 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.3.2.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb @@ -7,8 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \ " -SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" -SRC_URI[sha256sum] = "e81fc5b7afcaee8c9fd7f64a1e3043e88d62e9ad2c4cff55f578df6b0a9abe15" +SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2 \ + file://ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch" +SRC_URI[sha256sum] = "f7554be1a56cdff468b58fc1c29b95b64864c590038dd309c7a978c7116908f7" inherit autotools pkgconfig diff --git a/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb index 3575c460e4..aac4b48948 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb @@ -5,7 +5,7 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4" SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" -SRC_URI[sha256sum] = "833f99b2cbda34e0cfef867ef1d2e6a74fe276bb7fc525a573be32077f629dff" +SRC_URI[sha256sum] = "55e0e6e42eca4cc7656c257af2440cdc65b83689dca49fc60ca0194db079ed07" inherit allarch diff --git a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb index 7be0df8856..da41c3db75 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb @@ -5,7 +5,7 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4" SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" -SRC_URI[sha256sum] = "1bc24da04bb27a75e323c9f0fb03e44705b6bb8a8baf255b94b41d457d590d00" +SRC_URI[sha256sum] = "2c3b535c77dcb9aaf62a61f4f8324f1ab184162f105f7ec9ed1e37c742fcd340" inherit allarch diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb index 048fef68a5..048fef68a5 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.3.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc index b523a5a832..c001b29a0c 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc @@ -2,7 +2,8 @@ SUMMARY = "ALSA sound utilities" HOMEPAGE = "http://www.alsa-project.org" BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" SECTION = "console/utils" -LICENSE = "GPLv2+" +# Some parts are GPLv2+, some are only GPLv2 (e.g. axfer, alsactl) so result is GPLv2 +LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642" DEPENDS = "alsa-lib ncurses libsamplerate0" @@ -21,7 +22,7 @@ PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook # alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2" -SRC_URI[sha256sum] = "ff19ae48c22938de7a491bdb39db74a2eee2546013f39bf1a86185e426f921aa" +SRC_URI[sha256sum] = "98ffc2d599de0577d423a48fa5f20a992ca0b82d812ed1f2e58ade49ac6da426" # On build machines with python-docutils (not python3-docutils !!) installed # rst2man (not rst2man.py) is detected and compile fails with diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb index 3430288da4..3430288da4 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.3.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch new file mode 100644 index 0000000000..7635c9196a --- /dev/null +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch @@ -0,0 +1,52 @@ +From aebb72e025cbfbd4a6765354f6f565ad4ac89789 Mon Sep 17 00:00:00 2001 +From: Jun Zhao <barryjzhao@tencent.com> +Date: Sun, 12 Jul 2020 05:48:48 +0800 +Subject: [PATCH] lavf/srt: fix build fail when used the libsrt 1.4.1 + +lavf/srt: fix build fail when used the libsrt 1.4.1 + +libsrt changed the: +SRTO_SMOOTHER -> SRTO_CONGESTION +SRTO_STRICTENC -> SRTO_ENFORCEDENCRYPTION +and removed the front of deprecated options (SRTO_SMOOTHER/SRTO_STRICTENC) +in the header, it's lead to build fail + +fix #8760 + +Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315] + +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> +Signed-off-by: Jun Zhao <barryjzhao@tencent.com> +--- + libavformat/libsrt.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c +index 4de575b..4719ce0 100644 +--- a/libavformat/libsrt.c ++++ b/libavformat/libsrt.c +@@ -313,8 +313,12 @@ static int libsrt_set_options_pre(URLContext *h, int fd) + (s->pbkeylen >= 0 && libsrt_setsockopt(h, fd, SRTO_PBKEYLEN, "SRTO_PBKEYLEN", &s->pbkeylen, sizeof(s->pbkeylen)) < 0) || + (s->passphrase && libsrt_setsockopt(h, fd, SRTO_PASSPHRASE, "SRTO_PASSPHRASE", s->passphrase, strlen(s->passphrase)) < 0) || + #if SRT_VERSION_VALUE >= 0x010302 ++#if SRT_VERSION_VALUE >= 0x010401 ++ (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_ENFORCEDENCRYPTION, "SRTO_ENFORCEDENCRYPTION", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) || ++#else + /* SRTO_STRICTENC == SRTO_ENFORCEDENCRYPTION (53), but for compatibility, we used SRTO_STRICTENC */ + (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_STRICTENC, "SRTO_STRICTENC", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) || ++#endif + (s->kmrefreshrate >= 0 && libsrt_setsockopt(h, fd, SRTO_KMREFRESHRATE, "SRTO_KMREFRESHRATE", &s->kmrefreshrate, sizeof(s->kmrefreshrate)) < 0) || + (s->kmpreannounce >= 0 && libsrt_setsockopt(h, fd, SRTO_KMPREANNOUNCE, "SRTO_KMPREANNOUNCE", &s->kmpreannounce, sizeof(s->kmpreannounce)) < 0) || + #endif +@@ -333,7 +337,11 @@ static int libsrt_set_options_pre(URLContext *h, int fd) + (s->lossmaxttl >= 0 && libsrt_setsockopt(h, fd, SRTO_LOSSMAXTTL, "SRTO_LOSSMAXTTL", &s->lossmaxttl, sizeof(s->lossmaxttl)) < 0) || + (s->minversion >= 0 && libsrt_setsockopt(h, fd, SRTO_MINVERSION, "SRTO_MINVERSION", &s->minversion, sizeof(s->minversion)) < 0) || + (s->streamid && libsrt_setsockopt(h, fd, SRTO_STREAMID, "SRTO_STREAMID", s->streamid, strlen(s->streamid)) < 0) || ++#if SRT_VERSION_VALUE >= 0x010401 ++ (s->smoother && libsrt_setsockopt(h, fd, SRTO_CONGESTION, "SRTO_CONGESTION", s->smoother, strlen(s->smoother)) < 0) || ++#else + (s->smoother && libsrt_setsockopt(h, fd, SRTO_SMOOTHER, "SRTO_SMOOTHER", s->smoother, strlen(s->smoother)) < 0) || ++#endif + (s->messageapi >= 0 && libsrt_setsockopt(h, fd, SRTO_MESSAGEAPI, "SRTO_MESSAGEAPI", &s->messageapi, sizeof(s->messageapi)) < 0) || + (s->payload_size >= 0 && libsrt_setsockopt(h, fd, SRTO_PAYLOADSIZE, "SRTO_PAYLOADSIZE", &s->payload_size, sizeof(s->payload_size)) < 0) || + ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0)) { diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb index 517dac7f05..72c2fe16ec 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb @@ -25,6 +25,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \ file://mips64_cpu_detection.patch \ + file://0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch \ " SRC_URI[sha256sum] = "ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb" @@ -70,6 +71,7 @@ PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex" +PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt" PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg" PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-validate/0001-connect-has-a-different-signature-on-musl.patch b/poky/meta/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch index a0d215c5a0..c0e4581358 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gst-validate/0001-connect-has-a-different-signature-on-musl.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch @@ -1,4 +1,4 @@ -From 0bd8004d8dddc486d3961a5316d24e8f2645e4c8 Mon Sep 17 00:00:00 2001 +From 73b1002eda17451db1f58431b42c25203f1d3097 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 9 Sep 2018 17:38:10 -0700 Subject: [PATCH] connect has a different signature on musl @@ -12,13 +12,13 @@ Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - plugins/fault_injection/socket_interposer.c | 7 ++++++- + validate/plugins/fault_injection/socket_interposer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/plugins/fault_injection/socket_interposer.c b/plugins/fault_injection/socket_interposer.c +diff --git a/validate/plugins/fault_injection/socket_interposer.c b/validate/plugins/fault_injection/socket_interposer.c index 53c1ebb..ad7adf8 100644 ---- a/plugins/fault_injection/socket_interposer.c -+++ b/plugins/fault_injection/socket_interposer.c +--- a/validate/plugins/fault_injection/socket_interposer.c ++++ b/validate/plugins/fault_injection/socket_interposer.c @@ -100,10 +100,15 @@ socket_interposer_set_callback (struct sockaddr_in *addrin, } diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb new file mode 100644 index 0000000000..2e09ef9c25 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "Gstreamer validation tool" +DESCRIPTION = "A Tool to test GStreamer components" +HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html" +SECTION = "multimedia" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" + +#S = "${WORKDIR}/gst-devtools-${PV}" + +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}.tar.xz \ + file://0001-connect-has-a-different-signature-on-musl.patch \ + " + +SRC_URI[sha256sum] = "712212babd2238233d55beecfc0fe1ea8db18e8807ac6ab05a64505b2c7ab0df" + +DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" +RRECOMMENDS_${PN} = "git" + +FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*" + +inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection + +# TODO: put this in a gettext.bbclass patch +def gettext_oemeson(d): + if d.getVar('USE_NLS') == 'no': + return '-Dnls=disabled' + # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set + if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'): + return '-Dnls=disabled' + return '-Dnls=enabled' + +EXTRA_OEMESON += " \ + -Ddoc=disabled \ + -Ddebug_viewer=disabled \ + -Dtests=disabled \ + -Dvalidate=enabled \ + ${@gettext_oemeson(d)} \ +" + +GIR_MESON_ENABLE_FLAG = "enabled" +GIR_MESON_DISABLE_FLAG = "disabled" diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch b/poky/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch index 0338bad1c0..ab93c13244 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch @@ -1,4 +1,4 @@ -From 755f6dab07565aca7b6aefacad8be65de364ff75 Mon Sep 17 00:00:00 2001 +From 7924016fce2d0b435891a335cdae52fc939c7e3b Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen <jussi.kukkonen@intel.com> Date: Thu, 17 Aug 2017 11:07:02 +0300 Subject: [PATCH] Make player examples installable @@ -7,16 +7,17 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Upstream-Status: Denied [Upstream considers these code examples, for now a least] https://bugzilla.gnome.org/show_bug.cgi?id=777827 + --- playback/player/gst-play/meson.build | 1 + playback/player/gtk/meson.build | 1 + 2 files changed, 2 insertions(+) diff --git a/playback/player/gst-play/meson.build b/playback/player/gst-play/meson.build -index 719b55b..a56fe13 100644 +index 8ec021d..977cc5c 100644 --- a/playback/player/gst-play/meson.build +++ b/playback/player/gst-play/meson.build -@@ -8,5 +8,6 @@ executable('gst-play', +@@ -2,5 +2,6 @@ executable('gst-play', ['gst-play.c', 'gst-play-kb.c', 'gst-play-kb.h'], @@ -24,16 +25,13 @@ index 719b55b..a56fe13 100644 dependencies : [gst_dep, gstplayer_dep, m_dep]) diff --git a/playback/player/gtk/meson.build b/playback/player/gtk/meson.build -index 08aae4f..671a65d 100644 +index f7a7419..6281130 100644 --- a/playback/player/gtk/meson.build +++ b/playback/player/gtk/meson.build -@@ -18,5 +18,6 @@ executable('gtk-play', - gtk_play_resources, - 'gtk-video-renderer.h', - 'gtk-video-renderer.c'], +@@ -13,5 +13,6 @@ if gtk_dep.found() + gtk_play_resources, + 'gtk-video-renderer.h', + 'gtk-video-renderer.c'], + install: true, - dependencies : [glib_dep, gobject_dep, gmodule_dep, gst_dep, gsttag_dep, gstplayer_dep, gtk_dep, x11_dep]) - --- -2.13.3 - + dependencies : [glib_dep, gobject_dep, gmodule_dep, gst_dep, gsttag_dep, gstplayer_dep, gtk_dep, x11_dep]) + endif diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb index e23d23d9ca..048b45a08f 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb @@ -2,14 +2,14 @@ SUMMARY = "GStreamer examples (including gtk-play, gst-play)" LICENSE = "LGPL-2.0+" LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9" -DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 glib-2.0-native" +DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 libsoup-2.4 json-glib glib-2.0-native" -SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https \ +SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https;branch=1.18 \ file://0001-Make-player-examples-installable.patch \ file://gst-player.desktop \ " -SRCREV = "d953c127c1146b50d5676618299933950685dcd7" +SRCREV = "998ee69af18a5928759dbe17fffbceebbc8d72d0" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.2.bb deleted file mode 100644 index 35492fe861..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.2.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "Gstreamer validation tool" -DESCRIPTION = "A Tool to test GStreamer components" -HOMEPAGE = "https://gstreamer.freedesktop.org/releases/gst-validate/1.12.3.html" -SECTION = "multimedia" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRC_URI = "https://gstreamer.freedesktop.org/src/${BPN}/${BP}.tar.xz \ - file://0001-connect-has-a-different-signature-on-musl.patch \ - " -SRC_URI[md5sum] = "688f42c52d62e8c5e506df911553fb2c" -SRC_URI[sha256sum] = "4861ccb9326200e74d98007e316b387d48dd49f072e0b78cb9d3303fdecfeeca" - -DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" -RRECOMMENDS_${PN} = "git" - -FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*" - -inherit pkgconfig gettext autotools gobject-introspection gtk-doc upstream-version-is-even - -# With gtk-doc enabled this recipe fails to build, so forcibly disable it: -# WORKDIR/build/docs/validate/gst-validate-scan: line 117: -# WORKDIR/build/docs/validate/.libs/lt-gst-validate-scan: No such file or directory -GTKDOC_ENABLED = "False" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bb deleted file mode 100644 index 2fdefc925e..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Libav-based GStreamer 1.x plugin" -HOMEPAGE = "http://gstreamer.freedesktop.org/" -SECTION = "multimedia" - -LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )" -LICENSE_FLAGS = "commercial" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ - file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c" - -SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ - " -SRC_URI[md5sum] = "eacebd0136ede3a9bd3672eeb338806b" -SRC_URI[sha256sum] = "c724f612700c15a933c7356fbeabb0bb9571fb5538f8b1b54d4d2d94188deef2" - -S = "${WORKDIR}/gst-libav-${PV}" - -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" - -inherit meson pkgconfig upstream-version-is-even - -FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" -FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" - -delete_unused_libav_copy() { - # When building with meson, the internal libav copy is not used. - # It is only present for legacy autotools based builds. In future - # GStreamer versions, the autotools scripts will be gone, and so - # will this internal copy. Until then, it will be present. In order - # to make sure this copy is not included in the -src package, just - # manually delete the copy. - rm -rf "${S}/gst-libs/ext/libav/" -} - -do_unpack[postfuncs] += " delete_unused_libav_copy" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb new file mode 100644 index 0000000000..38bbffafa4 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Libav-based GStreamer 1.x plugin" +HOMEPAGE = "http://gstreamer.freedesktop.org/" +SECTION = "multimedia" + +# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency +LICENSE_FLAGS = "commercial" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ + file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ + " + +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz" +SRC_URI[sha256sum] = "39a717bc2613efbbba19df3cf5cacff0987471fc8281ba2c5dcdeaded79c2ed8" + +S = "${WORKDIR}/gst-libav-${PV}" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" + +inherit meson pkgconfig upstream-version-is-even + +FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" +FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb index f1bdbd235d..513d66f9fc 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb @@ -9,8 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" -SRC_URI[md5sum] = "6362786d2b6cce34de08c86b7847f782" -SRC_URI[sha256sum] = "11ed411a2eba75610d72331eeb14ff05e2df28f4fd05cb69225a88bec6d27439" +SRC_URI[sha256sum] = "42a8e0f9518b94655981ede441638f9f9395f4b1b9a4b329f068ee793975a965" S = "${WORKDIR}/gst-omx-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch index 73681f1002..13a673cd50 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch @@ -1,7 +1,7 @@ -From a67781000e82bd9ae3813da29401e8c0c852328a Mon Sep 17 00:00:00 2001 +From f08ab3ac2ce43ac91d3bf65b26f26436690f499b Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Tue, 26 Jan 2016 15:16:01 -0800 -Subject: [PATCH] fix maybe-uninitialized warnings when compiling with -Os +Subject: [PATCH 1/4] fix maybe-uninitialized warnings when compiling with -Os Upstream-Status: Pending @@ -11,7 +11,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c -index fd16ee0..ddb890c 100644 +index 2c60ced..e8226d8 100644 --- a/gst-libs/gst/codecparsers/gstvc1parser.c +++ b/gst-libs/gst/codecparsers/gstvc1parser.c @@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, @@ -24,5 +24,5 @@ index fd16ee0..ddb890c 100644 guint8 structB[12] = { 0, }; GstBitReader br; -- -1.9.1 +2.28.0 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 1321852023..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Fri, 18 Oct 2019 00:39:12 +0100 -Subject: [PATCH 1/2] meson: build gir even when cross-compiling if - introspection was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. - -Upstream-Status: Backport [97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 67aeeb4d0..7b3314bd9 100644 ---- a/meson.build -+++ b/meson.build -@@ -411,7 +411,7 @@ python3 = import('python').find_installation() - - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ - 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch index 32261279a5..ead6897f67 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch @@ -1,7 +1,7 @@ -From 72561a0fca562d03567ace7b4cfc94992cd6525c Mon Sep 17 00:00:00 2001 +From 3b05e91720c10fcf6e0e408595b7217f6fa145c2 Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Wed, 3 Feb 2016 18:05:41 -0800 -Subject: [PATCH] avoid including <sys/poll.h> directly +Subject: [PATCH 2/4] avoid including <sys/poll.h> directly musl libc generates warnings if <sys/poll.h> is included directly. @@ -13,7 +13,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c -index b93255f..49f145a 100644 +index ca6b92a..b2772db 100644 --- a/sys/dvb/gstdvbsrc.c +++ b/sys/dvb/gstdvbsrc.c @@ -97,7 +97,7 @@ @@ -26,5 +26,5 @@ index b93255f..49f145a 100644 #include <errno.h> #include <stdio.h> -- -1.9.1 +2.28.0 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch index 2d5389d953..88fbc40dcd 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch @@ -1,7 +1,7 @@ -From 2262ba4b686d5cc0d3e894707fe1d31619a3a8f1 Mon Sep 17 00:00:00 2001 +From 5ed27de9f662fe063b8b3d5d4335aa64cd4718c9 Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Tue, 9 Feb 2016 14:00:00 -0800 -Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc +Subject: [PATCH 3/4] ensure valid sentinals for gst_structure_get() etc For GStreamer functions declared with G_GNUC_NULL_TERMINATED, ie __attribute__((__sentinel__)), gcc will generate a warning if the @@ -23,20 +23,20 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> sys/decklink/gstdecklinkvideosink.cpp | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) -Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp -=================================================================== ---- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklink.cpp -+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp -@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDeck +diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp +index 4dac7e1..43762ce 100644 +--- a/sys/decklink/gstdecklink.cpp ++++ b/sys/decklink/gstdecklink.cpp +@@ -674,7 +674,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e) "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d, "interlace-mode", G_TYPE_STRING, mode->interlaced ? "interleaved" : "progressive", - "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL); + "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL); - if (input && mode->interlaced) { - if (mode->tff) -@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDeck + return s; + } +@@ -699,16 +699,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, case bmdFormat8BitYUV: /* '2vuy' */ gst_structure_set (s, "format", G_TYPE_STRING, "UYVY", "colorimetry", G_TYPE_STRING, mode->colorimetry, @@ -57,11 +57,11 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp break; case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */ case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */ -Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp -=================================================================== ---- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkaudiosrc.cpp -+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp -@@ -387,7 +387,7 @@ gst_decklink_audio_src_set_caps (GstBase +diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp +index 2fef934..c47229a 100644 +--- a/sys/decklink/gstdecklinkaudiosrc.cpp ++++ b/sys/decklink/gstdecklinkaudiosrc.cpp +@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self) g_mutex_unlock (&self->input->lock); if (videosrc) { @@ -70,11 +70,11 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp gst_object_unref (videosrc); switch (vconn) { -Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp -=================================================================== ---- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkvideosink.cpp -+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp -@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * featu +diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp +index e3a6775..f1a5aae 100644 +--- a/sys/decklink/gstdecklinkvideosink.cpp ++++ b/sys/decklink/gstdecklinkvideosink.cpp +@@ -286,7 +286,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure, gpointer user_data) { gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, @@ -83,3 +83,6 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp return TRUE; } +-- +2.28.0 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch index 4b6591c0d8..b816709066 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch @@ -1,7 +1,7 @@ -From f41caae14b618ab815ede3c408e7482b00316e3e Mon Sep 17 00:00:00 2001 +From f19ff66640f2f472c4e9d9055253032d34e125c6 Mon Sep 17 00:00:00 2001 From: Andrey Zhizhikin <andrey.z@gmail.com> Date: Mon, 27 Jan 2020 10:22:35 +0000 -Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build +Subject: [PATCH 4/4] opencv: resolve missing opencv data dir in yocto build When Yocto build is performed, opencv searches for data dir using simple 'test' command, this fails because pkg-config provides an absolute @@ -16,7 +16,7 @@ Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build -index f38b55dfe..a26403482 100644 +index 0b0b3fc..0ed3344 100644 --- a/ext/opencv/meson.build +++ b/ext/opencv/meson.build @@ -78,20 +78,21 @@ else @@ -45,5 +45,5 @@ index f38b55dfe..a26403482 100644 gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"' else -- -2.17.1 +2.28.0 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb index 99176b2571..ebd8c5a27d 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb @@ -1,21 +1,17 @@ require gstreamer1.0-plugins-common.inc -SRC_URI = " \ - https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ - file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ - file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \ - file://avoid-including-sys-poll.h-directly.patch \ - file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \ - file://opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ -" -SRC_URI[md5sum] = "ccc7404230afddec723bbdb63c89feec" -SRC_URI[sha256sum] = "f1cb7aa2389569a5343661aae473f0a940a90b872001824bc47fa8072a041e74" +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ + file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ + file://0002-avoid-including-sys-poll.h-directly.patch \ + file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \ + file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ + " +SRC_URI[sha256sum] = "c195978c85d97406c05eb9d43ac54b9ab35eda6ffdae32b3ed597b8f1743c1b2" S = "${WORKDIR}/gst-plugins-bad-${PV}" LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ - file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 " +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" DEPENDS += "gstreamer1.0-plugins-base" @@ -71,28 +67,31 @@ PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc" PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp" PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2" PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" +PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt" PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp" PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" -PACKAGECONFIG[vdpau] = "-Dvdpau=enabled,-Dvdpau=disabled,libvdpau" +PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva" PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc" -PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader" +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native" PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm" PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice" PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing" PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar" +PACKAGECONFIG[v4l2codecs] = "-D-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" # these plugins currently have no corresponding library in OE-core or meta-openembedded: # aom androidmedia applemedia bs2b chromaprint d3dvideosink # directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc # mplex musepack nvdec nvenc ofa openexr openni2 opensles -# soundtouch spandsp srt teletext wasapi wildmidi winks +# soundtouch spandsp teletext wasapi wildmidi winks # winscreencap wpe x265 EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Ddecklink=enabled \ -Ddvb=enabled \ -Dfbdev=enabled \ @@ -102,9 +101,11 @@ EXTRA_OEMESON += " \ -Daom=disabled \ -Dandroidmedia=disabled \ -Dapplemedia=disabled \ + -Davtp=disabled \ -Dbs2b=disabled \ -Dchromaprint=disabled \ -Dd3dvideosink=disabled \ + -Dd3d11=disabled \ -Ddirectsound=disabled \ -Ddts=disabled \ -Dfdkaac=disabled \ @@ -115,26 +116,29 @@ EXTRA_OEMESON += " \ -Dkate=disabled \ -Dladspa=disabled \ -Dlv2=disabled \ + -Dmagicleap=disabled \ + -Dmediafoundation=disabled \ + -Dmicrodns=disabled \ -Dmpeg2enc=disabled \ -Dmplex=disabled \ -Dmusepack=disabled \ - -Dnvdec=disabled \ - -Dnvenc=disabled \ + -Dnvcodec=disabled \ -Dofa=disabled \ -Dopenexr=disabled \ -Dopenni2=disabled \ -Dopensles=disabled \ -Dsoundtouch=disabled \ -Dspandsp=disabled \ - -Dsrt=disabled \ + -Dsvthevcenc=disabled \ -Dteletext=disabled \ -Dwasapi=disabled \ + -Dwasapi2=disabled \ -Dwildmidi=disabled \ -Dwinks=disabled \ -Dwinscreencap=disabled \ -Dwpe=disabled \ -Dx265=disabled \ - ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \ + -Dzxing=disabled \ " export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" @@ -144,4 +148,6 @@ ARM_INSTRUCTION_SET_armv5 = "arm" FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs" FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*" +FILES_${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles" FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/get-caps-from-src-pad-when-query-caps.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch index a4727e23ea..d5d9838372 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/get-caps-from-src-pad-when-query-caps.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch @@ -1,14 +1,13 @@ -From 41de2ec64ab06bb58c82c1659adaa3811bc5bcf8 Mon Sep 17 00:00:00 2001 +From f9d48cd85ee68207733b1b91a00453462c33524a Mon Sep 17 00:00:00 2001 From: zhouming <b42586@freescale.com> Date: Wed, 14 May 2014 10:16:20 +0800 -Subject: [PATCH] ENGR00312515: get caps from src pad when query caps +Subject: [PATCH 1/4] ENGR00312515: get caps from src pad when query caps https://bugzilla.gnome.org/show_bug.cgi?id=728312 Upstream-Status: Pending Signed-off-by: zhouming <b42586@freescale.com> - --- gst-libs/gst/tag/gsttagdemux.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) @@ -17,10 +16,10 @@ Signed-off-by: zhouming <b42586@freescale.com> diff --git a/gst-libs/gst/tag/gsttagdemux.c b/gst-libs/gst/tag/gsttagdemux.c old mode 100644 new mode 100755 -index 8a127c8..71c5d78 +index f545857..62d10ef --- a/gst-libs/gst/tag/gsttagdemux.c +++ b/gst-libs/gst/tag/gsttagdemux.c -@@ -1759,6 +1759,19 @@ gst_tag_demux_pad_query (GstPad * pad, GstObject * parent, GstQuery * query) +@@ -1777,6 +1777,19 @@ gst_tag_demux_pad_query (GstPad * pad, GstObject * parent, GstQuery * query) } break; } @@ -40,3 +39,6 @@ index 8a127c8..71c5d78 default: res = gst_pad_query_default (pad, parent, query); break; +-- +2.28.0 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 49ab471414..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 30672ba7d134553e59935ddc875104adba26f25c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Thu, 17 Oct 2019 20:06:24 +0100 -Subject: [PATCH] meson: build gir even when cross-compiling if introspection - was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. - -Upstream-Status: Backport [30672ba7d134553e59935ddc875104adba26f25c] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 264d84c9e..c8147c224 100644 ---- a/meson.build -+++ b/meson.build -@@ -372,7 +372,7 @@ endif - - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \ - 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch deleted file mode 100644 index ca85744c19..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch +++ /dev/null @@ -1,235 +0,0 @@ -From 685731e989dc074a4b0d48b6c8062e2738f09719 Mon Sep 17 00:00:00 2001 -From: Thibault Saunier <tsaunier@igalia.com> -Date: Mon, 22 Oct 2018 11:44:37 +0200 -Subject: [PATCH] meson: Add variables for gir files - -And flatten list of sources for dependencies - -Upstream-Status: Backport [685731e989dc074a4b0d48b6c8062e2738f09719] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - gst-libs/gst/allocators/meson.build | 5 +++-- - gst-libs/gst/app/meson.build | 6 ++++-- - gst-libs/gst/audio/meson.build | 5 +++-- - gst-libs/gst/pbutils/meson.build | 5 +++-- - gst-libs/gst/rtp/meson.build | 6 ++++-- - gst-libs/gst/rtsp/meson.build | 5 +++-- - gst-libs/gst/sdp/meson.build | 6 ++++-- - gst-libs/gst/tag/meson.build | 5 +++-- - gst-libs/gst/video/meson.build | 5 +++-- - 9 files changed, 30 insertions(+), 18 deletions(-) - -diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build -index 364baeebf..56f156dc3 100644 ---- a/gst-libs/gst/allocators/meson.build -+++ b/gst-libs/gst/allocators/meson.build -@@ -22,7 +22,7 @@ gstallocators = library('gstallocators-@0@'.format(api_version), - allocators_gen_sources = [] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/allocators/allocators.h' ] -- allocators_gen_sources += [gnome.generate_gir(gstallocators, -+ allocators_gir = gnome.generate_gir(gstallocators, - sources : gst_allocators_sources + gst_allocators_headers, - namespace : 'GstAllocators', - nsversion : api_version, -@@ -33,7 +33,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : [gst_dep] -- )] -+ ) -+ allocators_gen_sources += allocators_gir - endif - - allocators_dep = declare_dependency(link_with: gstallocators, -diff --git a/gst-libs/gst/app/meson.build b/gst-libs/gst/app/meson.build -index 81dd0f42c..7a90f5e10 100644 ---- a/gst-libs/gst/app/meson.build -+++ b/gst-libs/gst/app/meson.build -@@ -32,7 +32,7 @@ gstapp = library('gstapp-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/app/app.h' ] -- app_gen_sources += [gnome.generate_gir(gstapp, -+ app_gir = gnome.generate_gir(gstapp, - sources : app_sources + app_headers + [gstapp_c] + [gstapp_h], - namespace : 'GstApp', - nsversion : api_version, -@@ -43,7 +43,9 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : [gst_dep, gst_base_dep] -- )] -+ ) -+ -+ app_gen_sources += app_gir - endif - - app_dep = declare_dependency(link_with: gstapp, -diff --git a/gst-libs/gst/audio/meson.build b/gst-libs/gst/audio/meson.build -index 0e4efab2e..2a449d4bf 100644 ---- a/gst-libs/gst/audio/meson.build -+++ b/gst-libs/gst/audio/meson.build -@@ -153,7 +153,7 @@ gstaudio = library('gstaudio-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ] -- audio_gen_sources += [gnome.generate_gir(gstaudio, -+ audio_gir = gnome.generate_gir(gstaudio, - sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h], - namespace : 'GstAudio', - nsversion : api_version, -@@ -164,7 +164,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstaudio_deps -- )] -+ ) -+ audio_gen_sources += [audio_gir] - endif - - audio_dep = declare_dependency(link_with : gstaudio, -diff --git a/gst-libs/gst/pbutils/meson.build b/gst-libs/gst/pbutils/meson.build -index 2faf62622..0e96722fd 100644 ---- a/gst-libs/gst/pbutils/meson.build -+++ b/gst-libs/gst/pbutils/meson.build -@@ -63,7 +63,7 @@ pbutils = library('gstpbutils-@0@'.format(api_version), - pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ] -- pbutils_gen_sources += [gnome.generate_gir(pbutils, -+ pbutils_gir = gnome.generate_gir(pbutils, - sources : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h], - namespace : 'GstPbutils', - nsversion : api_version, -@@ -74,7 +74,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstpbutils_deps -- )] -+ ) -+ pbutils_gen_sources += [pbutils_gir] - endif - - pbutils_dep = declare_dependency(link_with : pbutils, -diff --git a/gst-libs/gst/rtp/meson.build b/gst-libs/gst/rtp/meson.build -index f47ec6592..7ea6658d5 100644 ---- a/gst-libs/gst/rtp/meson.build -+++ b/gst-libs/gst/rtp/meson.build -@@ -49,7 +49,7 @@ gst_rtp = library('gstrtp-@0@'.format(api_version), - rtp_gen_sources = [gstrtp_enum_h] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtp/rtp.h' ] -- rtp_gen_sources += [gnome.generate_gir(gst_rtp, -+ rtp_gir = gnome.generate_gir(gst_rtp, - sources : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h], - namespace : 'GstRtp', - nsversion : api_version, -@@ -60,7 +60,9 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstrtp_deps -- )] -+ ) -+ -+ rtp_gen_sources += [rtp_gir] - endif - - -diff --git a/gst-libs/gst/rtsp/meson.build b/gst-libs/gst/rtsp/meson.build -index 27e309d5a..3632adceb 100644 ---- a/gst-libs/gst/rtsp/meson.build -+++ b/gst-libs/gst/rtsp/meson.build -@@ -54,7 +54,7 @@ gst_rtsp = library('gstrtsp-@0@'.format(api_version), - rtsp_gen_sources = [gstrtsp_h] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtsp/rtsp.h' ] -- rtsp_gen_sources += [gnome.generate_gir(gst_rtsp, -+ rtsp_gir = gnome.generate_gir(gst_rtsp, - sources : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h], - namespace : 'GstRtsp', - nsversion : api_version, -@@ -65,7 +65,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstrtsp_deps + [sdp_dep] -- )] -+ ) -+ rtsp_gen_sources += [rtsp_gir] - endif - - rtsp_dep = declare_dependency(link_with : gst_rtsp, -diff --git a/gst-libs/gst/sdp/meson.build b/gst-libs/gst/sdp/meson.build -index 62c18b732..24cdb5293 100644 ---- a/gst-libs/gst/sdp/meson.build -+++ b/gst-libs/gst/sdp/meson.build -@@ -23,7 +23,7 @@ gstsdp = library('gstsdp-@0@'.format(api_version), - sdp_gen_sources = [] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/sdp/sdp.h' ] -- sdp_gen_sources += [gnome.generate_gir(gstsdp, -+ sdp_gir = gnome.generate_gir(gstsdp, - sources : gst_sdp_sources + gst_sdp_headers, - namespace : 'GstSdp', - nsversion : api_version, -@@ -34,7 +34,9 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : rtsp_deps -- )] -+ ) -+ -+ sdp_gen_sources += [sdp_gir] - endif - - sdp_dep = declare_dependency(link_with: gstsdp, -diff --git a/gst-libs/gst/tag/meson.build b/gst-libs/gst/tag/meson.build -index 27e66fd63..5ec37392a 100644 ---- a/gst-libs/gst/tag/meson.build -+++ b/gst-libs/gst/tag/meson.build -@@ -93,7 +93,7 @@ gsttag = library('gsttag-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/tag/tag.h' ] -- tag_gen_sources += [gnome.generate_gir(gsttag, -+ tag_gir = gnome.generate_gir(gsttag, - sources : tag_sources + tag_headers + [gsttag_h] + [gsttag_c], - namespace : 'GstTag', - nsversion : api_version, -@@ -104,7 +104,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : tag_deps -- )] -+ ) -+ tag_gen_sources += [tag_gir] - endif - - tag_dep = declare_dependency(link_with: gsttag, -diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build -index 5b35e1943..bf77aa157 100644 ---- a/gst-libs/gst/video/meson.build -+++ b/gst-libs/gst/video/meson.build -@@ -138,7 +138,7 @@ gstvideo = library('gstvideo-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ] -- video_gen_sources += [gnome.generate_gir(gstvideo, -+ video_gir = gnome.generate_gir(gstvideo, - sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h], - namespace : 'GstVideo', - nsversion : api_version, -@@ -149,7 +149,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstvideo_deps -- )] -+ ) -+ video_gen_sources += [video_gir] - endif - - video_dep = declare_dependency(link_with : gstvideo, --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-ssaparse-enhance-SSA-text-lines-parsing.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch index 9e95524057..e453a500c9 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-ssaparse-enhance-SSA-text-lines-parsing.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch @@ -1,7 +1,7 @@ -From 918c96b24d10f61b7455b4cef3bab490849d0d77 Mon Sep 17 00:00:00 2001 +From f587861bbe12ad0b10370f835592746aafedbf56 Mon Sep 17 00:00:00 2001 From: Mingke Wang <mingke.wang@freescale.com> Date: Thu, 19 Mar 2015 14:17:10 +0800 -Subject: [PATCH] ssaparse: enhance SSA text lines parsing. +Subject: [PATCH 2/4] ssaparse: enhance SSA text lines parsing. some parser will pass in the original ssa text line which starts with "Dialog:" and there's are maybe multiple Dialog lines in one input buffer. @@ -9,9 +9,8 @@ and there's are maybe multiple Dialog lines in one input buffer. Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=747496] Signed-off-by: Mingke Wang <mingke.wang@freescale.com> - --- - gst/subparse/gstssaparse.c | 150 ++++++++++++++++++++++++++++++++++++++++----- + gst/subparse/gstssaparse.c | 150 +++++++++++++++++++++++++++++++++---- 1 file changed, 134 insertions(+), 16 deletions(-) mode change 100644 => 100755 gst/subparse/gstssaparse.c @@ -225,3 +224,6 @@ index c849c08..4b9636c if (ret != GST_FLOW_OK && GST_CLOCK_TIME_IS_VALID (ts)) { GstSegment segment; +-- +2.28.0 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch index 6e53d2e8b5..2af83ff8b9 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch @@ -1,7 +1,7 @@ -From bec38a0c2e2958927c42b2f9ae939969b7c4a326 Mon Sep 17 00:00:00 2001 +From 153f3b83a3fed77785bd1420bed8bbafa2d791b3 Mon Sep 17 00:00:00 2001 From: Carlos Rafael Giani <crg7475@mailbox.org> Date: Tue, 21 May 2019 14:01:11 +0200 -Subject: [PATCH] viv-fb: Make sure config.h is included +Subject: [PATCH 3/4] viv-fb: Make sure config.h is included This prevents build errors due to missing GST_API_* symbols @@ -13,7 +13,7 @@ Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> 1 file changed, 4 insertions(+) diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h -index 05e1f6229..96ce5e685 100644 +index 05e1f62..96ce5e6 100644 --- a/gst-libs/gst/gl/gl-prelude.h +++ b/gst-libs/gst/gl/gl-prelude.h @@ -22,6 +22,10 @@ @@ -28,5 +28,5 @@ index 05e1f6229..96ce5e685 100644 #ifdef BUILDING_GST_GL -- -2.17.1 +2.28.0 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch index e8094f459e..f45ea65ef3 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch @@ -1,7 +1,7 @@ -From c6b37a80806f9128de47f1ccc3f2354f8d436bb6 Mon Sep 17 00:00:00 2001 +From 79841a02ee754eba736cb32aaf2ed2b2fc0483d4 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 24 Sep 2015 19:47:32 +0300 -Subject: [PATCH] glimagesink: Downrank to marginal +Subject: [PATCH 4/4] glimagesink: Downrank to marginal On desktop, where there is good OpenGL, xvimagesink will come up first, on other platforms, OpenGL can't be trusted because it's either software (like @@ -15,7 +15,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c -index a4b2540..0ccaacd 100644 +index 302e845..463be9c 100644 --- a/ext/gl/gstopengl.c +++ b/ext/gl/gstopengl.c @@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin) @@ -28,5 +28,5 @@ index a4b2540..0ccaacd 100644 } -- -2.1.4 +2.28.0 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb index 6563b6f738..1b2bd4fe14 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb @@ -1,26 +1,21 @@ require gstreamer1.0-plugins-common.inc LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ - file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607" - -SRC_URI = " \ - https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ - file://get-caps-from-src-pad-when-query-caps.patch \ - file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ - file://0002-meson-Add-variables-for-gir-files.patch \ - file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \ - file://0005-viv-fb-Make-sure-config.h-is-included.patch \ - file://0009-glimagesink-Downrank-to-marginal.patch \ - " -SRC_URI[md5sum] = "3fdb32823535799a748c1fc14f978e2c" -SRC_URI[sha256sum] = "b13e73e2fe74a4166552f9577c3dcb24bed077021b9c7fa600d910ec6987816a" +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" + +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ + file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ + file://0003-viv-fb-Make-sure-config.h-is-included.patch \ + file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ + file://0004-glimagesink-Downrank-to-marginal.patch \ + " +SRC_URI[sha256sum] = "1ba654d7de30f7284b4c7071b32f881b609733ce02ab6d9d9ea29386a036c641" S = "${WORKDIR}/gst-plugins-base-${PV}" DEPENDS += "iso-codes util-linux zlib" -inherit gobject-introspection gtk-doc +inherit gobject-introspection PACKAGES_DYNAMIC =+ "^libgst.*" @@ -72,18 +67,16 @@ OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', ' x11', '', OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gbm', ' gbm', '', d)}" OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', ' wayland', '', d)}" OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'dispmanx', ' dispmanx', '', d)}" +OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'egl', ' egl', '', d)}" EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Dgl-graphene=disabled \ ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \ ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \ ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \ " -GTKDOC_MESON_OPTION = "gtk_doc" -GTKDOC_MESON_ENABLE_FLAG = "enabled" -GTKDOC_MESON_DISABLE_FLAG = "disabled" - FILES_${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h" FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" @@ -97,3 +90,5 @@ def get_opengl_cmdline_list(switch_name, options, d): return '-D' + switch_name + '=' + ','.join(selected_options) else: return '' + +CVE_PRODUCT += "gst-plugins-base" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch deleted file mode 100644 index 136848763b..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 3e0d5577444b32579bdf5b69d720a322322ff7bc Mon Sep 17 00:00:00 2001 -From: Milian Wolff <milian.wolff@kdab.com> -Date: Tue, 26 Nov 2019 15:08:20 +0100 -Subject: [PATCH] qmlgl: ensure Qt defines GLsync to fix compile on some platforms -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -By explictly including QtGui/qopengl.h we force the code path that -defines GLsync in the Qt-specific way. Without that, some platforms -failed to compile the qmlgl plugin, since neither Qt nor gstreamer -defined GLsync then, leading to e.g.: - -``` -make[4]: Entering directory '/.../gst-plugins-good-1.16.1/ext/qt' - CXX libgstqmlgl_la-qtitem.lo -In file included from gstqtgl.h:32, - from qtitem.h:27, - from qtitem.cc:28: -/.../usr/include/gstreamer-1.0/ -gst/gl/gstglfuncs.h:93:17: error: expected identifier before ‘*’ token - ret (GSTGLAPI *name) args; - ^ -/.../usr/include/gstreamer-1.0/ -gst/gl/glprototypes/sync.h:27:1: note: in expansion of macro -‘GST_GL_EXT_FUNCTION’ - GST_GL_EXT_FUNCTION (GLsync, FenceSync, - ^~~~~~~~~~~~~~~~~~~ -``` -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/3e0d5577444b32579bdf5b69d720a322322ff7bc] ---- - ext/qt/gstqtgl.h | 18 +++++++++++------- - 1 file changed, 11 insertions(+), 7 deletions(-) - ---- a/ext/qt/gstqtgl.h -+++ b/ext/qt/gstqtgl.h -@@ -22,14 +22,7 @@ - #include <QtGui/qtgui-config.h> - #endif - --/* qt uses the same trick as us to typedef GLsync on GLES2 but to a different -- * type which confuses the preprocessor. Instead of trying to reconcile the -- * two, we instead use the GLsync definition from Qt from above, and ensure -- * that we don't typedef GLsync in gstglfuncs.h */ - #include <gst/gl/gstglconfig.h> --#undef GST_GL_HAVE_GLSYNC --#define GST_GL_HAVE_GLSYNC 1 --#include <gst/gl/gstglfuncs.h> - - /* The glext.h guard was renamed in 2018, but some software which - * includes their own copy of the GL headers (such as qt) might have -@@ -46,6 +39,17 @@ - #endif - #endif - -+/* pulls in GLsync, see below */ -+#include <QtGui/qopengl.h> -+ -+/* qt uses the same trick as us to typedef GLsync on GLES2 but to a different -+ * type which confuses the preprocessor. Instead of trying to reconcile the -+ * two, we instead use the GLsync definition from Qt from above, and ensure -+ * that we don't typedef GLsync in gstglfuncs.h */ -+#undef GST_GL_HAVE_GLSYNC -+#define GST_GL_HAVE_GLSYNC 1 -+#include <gst/gl/gstglfuncs.h> -+ - #if defined(QT_OPENGL_ES_2) - #include <QtGui/QOpenGLContext> - #include <QtGui/QOpenGLFunctions> diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch index 3d423154e0..788d752058 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch @@ -1,4 +1,4 @@ -From d08234a659bec1fd5c984fedefbeb8192af07839 Mon Sep 17 00:00:00 2001 +From bf8b2fa0f6870589d036f0f33c140a3f85b530a0 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 31 Mar 2020 21:23:28 -0700 Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h @@ -26,7 +26,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc -index 2b314e0..12b15dd 100644 +index a05d26e..4cc9fc6 100644 --- a/ext/qt/gstqsgtexture.cc +++ b/ext/qt/gstqsgtexture.cc @@ -27,7 +27,7 @@ @@ -39,7 +39,7 @@ index 2b314e0..12b15dd 100644 #define GST_CAT_DEFAULT gst_qsg_texture_debug diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc -index 62d26b6..bf68ebb 100644 +index 9360c33..0dfd3f1 100644 --- a/ext/qt/qtwindow.cc +++ b/ext/qt/qtwindow.cc @@ -25,7 +25,7 @@ @@ -52,5 +52,5 @@ index 62d26b6..bf68ebb 100644 #include "gstqsgtexture.h" #include "gstqtglutility.h" -- -2.26.0 +2.28.0 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch new file mode 100644 index 0000000000..685ee08e50 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch @@ -0,0 +1,32 @@ +From 3ec4fe5507a39383b161f1ab7687acb4a57c32f8 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma <quaresma.jose@gmail.com> +Date: Sun, 15 Nov 2020 11:30:07 +0000 +Subject: [PATCH] rpicamsrc: add vchostif library as it is required to build + successful + +fix: undefined reference to `vc_gencmd' +/usr/src/debug/gstreamer1.0-plugins-good/1.18.1-r0/build/../gst-plugins-good-1.18.1/sys/rpicamsrc/RaspiCamControl.c:1440: undefined reference to `vc_gencmd' + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/818] + +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> +--- + sys/rpicamsrc/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys/rpicamsrc/meson.build b/sys/rpicamsrc/meson.build +index dc18a8345..48b2ceb66 100644 +--- a/sys/rpicamsrc/meson.build ++++ b/sys/rpicamsrc/meson.build +@@ -34,7 +34,7 @@ if not cc.has_header('bcm_host.h', args: rpi_inc_args) + endif + + mmal_deps = [] +-foreach rpi_lib : ['mmal_core', 'mmal_util', 'mmal_vc_client', 'vcos', 'bcm_host'] ++foreach rpi_lib : ['mmal_core', 'mmal_util', 'mmal_vc_client', 'vcos', 'vchostif', 'bcm_host'] + l = cc.find_library(rpi_lib, dirs: rpi_lib_path, required: false) + if not l.found() + if get_option('rpicamsrc').enabled() +-- +2.29.2 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb index 17c9421394..77e1333ddc 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb @@ -1,19 +1,16 @@ require gstreamer1.0-plugins-common.inc -SRC_URI = " \ - https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ - file://0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch \ - file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ - " +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ + file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ + file://0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch \ + " -SRC_URI[md5sum] = "bd025f8f14974f94b75ac69a9d1b9c93" -SRC_URI[sha256sum] = "40bb3bafda25c0b739c8fc36e48380fccf61c4d3f83747e97ac3f9b0171b1319" +SRC_URI[sha256sum] = "e210e91a5590ecb6accc9d06c949a58ca6897d8edb3b3d55828e424c624f626c" S = "${WORKDIR}/gst-plugins-good-${PV}" LICENSE = "GPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" DEPENDS += "gstreamer1.0-plugins-base libcap zlib" @@ -23,6 +20,7 @@ RPROVIDES_${PN}-soup += "${PN}-souphttpsrc" PACKAGECONFIG ??= " \ ${GSTREAMER_ORC} \ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \ bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \ " @@ -30,6 +28,9 @@ X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled" X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled" +QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}" + +PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native" PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394" @@ -44,9 +45,10 @@ PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng" PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils" PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" -PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native" +PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}" PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4" PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" +PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland" PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib" PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false" PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx" @@ -54,6 +56,7 @@ PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack" PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Daalib=disabled \ -Ddirectsound=disabled \ -Ddv=disabled \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb index be10800389..614ef8d740 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb @@ -9,8 +9,7 @@ LICENSE_FLAGS = "commercial" SRC_URI = " \ https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ " -SRC_URI[md5sum] = "10283ff5ef1e34d462dde77042e329bd" -SRC_URI[sha256sum] = "5500415b865e8b62775d4742cbb9f37146a50caecfc0e7a6fc0160d3c560fbca" +SRC_URI[sha256sum] = "18cd6cb829eb9611ca63cbcbf46aca0f0de1dd28b2df18caa2834326a75ff725" S = "${WORKDIR}/gst-plugins-ugly-${PV}" @@ -32,6 +31,7 @@ PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec" PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264" EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Dsidplay=disabled \ " diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch deleted file mode 100644 index 053108ad50..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 61cfd1b49dc82baf14bb36d88b6c5be7b8c3d23a Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 2 Dec 2019 18:16:41 +0100 -Subject: [PATCH] meson.build: fix builds with python 3.8 - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/14] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 1da81d5..3e0db38 100644 ---- a/meson.build -+++ b/meson.build -@@ -24,7 +24,7 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d - - pymod = import('python') - python = pymod.find_installation(get_option('python')) --python_dep = python.dependency(required : true) -+python_dep = dependency('python3-embed', required : true) - - python_abi_flags = python.get_variable('ABIFLAGS', '') - pylib_loc = get_option('libpython-dir') diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb index 9e024eb9f3..c0c5d271d0 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb @@ -5,14 +5,11 @@ SECTION = "multimedia" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" -SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \ - file://0001-meson.build-fix-builds-with-python-3.8.patch \ - " -SRC_URI[md5sum] = "6ac709767334d8d0a71cb4e016f6abeb" -SRC_URI[sha256sum] = "208df3148d73d9f416d016564737585d8ea763d91201732d44b5fe688c6288a8" +SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" +SRC_URI[sha256sum] = "42b289422f7ab32757670848cf2245c5a8a8b08a665a9cab65ded8d69364f6f6" -DEPENDS = "gstreamer1.0 python3-pygobject" -RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject" +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" +RDEPENDS_${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" PNREAL = "gst-python" @@ -23,15 +20,3 @@ REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" inherit meson pkgconfig distutils3-base upstream-version-is-even gobject-introspection features_check - -do_install_append() { - - # Note that this particular find line is taken from the Debian packaging for - # gst-python1.0. - find "${D}" \ - -name '*.pyc' -o \ - -name '*.pyo' -o \ - -name '*.la' -o \ - -name 'libgstpythonplugin*' \ - -delete -} diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 6962a50d6e..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Fri, 18 Oct 2019 00:42:12 +0100 -Subject: [PATCH] meson: build gir even when cross-compiling if introspection - was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. - -Upstream-Status: Backport [95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index e1e3b1d..3f45f0e 100644 ---- a/meson.build -+++ b/meson.build -@@ -173,7 +173,7 @@ endif - - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ - 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb index 02c3c83840..30534c9782 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb @@ -8,18 +8,16 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" PNREAL = "gst-rtsp-server" -SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \ - file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ - " +SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" -SRC_URI[md5sum] = "8a998725820c771ba45be6e18bfdf73a" -SRC_URI[sha256sum] = "de07a2837b3b04820ce68264a4909f70c221b85dbff0cede7926e9cdbb1dc26e" +SRC_URI[sha256sum] = "10a82865c3d199e66731017ca4b120bad071df9889e60cfe4dd6c49d953ef754" S = "${WORKDIR}/${PNREAL}-${PV}" inherit meson pkgconfig upstream-version-is-even gobject-introspection EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Dexamples=disabled \ -Dtests=disabled \ " @@ -29,3 +27,5 @@ GIR_MESON_DISABLE_FLAG = "disabled" # Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well require gstreamer1.0-plugins-packaging.inc + +CVE_PRODUCT += "gst-rtsp-server" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch deleted file mode 100644 index 7945a923c9..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 0c28cf7bfa90f8947833722cddf23d513490c6c3 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Wed, 28 Nov 2018 15:08:48 +0800 -Subject: [PATCH] vaapsink: downgrade to marginal - -Using vaapisink with default poky configuration results in an -unresponsive display as of today because DRI2 rendering is currently broken -in non composited environments [1] and libva doesn't support DRI3 [2]. - -Downgrade vaapisink to marginal for now so playbin (and in turn gst-play -and gtk-play examples) use xvimagesink or others out of box. - -[1] https://gitlab.freedesktop.org/xorg/xserver/issues/13 -[2] https://github.com/intel/libva/issues/122 - -Upstream-Status: Pending - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - gst/vaapi/gstvaapi.c | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/gst/vaapi/gstvaapi.c b/gst/vaapi/gstvaapi.c -index 9a82454..4d94f2b 100644 ---- a/gst/vaapi/gstvaapi.c -+++ b/gst/vaapi/gstvaapi.c -@@ -195,7 +195,6 @@ plugin_init (GstPlugin * plugin) - { - GstVaapiDisplay *display; - GArray *decoders; -- guint rank; - - plugin_add_dependencies (plugin); - -@@ -220,10 +219,7 @@ plugin_init (GstPlugin * plugin) - gst_element_register (plugin, "vaapidecodebin", - GST_RANK_PRIMARY + 2, GST_TYPE_VAAPI_DECODE_BIN); - -- rank = GST_RANK_PRIMARY; -- if (g_getenv ("WAYLAND_DISPLAY")) -- rank = GST_RANK_MARGINAL; -- gst_element_register (plugin, "vaapisink", rank, GST_TYPE_VAAPISINK); -+ gst_element_register (plugin, "vaapisink", GST_RANK_MARGINAL, GST_TYPE_VAAPISINK); - - #if USE_ENCODERS - gst_vaapiencode_register (plugin, display); diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb index 1bedf25128..acf5598a62 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb @@ -8,28 +8,23 @@ REALPN = "gstreamer-vaapi" LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" -SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz \ - file://0001-vaapsink-downgrade-to-marginal.patch \ - " +SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "13f7cb6a64bde24e67f563377487dcce" -SRC_URI[sha256sum] = "191de7b0ab64a85dd0875c990721e7be95518f60e2a9106beca162004ed7c601" +SRC_URI[sha256sum] = "400d3c42810b50b4566df03f37319a6bdd758f969560c40147e7d9a3b0e8a6ea" S = "${WORKDIR}/${REALPN}-${PV}" DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -inherit meson pkgconfig gtk-doc features_check upstream-version-is-even +inherit meson pkgconfig features_check upstream-version-is-even REQUIRED_DISTRO_FEATURES ?= "opengl" EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Dexamples=disabled \ + -Dtests=enabled \ " -GTKDOC_MESON_OPTION = "gtk_doc" -GTKDOC_MESON_ENABLE_FLAG = "enabled" -GTKDOC_MESON_DISABLE_FLAG = "disabled" - PACKAGES =+ "${PN}-tests" # OpenGL packageconfig factored out to make it easy for distros diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch index 67a872cddb..17f8a0beb7 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch @@ -1,7 +1,7 @@ -From a1d7c582392c8bc87fa9411af77b20e011944357 Mon Sep 17 00:00:00 2001 +From f700975f514758a4a7582c2c972fa54ecfca3302 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 25 Jan 2018 17:55:02 +0200 -Subject: [PATCH] gst/gstpluginloader.c: when env var is set do not fall +Subject: [PATCH 1/4] gst/gstpluginloader.c: when env var is set do not fall through to system plugin scanner If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that. @@ -9,17 +9,19 @@ If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that Falling through to the one installed on the system is problamatic in cross-compilation environemnts, regardless of whether one pointed to by the env var succeeded or failed. -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +written by: Alexander Kanavin <alex.kanavin@gmail.com> + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669] +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> --- gst/gstpluginloader.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c -index 430829d..3a75731 100644 +index d1e404d..2e00c3c 100644 --- a/gst/gstpluginloader.c +++ b/gst/gstpluginloader.c -@@ -471,9 +471,7 @@ gst_plugin_loader_spawn (GstPluginLoader * loader) +@@ -475,9 +475,7 @@ gst_plugin_loader_spawn (GstPluginLoader * loader) helper_bin = g_strdup (env); res = gst_plugin_loader_try_helper (loader, helper_bin); g_free (helper_bin); @@ -31,5 +33,5 @@ index 430829d..3a75731 100644 #ifdef G_OS_WIN32 -- -2.15.1 +2.28.0 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch new file mode 100644 index 0000000000..a2d215d72d --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch @@ -0,0 +1,34 @@ +From 4449246a8d788e71dfe4679fba95955cec5894c1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 3 Nov 2020 22:58:26 -0800 +Subject: [PATCH] gst_private.h: increse padding in struct _GstClockEntryImpl + +When compiling for 32bit architectures with 64bit time_t e.g. riscv32, +the static assert that the GstClockEntryImpl smaller or +equal to the struct _GstClockEntryImpl triggered. +(they were 12bytes off). + +To fix this, the padding is increased by 8 bytes (on 32bit). + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/694] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gst/gst_private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst/gst_private.h b/gst/gst_private.h +index a8897e1..8252ede 100644 +--- a/gst/gst_private.h ++++ b/gst/gst_private.h +@@ -522,7 +522,7 @@ struct _GstClockEntryImpl + GstClockEntry entry; + GWeakRef clock; + GDestroyNotify destroy_entry; +- gpointer padding[19]; /* padding for allowing e.g. systemclock ++ gpointer padding[21]; /* padding for allowing e.g. systemclock + * to add data in lieu of overridable + * virtual functions on the clock */ + }; +-- +2.29.2 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch new file mode 100644 index 0000000000..c8bd58d471 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch @@ -0,0 +1,112 @@ +From 355dd938bfb2cd36d6c3c4ed59ba1dcafdc78d95 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> +Date: Fri, 14 Aug 2020 16:38:26 +0100 +Subject: [PATCH 2/4] Remove unused valgrind detection + +Having this just to log a debug message in case we're +running inside valgrind doesn't seem very useful, and +the code that used to use this no longer exists it seems. + +Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/595> + +Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245] + +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> +--- + gst/gst_private.h | 2 -- + gst/gstinfo.c | 39 --------------------------------------- + meson.build | 1 - + 3 files changed, 42 deletions(-) + +diff --git a/gst/gst_private.h b/gst/gst_private.h +index 1b0f02b..a8897e1 100644 +--- a/gst/gst_private.h ++++ b/gst/gst_private.h +@@ -116,8 +116,6 @@ G_GNUC_INTERNAL gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin + + G_GNUC_INTERNAL gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin); + +-G_GNUC_INTERNAL gboolean _priv_gst_in_valgrind (void); +- + /* init functions called from gst_init(). */ + G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void); + G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void); +diff --git a/gst/gstinfo.c b/gst/gstinfo.c +index 37987d3..15f522e 100644 +--- a/gst/gstinfo.c ++++ b/gst/gstinfo.c +@@ -304,36 +304,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT; + static volatile gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT; + static volatile gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON; + +-/* FIXME: export this? */ +-gboolean +-_priv_gst_in_valgrind (void) +-{ +- static enum +- { +- GST_VG_UNCHECKED, +- GST_VG_NO_VALGRIND, +- GST_VG_INSIDE +- } +- in_valgrind = GST_VG_UNCHECKED; +- +- if (in_valgrind == GST_VG_UNCHECKED) { +-#ifdef HAVE_VALGRIND_VALGRIND_H +- if (RUNNING_ON_VALGRIND) { +- GST_CAT_INFO (GST_CAT_GST_INIT, "we're running inside valgrind"); +- in_valgrind = GST_VG_INSIDE; +- } else { +- GST_CAT_LOG (GST_CAT_GST_INIT, "not doing extra valgrind stuff"); +- in_valgrind = GST_VG_NO_VALGRIND; +- } +-#else +- in_valgrind = GST_VG_NO_VALGRIND; +-#endif +- g_assert (in_valgrind == GST_VG_NO_VALGRIND || +- in_valgrind == GST_VG_INSIDE); +- } +- return (in_valgrind == GST_VG_INSIDE); +-} +- + static gchar * + _replace_pattern_in_gst_debug_file_name (gchar * name, const char *token, + guint val) +@@ -462,9 +432,6 @@ _priv_gst_debug_init (void) + _priv_GST_CAT_PROTECTION = + _gst_debug_category_new ("GST_PROTECTION", 0, "protection"); + +- /* print out the valgrind message if we're in valgrind */ +- _priv_gst_in_valgrind (); +- + env = g_getenv ("GST_DEBUG_OPTIONS"); + if (env != NULL) { + if (strstr (env, "full_tags") || strstr (env, "full-tags")) +@@ -2502,12 +2469,6 @@ gst_debug_construct_win_color (guint colorinfo) + return 0; + } + +-gboolean +-_priv_gst_in_valgrind (void) +-{ +- return FALSE; +-} +- + void + _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file, + const gchar * func, gint line, GObject * obj, const gchar * msg, +diff --git a/meson.build b/meson.build +index f95b4f7..143c043 100644 +--- a/meson.build ++++ b/meson.build +@@ -200,7 +200,6 @@ check_headers = [ + 'sys/wait.h', + 'ucontext.h', + 'unistd.h', +- 'valgrind/valgrind.h', + 'sys/resource.h', + 'sys/uio.h', + ] +-- +2.28.0 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 1ed7198a5c..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Thu, 17 Oct 2019 12:13:35 +0100 -Subject: [PATCH] meson: build gir even when cross-compiling if introspection - was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -Fixes #454 and #381. - -Upstream-Status: Backport [35db4a2433fbdf8612cf98b5aab5b14aeb5372f8] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 90d98d8eb..a47e7f34e 100644 ---- a/meson.build -+++ b/meson.build -@@ -466,7 +466,7 @@ rt_lib = cc.find_library('rt', required : false) - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') - --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \ --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch index 0e6c44ea32..1c0e1f8171 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch @@ -1,7 +1,7 @@ -From b843400284751968862751dfe93853f151551c64 Mon Sep 17 00:00:00 2001 +From 24867db22a5cc35e7643bc218e959ce56c306aca Mon Sep 17 00:00:00 2001 From: Carlos Rafael Giani <crg7475@mailbox.org> Date: Fri, 25 Oct 2019 00:06:26 +0200 -Subject: [PATCH] meson: Add option for installed tests +Subject: [PATCH 3/4] meson: Add option for installed tests This adds an option for producing installed versions of the unit tests. These versions don't need meson to run (only a small shell script). This @@ -77,10 +77,10 @@ index 0000000..5da86fb +write_template(args.output, build_template(args.test_execdir, args.testname)) +os.chmod(args.output, 0o755) diff --git a/meson_options.txt b/meson_options.txt -index 8afde39..8884dcc 100644 +index 72c3997..346c423 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -16,6 +16,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso +@@ -15,6 +15,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso option('memory-alignment', type: 'combo', choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'], value: 'malloc') @@ -90,10 +90,10 @@ index 8afde39..8884dcc 100644 # Feature options option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries') diff --git a/tests/check/meson.build b/tests/check/meson.build -index 04da83f..2db7f76 100644 +index 372ea41..bb0dcfa 100644 --- a/tests/check/meson.build +++ b/tests/check/meson.build -@@ -118,11 +118,17 @@ if add_languages('cpp', required : false) +@@ -120,11 +120,17 @@ if add_languages('cpp', native: false, required: false) ] endif @@ -109,10 +109,10 @@ index 04da83f..2db7f76 100644 '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"', - '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"', + '-DTESTFILE="@0@"'.format(test_files_path + '/testfile'), - '-DGST_USE_UNSTABLE_API', '-DGST_DISABLE_DEPRECATED', ] -@@ -137,6 +143,14 @@ endif + +@@ -138,6 +144,14 @@ endif glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep] gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep] @@ -127,7 +127,7 @@ index 04da83f..2db7f76 100644 foreach t : core_tests fname = t[0] test_name = fname.split('.')[0].underscorify() -@@ -150,8 +164,38 @@ foreach t : core_tests +@@ -151,8 +165,38 @@ foreach t : core_tests include_directories : [configinc], link_with : link_with_libs, dependencies : test_deps + glib_deps + gst_deps, @@ -253,5 +253,5 @@ index 0000000..89954e0 +................................................................................ +................................................................................ -- -2.17.1 +2.28.0 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch deleted file mode 100644 index f553340f4d..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch +++ /dev/null @@ -1,74 +0,0 @@ -From f6c7973c03d9ba7dab60c496e768c5e6c4ee824c Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani <crg7475@mailbox.org> -Date: Sun, 20 Oct 2019 10:36:44 +0200 -Subject: [PATCH] meson: Add valgrind feature - -This allows for enabling/disabling Valgrind support. Since Valgrind is -an external dependency, such a feature is needed by build environemnts -such as Yocto to make sure builds are deterministic. These changes also -add more Valgrind specific configure log output. - -Upstream-Status: Pending - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 23 ++++++++++++++++++++++- - meson_options.txt | 1 + - 2 files changed, 23 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index b55ecc5..4751761 100644 ---- a/meson.build -+++ b/meson.build -@@ -199,7 +199,6 @@ check_headers = [ - 'sys/wait.h', - 'ucontext.h', - 'unistd.h', -- 'valgrind/valgrind.h', - 'sys/resource.h', - ] - -@@ -214,6 +213,28 @@ foreach h : check_headers - endif - endforeach - -+valgrind_option = get_option('valgrind') -+if valgrind_option.disabled() -+ message('Valgrind support not requested; disabled.') -+else -+ valgrind_header = 'valgrind/valgrind.h' -+ has_valgrind_header = cc.has_header(valgrind_header) -+ if has_valgrind_header -+ message('Valgrind support requested, and header ' + valgrind_header + \ -+ ' found. Enabled Valgrind support.') -+ define = 'HAVE_' + valgrind_header.underscorify().to_upper() -+ cdata.set(define, 1) -+ else -+ if valgrind_option.enabled() -+ error('Valgrind support requested and set as required, but header ' + \ -+ valgrind_header + ' not found.') -+ else -+ message('Valgrind support requested, but header ' + valgrind_header + \ -+ ' not found. Disabling Valgrind support.') -+ endif -+ endif -+endif -+ - if cc.has_member('struct tm', 'tm_gmtoff', prefix : '#include <time.h>') - cdata.set('HAVE_TM_GMTOFF', 1) - endif -diff --git a/meson_options.txt b/meson_options.txt -index e7ff7ba..8afde39 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -19,6 +19,7 @@ option('memory-alignment', type: 'combo', - - # Feature options - option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries') -+option('valgrind', type : 'feature', value : 'auto', description : 'Enable Valgrind support') - option('libunwind', type : 'feature', value : 'auto', description : 'Use libunwind to generate backtraces') - option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind') - option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces') --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch deleted file mode 100644 index 7ca3d5ad4a..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch +++ /dev/null @@ -1,37 +0,0 @@ -Currently gstreamer configuration depends on whether setcap is found on the host -system. Turn this into a configure option to make builds deterinistic. - -RP 2020/2/19 -Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> -Upstream-Status: Pending - -Index: gstreamer-1.16.1/libs/gst/helpers/meson.build -=================================================================== ---- gstreamer-1.16.1.orig/libs/gst/helpers/meson.build -+++ gstreamer-1.16.1/libs/gst/helpers/meson.build -@@ -73,7 +73,12 @@ if have_ptp - endif - endif - -- setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false) -+ setcap_feature = get_option('setcap') -+ if setcap_feature.disabled() -+ setcap = find_program('dontexist', required : false) -+ else -+ setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false) -+ endif - - # user/group to change to in gst-ptp-helper - ptp_helper_setuid_user = get_option('ptp-helper-setuid-user') -Index: gstreamer-1.16.1/meson_options.txt -=================================================================== ---- gstreamer-1.16.1.orig/meson_options.txt -+++ gstreamer-1.16.1/meson_options.txt -@@ -26,6 +26,7 @@ option('libunwind', type : 'feature', va - option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind') - option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces') - option('bash-completion', type : 'feature', value : 'auto', description : 'Install bash completion files') -+option('setcap', type : 'feature', value : 'auto', description : 'Use setcap') - - # Common feature options - option('examples', type : 'feature', value : 'auto', yield : true) diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb index 50a872e292..d55b2871e7 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb @@ -6,25 +6,22 @@ BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" SECTION = "multimedia" LICENSE = "LGPLv2+" -DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native" +DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native" -inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc +inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" S = "${WORKDIR}/gstreamer-${PV}" -SRC_URI = " \ - https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ - file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ - file://0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ - file://0003-meson-Add-valgrind-feature.patch \ - file://0004-meson-Add-option-for-installed-tests.patch \ - file://capfix.patch \ -" -SRC_URI[md5sum] = "0e661ed5bdf1d8996e430228d022628e" -SRC_URI[sha256sum] = "e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e" +SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ + file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ + file://0002-Remove-unused-valgrind-detection.patch \ + file://0003-meson-Add-option-for-installed-tests.patch \ + file://0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch \ + " +SRC_URI[sha256sum] = "79df8de21f284a105a5c1568527f8c559c583c85c0f2bd7bdb5b0372b8beecba" PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ check \ @@ -35,12 +32,11 @@ PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false" PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false" PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled" PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false" -PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind," PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils" PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion" PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled" -PACKAGECONFIG[setcap] = "-Dsetcap=enabled,-Dsetcap=disabled,libcap libcap-native" +PACKAGECONFIG[setcap] = ",,libcap libcap-native" # TODO: put this in a gettext.bbclass patch def gettext_oemeson(d): @@ -52,15 +48,12 @@ def gettext_oemeson(d): return '-Dnls=enabled' EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Dexamples=disabled \ -Ddbghelp=disabled \ ${@gettext_oemeson(d)} \ " -GTKDOC_MESON_OPTION = "gtk_doc" -GTKDOC_MESON_ENABLE_FLAG = "enabled" -GTKDOC_MESON_DISABLE_FLAG = "disabled" - GIR_MESON_ENABLE_FLAG = "enabled" GIR_MESON_DISABLE_FLAG = "disabled" diff --git a/poky/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb b/poky/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb index c5c10348c6..023bce0abe 100644 --- a/poky/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb +++ b/poky/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb @@ -2,8 +2,8 @@ SUMMARY = "Ogg Vorbis Audio Codec" DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \ that is free of intellectual property restrictions. libvorbis \ is the main vorbis codec library." -HOMEPAGE = "http://www.vorbis.com/" -BUGTRACKER = "https://trac.xiph.org" +HOMEPAGE = "https://xiph.org/vorbis/" +BUGTRACKER = "https://gitlab.xiph.org/xiph/vorbis/-/issues" SECTION = "libs" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=73d9c8942c60b846c3bad13cc6c2e520 \ diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index 4e32b27087..3a26cb59dd 100644 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc @@ -149,7 +149,7 @@ do_compile_append () { do_install_append() { install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse + install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/04_pulse } USERADD_PACKAGES = "pulseaudio-server" @@ -192,7 +192,7 @@ FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*" FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}/cmake" FILES_${PN}-conf = "${sysconfdir}" -FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse" +FILES_${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse" FILES_${PN}-pa-info = "${bindir}/pa-info" FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*" diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch deleted file mode 100644 index 95133fd9d4..0000000000 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 3450d1fcfe8a8f84553ab299cd96ae0705ddffbe Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 5 Mar 2020 11:48:28 -0800 -Subject: [PATCH] remap/arm: Adjust inline asm constraints - -gcc10 can effectively emit single precision registers if right -operand modifier constraint is not in use - -This results in assembler rejecting the code - -/tmp/ccEG4QpI.s:646: Error: VFP/Neon double precision register expected -- `vtbl.8 d3,{d0,d1},s8' -/tmp/ccEG4QpI.s:678: Error: invalid instruction shape -- `vmul.f32 d0,d0,s8' - -Therefore add %P qualifier to request double registers sinece 'w' could -mean variable could be stored in s0..s14 and GCC defaults to printing out s0..s14. -Note those registers map to d0..d7 also. - -Output generated is exactly same with gcc9, and it also now compiles -with gcc10 - -Its not documented well in gcc docs and there is a ticket for that -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84343 - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/261] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/pulsecore/remap_neon.c | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -diff --git a/src/pulsecore/remap_neon.c b/src/pulsecore/remap_neon.c -index 41208986d..ca3b95b48 100644 ---- a/src/pulsecore/remap_neon.c -+++ b/src/pulsecore/remap_neon.c -@@ -189,7 +189,7 @@ static void remap_ch4_to_mono_float32ne_neon(pa_remap_t *m, float *dst, const fl - "vadd.f32 d0, d0, d1 \n\t" - "vadd.f32 d2, d2, d3 \n\t" - "vadd.f32 d0, d0, d2 \n\t" -- "vmul.f32 d0, d0, %[quart] \n\t" -+ "vmul.f32 d0, d0, %P[quart] \n\t" - "vst1.32 {d0}, [%[dst]]! \n\t" - : [dst] "+r" (dst), [src] "+r" (src) /* output operands */ - : [quart] "w" (quart) /* input operands */ -@@ -276,7 +276,7 @@ static void remap_arrange_stereo_s16ne_neon(pa_remap_t *m, int16_t *dst, const i - for (; n >= 2; n -= 2) { - __asm__ __volatile__ ( - "vld1.s16 d0, [%[src]]! \n\t" -- "vtbl.8 d0, {d0}, %[t] \n\t" -+ "vtbl.8 d0, {d0}, %P[t] \n\t" - "vst1.s16 d0, [%[dst]]! \n\t" - : [dst] "+r" (dst), [src] "+r" (src) /* output operands */ - : [t] "w" (t) /* input operands */ -@@ -287,7 +287,7 @@ static void remap_arrange_stereo_s16ne_neon(pa_remap_t *m, int16_t *dst, const i - if (n > 0) { - __asm__ __volatile__ ( - "vld1.32 d0[0], [%[src]]! \n\t" -- "vtbl.8 d0, {d0}, %[t] \n\t" -+ "vtbl.8 d0, {d0}, %P[t] \n\t" - "vst1.32 d0[0], [%[dst]]! \n\t" - : [dst] "+r" (dst), [src] "+r" (src) /* output operands */ - : [t] "w" (t) /* input operands */ -@@ -302,8 +302,8 @@ static void remap_arrange_ch2_ch4_s16ne_neon(pa_remap_t *m, int16_t *dst, const - for (; n > 0; n--) { - __asm__ __volatile__ ( - "vld1.32 d0[0], [%[src]]! \n\t" -- "vtbl.8 d0, {d0}, %[t] \n\t" -- "vst1.s16 d0, [%[dst]]! \n\t" -+ "vtbl.8 d0, {d0}, %P[t] \n\t" -+ "vst1.s16 d0, [%[dst]]! \n\t" - : [dst] "+r" (dst), [src] "+r" (src) /* output operands */ - : [t] "w" (t) /* input operands */ - : "memory", "d0" /* clobber list */ -@@ -317,7 +317,7 @@ static void remap_arrange_ch4_s16ne_neon(pa_remap_t *m, int16_t *dst, const int1 - for (; n > 0; n--) { - __asm__ __volatile__ ( - "vld1.s16 d0, [%[src]]! \n\t" -- "vtbl.8 d0, {d0}, %[t] \n\t" -+ "vtbl.8 d0, {d0}, %P[t] \n\t" - "vst1.s16 d0, [%[dst]]! \n\t" - : [dst] "+r" (dst), [src] "+r" (src) /* output operands */ - : [t] "w" (t) /* input operands */ -@@ -332,7 +332,7 @@ static void remap_arrange_stereo_float32ne_neon(pa_remap_t *m, float *dst, const - for (; n > 0; n--) { - __asm__ __volatile__ ( - "vld1.f32 d0, [%[src]]! \n\t" -- "vtbl.8 d0, {d0}, %[t] \n\t" -+ "vtbl.8 d0, {d0}, %P[t] \n\t" - "vst1.s16 {d0}, [%[dst]]! \n\t" - : [dst] "+r" (dst), [src] "+r" (src) /* output operands */ - : [t] "w" (t) /* input operands */ -@@ -349,8 +349,8 @@ static void remap_arrange_ch2_ch4_any32ne_neon(pa_remap_t *m, float *dst, const - for (; n > 0; n--) { - __asm__ __volatile__ ( - "vld1.f32 d0, [%[src]]! \n\t" -- "vtbl.8 d1, {d0}, %[t0] \n\t" -- "vtbl.8 d2, {d0}, %[t1] \n\t" -+ "vtbl.8 d1, {d0}, %P[t0] \n\t" -+ "vtbl.8 d2, {d0}, %P[t1] \n\t" - "vst1.s16 {d1,d2}, [%[dst]]! \n\t" - : [dst] "+r" (dst), [src] "+r" (src) /* output operands */ - : [t0] "w" (t0), [t1] "w" (t1) /* input operands */ -@@ -366,8 +366,8 @@ static void remap_arrange_ch4_float32ne_neon(pa_remap_t *m, float *dst, const fl - for (; n > 0; n--) { - __asm__ __volatile__ ( - "vld1.f32 {d0,d1}, [%[src]]! \n\t" -- "vtbl.8 d2, {d0,d1}, %[t0] \n\t" -- "vtbl.8 d3, {d0,d1}, %[t1] \n\t" -+ "vtbl.8 d2, {d0,d1}, %P[t0] \n\t" -+ "vtbl.8 d3, {d0,d1}, %P[t1] \n\t" - "vst1.s16 {d2,d3}, [%[dst]]! \n\t" - : [dst] "+r" (dst), [src] "+r" (src) /* output operands */ - : [t0] "w" (t0), [t1] "w" (t1) /* input operands */ --- -2.25.1 - diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch deleted file mode 100644 index aaa162f9b0..0000000000 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 4a1668f341f0228904105f77fe5871b9d59b2663 Mon Sep 17 00:00:00 2001 -From: Tanu Kaskinen <tanuk@iki.fi> -Date: Mon, 13 Jul 2020 12:42:14 +0300 -Subject: [PATCH] remap_neon: use register r12 instead of r7 - -When the Thumb instructions set is used and frame pointers are enabled -(-fno-omit-frame-pointer), r7 can't be used, because it's used for the -frame pointer. Trying to use r7 caused the compilation to fail. - -Thanks to Andre McCurdy for suggesting[1] this fix, all I had to do was to -test that it works. The code builds now, and cpu-remap-test also -succeeds. - -[1] https://lists.openembedded.org/g/openembedded-core/message/136786 - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/324] - -Signed-off-by: Tanu Kaskinen <tanuk@iki.fi> ---- - src/pulsecore/remap_neon.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/pulsecore/remap_neon.c b/src/pulsecore/remap_neon.c -index ca3b95b48..6f71345f8 100644 ---- a/src/pulsecore/remap_neon.c -+++ b/src/pulsecore/remap_neon.c -@@ -52,11 +52,15 @@ static void remap_mono_to_stereo_float32ne_generic_arm(pa_remap_t *m, float *dst - __asm__ __volatile__ ( - "ldm %[src]!, {r4,r6} \n\t" - "mov r5, r4 \n\t" -- "mov r7, r6 \n\t" -- "stm %[dst]!, {r4-r7} \n\t" -+ -+ /* We use r12 instead of r7 here, because r7 is reserved for the -+ * frame pointer when using Thumb. */ -+ "mov r12, r6 \n\t" -+ -+ "stm %[dst]!, {r4-r6,r12} \n\t" - : [dst] "+r" (dst), [src] "+r" (src) /* output operands */ - : /* input operands */ -- : "memory", "r4", "r5", "r6", "r7" /* clobber list */ -+ : "memory", "r4", "r5", "r6", "r12" /* clobber list */ - ); - } - --- -2.20.1 - diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_13.0.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb index 53e9a2357d..ac0c82e37d 100644 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_13.0.bb +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb @@ -3,10 +3,8 @@ require pulseaudio.inc SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ file://0001-client-conf-Add-allow-autospawn-for-root.patch \ file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ - file://0001-remap-arm-Adjust-inline-asm-constraints.patch \ - file://0001-remap_neon-use-register-r12-instead-of-r7.patch \ file://volatiles.04_pulse \ " -SRC_URI[md5sum] = "e41d606f90254ed45c90520faf83d95c" -SRC_URI[sha256sum] = "961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057" +SRC_URI[md5sum] = "84a7776e63dd55c40db8fbd7c7e2e18e" +SRC_URI[sha256sum] = "a834775d9382b055504e5ee7625dc50768daac29329531deb6597bf05e06c261" UPSTREAM_CHECK_REGEX = "pulseaudio-(?P<pver>\d+(\.(?!99)\d+)+)\.tar" diff --git a/poky/meta/recipes-multimedia/x264/x264_git.bb b/poky/meta/recipes-multimedia/x264/x264_git.bb index f226fec3c4..25ab72c66d 100644 --- a/poky/meta/recipes-multimedia/x264/x264_git.bb +++ b/poky/meta/recipes-multimedia/x264/x264_git.bb @@ -14,7 +14,7 @@ SRC_URI = "git://github.com/mirror/x264;branch=stable \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "cde9a93319bea766a92e306d69059c76de970190" +SRCREV = "d198931a63049db1f2c92d96c34904c69fde8117" PV = "r3011+git${SRCPV}" diff --git a/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch new file mode 100644 index 0000000000..8fd94b176c --- /dev/null +++ b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch @@ -0,0 +1,29 @@ +From f89d6d6d23e0dacfd0008f686a457d536edc406a Mon Sep 17 00:00:00 2001 +From: Randy Witt <randy.e.witt@intel.com> +Date: Fri, 16 Oct 2020 16:54:30 -0700 +Subject: [PATCH] Makefile: Allow for CC and AR to be overridden + +The Makefile previously allowed for this but it was removed upstream in +commit 7763cf316d7896fa05b816a46998f0827ab6e6eb. + +Signed-off-by: Randy Witt <randy.e.witt@intel.com> + +Upstream-Status: Inappropriate [other] + +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index c3ebbd7..2176835 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 1.9 +-CC = $(CROSS_COMPILE)gcc +-AR = $(CROSS_COMPILE)ar ++CC ?= $(CROSS_COMPILE)gcc ++AR ?= $(CROSS_COMPILE)ar + + OBJDIR = bld + diff --git a/poky/meta/recipes-rt/rt-tests/files/0001-rt-tests-oslat-Allow-build-for-not-supported-archs.patch b/poky/meta/recipes-rt/rt-tests/files/0001-rt-tests-oslat-Allow-build-for-not-supported-archs.patch new file mode 100644 index 0000000000..1ee7539f7d --- /dev/null +++ b/poky/meta/recipes-rt/rt-tests/files/0001-rt-tests-oslat-Allow-build-for-not-supported-archs.patch @@ -0,0 +1,52 @@ +From 165b597e3003c6870f5980e8902014d9344e6cf3 Mon Sep 17 00:00:00 2001 +From: Peter Xu <peterx@redhat.com> +Date: Thu, 1 Oct 2020 14:47:26 -0400 +Subject: [PATCH] rt-tests: oslat: Allow build for not supported archs + +Now rt-tests won't build for archs other than x86/i386/ppc64 after oslat is +merged. Instead of failing the build, let's make it pass. However, whenever +oslat is executed, instead of running the real program, dump an error message, +so that people can try to implement the frc() function for it when there's a +real need for the new arch. + +Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/commit/?id=165b597e3003c6870f5980e8902014d9344e6cf3] + +Signed-off-by: Peter Xu <peterx@redhat.com> +Signed-off-by: John Kacur <jkacur@redhat.com> +Signed-off-by: Peter Bergin <peter@berginkonsult.se> + +--- + src/oslat/oslat.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/oslat/oslat.c b/src/oslat/oslat.c +index f1a82f2..a8b6155 100644 +--- a/src/oslat/oslat.c ++++ b/src/oslat/oslat.c +@@ -69,7 +69,9 @@ static inline void frc(uint64_t *pval) + __asm__ __volatile__("mfspr %0, 268\n" : "=r" (*pval)); + } + # else +-# error Need frc() for this platform. ++# define relax() do { } while (0) ++# define frc(x) ++# define FRC_MISSING + # endif + #else + # error Need to add support for this compiler. +@@ -810,6 +812,12 @@ int main(int argc, char *argv[]) + int i, n_cores; + cpu_set_t cpu_set; + ++#ifdef FRC_MISSING ++ printf("This architecture is not yet supported. " ++ "Please implement frc() function first for %s.\n", argv[0]); ++ return 0; ++#endif ++ + CPU_ZERO(&cpu_set); + + g.app_name = argv[0]; +-- +2.25.1 + diff --git a/poky/meta/recipes-rt/rt-tests/hwlatdetect_1.1.bb b/poky/meta/recipes-rt/rt-tests/hwlatdetect_1.9.bb index 5f61c4ecdd..5f61c4ecdd 100644 --- a/poky/meta/recipes-rt/rt-tests/hwlatdetect_1.1.bb +++ b/poky/meta/recipes-rt/rt-tests/hwlatdetect_1.9.bb diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests-1.1/0001-gzip-with-n-for-build-reproducibilty.patch b/poky/meta/recipes-rt/rt-tests/rt-tests-1.1/0001-gzip-with-n-for-build-reproducibilty.patch deleted file mode 100644 index 3bafbbe08f..0000000000 --- a/poky/meta/recipes-rt/rt-tests/rt-tests-1.1/0001-gzip-with-n-for-build-reproducibilty.patch +++ /dev/null @@ -1,62 +0,0 @@ -From aabf518e2e61a882b925f9d2ac53dafa7a041a0a Mon Sep 17 00:00:00 2001 -From: Jeremy Puhlman <jpuhlman@mvista.com> -Date: Tue, 25 Feb 2020 22:58:59 +0000 -Subject: [PATCH] gzip with -n for build reproducibilty - -The date can get encoded in the header of the gz file, which -causes the binary files between two different builds of the -same data to be different. Add -n for reproducibilty - -Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> - -Upstream-Status: Submitted [mailinglist] - ---- - Makefile | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/Makefile b/Makefile -index a54d82b..e9f0d5a 100644 ---- a/Makefile -+++ b/Makefile -@@ -168,17 +168,17 @@ install: all install_hwlatdetect - cp $(TARGETS) "$(DESTDIR)$(bindir)" - install -D -m 644 src/backfire/backfire.c "$(DESTDIR)$(srcdir)/backfire/backfire.c" - install -m 644 src/backfire/Makefile "$(DESTDIR)$(srcdir)/backfire/Makefile" -- gzip -c src/backfire/backfire.4 >"$(DESTDIR)$(mandir)/man4/backfire.4.gz" -- gzip -c src/cyclictest/cyclictest.8 >"$(DESTDIR)$(mandir)/man8/cyclictest.8.gz" -- gzip -c src/pi_tests/pi_stress.8 >"$(DESTDIR)$(mandir)/man8/pi_stress.8.gz" -- gzip -c src/ptsematest/ptsematest.8 >"$(DESTDIR)$(mandir)/man8/ptsematest.8.gz" -- gzip -c src/rt-migrate-test/rt-migrate-test.8 >"$(DESTDIR)$(mandir)/man8/rt-migrate-test.8.gz" -- gzip -c src/sigwaittest/sigwaittest.8 >"$(DESTDIR)$(mandir)/man8/sigwaittest.8.gz" -- gzip -c src/svsematest/svsematest.8 >"$(DESTDIR)$(mandir)/man8/svsematest.8.gz" -- gzip -c src/pmqtest/pmqtest.8 >"$(DESTDIR)$(mandir)/man8/pmqtest.8.gz" -- gzip -c src/backfire/sendme.8 >"$(DESTDIR)$(mandir)/man8/sendme.8.gz" -- gzip -c src/hackbench/hackbench.8 >"$(DESTDIR)$(mandir)/man8/hackbench.8.gz" -- gzip -c src/signaltest/signaltest.8 >"$(DESTDIR)$(mandir)/man8/signaltest.8.gz" -+ gzip -nc src/backfire/backfire.4 >"$(DESTDIR)$(mandir)/man4/backfire.4.gz" -+ gzip -nc src/cyclictest/cyclictest.8 >"$(DESTDIR)$(mandir)/man8/cyclictest.8.gz" -+ gzip -nc src/pi_tests/pi_stress.8 >"$(DESTDIR)$(mandir)/man8/pi_stress.8.gz" -+ gzip -nc src/ptsematest/ptsematest.8 >"$(DESTDIR)$(mandir)/man8/ptsematest.8.gz" -+ gzip -nc src/rt-migrate-test/rt-migrate-test.8 >"$(DESTDIR)$(mandir)/man8/rt-migrate-test.8.gz" -+ gzip -nc src/sigwaittest/sigwaittest.8 >"$(DESTDIR)$(mandir)/man8/sigwaittest.8.gz" -+ gzip -nc src/svsematest/svsematest.8 >"$(DESTDIR)$(mandir)/man8/svsematest.8.gz" -+ gzip -nc src/pmqtest/pmqtest.8 >"$(DESTDIR)$(mandir)/man8/pmqtest.8.gz" -+ gzip -nc src/backfire/sendme.8 >"$(DESTDIR)$(mandir)/man8/sendme.8.gz" -+ gzip -nc src/hackbench/hackbench.8 >"$(DESTDIR)$(mandir)/man8/hackbench.8.gz" -+ gzip -nc src/signaltest/signaltest.8 >"$(DESTDIR)$(mandir)/man8/signaltest.8.gz" - - .PHONY: install_hwlatdetect - install_hwlatdetect: hwlatdetect -@@ -187,7 +187,7 @@ install_hwlatdetect: hwlatdetect - install -D -m 755 src/hwlatdetect/hwlatdetect.py $(DESTDIR)$(PYLIB)/hwlatdetect.py ; \ - rm -f "$(DESTDIR)$(bindir)/hwlatdetect" ; \ - ln -s $(PYLIB)/hwlatdetect.py "$(DESTDIR)$(bindir)/hwlatdetect" ; \ -- gzip -c src/hwlatdetect/hwlatdetect.8 >"$(DESTDIR)$(mandir)/man8/hwlatdetect.8.gz" ; \ -+ gzip -nc src/hwlatdetect/hwlatdetect.8 >"$(DESTDIR)$(mandir)/man8/hwlatdetect.8.gz" ; \ - fi - - .PHONY: tarball --- -2.23.0 - diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests.inc b/poky/meta/recipes-rt/rt-tests/rt-tests.inc index 6e3afafce4..2dd890cf95 100644 --- a/poky/meta/recipes-rt/rt-tests/rt-tests.inc +++ b/poky/meta/recipes-rt/rt-tests/rt-tests.inc @@ -1,12 +1,7 @@ -# Version 1.1 -SRCREV = "dff174f994f547a5785d32454865f140daacb0f5" +# Version 1.8 +SRCREV = "21c1df7d2ee199ac619cbb1806a38d15e7e95c09" PE = "1" -SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git" -# 1.2 and up seem to be development versions -UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(?!1\.[2-8])(\d+(\.\d+)+))" +SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=unstable/devel/latest" S = "${WORKDIR}/git" - -# calling 'uname -m' is broken on crossbuilds -EXTRA_OEMAKE = "NUMA=0" diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb b/poky/meta/recipes-rt/rt-tests/rt-tests_1.9.bb index dad252b4ed..b916a7fe60 100644 --- a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb +++ b/poky/meta/recipes-rt/rt-tests/rt-tests_1.9.bb @@ -1,11 +1,9 @@ SUMMARY = "Real-Time preemption testcases" HOMEPAGE = "https://rt.wiki.kernel.org/index.php/Cyclictest" SECTION = "tests" -DEPENDS = "linux-libc-headers virtual/libc" +DEPENDS = "linux-libc-headers virtual/libc numactl" LICENSE = "GPLv2 & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ - file://src/cyclictest/cyclictest.c;beginline=7;endline=9;md5=e768b8da44555fe63f65e5c497844cb5 \ - file://src/pi_tests/pi_stress.c;beginline=6;endline=19;md5=bd426a634a43ec612e9fbf125dfcc949" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" require rt-tests.inc inherit ptest @@ -13,7 +11,8 @@ inherit ptest SRC_URI += " \ file://run-ptest \ file://rt_bmark.py \ - file://0001-gzip-with-n-for-build-reproducibilty.patch \ + file://0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch \ + file://0001-rt-tests-oslat-Allow-build-for-not-supported-archs.patch \ " # rt-tests needs PI mutex support in libc @@ -34,3 +33,4 @@ do_install_ptest() { RDEPENDS_${PN}-ptest += " stress-ng python3 python3-multiprocessing python3-datetime python3-misc" FILES_${PN} += "${prefix}/src/backfire" +RDEPENDS_${PN} += "bash" diff --git a/poky/meta/recipes-sato/puzzles/files/0001-malloc-Check-for-excessive-values-to-malloc.patch b/poky/meta/recipes-sato/puzzles/files/0001-malloc-Check-for-excessive-values-to-malloc.patch new file mode 100644 index 0000000000..66af6afa2f --- /dev/null +++ b/poky/meta/recipes-sato/puzzles/files/0001-malloc-Check-for-excessive-values-to-malloc.patch @@ -0,0 +1,49 @@ +From 1c01a5bc9ac7f8aaa484b1a8e0e74aa5f8899d0e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 8 Nov 2020 11:17:59 -0800 +Subject: [PATCH] malloc: Check for excessive values to malloc + +with whole program optimizers like lto smalloc() +is inlined the excessive constant argument is propagated to +malloc() and ultimately triggers the warning. + +malloc.c:15:9: error: argument 1 range [18446744065119617024, 18446744073709551580] exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=] + +therefore add a check before excessive constant argument before calling +malloc + +Note that this will not happen with normal compile since they happen to +be in different translation units and compiler can not semantically +analyze as much + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + malloc.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/malloc.c b/malloc.c +index a7fa7c5..520377c 100644 +--- a/malloc.c ++++ b/malloc.c +@@ -2,6 +2,7 @@ + * malloc.c: safe wrappers around malloc, realloc, free, strdup + */ + ++#include <stdint.h> + #include <stdlib.h> + #include <string.h> + #include "puzzles.h" +@@ -12,6 +13,8 @@ + */ + void *smalloc(size_t size) { + void *p; ++ if (size > PTRDIFF_MAX) ++ fatal("exceeds maximum object size"); + p = malloc(size); + if (!p) + fatal("out of memory"); +-- +2.29.2 + diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb index a0f3b5d9cd..8e4d5b3349 100644 --- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb +++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb @@ -14,6 +14,7 @@ SRC_URI = "git://git.tartarus.org/simon/puzzles.git \ file://0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch \ file://0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch \ file://fix-ki-uninitialized.patch \ + file://0001-malloc-Check-for-excessive-values-to-malloc.patch \ " UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb b/poky/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb index 227fd54b79..d01177f9b9 100644 --- a/poky/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb +++ b/poky/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb @@ -1,5 +1,5 @@ SUMMARY = "Provides a bridge between gconf and xsettings" -HOMEPAGE = "http://svn.o-hand.com/view/matchbox/trunk/settings-daemon/" +HOMEPAGE = "https://git.yoctoproject.org/cgit/cgit.cgi/xsettings-daemon/" BUGTRACKER = "http://bugzilla.yoctoproject.org/" LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://xsettings-manager.h;endline=22;md5=7cfac9d2d4dc3694cc7eb605cf32a69b \ diff --git a/poky/meta/recipes-sato/webkit/libwpe_1.7.1.bb b/poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb index e25d9404a0..a81e6960b2 100644 --- a/poky/meta/recipes-sato/webkit/libwpe_1.7.1.bb +++ b/poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb @@ -14,4 +14,4 @@ inherit cmake features_check REQUIRED_DISTRO_FEATURES = "opengl" SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "a784b7fa0c658b28071100f6f6749b0d85bbcddd82de028e07672ce13982d340" +SRC_URI[sha256sum] = "a6f00a7d091cbd4db57fe7ee3b4c12c6350921d654ed79812800a26c888481d2" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch index 268118b5ca..ca7b1bca48 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch @@ -1,4 +1,4 @@ -From 8ee7806ad2d5606967f7a1529a113fb9d1a386de Mon Sep 17 00:00:00 2001 +From b145ab4273c59f4f908cdaff9e267241bd970e93 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 3 Feb 2020 17:06:27 -0800 Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG @@ -13,26 +13,26 @@ missing atomic primitives. Upstream-Status: Submitted [https://trac.webkit.org/changeset/231843/webkit] Signed-off-by: Khem Raj <raj.khem@gmail.com> + --- - Source/cmake/OptionsGTK.cmake | 2 ++ + Source/cmake/OptionsGTK.cmake | 1 + Source/cmake/OptionsJSCOnly.cmake | 1 + - 2 files changed, 3 insertions(+) + 2 files changed, 2 insertions(+) diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index d3beef19..6a92856f 100644 +index 8732e935..9b4fbae7 100644 --- a/Source/cmake/OptionsGTK.cmake +++ b/Source/cmake/OptionsGTK.cmake -@@ -17,6 +17,8 @@ set(WEBKITGTK_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/webkitgtk-${WEBKIT - set(INTROSPECTION_INSTALL_GIRDIR "${CMAKE_INSTALL_FULL_DATADIR}/gir-1.0") - set(INTROSPECTION_INSTALL_TYPELIBDIR "${LIB_INSTALL_DIR}/girepository-1.0") - +@@ -32,6 +32,7 @@ set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") + if (USER_AGENT_BRANDING) + add_definitions(-DUSER_AGENT_BRANDING="${USER_AGENT_BRANDING}") + endif () +set(THREADS_PREFER_PTHREAD_FLAG ON) -+ + find_package(Cairo 1.14.0 REQUIRED) find_package(Fontconfig 2.8.0 REQUIRED) - find_package(Freetype 2.4.2 REQUIRED) diff --git a/Source/cmake/OptionsJSCOnly.cmake b/Source/cmake/OptionsJSCOnly.cmake -index b2e87418..326ade23 100644 +index 316c6240..2f712602 100644 --- a/Source/cmake/OptionsJSCOnly.cmake +++ b/Source/cmake/OptionsJSCOnly.cmake @@ -1,3 +1,4 @@ @@ -40,6 +40,3 @@ index b2e87418..326ade23 100644 find_package(Threads REQUIRED) if (MSVC) --- -2.25.0 - diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-ICU-68.1-no-longer-exposes-FALSE-and-TRUE-macros-by-.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-ICU-68.1-no-longer-exposes-FALSE-and-TRUE-macros-by-.patch new file mode 100644 index 0000000000..3a02253e5e --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-ICU-68.1-no-longer-exposes-FALSE-and-TRUE-macros-by-.patch @@ -0,0 +1,180 @@ +From 8d1c44a03c1870912991467f8d8cd8bb6f85efa5 Mon Sep 17 00:00:00 2001 +From: "stephan.szabo@sony.com" <stephan.szabo@sony.com> +Date: Tue, 3 Nov 2020 20:06:15 +0000 +Subject: [PATCH] ICU 68.1 no longer exposes FALSE and TRUE macros by default + https://bugs.webkit.org/show_bug.cgi?id=218522 + +Reviewed by Don Olmstead. + +Source/WebCore: + +* platform/text/TextCodecICU.cpp: Replace use of TRUE with true + +Source/WebKit: + +* UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: Replace FALSE with false + +Source/WTF: + +Replace uses of FALSE and TRUE with false and true. + +* wtf/text/icu/UTextProvider.h: +* wtf/text/icu/UTextProviderLatin1.cpp: +* wtf/text/icu/UTextProviderUTF16.cpp: + +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@arm.com> + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269325 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/WTF/wtf/text/icu/UTextProvider.h | 8 ++++---- + Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp | 14 +++++++------- + Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp | 4 ++-- + Source/WebCore/platform/text/TextCodecICU.cpp | 2 +- + .../DrawingAreaProxyCoordinatedGraphics.cpp | 2 +- + 5 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/Source/WTF/wtf/text/icu/UTextProvider.h b/Source/WTF/wtf/text/icu/UTextProvider.h +index c8f28d6e..3c6fbeab 100644 +--- a/Source/WTF/wtf/text/icu/UTextProvider.h ++++ b/Source/WTF/wtf/text/icu/UTextProvider.h +@@ -79,12 +79,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits<int32_t>::max()); + text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) { + text->chunkOffset = text->chunkLength; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } else { +@@ -93,12 +93,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits<int32_t>::max()); + text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex <= 0 && !text->chunkNativeStart) { + text->chunkOffset = 0; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } +diff --git a/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp b/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp +index 0a646b7f..49980f95 100644 +--- a/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp ++++ b/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp +@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward) + if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (index >= length && uText->chunkNativeLimit == length) { + // Off the end of the buffer, but we can't get it. + uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart); +- return FALSE; ++ return false; + } + } else { + if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (!index && !uText->chunkNativeStart) { + // Already at the beginning; can't go any farther. + uText->chunkOffset = 0; +- return FALSE; ++ return false; + } + } + +@@ -144,7 +144,7 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward) + + uText->nativeIndexingLimit = uText->chunkLength; + +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status) +@@ -337,7 +337,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UText* text) + static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -357,7 +357,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBo + ASSERT(newContext == UTextProviderContext::PriorContext); + textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff --git a/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp b/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp +index 69c8d091..9c3fa709 100644 +--- a/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp ++++ b/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp +@@ -126,7 +126,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLength(UText* text) + static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -146,7 +146,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBoo + ASSERT(newContext == UTextProviderContext::PriorContext); + textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff --git a/Source/WebCore/platform/text/TextCodecICU.cpp b/Source/WebCore/platform/text/TextCodecICU.cpp +index c2684939..e716a6fb 100644 +--- a/Source/WebCore/platform/text/TextCodecICU.cpp ++++ b/Source/WebCore/platform/text/TextCodecICU.cpp +@@ -240,7 +240,7 @@ void TextCodecICU::createICUConverter() const + UErrorCode error = U_ZERO_ERROR; + m_converter = ICUConverterPtr { ucnv_open(m_canonicalConverterName, &error), ucnv_close }; + if (m_converter) +- ucnv_setFallback(m_converter.get(), TRUE); ++ ucnv_setFallback(m_converter.get(), true); + } + + int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& error) +diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp +index 61e3f605..5a51b9ec 100644 +--- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp ++++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp +@@ -402,7 +402,7 @@ DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::~DrawingMonitor() + int DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::webViewDrawCallback(DrawingAreaProxyCoordinatedGraphics::DrawingMonitor* monitor) + { + monitor->didDraw(); +- return FALSE; ++ return false; + } + + void DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::start(WTF::Function<void(CallbackBase::Error)>&& callback) +-- +2.25.1 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch deleted file mode 100644 index e8d1d8c341..0000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch +++ /dev/null @@ -1,35 +0,0 @@ -From bed4cf4aaa6aad4172ec9942e9039fb8e1ef68a4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 29 Feb 2016 18:13:39 +0200 -Subject: [PATCH] OptionsGTK.cmake: drop the hardcoded introspection/gtkdoc - disabling when cross-compiling - -This was not possible to override from the command line and in OpenEmbedded -(one of the most prominent cross-compilation frameworks) introspection does work fine, -through the use of qemu target emulation. - -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - -Upstream-Status: Pending - ---- - Source/cmake/OptionsGTK.cmake | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index 661b40e..404441b 100644 ---- a/Source/cmake/OptionsGTK.cmake -+++ b/Source/cmake/OptionsGTK.cmake -@@ -352,12 +352,6 @@ if (ENABLED_COMPILER_SANITIZERS) - set(ENABLE_INTROSPECTION OFF) - endif () - --# Override the cached variables, gtk-doc and gobject-introspection do not really work when cross-building. --if (CMAKE_CROSSCOMPILING) -- set(ENABLE_GTKDOC OFF) -- set(ENABLE_INTROSPECTION OFF) --endif () -- - # Override the cached variable, gtk-doc does not really work when building on Mac. - if (APPLE) - set(ENABLE_GTKDOC OFF) diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-clang-11-fix-build-errors-due-to-WWc-11-narrowing.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-clang-11-fix-build-errors-due-to-WWc-11-narrowing.patch deleted file mode 100644 index d8bb8efb88..0000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-clang-11-fix-build-errors-due-to-WWc-11-narrowing.patch +++ /dev/null @@ -1,66 +0,0 @@ -From cb929f59b527fe890376e47613dfe1434a320bc0 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 11 Aug 2020 15:44:48 -0700 -Subject: [PATCH] [clang 11] fix build errors due to -WWc++11-narrowing - -https://bugs.webkit.org/show_bug.cgi?id=211193 - -Reviewed by Adrian Perez de Castro. - -Fixes the following errors, - -Source/WebCore/html/MediaElementSession.cpp:1059:9: error: type 'WebCore::RenderMedia *' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] -m_element.renderer(), -^~~~~~~~~~~~~~~~~~~~ - -Source/WebCore/style/StyleResolver.cpp:106:55: error: type 'const char [4]' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] -m_mediaQueryEvaluator = MediaQueryEvaluator { "all" }; - ^~~~~ -Source/WebCore/style/StyleResolver.cpp:106:55: note: insert an explicit cast to silence this issue -m_mediaQueryEvaluator = MediaQueryEvaluator { "all" }; - ^~~~~ - static_cast<bool>( ) - -* html/HTMLMediaElement.h: -(WebCore::HTMLMediaElement::hasRenderer const): -MediaElementSession was implicitly casting a pointer to a bool, -which is not allowed with modern Clang checks. Add a helper method -to encapsulate the now required static_cast<bool>. -* html/MediaElementSession.cpp: Use the new helper method to see -if the HTMLMediaElement has an associated renderer. -(WebCore::MediaElementSession::updateMediaUsageIfChanged): -* style/StyleResolver.cpp: This was calling MediaQueryEvaluator { -"all" }; and seemingly expecting to cast a const char[] to a bool, -or maybe String? It's confusing because of the MediaQueryEvaluator -API. If it was implicitly converting to bool then that could be -unintentional. Such casts are not allowed either now. The -MediaQueryEvaluator's default constructor says it returns true for -"all", which appears to be the original intent of this call, so I -replaced it with that. -(WebCore::Style::Resolver::Resolver): - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@260951 268f45cc-cd09-0410-ab3c-d52691b4dbfc - -Upstream-Status: Backport [https://github.com/WebKit/webkit/commit/c3cf651016e4cdcb4350598d4a586821071f91bf.patch] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Source/WebCore/style/StyleResolver.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/WebCore/style/StyleResolver.cpp b/Source/WebCore/style/StyleResolver.cpp -index 8bf371a0..34580ddb 100644 ---- a/Source/WebCore/style/StyleResolver.cpp -+++ b/Source/WebCore/style/StyleResolver.cpp -@@ -107,7 +107,7 @@ Resolver::Resolver(Document& document) - if (view) - m_mediaQueryEvaluator = MediaQueryEvaluator { view->mediaType() }; - else -- m_mediaQueryEvaluator = MediaQueryEvaluator { "all" }; -+ m_mediaQueryEvaluator = MediaQueryEvaluator { }; - - if (root) { - m_rootDefaultStyle = styleForElement(*root, m_document.renderStyle(), nullptr, RuleMatchingBehavior::MatchOnlyUserAgentRules).renderStyle; --- -2.28.0 - diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch b/poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch deleted file mode 100644 index 4d1de72851..0000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch +++ /dev/null @@ -1,23 +0,0 @@ -Disable the tests meant to run when compiling natively - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: webkitgtk-2.14.5/Source/cmake/OptionsCommon.cmake -=================================================================== ---- webkitgtk-2.14.5.orig/Source/cmake/OptionsCommon.cmake -+++ webkitgtk-2.14.5/Source/cmake/OptionsCommon.cmake -@@ -67,8 +67,11 @@ endif () - # Detect Cortex-A53 core if CPU is ARM64 and OS is Linux. - # Query /proc/cpuinfo for each available core and check reported CPU part number: 0xd03 signals Cortex-A53. - # (see Main ID Register in ARM Cortex-A53 MPCore Processor Technical Reference Manual) --set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE OFF) --if (WTF_CPU_ARM64 AND (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")) -+if( NOT WTF_CPU_ARM64_CORTEXA53_INITIALVALUE) -+ set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE OFF) -+endif(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE) -+ -+if (WTF_CPU_ARM64 AND NOT CMAKE_CROSSCOMPILING AND (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")) - execute_process(COMMAND nproc OUTPUT_VARIABLE PROC_COUNT) - math(EXPR PROC_MAX ${PROC_COUNT}-1) - foreach (PROC_ID RANGE ${PROC_MAX}) diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch b/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch new file mode 100644 index 0000000000..f770b381ce --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch @@ -0,0 +1,24 @@ +Since +https://github.com/WebKit/webkit/commit/acd3f32cd43c363be032f93ede3aa10c4ee97fa4 +it uses XVisualInfo which is defined in Xutil.h + +Without this the build fails with: +webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:132:5: error: 'XVisualInfo' was not declared in this scope; did you mean 'VisualID'? + 132 | XVisualInfo visualTemplate; + | ^~~~~~~~~~~ + | VisualID + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +diff -uNr webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp +--- webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2020-08-12 09:17:55.000000000 +0000 ++++ webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2020-11-06 03:11:40.379913528 +0000 +@@ -30,6 +30,7 @@ + + #if PLATFORM(X11) + #include <X11/Xlib.h> ++#include <X11/Xutil.h> + #include <X11/extensions/Xcomposite.h> + #if PLATFORM(GTK) + #include <X11/extensions/Xdamage.h> diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.28.4.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.2.bb index 8ebb3709a8..58b66c0f66 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.28.4.bb +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.2.bb @@ -12,16 +12,15 @@ LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d842 SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ - file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \ file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ file://0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch \ - file://cross-compile.patch \ file://0001-Fix-build-with-musl.patch \ file://include_array.patch \ - file://0001-clang-11-fix-build-errors-due-to-WWc-11-narrowing.patch \ + file://include_xutil.patch \ + file://0001-ICU-68.1-no-longer-exposes-FALSE-and-TRUE-macros-by-.patch \ " -SRC_URI[sha256sum] = "821952e8c9303ed752f1fb1d4283f612c25249d00d705d2b79c2db1bc49c9464" +SRC_URI[sha256sum] = "c467e0bc2bc610c2570928e3fd63cedaadc4719cbf9b04aa99f79dd71ad5682a" inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc @@ -38,7 +37,7 @@ DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libgcrypt \ gettext-native glib-2.0 glib-2.0-native libtasn1 \ " -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)} \ +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ enchant \ @@ -51,11 +50,12 @@ PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geocl PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" -PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl" +PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/libgl" PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" +PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" # webkitgtk is full of /usr/bin/env python, particular for generating docs do_configure[postfuncs] += "setup_python_link" @@ -94,6 +94,10 @@ EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF " EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " +# JIT and gold linker does not work on RISCV +EXTRA_OECMAKE_append_riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" +EXTRA_OECMAKE_append_riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" + # JIT not supported on MIPS either EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.7.1.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.0.bb index 519762d125..69d6098d36 100644 --- a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.7.1.bb +++ b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.0.bb @@ -13,5 +13,5 @@ inherit meson features_check REQUIRED_DISTRO_FEATURES = "opengl" SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "9b980a73ea4e3762266c48f81ded56d9dcad4acf32bad9bd05d0dffdd454c6f5" +SRC_URI[sha256sum] = "9652a99c75fe1c6eab0585b6395f4e104b2427e4d1f42969f1f77df29920d253" diff --git a/poky/meta/recipes-support/atk/at-spi2-atk_2.34.2.bb b/poky/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb index 02a4d4712c..fce14eecf3 100644 --- a/poky/meta/recipes-support/atk/at-spi2-atk_2.34.2.bb +++ b/poky/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb @@ -3,8 +3,7 @@ HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" LICENSE = "LGPL-2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" -SRC_URI[archive.md5sum] = "58cd278574e101363b18d9a8b7053d67" -SRC_URI[archive.sha256sum] = "901323cee0eef05c01ec4dee06c701aeeca81a314a7d60216fa363005e27f4f0" +SRC_URI[archive.sha256sum] = "cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f" DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2" diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.36.1.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.38.0.bb index 218af6afa7..88add83dd1 100644 --- a/poky/meta/recipes-support/atk/at-spi2-core_2.36.1.bb +++ b/poky/meta/recipes-support/atk/at-spi2-core_2.38.0.bb @@ -7,8 +7,7 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "d01e5326b4eb15ac3c27eed73ecf26f1" -SRC_URI[sha256sum] = "97417b909dbbf000e7b21062a13b2f1fd52a336f5a53925bb26d27b65ace6c54" +SRC_URI[sha256sum] = "84e36c3fe66862133f5fe229772b76aa2526e10de5014a3778f2fa46ce550da5" X11DEPENDS = "virtual/libx11 libxi libxtst" diff --git a/poky/meta/recipes-support/atk/atk_2.36.0.bb b/poky/meta/recipes-support/atk/atk_2.36.0.bb index 0786eeebe8..c45da3088b 100644 --- a/poky/meta/recipes-support/atk/atk_2.36.0.bb +++ b/poky/meta/recipes-support/atk/atk_2.36.0.bb @@ -1,6 +1,6 @@ SUMMARY = "Accessibility toolkit for GNOME" -HOMEPAGE = "http://live.gnome.org/GAP/" -BUGTRACKER = "https://bugzilla.gnome.org/" +HOMEPAGE = "https://wiki.gnome.org/Accessibility" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/atk/-/issues" SECTION = "x11/libs" LICENSE = "GPLv2+ & LGPLv2+" @@ -18,4 +18,3 @@ SRC_URI[archive.md5sum] = "01aa5ec5138f5f8c9b3a4e3196ed2900" SRC_URI[archive.sha256sum] = "fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788" BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb index da0baa7afc..bab8a018ce 100644 --- a/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb +++ b/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb @@ -1,6 +1,6 @@ SUMMARY = "Programmable Completion for Bash 4" -HOMEPAGE = "http://bash-completion.alioth.debian.org/" -BUGTRACKER = "https://alioth.debian.org/projects/bash-completion/" +HOMEPAGE = "https://github.com/scop/bash-completion" +BUGTRACKER = "https://github.com/scop/bash-completion/issues" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" diff --git a/poky/meta/recipes-support/curl/curl_7.72.0.bb b/poky/meta/recipes-support/curl/curl_7.73.0.bb index 7d0268253d..0f26b0f1af 100644 --- a/poky/meta/recipes-support/curl/curl_7.72.0.bb +++ b/poky/meta/recipes-support/curl/curl_7.73.0.bb @@ -9,7 +9,7 @@ SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \ file://0001-replace-krb5-config-with-pkg-config.patch \ " -SRC_URI[sha256sum] = "ad91970864102a59765e20ce16216efc9d6ad381471f7accceceab7d905703ef" +SRC_URI[sha256sum] = "cf34fe0b07b800f1c01a499a6e8b2af548f6d0e044dca4a29d88a4bee146d131" # Curl has used many names over the years... CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" diff --git a/poky/meta/recipes-support/debianutils/debianutils_4.11.1.bb b/poky/meta/recipes-support/debianutils/debianutils_4.11.2.bb index 3b1767e5ed..0eeb2954f7 100644 --- a/poky/meta/recipes-support/debianutils/debianutils_4.11.1.bb +++ b/poky/meta/recipes-support/debianutils/debianutils_4.11.2.bb @@ -8,10 +8,11 @@ SRC_URI = "http://snapshot.debian.org/archive/debian/20200929T025235Z/pool/main/ # so we check the latest upstream from a directory that does get updated UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/" -SRC_URI[sha256sum] = "8be869f19c55c18d53d9f0414b68bb966a068b2154e9fbbfc6193827d6af983c" +SRC_URI[sha256sum] = "3b680e81709b740387335fac8f8806d71611dcf60874e1a792e862e48a1650de" inherit autotools update-alternatives +S = "${WORKDIR}/debianutils" do_configure_prepend() { sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am } diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_160.bb b/poky/meta/recipes-support/diffoscope/diffoscope_161.bb index 2c3da3bbda..0f566a3ec7 100644 --- a/poky/meta/recipes-support/diffoscope/diffoscope_160.bb +++ b/poky/meta/recipes-support/diffoscope/diffoscope_161.bb @@ -7,7 +7,7 @@ PYPI_PACKAGE = "diffoscope" inherit pypi setuptools3 -SRC_URI[sha256sum] = "f164b5e74cc11f6238ad8d62c92d3a819fa4c8b618683fc0533e04f21acae6b2" +SRC_URI[sha256sum] = "9c27d60a7bf3984b53c8af3fee86eb3d3e2292c4ddb9449c38b6cba068b8e22c" RDEPENDS_${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic" diff --git a/poky/meta/recipes-support/dos2unix/dos2unix_7.4.1.bb b/poky/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb index 1623285fd0..9005bdea59 100644 --- a/poky/meta/recipes-support/dos2unix/dos2unix_7.4.1.bb +++ b/poky/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb @@ -6,12 +6,12 @@ HOMEPAGE = "http://waterlan.home.xs4all.nl/dos2unix.html" SECTION = "support" LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=0c977b18f0a384d03597a517d7d03e32" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=8a7c3499a1142df819e727253cd53a12" SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix" UPSTREAM_CHECK_GITTAGREGEX = "dos2unix-(?P<pver>(\d+(\.\d+)+))" -SRCREV = "0490f0723b1a0851b17343f6164915f3474b5197" +SRCREV = "72596f0ae21faa25a07a872d4843bc885475115d" S = "${WORKDIR}/git/dos2unix" diff --git a/poky/meta/recipes-support/enchant/enchant2_2.2.9.bb b/poky/meta/recipes-support/enchant/enchant2_2.2.13.bb index 784fd14ee1..3b890e733a 100644 --- a/poky/meta/recipes-support/enchant/enchant2_2.2.9.bb +++ b/poky/meta/recipes-support/enchant/enchant2_2.2.13.bb @@ -2,14 +2,14 @@ SUMMARY = "Enchant Spell checker API Library" SECTION = "libs" HOMEPAGE = "https://abiword.github.io/enchant/" LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" DEPENDS = "glib-2.0" inherit autotools pkgconfig SRC_URI = "https://github.com/AbiWord/enchant/releases/download/v${PV}/enchant-${PV}.tar.gz" -SRC_URI[sha256sum] = "b29a3d2273f5edcbdbbb565e94bfd8ea3f9526886fcb6327b4b0f72f0d722f3c" +SRC_URI[sha256sum] = "eab9f90d79039133660029616e2a684644bd524be5dc43340d4cfc3fb3c68a20" UPSTREAM_CHECK_URI = "https://github.com/AbiWord/enchant/releases" diff --git a/poky/meta/recipes-support/gmp/gmp_6.2.0.bb b/poky/meta/recipes-support/gmp/gmp_6.2.1.bb index a19c74fca8..3c50f928ab 100644 --- a/poky/meta/recipes-support/gmp/gmp_6.2.0.bb +++ b/poky/meta/recipes-support/gmp/gmp_6.2.1.bb @@ -13,8 +13,8 @@ SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \ file://0001-Append-the-user-provided-flags-to-the-auto-detected-.patch \ file://0001-confiure.ac-Believe-the-cflags-from-environment.patch \ " -SRC_URI[md5sum] = "c24161e0dd44cae78cd5f67193492a21" -SRC_URI[sha256sum] = "f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea" +SRC_URI[md5sum] = "28971fc21cf028042d4897f02fd355ea" +SRC_URI[sha256sum] = "eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c" acpaths = "" diff --git a/poky/meta/recipes-support/gnutls/gnutls/0001-Modied-the-license-to-GPLv2.1-to-keep-with-LICENSE-f.patch b/poky/meta/recipes-support/gnutls/gnutls/0001-Modied-the-license-to-GPLv2.1-to-keep-with-LICENSE-f.patch deleted file mode 100644 index a610abf9b5..0000000000 --- a/poky/meta/recipes-support/gnutls/gnutls/0001-Modied-the-license-to-GPLv2.1-to-keep-with-LICENSE-f.patch +++ /dev/null @@ -1,90 +0,0 @@ -From c0ae3f659c6c130d151378ba4d7d861e3b7b970f Mon Sep 17 00:00:00 2001 -From: Lei Maohui <leimaohui@cn.fujitsu.com> -Date: Wed, 8 Jul 2020 14:50:27 +0900 -Subject: [PATCH] Modied the license to GPLv2.1+ to keep with LICENSE file. - -Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> -Please reference to https://gitlab.com/gnutls/gnutls/-/issues/1018. -Upstream-Status: Backport [https://gitlab.com/gnutls/gnutls/-/merge_requests/1285]. ---- - lib/x509/krb5.c | 20 +++++++++++--------- - lib/x509/krb5.h | 20 +++++++++++--------- - 2 files changed, 22 insertions(+), 18 deletions(-) - -diff --git a/lib/x509/krb5.c b/lib/x509/krb5.c -index 7fe84e6..d68c737 100644 ---- a/lib/x509/krb5.c -+++ b/lib/x509/krb5.c -@@ -1,21 +1,23 @@ - /* - * Copyright (C) 2015 Red Hat, Inc. - * -+ * Author: Nikos Mavrogiannopoulos -+ * - * This file is part of GnuTLS. - * -- * GnuTLS is free software: you can redistribute it and/or modify it -- * under the terms of the GNU General Public License as published by -- * the Free Software Foundation, either version 3 of the License, or -- * (at your option) any later version. -+ * The GnuTLS 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. - * -- * GnuTLS is distributed in the hope that it will be useful, but -+ * 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 -- * General Public License for more details. -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * along with this program. If not, see <https://www.gnu.org/licenses/> - * -- * You should have received a copy of the GNU General Public License -- * along with this program. If not, see -- * <https://www.gnu.org/licenses/>. - */ - - #include <config.h> -diff --git a/lib/x509/krb5.h b/lib/x509/krb5.h -index d8926af..815bb28 100644 ---- a/lib/x509/krb5.h -+++ b/lib/x509/krb5.h -@@ -1,21 +1,23 @@ - /* - * Copyright (C) 2015 Red Hat, Inc. - * -+ * Author: Nikos Mavrogiannopoulos -+ * - * This file is part of GnuTLS. - * -- * GnuTLS is free software: you can redistribute it and/or modify it -- * under the terms of the GNU General Public License as published by -- * the Free Software Foundation, either version 3 of the License, or -- * (at your option) any later version. -+ * The GnuTLS 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. - * -- * GnuTLS is distributed in the hope that it will be useful, but -+ * 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 -- * General Public License for more details. -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * along with this program. If not, see <https://www.gnu.org/licenses/> - * -- * You should have received a copy of the GNU General Public License -- * along with this program. If not, see -- * <https://www.gnu.org/licenses/>. - */ - - #ifndef GNUTLS_LIB_X509_KRB5_H --- -2.17.1 - diff --git a/poky/meta/recipes-support/gnutls/gnutls/CVE-2020-24659.patch b/poky/meta/recipes-support/gnutls/gnutls/CVE-2020-24659.patch deleted file mode 100644 index 1702325e66..0000000000 --- a/poky/meta/recipes-support/gnutls/gnutls/CVE-2020-24659.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 29ee67c205855e848a0a26e6d0e4f65b6b943e0a Mon Sep 17 00:00:00 2001 -From: Daiki Ueno <ueno@gnu.org> -Date: Sat, 22 Aug 2020 17:19:39 +0200 -Subject: [PATCH] handshake: reject no_renegotiation alert if handshake is - incomplete - -If the initial handshake is incomplete and the server sends a -no_renegotiation alert, the client should treat it as a fatal error -even if its level is warning. Otherwise the same handshake -state (e.g., DHE parameters) are reused in the next gnutls_handshake -call, if it is called in the loop idiom: - - do { - ret = gnutls_handshake(session); - } while (ret < 0 && gnutls_error_is_fatal(ret) == 0); - -Signed-off-by: Daiki Ueno <ueno@gnu.org> -CVE: CVE-2020-24659 -Upstream-Status: Backport [https://gitlab.com/gnutls/gnutls.git] -Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> ---- - lib/gnutls_int.h | 1 + - lib/handshake.c | 48 +++++++++++++----- - 2 files changed, 36 insertions(+), 13 deletions(-) - -diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h -index bb6c19713..31cec5c0c 100644 ---- a/lib/gnutls_int.h -+++ b/lib/gnutls_int.h -@@ -1370,6 +1370,7 @@ typedef struct { - #define HSK_RECORD_SIZE_LIMIT_RECEIVED (1<<26) /* server: record_size_limit extension was seen but not accepted yet */ - #define HSK_OCSP_REQUESTED (1<<27) /* server: client requested OCSP stapling */ - #define HSK_CLIENT_OCSP_REQUESTED (1<<28) /* client: server requested OCSP stapling */ -+#define HSK_SERVER_HELLO_RECEIVED (1<<29) /* client: Server Hello message has been received */ - - /* The hsk_flags are for use within the ongoing handshake; - * they are reset to zero prior to handshake start by gnutls_handshake. */ -diff --git a/lib/handshake.c b/lib/handshake.c -index b40f84b3d..ce2d160e2 100644 ---- a/lib/handshake.c -+++ b/lib/handshake.c -@@ -2051,6 +2051,8 @@ read_server_hello(gnutls_session_t session, - if (ret < 0) - return gnutls_assert_val(ret); - -+ session->internals.hsk_flags |= HSK_SERVER_HELLO_RECEIVED; -+ - return 0; - } - -@@ -2575,16 +2577,42 @@ int gnutls_rehandshake(gnutls_session_t session) - return 0; - } - -+/* This function checks whether the error code should be treated fatal -+ * or not, and also does the necessary state transition. In -+ * particular, in the case of a rehandshake abort it resets the -+ * handshake's internal state. -+ */ - inline static int - _gnutls_abort_handshake(gnutls_session_t session, int ret) - { -- if (((ret == GNUTLS_E_WARNING_ALERT_RECEIVED) && -- (gnutls_alert_get(session) == GNUTLS_A_NO_RENEGOTIATION)) -- || ret == GNUTLS_E_GOT_APPLICATION_DATA) -- return 0; -+ switch (ret) { -+ case GNUTLS_E_WARNING_ALERT_RECEIVED: -+ if (gnutls_alert_get(session) == GNUTLS_A_NO_RENEGOTIATION) { -+ /* The server always toleretes a "no_renegotiation" alert. */ -+ if (session->security_parameters.entity == GNUTLS_SERVER) { -+ STATE = STATE0; -+ return ret; -+ } -+ -+ /* The client should tolerete a "no_renegotiation" alert only if: -+ * - the initial handshake has completed, or -+ * - a Server Hello is not yet received -+ */ -+ if (session->internals.initial_negotiation_completed || -+ !(session->internals.hsk_flags & HSK_SERVER_HELLO_RECEIVED)) { -+ STATE = STATE0; -+ return ret; -+ } - -- /* this doesn't matter */ -- return GNUTLS_E_INTERNAL_ERROR; -+ return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET); -+ } -+ return ret; -+ case GNUTLS_E_GOT_APPLICATION_DATA: -+ STATE = STATE0; -+ return ret; -+ default: -+ return ret; -+ } - } - - -@@ -2747,13 +2774,7 @@ int gnutls_handshake(gnutls_session_t session) - } - - if (ret < 0) { -- /* In the case of a rehandshake abort -- * we should reset the handshake's internal state. -- */ -- if (_gnutls_abort_handshake(session, ret) == 0) -- STATE = STATE0; -- -- return ret; -+ return _gnutls_abort_handshake(session, ret); - } - - /* clear handshake buffer */ --- -2.17.0 - diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.14.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.15.bb index 51578b4b3b..b936db50d1 100644 --- a/poky/meta/recipes-support/gnutls/gnutls_3.6.14.bb +++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.15.bb @@ -19,11 +19,9 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ file://arm_eabi.patch \ - file://0001-Modied-the-license-to-GPLv2.1-to-keep-with-LICENSE-f.patch \ - file://CVE-2020-24659.patch \ -" + " -SRC_URI[sha256sum] = "5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63" +SRC_URI[sha256sum] = "0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558" inherit autotools texinfo pkgconfig gettext lib_package gtk-doc @@ -45,6 +43,7 @@ EXTRA_OECONF = " \ --enable-local-libopts \ --enable-openssl-compatibility \ --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \ --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ " diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.14.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.15.0.bb index 9fa8212808..9264af8c5d 100644 --- a/poky/meta/recipes-support/gpgme/gpgme_1.14.0.bb +++ b/poky/meta/recipes-support/gpgme/gpgme_1.15.0.bb @@ -22,7 +22,7 @@ SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \ file://0008-do-not-auto-check-var-PYTHON.patch \ " -SRC_URI[sha256sum] = "cef1f710a6b0d28f5b44242713ad373702d1466dcbe512eb4e754d7f35cd4307" +SRC_URI[sha256sum] = "0b472bc12c7d455906c8a539ec56da0a6480ef1c3a87aa5b74d7125df68d0e5b" DEPENDS = "libgpg-error libassuan" RDEPENDS_${PN}-cpp += "libstdc++" @@ -48,7 +48,7 @@ DEFAULT_LANGUAGES_class-target = "cpp" LANGUAGES ?= "${DEFAULT_LANGUAGES} python" PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}" -PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}" +PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native python3targetconfig', '', d)}" EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \ --disable-gpgconf-test \ diff --git a/poky/meta/recipes-support/icu/icu_67.1.bb b/poky/meta/recipes-support/icu/icu_68.1.bb index 9e8091ba01..98aa6b7be6 100644 --- a/poky/meta/recipes-support/icu/icu_67.1.bb +++ b/poky/meta/recipes-support/icu/icu_68.1.bb @@ -83,7 +83,7 @@ FILES_libicuio = "${libdir}/libicuio.so.*" BBCLASSEXTEND = "native nativesdk" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=002d2fdc32d17f0ec06e9a47f2c0c8d0" def icu_download_version(d): pvsplit = d.getVar('PV').split('.') @@ -112,8 +112,8 @@ SRC_URI = "${BASE_SRC_URI};name=code \ SRC_URI_append_class-target = "\ file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ " -SRC_URI[code.sha256sum] = "94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc" -SRC_URI[data.sha256sum] = "7c16a59cc8c06128b7ecc1dc4fc056b36b17349312829b17408b9e67b05c4a7e" +SRC_URI[code.sha256sum] = "a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d" +SRC_URI[data.sha256sum] = "03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510" UPSTREAM_CHECK_REGEX = "icu4c-(?P<pver>\d+(_\d+)+)-src" UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases" diff --git a/poky/meta/recipes-support/libassuan/libassuan_2.5.3.bb b/poky/meta/recipes-support/libassuan/libassuan_2.5.4.bb index 52b4c0f1b9..e83f571183 100644 --- a/poky/meta/recipes-support/libassuan/libassuan_2.5.3.bb +++ b/poky/meta/recipes-support/libassuan/libassuan_2.5.4.bb @@ -17,8 +17,7 @@ SRC_URI = "${GNUPG_MIRROR}/libassuan/libassuan-${PV}.tar.bz2 \ file://libassuan-add-pkgconfig-support.patch \ " -SRC_URI[md5sum] = "226c504ea78a232224bf3b6846b3adb9" -SRC_URI[sha256sum] = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702" +SRC_URI[sha256sum] = "c080ee96b3bd519edd696cfcebdecf19a3952189178db9887be713ccbcb5fbf0" BINCONFIG = "${bindir}/libassuan-config" diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb b/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb index 3b9ac5a01f..5b32b9af41 100644 --- a/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb +++ b/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb @@ -27,7 +27,8 @@ HOMEPAGE = "https://libbsd.freedesktop.org/wiki/" # License: ISC-Original # License: public-domain # License: public-domain-Colin-Plumb -LICENSE = "BSD-4-Clause & ISC & PD" +LICENSE = "BSD-3-Clause & BSD-4-Clause & ISC & PD" +LICENSE_${PN} = "BSD-3-Clause & ISC & PD" LIC_FILES_CHKSUM = "file://COPYING;md5=2120be0173469a06ed185b688e0e1ae0" SECTION = "libs" diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.11.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.1.bb index 43f76dc561..43f76dc561 100644 --- a/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.11.bb +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.1.bb diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng.inc b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc index 6d6fa644aa..a312b602ff 100644 --- a/poky/meta/recipes-support/libcap-ng/libcap-ng.inc +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc @@ -11,7 +11,6 @@ SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ file://python.patch \ " -SRC_URI[md5sum] = "5883ed10b621c87e29a05cff36d2928e" -SRC_URI[sha256sum] = "85815c711862d01a440db471f12fba462c9949e923966f5859607e652d9c0ae9" +SRC_URI[sha256sum] = "f06b17aaca029e245c9a26c698c6cc8a1cf42b58483d93e94ee02b478bdc1055" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.11.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.8.1.bb index 6e6de45494..6e6de45494 100644 --- a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.11.bb +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.8.1.bb diff --git a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch index 81fdd2a15c..d9fd48a9db 100644 --- a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch +++ b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch @@ -1,4 +1,4 @@ -From e4fe6890e07821d60f01f000a95f7944f3d68139 Mon Sep 17 00:00:00 2001 +From 03e925f0d68bc51e1acf1ac2014a9c2452c664bf Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 15 Jan 2020 17:16:28 +0100 Subject: [PATCH] tests: do not statically link a test @@ -9,35 +9,25 @@ Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - tests/Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) + tests/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Makefile b/tests/Makefile -index 876a8b9..93a0e3a 100644 +index d569650..f5ca377 100644 --- a/tests/Makefile +++ b/tests/Makefile -@@ -26,23 +26,23 @@ psx_test: psx_test.c $(DEPS) - run_libcap_psx_test: libcap_psx_test +@@ -11,7 +11,7 @@ ifeq ($(DYNAMIC),yes) + LDPATH = LD_LIBRARY_PATH=../libcap + DEPSBUILD = all + else +-LDFLAGS += --static ++LDFLAGS += + DEPSBUILD = libcap.a libpsx.a + endif - libcap_psx_test: libcap_psx_test.c $(DEPS) -- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static -+ $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create - - run_libcap_launch_test: libcap_launch_test libcap_psx_launch_test noop - sudo ./libcap_launch_test - sudo ./libcap_psx_launch_test - - libcap_launch_test: libcap_launch_test.c $(DEPS) -- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) --static -+ $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) - - # this varies only slightly from the above insofar as it currently - # only links in the pthreads fork support. TODO() we need to change - # the source to do something interesting with pthreads. - libcap_psx_launch_test: libcap_launch_test.c $(DEPS) -- $(CC) $(CFLAGS) $(IPATH) -DWITH_PTHREADS $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static -+ $(CC) $(CFLAGS) $(IPATH) -DWITH_PTHREADS $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create +@@ -51,7 +51,7 @@ libcap_psx_launch_test: libcap_launch_test.c $(DEPS) + # This one runs in a chroot with no shared library files. noop: noop.c - $(CC) $(CFLAGS) $< -o $@ --static + $(CC) $(CFLAGS) $< -o $@ diff --git a/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch b/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch index e8f1df98c1..bfce8e0547 100644 --- a/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch +++ b/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch @@ -1,4 +1,4 @@ -From 5583b48c04d5bf50b56473d88d990c3f0bc45c14 Mon Sep 17 00:00:00 2001 +From 7744c1f678f5226a151bc6b2a254a56835229d91 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 20 Dec 2019 16:54:05 +0100 Subject: [PATCH] tests: do not run target executables @@ -11,20 +11,20 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 2 deletions(-) diff --git a/tests/Makefile b/tests/Makefile -index bfedbc2..876a8b9 100644 +index 8956d5d..d569650 100644 --- a/tests/Makefile +++ b/tests/Makefile -@@ -19,13 +19,11 @@ sudotest: test run_libcap_launch_test run_libcap_launch_test +@@ -27,13 +27,11 @@ sudotest: test run_libcap_launch_test run_libcap_launch_test install: all run_psx_test: psx_test -- ./psx_test +- $(LDPATH) ./psx_test psx_test: psx_test.c $(DEPS) - $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBPSXLIB) -Wl,-wrap,pthread_create + $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBPSXLIB) run_libcap_psx_test: libcap_psx_test -- ./libcap_psx_test +- $(LDPATH) ./libcap_psx_test libcap_psx_test: libcap_psx_test.c $(DEPS) - $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static + $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) $(LDFLAGS) diff --git a/poky/meta/recipes-support/libcap/libcap_2.43.bb b/poky/meta/recipes-support/libcap/libcap_2.44.bb index c712c25947..79875522d6 100644 --- a/poky/meta/recipes-support/libcap/libcap_2.43.bb +++ b/poky/meta/recipes-support/libcap/libcap_2.44.bb @@ -12,7 +12,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${ file://0002-tests-do-not-run-target-executables.patch \ file://0001-tests-do-not-statically-link-a-test.patch \ " -SRC_URI[sha256sum] = "512a0e5fc4c1e06d472a20da26aa96a9b9bf2a26b23f094f77f1b8da56cc427f" +SRC_URI[sha256sum] = "92188359cd5be86e8e5bd3f6483ac6ce582264f912398937ef763def2205c8e1" UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/" diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.9.1.bb b/poky/meta/recipes-support/libevdev/libevdev_1.10.0.bb index 633e0af995..2620cbe9f7 100644 --- a/poky/meta/recipes-support/libevdev/libevdev_1.9.1.bb +++ b/poky/meta/recipes-support/libevdev/libevdev_1.10.0.bb @@ -8,8 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \ SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz \ file://determinism.patch" -SRC_URI[md5sum] = "58286a834ae14536caf9cab8633419cf" -SRC_URI[sha256sum] = "f5603c48c5afd76b14df7a5124e0a94a102f8da0d45826192325069d1bbc7acb" +SRC_URI[sha256sum] = "3522c26e2c148be0ad68ce26fbced408a4185dea90bfe8079dc82b8ace962d4a" inherit autotools pkgconfig diff --git a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.6.bb b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.7.bb index ac09417e89..0cad41dfa9 100644 --- a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.6.bb +++ b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.7.bb @@ -26,7 +26,7 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \ file://0003-GCM-move-look-up-table-to-.data-section-and-unshare-.patch \ file://determinism.patch \ " -SRC_URI[sha256sum] = "0cba2700617b99fc33864a0c16b1fa7fdf9781d9ed3509f5d767178e5fd7b975" +SRC_URI[sha256sum] = "03b70f028299561b7034b8966d7dd77ef16ed139c43440925fe8782561974748" BINCONFIG = "${bindir}/libgcrypt-config" diff --git a/poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch b/poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch new file mode 100644 index 0000000000..79e1475c6c --- /dev/null +++ b/poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch @@ -0,0 +1,81 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@arm.com> + +From 52d603212173d4502800bf746436a93f806a8898 Mon Sep 17 00:00:00 2001 +From: Allen Winter <allen.winter@kdab.com> +Date: Sat, 31 Oct 2020 17:38:01 -0400 +Subject: [PATCH] Fix build with icu-68.1 + +Use stdbool.h to define true and false when possible + +Issue#448 +--- + ConfigureChecks.cmake | 1 + + config.h.cmake | 3 +++ + src/libical/icalrecur.c | 10 ++++++++-- + 3 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake +index e4d0e2ec..bba33fa9 100644 +--- a/ConfigureChecks.cmake ++++ b/ConfigureChecks.cmake +@@ -10,6 +10,7 @@ check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H) + check_include_files(fcntl.h HAVE_FCNTL_H) + check_include_files(unistd.h HAVE_UNISTD_H) + check_include_files(wctype.h HAVE_WCTYPE_H) ++check_include_files(stdbool.h HAVE_STDBOOL_H) + + include(CheckFunctionExists) + if(WIN32 AND MSVC) +diff --git a/config.h.cmake b/config.h.cmake +index 8fd3421b..c8008692 100644 +--- a/config.h.cmake ++++ b/config.h.cmake +@@ -39,6 +39,9 @@ + /* Define to 1 if you have the <dirent.h> header file. */ + #cmakedefine HAVE_DIRENT_H 1 + ++/* Define to 1 if you have the <stdbool.h> header file. */ ++#cmakedefine HAVE_STDBOOL_H 1 ++ + /* Define if we have pthread. */ + #cmakedefine HAVE_PTHREAD_ATTR_GET_NP 1 + #cmakedefine HAVE_PTHREAD_GETATTR_NP 1 +diff --git a/src/libical/icalrecur.c b/src/libical/icalrecur.c +index 73178450..b3f054b8 100644 +--- a/src/libical/icalrecur.c ++++ b/src/libical/icalrecur.c +@@ -145,6 +145,12 @@ + #if defined(HAVE_LIBICU) + #include <unicode/ucal.h> + #include <unicode/ustring.h> ++#if defined(HAVE_STDBOOL_H) ++#include <stdbool.h> ++#else ++#define false 0 ++#define true 1 ++#endif + #define RSCALE_IS_SUPPORTED 1 + #else + #define RSCALE_IS_SUPPORTED 0 +@@ -1018,7 +1024,7 @@ icalarray *icalrecurrencetype_rscale_supported_calendars(void) + + calendars = icalarray_new(sizeof(const char **), 20); + +- en = ucal_getKeywordValuesForLocale("calendar", NULL, FALSE, &status); ++ en = ucal_getKeywordValuesForLocale("calendar", NULL, false, &status); + while ((cal = uenum_next(en, NULL, &status))) { + cal = icalmemory_tmp_copy(cal); + icalarray_append(calendars, &cal); +@@ -1411,7 +1417,7 @@ static int initialize_rscale(icalrecur_iterator *impl) + } + + /* Check if specified calendar is supported */ +- en = ucal_getKeywordValuesForLocale("calendar", NULL, FALSE, &status); ++ en = ucal_getKeywordValuesForLocale("calendar", NULL, false, &status); + while ((cal = uenum_next(en, NULL, &status))) { + if (!strcmp(cal, rule.rscale)) { + is_hebrew = !strcmp(rule.rscale, "hebrew"); +-- +2.25.1 + diff --git a/poky/meta/recipes-support/libical/libical_3.0.8.bb b/poky/meta/recipes-support/libical/libical_3.0.8.bb index efb9433412..6230f09eca 100644 --- a/poky/meta/recipes-support/libical/libical_3.0.8.bb +++ b/poky/meta/recipes-support/libical/libical_3.0.8.bb @@ -11,6 +11,7 @@ SECTION = "libs" SRC_URI = " \ https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ file://0001-Use-our-hand-build-native-src-generator.patch \ + file://0001-Fix-build-with-icu-68.1.patch \ " SRC_URI[md5sum] = "41bd1f1fcdcb4779cea478bb55cf07bf" SRC_URI[sha256sum] = "09fecacaf75ba5a242159e3a9758a5446b5ce4d0ab684f98a7040864e1d1286f" diff --git a/poky/meta/recipes-support/libmpc/libmpc_1.2.0.bb b/poky/meta/recipes-support/libmpc/libmpc_1.2.1.bb index b51ec6ad14..15d382c4ad 100644 --- a/poky/meta/recipes-support/libmpc/libmpc_1.2.0.bb +++ b/poky/meta/recipes-support/libmpc/libmpc_1.2.1.bb @@ -5,7 +5,7 @@ DEPENDS = "gmp mpfr" LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02" SRC_URI = "${GNU_MIRROR}/mpc/mpc-${PV}.tar.gz" -SRC_URI[sha256sum] = "e90f2d99553a9c19911abdb4305bf8217106a957e3994436428572c8dfe8fda6" +SRC_URI[sha256sum] = "17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459" S = "${WORKDIR}/mpc-${PV}" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libproxy/libproxy/CVE-2020-26154.patch b/poky/meta/recipes-support/libproxy/libproxy/CVE-2020-26154.patch new file mode 100644 index 0000000000..0ccb99da81 --- /dev/null +++ b/poky/meta/recipes-support/libproxy/libproxy/CVE-2020-26154.patch @@ -0,0 +1,98 @@ +From 4411b523545b22022b4be7d0cac25aa170ae1d3e Mon Sep 17 00:00:00 2001 +From: Fei Li <lifeibiren@gmail.com> +Date: Fri, 17 Jul 2020 02:18:37 +0800 +Subject: [PATCH] Fix buffer overflow when PAC is enabled + +The bug was found on Windows 10 (MINGW64) when PAC is enabled. It turned +out to be the large PAC file (more than 102400 bytes) returned by a +local proxy program with no content-length present. + +Upstream-Status: Backport [https://github.com/libproxy/libproxy/commit/6d342b50366a048d3d543952e2be271b5742c5f8] +CVE: CVE-2020-26154 +Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com> + +--- + libproxy/url.cpp | 44 +++++++++++++++++++++++++++++++------------- + 1 file changed, 31 insertions(+), 13 deletions(-) + +diff --git a/libproxy/url.cpp b/libproxy/url.cpp +index ee776b2..8684086 100644 +--- a/libproxy/url.cpp ++++ b/libproxy/url.cpp +@@ -54,7 +54,7 @@ using namespace std; + #define PAC_MIME_TYPE_FB "text/plain" + + // This is the maximum pac size (to avoid memory attacks) +-#define PAC_MAX_SIZE 102400 ++#define PAC_MAX_SIZE 0x800000 + // This is the default block size to use when receiving via HTTP + #define PAC_HTTP_BLOCK_SIZE 512 + +@@ -478,15 +478,13 @@ char* url::get_pac() { + } + + // Get content +- unsigned int recvd = 0; +- buffer = new char[PAC_MAX_SIZE]; +- memset(buffer, 0, PAC_MAX_SIZE); ++ std::vector<char> dynamic_buffer; + do { + unsigned int chunk_length; + + if (chunked) { + // Discard the empty line if we received a previous chunk +- if (recvd > 0) recvline(sock); ++ if (!dynamic_buffer.empty()) recvline(sock); + + // Get the chunk-length line as an integer + if (sscanf(recvline(sock).c_str(), "%x", &chunk_length) != 1 || chunk_length == 0) break; +@@ -498,21 +496,41 @@ char* url::get_pac() { + + if (content_length >= PAC_MAX_SIZE) break; + +- while (content_length == 0 || recvd != content_length) { +- int r = recv(sock, buffer + recvd, +- content_length == 0 ? PAC_HTTP_BLOCK_SIZE +- : content_length - recvd, 0); ++ while (content_length == 0 || dynamic_buffer.size() != content_length) { ++ // Calculate length to recv ++ unsigned int length_to_read = PAC_HTTP_BLOCK_SIZE; ++ if (content_length > 0) ++ length_to_read = content_length - dynamic_buffer.size(); ++ ++ // Prepare buffer ++ dynamic_buffer.resize(dynamic_buffer.size() + length_to_read); ++ ++ int r = recv(sock, dynamic_buffer.data() + dynamic_buffer.size() - length_to_read, length_to_read, 0); ++ ++ // Shrink buffer to fit ++ if (r >= 0) ++ dynamic_buffer.resize(dynamic_buffer.size() - length_to_read + r); ++ ++ // PAC size too large, discard ++ if (dynamic_buffer.size() >= PAC_MAX_SIZE) { ++ chunked = false; ++ dynamic_buffer.clear(); ++ break; ++ } ++ + if (r <= 0) { + chunked = false; + break; + } +- recvd += r; + } + } while (chunked); + +- if (content_length != 0 && string(buffer).size() != content_length) { +- delete[] buffer; +- buffer = NULL; ++ if (content_length == 0 || content_length == dynamic_buffer.size()) { ++ buffer = new char[dynamic_buffer.size() + 1]; ++ if (!dynamic_buffer.empty()) { ++ memcpy(buffer, dynamic_buffer.data(), dynamic_buffer.size()); ++ } ++ buffer[dynamic_buffer.size()] = '\0'; + } + } + diff --git a/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb b/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb index a14c358cc2..6f704d7a91 100644 --- a/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb +++ b/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb @@ -11,6 +11,7 @@ DEPENDS = "glib-2.0" SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \ file://0001-get-pac-test-Fix-build-with-clang-libc.patch \ file://CVE-2020-25219.patch \ + file://CVE-2020-26154.patch \ " SRC_URI[md5sum] = "f6b1d2a1e17a99cd3debaae6d04ab152" SRC_URI[sha256sum] = "654db464120c9534654590b6683c7fa3887b3dad0ca1c4cd412af24fbfca6d4f" diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.70.0.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb index d6425bd941..d0bc019616 100644 --- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.70.0.bb +++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb @@ -10,8 +10,7 @@ DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native libpsl" SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz" -SRC_URI[md5sum] = "c539f5b5ab534f024dc4e6a14e6d3f54" -SRC_URI[sha256sum] = "54b020f74aefa438918d8e53cff62e2b1e59efe2de53e06b19a4b07b1f4d5342" +SRC_URI[sha256sum] = "170c3f8446b0f65f8e4b93603349172b1085fb8917c181d10962f02bb85f5387" CVE_PRODUCT = "libsoup" diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-Fix-compilation-with-fno-common.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-Fix-compilation-with-fno-common.patch deleted file mode 100644 index e11487fe97..0000000000 --- a/poky/meta/recipes-support/libunwind/libunwind/0001-Fix-compilation-with-fno-common.patch +++ /dev/null @@ -1,448 +0,0 @@ -From 00d18b21dcb9723c4f13889a39a760a654782370 Mon Sep 17 00:00:00 2001 -From: Yichao Yu <yyc1992@gmail.com> -Date: Tue, 31 Mar 2020 00:43:32 -0400 -Subject: [PATCH] Fix compilation with -fno-common. - -Making all other archs consistent with IA64 which should not have this problem. -Also move the FIXME to the correct place. - -Also add some minimum comments about this... - -Upstream-Status: Backport [https://github.com/libunwind/libunwind/pull/166] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/aarch64/Ginit.c | 15 +++++++-------- - src/arm/Ginit.c | 15 +++++++-------- - src/coredump/_UPT_get_dyn_info_list_addr.c | 5 +++++ - src/hppa/Ginit.c | 15 +++++++-------- - src/ia64/Ginit.c | 1 + - src/mi/Gfind_dynamic_proc_info.c | 1 + - src/mips/Ginit.c | 15 +++++++-------- - src/ppc32/Ginit.c | 11 +++++++---- - src/ppc64/Ginit.c | 11 +++++++---- - src/ptrace/_UPT_get_dyn_info_list_addr.c | 5 +++++ - src/s390x/Ginit.c | 15 +++++++-------- - src/sh/Ginit.c | 15 +++++++-------- - src/tilegx/Ginit.c | 15 +++++++-------- - src/x86/Ginit.c | 15 +++++++-------- - src/x86_64/Ginit.c | 15 +++++++-------- - 15 files changed, 89 insertions(+), 80 deletions(-) - -diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c -index dec235c..3538976 100644 ---- a/src/aarch64/Ginit.c -+++ b/src/aarch64/Ginit.c -@@ -61,13 +61,6 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -78,7 +71,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/arm/Ginit.c b/src/arm/Ginit.c -index 2720d06..0bac0d7 100644 ---- a/src/arm/Ginit.c -+++ b/src/arm/Ginit.c -@@ -57,18 +57,17 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/coredump/_UPT_get_dyn_info_list_addr.c b/src/coredump/_UPT_get_dyn_info_list_addr.c -index 0d11905..739ed05 100644 ---- a/src/coredump/_UPT_get_dyn_info_list_addr.c -+++ b/src/coredump/_UPT_get_dyn_info_list_addr.c -@@ -74,6 +74,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - - #else - -+/* XXX fix me: there is currently no way to locate the dyn-info list -+ by a remote unwinder. On ia64, this is done via a special -+ unwind-table entry. Perhaps something similar can be done with -+ DWARF2 unwind info. */ -+ - static inline int - get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - int *countp) -diff --git a/src/hppa/Ginit.c b/src/hppa/Ginit.c -index 461e4b9..265455a 100644 ---- a/src/hppa/Ginit.c -+++ b/src/hppa/Ginit.c -@@ -64,13 +64,6 @@ _Uhppa_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -81,7 +74,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/ia64/Ginit.c b/src/ia64/Ginit.c -index b09a2ad..8601bb3 100644 ---- a/src/ia64/Ginit.c -+++ b/src/ia64/Ginit.c -@@ -68,6 +68,7 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - if (!_U_dyn_info_list_addr) - return -UNW_ENOINFO; - #endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. - *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } -diff --git a/src/mi/Gfind_dynamic_proc_info.c b/src/mi/Gfind_dynamic_proc_info.c -index 98d3501..2e7c62e 100644 ---- a/src/mi/Gfind_dynamic_proc_info.c -+++ b/src/mi/Gfind_dynamic_proc_info.c -@@ -49,6 +49,7 @@ local_find_proc_info (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi, - return -UNW_ENOINFO; - #endif - -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. - list = (unw_dyn_info_list_t *) (uintptr_t) _U_dyn_info_list_addr (); - for (di = list->first; di; di = di->next) - if (ip >= di->start_ip && ip < di->end_ip) -diff --git a/src/mips/Ginit.c b/src/mips/Ginit.c -index 3df170c..bf7a8f5 100644 ---- a/src/mips/Ginit.c -+++ b/src/mips/Ginit.c -@@ -69,13 +69,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -86,7 +79,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/ppc32/Ginit.c b/src/ppc32/Ginit.c -index c5312d9..f8d6886 100644 ---- a/src/ppc32/Ginit.c -+++ b/src/ppc32/Ginit.c -@@ -91,9 +91,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -104,7 +101,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/ppc64/Ginit.c b/src/ppc64/Ginit.c -index 4c88cd6..7bfb395 100644 ---- a/src/ppc64/Ginit.c -+++ b/src/ppc64/Ginit.c -@@ -95,9 +95,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -108,7 +105,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/ptrace/_UPT_get_dyn_info_list_addr.c b/src/ptrace/_UPT_get_dyn_info_list_addr.c -index cc5ed04..16671d4 100644 ---- a/src/ptrace/_UPT_get_dyn_info_list_addr.c -+++ b/src/ptrace/_UPT_get_dyn_info_list_addr.c -@@ -71,6 +71,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - - #else - -+/* XXX fix me: there is currently no way to locate the dyn-info list -+ by a remote unwinder. On ia64, this is done via a special -+ unwind-table entry. Perhaps something similar can be done with -+ DWARF2 unwind info. */ -+ - static inline int - get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - int *countp) -diff --git a/src/s390x/Ginit.c b/src/s390x/Ginit.c -index f0886ac..db01743 100644 ---- a/src/s390x/Ginit.c -+++ b/src/s390x/Ginit.c -@@ -50,8 +50,6 @@ static struct unw_addr_space local_addr_space; - - unw_addr_space_t unw_local_addr_space = &local_addr_space; - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- - static inline void * - uc_addr (ucontext_t *uc, int reg) - { -@@ -75,11 +73,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -90,7 +83,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/sh/Ginit.c b/src/sh/Ginit.c -index 52988a7..9fe96d2 100644 ---- a/src/sh/Ginit.c -+++ b/src/sh/Ginit.c -@@ -58,13 +58,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -75,7 +68,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/tilegx/Ginit.c b/src/tilegx/Ginit.c -index 7564a55..925e641 100644 ---- a/src/tilegx/Ginit.c -+++ b/src/tilegx/Ginit.c -@@ -64,13 +64,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -81,7 +74,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/x86/Ginit.c b/src/x86/Ginit.c -index f6b8dc2..3cec74a 100644 ---- a/src/x86/Ginit.c -+++ b/src/x86/Ginit.c -@@ -54,13 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) - - # endif /* UNW_LOCAL_ONLY */ - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -71,7 +64,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - -diff --git a/src/x86_64/Ginit.c b/src/x86_64/Ginit.c -index 6161da6..5c4e426 100644 ---- a/src/x86_64/Ginit.c -+++ b/src/x86_64/Ginit.c -@@ -49,13 +49,6 @@ static struct unw_addr_space local_addr_space; - - unw_addr_space_t unw_local_addr_space = &local_addr_space; - --HIDDEN unw_dyn_info_list_t _U_dyn_info_list; -- --/* XXX fix me: there is currently no way to locate the dyn-info list -- by a remote unwinder. On ia64, this is done via a special -- unwind-table entry. Perhaps something similar can be done with -- DWARF2 unwind info. */ -- - static void - put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) - { -@@ -66,7 +59,13 @@ static int - get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, - void *arg) - { -- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; -+#ifndef UNW_LOCAL_ONLY -+# pragma weak _U_dyn_info_list_addr -+ if (!_U_dyn_info_list_addr) -+ return -UNW_ENOINFO; -+#endif -+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. -+ *dyn_info_list_addr = _U_dyn_info_list_addr (); - return 0; - } - --- -2.28.0 - diff --git a/poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch b/poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch deleted file mode 100644 index 1b862dccb1..0000000000 --- a/poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch +++ /dev/null @@ -1,45 +0,0 @@ -From b61446add7ae1c041266c2fa5ba2f51cb3b65d35 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 31 Dec 2015 06:44:07 +0000 -Subject: [PATCH 2/6] backtrace: Use only with glibc and uclibc - -backtrace API is glibc specific not linux specific -so make it behave so. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - tests/test-coredump-unwind.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/tests/test-coredump-unwind.c b/tests/test-coredump-unwind.c -index 5349823..3b153cb 100644 ---- a/tests/test-coredump-unwind.c -+++ b/tests/test-coredump-unwind.c -@@ -57,7 +57,9 @@ - #include <grp.h> - - /* For SIGSEGV handler code */ -+#ifdef __GLIBC__ - #include <execinfo.h> -+#endif - #include <sys/ucontext.h> - - #include <libunwind-coredump.h> -@@ -238,11 +240,11 @@ void handle_sigsegv(int sig, siginfo_t *info, void *ucontext) - ip); - - { -+#ifdef __GLIBC__ - /* glibc extension */ - void *array[50]; - int size; - size = backtrace(array, 50); --#ifdef __linux__ - backtrace_symbols_fd(array, size, 2); - #endif - } --- -2.20.1 - diff --git a/poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch b/poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch deleted file mode 100644 index 6baaa77db5..0000000000 --- a/poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5df1555828add4e256cb4bba49fffffc22127c34 Mon Sep 17 00:00:00 2001 -From: Dave Watson <dade.watson@gmail.com> -Date: Wed, 27 May 2020 08:21:04 -0700 -Subject: [PATCH] aarch64: Fix __sigset build issue on muslC - -Described in issue #176. Taken from Alpine Linux project. - -Change __sigset_t to sigset_t - -Upstream-Status: Backport [https://github.com/libunwind/libunwind/commit/5df1555828] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - include/libunwind-aarch64.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/libunwind-aarch64.h b/include/libunwind-aarch64.h -index db01a9f69..d1bd8708f 100644 ---- a/include/libunwind-aarch64.h -+++ b/include/libunwind-aarch64.h -@@ -202,7 +202,7 @@ typedef struct - unsigned long uc_flags; - struct ucontext *uc_link; - stack_t uc_stack; -- __sigset_t uc_sigmask; -+ sigset_t uc_sigmask; - struct unw_sigcontext uc_mcontext; - } unw_tdep_context_t; - diff --git a/poky/meta/recipes-support/libunwind/libunwind_1.4.0.bb b/poky/meta/recipes-support/libunwind/libunwind_1.5.0.bb index 2193bd8315..089c4064f4 100644 --- a/poky/meta/recipes-support/libunwind/libunwind_1.4.0.bb +++ b/poky/meta/recipes-support/libunwind/libunwind_1.5.0.bb @@ -2,18 +2,15 @@ require libunwind.inc SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV}.tar.gz \ file://0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \ - file://0002-backtrace-Use-only-with-glibc-and-uclibc.patch \ file://0003-x86-Stub-out-x86_local_resume.patch \ file://0004-Fix-build-on-mips-musl.patch \ file://0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \ file://0006-Fix-for-X32.patch \ - file://sigset_t.patch \ - file://0001-Fix-compilation-with-fno-common.patch \ " SRC_URI_append_libc-musl = " file://musl-header-conflict.patch" -SRC_URI[md5sum] = "5114504c74ac3992ac06aa551cd55678" -SRC_URI[sha256sum] = "df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435" +SRC_URI[md5sum] = "c6923dda0675f6a4ef21426164dc8b6a" +SRC_URI[sha256sum] = "90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017" EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests --enable-static" diff --git a/poky/meta/recipes-support/npth/npth_1.6.bb b/poky/meta/recipes-support/npth/npth_1.6.bb index 233e0dc4a4..88484acec3 100644 --- a/poky/meta/recipes-support/npth/npth_1.6.bb +++ b/poky/meta/recipes-support/npth/npth_1.6.bb @@ -1,5 +1,5 @@ SUMMARY = "New GNU Portable Threads library" -HOMEPAGE = "http://www.gnupg.org/software/pth/" +HOMEPAGE = "https://www.gnu.org/software/pth/" SECTION = "libs" LICENSE = "LGPLv2+" LIC_FILES_CHKSUM = "\ @@ -15,7 +15,7 @@ SRC_URI[sha256sum] = "1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1da BINCONFIG = "${bindir}/npth-config" -inherit autotools binconfig-disabled multilib_header +inherit autotools binconfig-disabled multilib_header FILES_${PN} = "${libdir}/libnpth.so.*" FILES_${PN}-dev += "${bindir}/npth-config" diff --git a/poky/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch b/poky/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch new file mode 100644 index 0000000000..78ffb22f89 --- /dev/null +++ b/poky/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch @@ -0,0 +1,32 @@ +rename test target as run-test + +Upstream-Statue: Pending + +test target not only compile the test files, but also run them, which is +not suitable for cross-compile environment, so rename it as run-test. + +and define test target to compile the test files. + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + Makefile.am | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index b6db339..de176c4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -124,7 +124,9 @@ regress2: $(check_PROGRAMS) + test_numademo: numademo + ./numademo -t -e 10M + +-test: all $(check_PROGRAMS) regress1 regress2 test_numademo ++test: all $(check_PROGRAMS) ++ ++run-test: all $(check_PROGRAMS) regress1 regress2 test_numademo + + TESTS_ENVIRONMENT = builddir='$(builddir)'; export builddir; + +-- +1.9.1 + diff --git a/poky/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch b/poky/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch new file mode 100644 index 0000000000..9812ecc8b3 --- /dev/null +++ b/poky/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch @@ -0,0 +1,64 @@ +From 59fd750a84bbe5874dec936d2bee9ef11a1b6505 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 21 Jul 2015 02:01:22 +0900 +Subject: [PATCH] Fix the test output format + +Upstream-Status: Pending + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + test/regress | 6 +++--- + test/regress2 | 11 +++++------ + 2 files changed, 8 insertions(+), 9 deletions(-) + +diff --git a/test/regress b/test/regress +index 2ce1705..d086a47 100755 +--- a/test/regress ++++ b/test/regress +@@ -74,6 +74,7 @@ probe_hardware() + if [ $numnodes -lt 2 ] ; then + echo "need at least two nodes with at least $NEEDPAGES each of" + echo "free memory for mempolicy regression tests" ++ echo "FAIL: numa regress" + exit 77 # Skip test + fi + } +@@ -207,10 +208,9 @@ main() + rm A B + + if [ "$EXIT" = 0 ] ; then +- echo '========SUCCESS' ++ echo 'PASS: numactl regress' + else +- echo '========FAILURE' +- exit 1 ++ echo 'FAIL: numactl regress' + fi + } + +diff --git a/test/regress2 b/test/regress2 +index aa6ea41..450c510 100755 +--- a/test/regress2 ++++ b/test/regress2 +@@ -9,12 +9,11 @@ testdir=`dirname "$0"` + export PATH=${builddir}:$PATH + + T() { +- echo "$@" +- if ! $VALGRIND "$@" ; then +- echo $1 FAILED!!!! +- exit 1 +- fi +- echo ++ if ! $VALGRIND "$@" 2>&1 1>/dev/null; then ++ echo "FAIL: $1" ++ else ++ echo "PASS: $1" ++ fi + } + + # still broken +-- +1.8.4.2 + diff --git a/poky/meta/recipes-support/numactl/numactl/Makefile b/poky/meta/recipes-support/numactl/numactl/Makefile new file mode 100644 index 0000000000..9a5134c3f2 --- /dev/null +++ b/poky/meta/recipes-support/numactl/numactl/Makefile @@ -0,0 +1,7 @@ +.PHONY: regress1 regress2 + +regress1: + cd test ; ./regress + +regress2: + cd test ; ./regress2 diff --git a/poky/meta/recipes-support/numactl/numactl/run-ptest b/poky/meta/recipes-support/numactl/numactl/run-ptest new file mode 100755 index 0000000000..bf269da755 --- /dev/null +++ b/poky/meta/recipes-support/numactl/numactl/run-ptest @@ -0,0 +1,23 @@ +#!/bin/sh + +# If there is numa support, run the tests. Otherwise skip all the tests. +# Ideally the skipping would happen by the upstream tests. +if ! numactl -s | grep -q "No NUMA support available on this system."; then + make regress1 + make regress2 + if numademo -t -e 10M; then + echo "PASS: numademo" + else + echo "FAIL: numademo" + fi +else + echo "SKIP: ./../test/bind_range" + echo "SKIP: ./../test/checkaffinity" + echo "SKIP: ./../test/checktopology" + echo "SKIP: ./../test/distance" + echo "SKIP: ./../test/nodemap" + echo "SKIP: ./../test/tbitmap" + echo "SKIP: numactl_regress" + echo "SKIP: numademo" +fi + diff --git a/poky/meta/recipes-support/numactl/numactl_git.bb b/poky/meta/recipes-support/numactl/numactl_git.bb new file mode 100644 index 0000000000..6c8a667a41 --- /dev/null +++ b/poky/meta/recipes-support/numactl/numactl_git.bb @@ -0,0 +1,59 @@ +SUMMARY = "Development package for building Applications that use numa" +HOMEPAGE = "http://oss.sgi.com/projects/libnuma/" +DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \ +to run other programs with a specific NUMA policy and a libnuma to do \ +allocations with NUMA policy in applications." +LICENSE = "GPL-2.0 & LGPL-2.1" +SECTION = "apps" + +inherit autotools-brokensep ptest + +LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=f8ff2391624f28e481299f3f677b21bb" + +SRCREV = "dd6de072c92c892a86e18c0fd0dfa1ba57a9a05d" +PV = "2.0.14" + +SRC_URI = "git://github.com/numactl/numactl \ + file://Fix-the-test-output-format.patch \ + file://Makefile \ + file://run-ptest \ + file://0001-define-run-test-target.patch \ + " + +S = "${WORKDIR}/git" + +LDFLAGS_append_riscv64 = " -latomic" +LDFLAGS_append_riscv32 = " -latomic" + +do_install() { + oe_runmake DESTDIR=${D} prefix=${D}/usr install + #remove the empty man2 directory + rm -r ${D}${mandir}/man2 +} + +do_compile_ptest() { + oe_runmake test +} + +do_install_ptest() { + #install tests binaries + local test_binaries="distance ftok mbind_mig_pages migrate_pages move_pages \ + mynode nodemap node-parse pagesize prefered randmap realloc_test \ + tbitmap tshared" + + [ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test + for i in $test_binaries; do + install -m 0755 ${B}/test/.libs/$i ${D}${PTEST_PATH}/test + done + + local test_scripts="checktopology checkaffinity printcpu regress regress2 \ + shmtest runltp bind_range" + for i in $test_scripts; do + install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test + done + + install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/ + install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/ +} + +RDEPENDS_${PN}-ptest = "bash" diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.0.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.0.bb index 10b4c5b6a4..8b9938f572 100644 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.0.bb +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.0.bb @@ -4,7 +4,7 @@ program which loops through all installed ptest test suites and \ runs them in sequence." HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" -LICENSE = "GPLv2" +LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" SRCREV = "834670317bd3f6e427e1ac461c07ada6b8936dfd" diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.33.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.33.0.bb index 611a1bd923..33f041a161 100644 --- a/poky/meta/recipes-support/sqlite/sqlite3_3.33.0.bb +++ b/poky/meta/recipes-support/sqlite/sqlite3_3.33.0.bb @@ -8,3 +8,5 @@ SRC_URI[sha256sum] = "106a2c48c7f75a298a7557bcc0d5f4f454e5b43811cc738b7ca294d695 # -19242 is only an issue in specific development branch commits CVE_CHECK_WHITELIST += "CVE-2019-19242" +# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA) +CVE_CHECK_WHITELIST += "CVE-2015-3717" diff --git a/poky/meta/recipes-support/vim/vim_8.2.bb b/poky/meta/recipes-support/vim/vim_8.2.bb index 709b6ddb55..7e4654e472 100644 --- a/poky/meta/recipes-support/vim/vim_8.2.bb +++ b/poky/meta/recipes-support/vim/vim_8.2.bb @@ -3,7 +3,7 @@ require vim.inc PROVIDES = "xxd" PACKAGECONFIG_class-native = "" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" ALTERNATIVE_${PN}_append = " xxd" ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd" diff --git a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch index 0ffd92b4ba..a1d2e7ff27 100644 --- a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch +++ b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch @@ -1,7 +1,10 @@ -From f78988d3bb5929c857e788a86c7919d6a4ffacc9 Mon Sep 17 00:00:00 2001 +From de9639baac792327c701e509258b8a13f6959e82 Mon Sep 17 00:00:00 2001 From: Danilo Spinella <danyspin97@protonmail.com> Date: Thu, 21 Mar 2019 14:19:26 +0100 Subject: [PATCH] Add W_EXITCODE macro for non-glibc systems +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit Upstream-Status: Submitted [1] @@ -10,40 +13,24 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> [1] https://gitlab.gnome.org/GNOME/vte/issues/72 --- - src/missing.hh | 21 +++++++++++++++++++++ - src/widget.cc | 1 + - 2 files changed, 22 insertions(+) - create mode 100644 src/missing.hh + src/missing.hh | 4 ++++ + src/widget.cc | 1 + + 2 files changed, 5 insertions(+) diff --git a/src/missing.hh b/src/missing.hh -new file mode 100644 -index 00000000..1baa993d ---- /dev/null +index 0742270..30ede62 100644 +--- a/src/missing.hh +++ b/src/missing.hh -@@ -0,0 +1,21 @@ -+/* Copyright 2019 Danilo Spinella -+ * -+ * 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 3 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 -+ */ +@@ -33,3 +33,7 @@ int fdwalk(int (*cb)(void* data, int fd), + char* strchrnul(char const* s, + int c); + #endif + +#ifndef W_EXITCODE +#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) +#endif -+ diff --git a/src/widget.cc b/src/widget.cc -index 331ddba9..555a4adf 100644 +index 44a2271..0668735 100644 --- a/src/widget.cc +++ b/src/widget.cc @@ -21,6 +21,7 @@ @@ -52,8 +39,5 @@ index 331ddba9..555a4adf 100644 #include <sys/wait.h> // for W_EXITCODE +#include "missing.hh" // for W_EXITCODE on non-glibc systems + #include <exception> #include <new> - #include <string> --- -2.21.0 - diff --git a/poky/meta/recipes-support/vte/vte_0.60.3.bb b/poky/meta/recipes-support/vte/vte_0.62.1.bb index 02a886bce0..1a8e21dec4 100644 --- a/poky/meta/recipes-support/vte/vte_0.60.3.bb +++ b/poky/meta/recipes-support/vte/vte_0.62.1.bb @@ -18,8 +18,7 @@ inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-intros # vapigen.m4 is required when vala is not present (but the one from vala should be used normally) SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" -SRC_URI[archive.md5sum] = "4214712ecab2d50e2a3a07897c3ada49" -SRC_URI[archive.sha256sum] = "feb76e1181a357d86112d447a08d127e2081438df76ece83243b18609dd9822a" +SRC_URI[archive.sha256sum] = "c369e87c0c8284e09109d0a9aac821f543558f51c0cb9c7acfff3df64153308d" ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |