diff options
Diffstat (limited to 'poky/meta')
268 files changed, 4280 insertions, 2847 deletions
diff --git a/poky/meta/classes-global/sstate.bbclass b/poky/meta/classes-global/sstate.bbclass index cd77c58dbf..2c8e7b8cc2 100644 --- a/poky/meta/classes-global/sstate.bbclass +++ b/poky/meta/classes-global/sstate.bbclass @@ -784,6 +784,7 @@ def pstaging_fetch(sstatefetch, d): uris += ['file://{0}.sig;downloadfilename={0}.sig'.format(sstatefetch)] for srcuri in uris: + localdata.delVar('SRC_URI') localdata.setVar('SRC_URI', srcuri) try: fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False) diff --git a/poky/meta/classes-recipe/core-image.bbclass b/poky/meta/classes-recipe/core-image.bbclass index 4b5f2c99c4..90d9eb9d3f 100644 --- a/poky/meta/classes-recipe/core-image.bbclass +++ b/poky/meta/classes-recipe/core-image.bbclass @@ -62,6 +62,10 @@ FEATURE_PACKAGES_hwcodecs = "${MACHINE_HWCODECS}" # IMAGE_FEATURES_REPLACES_foo = 'bar1 bar2' # Including image feature foo would replace the image features bar1 and bar2 IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear" +# Do not install openssh complementary packages if either packagegroup-core-ssh-dropbear or dropbear +# is installed # to avoid openssh-dropbear conflict +# see [Yocto #14858] for more information +PACKAGE_EXCLUDE_COMPLEMENTARY:append = "${@bb.utils.contains_any('PACKAGE_INSTALL', 'packagegroup-core-ssh-dropbear dropbear', 'openssh', '' , d)}" # IMAGE_FEATURES_CONFLICTS_foo = 'bar1 bar2' # An error exception would be raised if both image features foo and bar1(or bar2) are included diff --git a/poky/meta/classes-recipe/externalsrc.bbclass b/poky/meta/classes-recipe/externalsrc.bbclass index 51dbe9ea5a..06a9548a20 100644 --- a/poky/meta/classes-recipe/externalsrc.bbclass +++ b/poky/meta/classes-recipe/externalsrc.bbclass @@ -91,16 +91,18 @@ python () { # Since configure will likely touch ${S}, ensure only we lock so one task has access at a time d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock") - for funcname in [task, "base_" + task, "kernel_" + task]: + for v in d.keys(): + cleandirs = d.getVarFlag(v, "cleandirs", False) + if cleandirs: # We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean) - cleandirs = oe.recipeutils.split_var_value(d.getVarFlag(funcname, 'cleandirs', False) or '') + cleandirs = oe.recipeutils.split_var_value(cleandirs) setvalue = False for cleandir in cleandirs[:]: if oe.path.is_path_parent(externalsrc, d.expand(cleandir)): cleandirs.remove(cleandir) setvalue = True if setvalue: - d.setVarFlag(funcname, 'cleandirs', ' '.join(cleandirs)) + d.setVarFlag(v, 'cleandirs', ' '.join(cleandirs)) fetch_tasks = ['do_fetch', 'do_unpack'] # If we deltask do_patch, there's no dependency to ensure do_unpack gets run, so add one @@ -228,15 +230,16 @@ def srctree_hash_files(d, srcdir=None): env['GIT_INDEX_FILE'] = tmp_index.name subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env) git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8") - submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8") - for line in submodule_helper.splitlines(): - module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1]) - if os.path.isdir(module_dir): - proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) - proc.communicate() - proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) - stdout, _ = proc.communicate() - git_sha1 += stdout.decode("utf-8") + if os.path.exists(".gitmodules"): + submodule_helper = subprocess.check_output(["git", "config", "--file", ".gitmodules", "--get-regexp", "path"], cwd=s_dir, env=env).decode("utf-8") + for line in submodule_helper.splitlines(): + module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1]) + if os.path.isdir(module_dir): + proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + proc.communicate() + proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) + stdout, _ = proc.communicate() + git_sha1 += stdout.decode("utf-8") sha1 = hashlib.sha1(git_sha1.encode("utf-8")).hexdigest() with open(oe_hash_file, 'w') as fobj: fobj.write(sha1) diff --git a/poky/meta/classes-recipe/github-releases.bbclass b/poky/meta/classes-recipe/github-releases.bbclass new file mode 100644 index 0000000000..ed83b83731 --- /dev/null +++ b/poky/meta/classes-recipe/github-releases.bbclass @@ -0,0 +1,3 @@ +GITHUB_BASE_URI ?= "https://github.com/${BPN}/${BPN}/releases/" +UPSTREAM_CHECK_URI ?= "${GITHUB_BASE_URI}" +UPSTREAM_CHECK_REGEX ?= "releases/tag/v?(?P<pver>\d+(\.\d+)+)" diff --git a/poky/meta/classes-recipe/gtk-icon-cache.bbclass b/poky/meta/classes-recipe/gtk-icon-cache.bbclass index 17c7eb7a33..9ecb49916c 100644 --- a/poky/meta/classes-recipe/gtk-icon-cache.bbclass +++ b/poky/meta/classes-recipe/gtk-icon-cache.bbclass @@ -9,7 +9,7 @@ FILES:${PN} += "${datadir}/icons/hicolor" GTKIC_VERSION ??= '3' GTKPN = "${@ 'gtk4' if d.getVar('GTKIC_VERSION') == '4' else 'gtk+3' }" -GTKIC_CMD = "${@ 'gtk-update-icon-cache-3.0.0' if d.getVar('GTKIC_VERSION') == '4' else 'gtk4-update-icon-cache' }" +GTKIC_CMD = "${@ 'gtk4-update-icon-cache' if d.getVar('GTKIC_VERSION') == '4' else 'gtk-update-icon-cache-3.0' }" #gtk+3/gtk4 require GTK3DISTROFEATURES, DEPENDS on it make all the #recipes inherit this class require GTK3DISTROFEATURES diff --git a/poky/meta/classes-recipe/kernel-module-split.bbclass b/poky/meta/classes-recipe/kernel-module-split.bbclass index 1b4c864a63..08c2e54e86 100644 --- a/poky/meta/classes-recipe/kernel-module-split.bbclass +++ b/poky/meta/classes-recipe/kernel-module-split.bbclass @@ -18,7 +18,7 @@ pkg_postrm:modules () { if [ -z "$D" ]; then depmod -a ${KERNEL_VERSION} else - depmodwrapper -a -b $D ${KERNEL_VERSION} + depmodwrapper -a -b $D ${KERNEL_VERSION} ${KERNEL_PACKAGE_NAME} fi } diff --git a/poky/meta/classes-recipe/kernel.bbclass b/poky/meta/classes-recipe/kernel.bbclass index de1b80d0ae..e4e69e0763 100644 --- a/poky/meta/classes-recipe/kernel.bbclass +++ b/poky/meta/classes-recipe/kernel.bbclass @@ -677,7 +677,7 @@ pkg_postinst:${KERNEL_PACKAGE_NAME}-base () { mkdir -p $D/lib/modules/${KERNEL_VERSION} fi if [ -n "$D" ]; then - depmodwrapper -a -b $D ${KERNEL_VERSION} + depmodwrapper -a -b $D ${KERNEL_VERSION} ${KERNEL_PACKAGE_NAME} else depmod -a ${KERNEL_VERSION} fi diff --git a/poky/meta/classes/overlayfs-etc.bbclass b/poky/meta/classes-recipe/overlayfs-etc.bbclass index d0bc3ecfac..f8343106f3 100644 --- a/poky/meta/classes/overlayfs-etc.bbclass +++ b/poky/meta/classes-recipe/overlayfs-etc.bbclass @@ -40,6 +40,7 @@ OVERLAYFS_ETC_DEVICE ??= "" OVERLAYFS_ETC_USE_ORIG_INIT_NAME ??= "1" OVERLAYFS_ETC_MOUNT_OPTIONS ??= "defaults" OVERLAYFS_ETC_INIT_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-etc-preinit.sh.in" +OVERLAYFS_ETC_EXPOSE_LOWER ??= "0" python create_overlayfs_etc_preinit() { overlayEtcMountPoint = d.getVar("OVERLAYFS_ETC_MOUNT_POINT") @@ -60,13 +61,15 @@ python create_overlayfs_etc_preinit() { preinitPath = oe.path.join(d.getVar("IMAGE_ROOTFS"), d.getVar("base_sbindir"), "preinit") initBaseName = oe.path.join(d.getVar("base_sbindir"), "init") origInitNameSuffix = ".orig" + exposeLower = oe.types.boolean(d.getVar('OVERLAYFS_ETC_EXPOSE_LOWER')) args = { 'OVERLAYFS_ETC_MOUNT_POINT': overlayEtcMountPoint, 'OVERLAYFS_ETC_MOUNT_OPTIONS': d.getVar('OVERLAYFS_ETC_MOUNT_OPTIONS'), 'OVERLAYFS_ETC_FSTYPE': overlayEtcFsType, 'OVERLAYFS_ETC_DEVICE': overlayEtcDevice, - 'SBIN_INIT_NAME': initBaseName + origInitNameSuffix if useOrigInit else initBaseName + 'SBIN_INIT_NAME': initBaseName + origInitNameSuffix if useOrigInit else initBaseName, + 'OVERLAYFS_ETC_EXPOSE_LOWER': "true" if exposeLower else "false" } if useOrigInit: diff --git a/poky/meta/classes/overlayfs.bbclass b/poky/meta/classes-recipe/overlayfs.bbclass index bdc6dd9d57..bdc6dd9d57 100644 --- a/poky/meta/classes/overlayfs.bbclass +++ b/poky/meta/classes-recipe/overlayfs.bbclass diff --git a/poky/meta/classes-recipe/rootfs-postcommands.bbclass b/poky/meta/classes-recipe/rootfs-postcommands.bbclass index 215e38e33d..690fa976aa 100644 --- a/poky/meta/classes-recipe/rootfs-postcommands.bbclass +++ b/poky/meta/classes-recipe/rootfs-postcommands.bbclass @@ -22,7 +22,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'deb # Create /etc/timestamp during image construction to give a reasonably sane default time setting ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp; " -# Tweak the mount options for rootfs in /etc/fstab if read-only-rootfs is enabled +# Tweak files in /etc if read-only-rootfs is enabled ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "read_only_rootfs_hook; ", "",d)}' # We also need to do the same for the kernel boot parameters, @@ -111,20 +111,24 @@ read_only_rootfs_hook () { # If we're using openssh and the /etc/ssh directory has no pre-generated keys, # we should configure openssh to use the configuration file /etc/ssh/sshd_config_readonly # and the keys under /var/run/ssh. - if [ -d ${IMAGE_ROOTFS}/etc/ssh ]; then - if [ -e ${IMAGE_ROOTFS}/etc/ssh/ssh_host_rsa_key ]; then - echo "SYSCONFDIR=\${SYSCONFDIR:-/etc/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh - echo "SSHD_OPTS=" >> ${IMAGE_ROOTFS}/etc/default/ssh - else - echo "SYSCONFDIR=\${SYSCONFDIR:-/var/run/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh - echo "SSHD_OPTS='-f /etc/ssh/sshd_config_readonly'" >> ${IMAGE_ROOTFS}/etc/default/ssh + # If overlayfs-etc is used this is not done as /etc is treated as writable + # If stateless-rootfs is enabled this is always done as we don't want to save keys then + if ${@ 'true' if not bb.utils.contains('IMAGE_FEATURES', 'overlayfs-etc', True, False, d) or bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else 'false'}; then + if [ -d ${IMAGE_ROOTFS}/etc/ssh ]; then + if [ -e ${IMAGE_ROOTFS}/etc/ssh/ssh_host_rsa_key ]; then + echo "SYSCONFDIR=\${SYSCONFDIR:-/etc/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh + echo "SSHD_OPTS=" >> ${IMAGE_ROOTFS}/etc/default/ssh + else + echo "SYSCONFDIR=\${SYSCONFDIR:-/var/run/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh + echo "SSHD_OPTS='-f /etc/ssh/sshd_config_readonly'" >> ${IMAGE_ROOTFS}/etc/default/ssh + fi fi - fi - # Also tweak the key location for dropbear in the same way. - if [ -d ${IMAGE_ROOTFS}/etc/dropbear ]; then - if [ ! -e ${IMAGE_ROOTFS}/etc/dropbear/dropbear_rsa_host_key ]; then - echo "DROPBEAR_RSAKEY_DIR=/var/lib/dropbear" >> ${IMAGE_ROOTFS}/etc/default/dropbear + # Also tweak the key location for dropbear in the same way. + if [ -d ${IMAGE_ROOTFS}/etc/dropbear ]; then + if [ ! -e ${IMAGE_ROOTFS}/etc/dropbear/dropbear_rsa_host_key ]; then + echo "DROPBEAR_RSAKEY_DIR=/var/lib/dropbear" >> ${IMAGE_ROOTFS}/etc/default/dropbear + fi fi fi @@ -200,6 +204,7 @@ ssh_allow_root_login () { if [ -e ${IMAGE_ROOTFS}${sbindir}/dropbear ] ; then if grep -q DROPBEAR_EXTRA_ARGS ${IMAGE_ROOTFS}${sysconfdir}/default/dropbear 2>/dev/null ; then sed -i '/^DROPBEAR_EXTRA_ARGS=/ s/-w//' ${IMAGE_ROOTFS}${sysconfdir}/default/dropbear + sed -i '/^# Disallow root/d' ${IMAGE_ROOTFS}${sysconfdir}/default/dropbear fi fi } diff --git a/poky/meta/classes-recipe/testimage.bbclass b/poky/meta/classes-recipe/testimage.bbclass index 8d2fab21df..5cc408b0c4 100644 --- a/poky/meta/classes-recipe/testimage.bbclass +++ b/poky/meta/classes-recipe/testimage.bbclass @@ -189,11 +189,7 @@ def get_testimage_boot_patterns(d): search_login_succeeded,search_cmd_finished\n Make sure your TESTIMAGE_BOOT_PATTERNS=%s \ contains an accepted flag.' % d.getVar('TESTIMAGE_BOOT_PATTERNS')) return - # We know boot prompt is searched through in binary format, others might be expressions - if flag == 'search_reached_prompt': - boot_patterns[flag] = flagval.encode() - else: - boot_patterns[flag] = flagval.encode().decode('unicode-escape') + boot_patterns[flag] = flagval.encode().decode('unicode-escape') return boot_patterns @@ -472,10 +468,7 @@ def create_rpm_index(d): package_list = glob.glob(idx_path + "*/*.rpm") for pkg in package_list: - if os.path.basename(pkg).startswith(("curl-ptest")): - bb.utils.remove(pkg) - - if not os.path.basename(pkg).startswith(("rpm", "run-postinsts", "busybox", "bash", "update-alternatives", "libc6", "curl", "musl")): + if not os.path.basename(pkg).startswith(("dnf-test-", "busybox", "update-alternatives", "libc6", "musl")): bb.utils.remove(pkg) bb.utils.unlockfile(lf) diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass index a11e781f00..312e0f17b5 100644 --- a/poky/meta/classes/icecc.bbclass +++ b/poky/meta/classes/icecc.bbclass @@ -4,35 +4,35 @@ # SPDX-License-Identifier: MIT # -# IceCream distributed compiling support +# Icecream distributed compiling support # # Stages directories with symlinks from gcc/g++ to icecc, for both # native and cross compilers. Depending on each configure or compile, # the directories are added at the head of the PATH list and ICECC_CXX -# and ICEC_CC are set. +# and ICECC_CC are set. # # For the cross compiler, creates a tar.gz of our toolchain and sets # ICECC_VERSION accordingly. # # The class now handles all 3 different compile 'stages' (i.e native ,cross-kernel and target) creating the # necessary environment tar.gz file to be used by the remote machines. -# It also supports meta-toolchain generation +# It also supports meta-toolchain generation. # # If ICECC_PATH is not set in local.conf then the class will try to locate it using 'bb.utils.which' -# but nothing is sure ;) +# but nothing is sure. ;) # # If ICECC_ENV_EXEC is set in local.conf, then it should point to the icecc-create-env script provided by the user -# or the default one provided by icecc-create-env.bb will be used -# (NOTE that this is a modified version of the script need it and *not the one that comes with icecc* +# or the default one provided by icecc-create-env_0.1.bb will be used. +# (NOTE that this is a modified version of the needed script and *not the one that comes with icecream*). # -# User can specify if specific recipes or recipes belonging to class should not use icecc to distribute -# compile jobs to remote machines, but handled locally, by defining ICECC_CLASS_DISABLE and ICECC_RECIPE_DISABLE +# User can specify if specific recipes or recipes inheriting specific classes should not use icecc to distribute +# compile jobs to remote machines, but handle them locally by defining ICECC_CLASS_DISABLE and ICECC_RECIPE_DISABLE # with the appropriate values in local.conf. In addition the user can force to enable icecc for recipes # which set an empty PARALLEL_MAKE variable by defining ICECC_RECIPE_ENABLE. # ######################################################################################### -#Error checking is kept to minimum so double check any parameters you pass to the class -########################################################################################### +# Error checking is kept to minimum so double check any parameters you pass to the class +######################################################################################### BB_BASEHASH_IGNORE_VARS += "ICECC_PARALLEL_MAKE ICECC_DISABLED ICECC_RECIPE_DISABLE \ ICECC_CLASS_DISABLE ICECC_RECIPE_ENABLE ICECC_PATH ICECC_ENV_EXEC \ @@ -50,7 +50,7 @@ HOSTTOOLS_NONFATAL += "icecc patchelf" # invalidate the version on the compile nodes. Changing it will cause a new # environment to be created. # -# A useful thing to do for testing Icecream changes locally is to add a +# A useful thing to do for testing icecream changes locally is to add a # subversion in local.conf: # ICECC_ENV_VERSION:append = "-my-ver-1" ICECC_ENV_VERSION = "2" @@ -72,16 +72,16 @@ CXXFLAGS += "${ICECC_CFLAGS}" ICECC_ENV_DEBUG ??= "" # Disable recipe list contains a list of recipes that can not distribute -# compile tasks for one reason or the other. When adding new entry, please +# compile tasks for one reason or the other. When adding a new entry, please # document why (how it failed) so that we can re-evaluate it later e.g. when -# there is new version +# there is a new version. # # libgcc-initial - fails with CPP sanity check error if host sysroot contains -# cross gcc built for another target tune/variant +# cross gcc built for another target tune/variant. # pixman - prng_state: TLS reference mismatches non-TLS reference, possibly due to -# pragma omp threadprivate(prng_state) +# pragma omp threadprivate(prng_state). # systemtap - _HelperSDT.c undefs macros and uses the identifiers in macros emitting -# inline assembly +# inline assembly. # target-sdk-provides-dummy - ${HOST_PREFIX} is empty which triggers the "NULL # prefix" error. ICECC_RECIPE_DISABLE += "\ @@ -91,10 +91,10 @@ ICECC_RECIPE_DISABLE += "\ target-sdk-provides-dummy \ " -# Classes that should not use icecc. When adding new entry, please -# document why (how it failed) so that we can re-evaluate it later +# Classes that should not use icecc. When adding a new entry, please +# document why (how it failed) so that we can re-evaluate it later. # -# image - Image aren't compiling, but the testing framework for images captures +# image - images aren't compiling, but the testing framework for images captures # PARALLEL_MAKE as part of the test environment. Many tests won't use # icecream, but leaving the high level of parallelism can cause them to # consume an unnecessary amount of resources. @@ -103,7 +103,7 @@ ICECC_CLASS_DISABLE += "\ " def get_icecc_dep(d): - # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not + # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not # we need that built is the responsibility of the patch function / class, not # the application. if not d.getVar('INHIBIT_DEFAULT_DEPS'): @@ -259,7 +259,7 @@ def icecc_get_tool_link(tool, d): def icecc_get_path_tool(tool, d): # This is a little ugly, but we want to make sure we add an actual # compiler to the toolchain, not ccache. Some distros (e.g. Fedora) - # have ccache enabled by default using symlinks PATH, meaning ccache + # have ccache enabled by default using symlinks in PATH, meaning ccache # would be found first when looking for the compiler. paths = os.getenv("PATH").split(':') while True: @@ -380,7 +380,6 @@ set_icecc_env() { fi for compiler in $compilers; do ln -sf $ICECC_BIN $ICE_PATH/symlinks/$compiler - rm -f $ICE_PATH/$compiler cat <<-__EOF__ > $ICE_PATH/$compiler #!/bin/sh -e export ICECC_VERSION=$ICECC_VERSION @@ -449,11 +448,11 @@ do_install:prepend() { set_icecc_env } -# IceCream is not (currently) supported in the extensible SDK +# Icecream is not (currently) supported in the extensible SDK ICECC_SDK_HOST_TASK = "nativesdk-icecc-toolchain" ICECC_SDK_HOST_TASK:task-populate-sdk-ext = "" -# Don't include IceCream in uninative tarball +# Don't include icecream in uninative tarball ICECC_SDK_HOST_TASK:pn-uninative-tarball = "" # Add the toolchain scripts to the SDK diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index 52a36d788b..62cdd9aa9c 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -389,6 +389,7 @@ FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt' if oe.types.boolean(d.getVar TCMODE ??= "default" TCLIBC ??= "glibc" +TC_CXX_RUNTIME ??= "gnu" TMPDIR ?= "${TOPDIR}/tmp" CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}" diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 3c80a3a617..fee4e52b10 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -626,6 +626,7 @@ RECIPE_MAINTAINER:pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfound RECIPE_MAINTAINER:pn-python3-jsonpointer = "Bruce Ashfield <bruce.ashfield@gmail.com>" RECIPE_MAINTAINER:pn-python3-jsonschema = "Bruce Ashfield <bruce.ashfield@gmail.com>" RECIPE_MAINTAINER:pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>" +RECIPE_MAINTAINER:pn-python3-lxml = "Khem Raj <raj.khem@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-markdown = "Alexander Kanavin <alex.kanavin@gmail.com>" diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc index 9abd121e3a..59b226e62f 100644 --- a/poky/meta/conf/distro/include/tcmode-default.inc +++ b/poky/meta/conf/distro/include/tcmode-default.inc @@ -22,7 +22,7 @@ BINUVERSION ?= "2.39%" GDBVERSION ?= "12.%" GLIBCVERSION ?= "2.36" LINUXLIBCVERSION ?= "5.19%" -QEMUVERSION ?= "7.0%" +QEMUVERSION ?= "7.1%" GOVERSION ?= "1.19%" # This can not use wildcards like 8.0.% since it is also used in mesa to denote # llvm version being used, so always bump it with llvm recipe version bump diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf index 1387539734..0ce90355ba 100644 --- a/poky/meta/conf/layer.conf +++ b/poky/meta/conf/layer.conf @@ -7,7 +7,7 @@ BBFILE_COLLECTIONS += "core" BBFILE_PATTERN_core = "^${LAYERDIR}/" BBFILE_PRIORITY_core = "5" -LAYERSERIES_CORENAMES = "kirkstone langdale" +LAYERSERIES_CORENAMES = "langdale" # This should only be incremented on significant changes that will # cause compatibility issues with other layers diff --git a/poky/meta/conf/machine/include/arm/arch-armv9a.inc b/poky/meta/conf/machine/include/arm/arch-armv9a.inc new file mode 100644 index 0000000000..c38d6cfdf6 --- /dev/null +++ b/poky/meta/conf/machine/include/arm/arch-armv9a.inc @@ -0,0 +1,28 @@ +DEFAULTTUNE ?= "armv9a-crc" + +TUNEVALID[armv9a] = "Enable instructions for ARMv9-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', ' -march=armv9-a', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:', '', d)}" + +require conf/machine/include/arm/arch-arm64.inc +require conf/machine/include/arm/feature-arm-crc.inc +require conf/machine/include/arm/feature-arm-crypto.inc + +# Little Endian base configs +AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crypto" +ARMPKGARCH:tune-armv9a ?= "armv9a" +ARMPKGARCH:tune-armv9a-crc ?= "armv9a" +ARMPKGARCH:tune-armv9a-crypto ?= "armv9a" +ARMPKGARCH:tune-armv9a-crc-crypto ?= "armv9a" +TUNE_FEATURES:tune-armv9a = "aarch64 armv9a" +TUNE_FEATURES:tune-armv9a-crc = "${TUNE_FEATURES:tune-armv9a} crc" +TUNE_FEATURES:tune-armv9a-crypto = "${TUNE_FEATURES:tune-armv9a} crypto" +TUNE_FEATURES:tune-armv9a-crc-crypto = "${TUNE_FEATURES:tune-armv9a-crc} crypto" +PACKAGE_EXTRA_ARCHS:tune-armv9a = "aarch64 armv9a" +PACKAGE_EXTRA_ARCHS:tune-armv9a-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crc" +PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc} armv9a-crypto armv9a-crc-crypto" +BASE_LIB:tune-armv9a = "lib64" +BASE_LIB:tune-armv9a-crc = "lib64" +BASE_LIB:tune-armv9a-crypto = "lib64" +BASE_LIB:tune-armv9a-crc-crypto = "lib64" diff --git a/poky/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc b/poky/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc index 36355f7bed..d26ab25e48 100644 --- a/poky/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc +++ b/poky/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc @@ -6,17 +6,15 @@ DEFAULTTUNE ?= "neoversen2" TUNEVALID[neoversen2] = "Enable Neoverse-N2 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen2', ' -mcpu=neoverse-n2', '', d)}" -# Even though the Neoverse N2 core implemnts the Arm v9.0-A architecture, -# but the support of it in GCC is based on the Arm v8.5-A architecture. -require conf/machine/include/arm/arch-armv8-5a.inc +require conf/machine/include/arm/arch-armv9a.inc # Little Endian base configs AVAILTUNES += "neoversen2 neoversen2-crypto" ARMPKGARCH:tune-neoversen2 = "neoversen2" ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto" -TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv8-5a} neoversen2" +TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv9a} neoversen2" TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto" -PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} neoversen2" -PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto} neoversen2 neoversen2-crypto" +PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} neoversen2" +PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversen2 neoversen2-crypto" BASE_LIB:tune-neoversen2 = "lib64" BASE_LIB:tune-neoversen2-crypto = "lib64" diff --git a/poky/meta/files/overlayfs-etc-preinit.sh.in b/poky/meta/files/overlayfs-etc-preinit.sh.in index 43c9b04eb9..8db076f4ba 100644 --- a/poky/meta/files/overlayfs-etc-preinit.sh.in +++ b/poky/meta/files/overlayfs-etc-preinit.sh.in @@ -15,19 +15,32 @@ mount -t sysfs sysfs /sys [ -z "$CONSOLE" ] && CONSOLE="/dev/console" +BASE_OVERLAY_ETC_DIR={OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc +UPPER_DIR=$BASE_OVERLAY_ETC_DIR/upper +WORK_DIR=$BASE_OVERLAY_ETC_DIR/work +LOWER_DIR=$BASE_OVERLAY_ETC_DIR/lower + mkdir -p {OVERLAYFS_ETC_MOUNT_POINT} if mount -n -t {OVERLAYFS_ETC_FSTYPE} \ -o {OVERLAYFS_ETC_MOUNT_OPTIONS} \ {OVERLAYFS_ETC_DEVICE} {OVERLAYFS_ETC_MOUNT_POINT} then - mkdir -p {OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/upper - mkdir -p {OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/work + mkdir -p $UPPER_DIR + mkdir -p $WORK_DIR + + if {OVERLAYFS_ETC_EXPOSE_LOWER}; then + mkdir -p $LOWER_DIR + + # provide read-only access to original /etc content + mount -o bind,ro /etc $LOWER_DIR + fi + mount -n -t overlay \ - -o upperdir={OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/upper \ + -o upperdir=$UPPER_DIR \ -o lowerdir=/etc \ - -o workdir={OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/work \ + -o workdir=$WORK_DIR \ -o index=off,xino=off,redirect_dir=off,metacopy=off \ - {OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/upper /etc || \ + $UPPER_DIR /etc || \ echo "PREINIT: Mounting etc-overlay failed!" else echo "PREINIT: Mounting </data> failed!" diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py index 0b9911e3a6..890ba5f039 100644 --- a/poky/meta/lib/oe/rootfs.py +++ b/poky/meta/lib/oe/rootfs.py @@ -173,14 +173,8 @@ class Rootfs(object, metaclass=ABCMeta): bb.utils.rename(self.image_rootfs + '-orig', self.image_rootfs) def _exec_shell_cmd(self, cmd): - fakerootcmd = self.d.getVar('FAKEROOT') - if fakerootcmd is not None: - exec_cmd = [fakerootcmd, cmd] - else: - exec_cmd = cmd - try: - subprocess.check_output(exec_cmd, stderr=subprocess.STDOUT) + subprocess.check_output(cmd, stderr=subprocess.STDOUT) except subprocess.CalledProcessError as e: return("Command '%s' returned %d:\n%s" % (e.cmd, e.returncode, e.output)) @@ -325,19 +319,29 @@ class Rootfs(object, metaclass=ABCMeta): bb.note("No Kernel Modules found, not running depmod") return - kernel_abi_ver_file = oe.path.join(self.d.getVar('PKGDATA_DIR'), "kernel-depmod", - 'kernel-abiversion') - if not os.path.exists(kernel_abi_ver_file): - bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file) + pkgdatadir = self.d.getVar('PKGDATA_DIR') + + # PKGDATA_DIR can include multiple kernels so we run depmod for each + # one of them. + for direntry in os.listdir(pkgdatadir): + match = re.match('(.*)-depmod', direntry) + if not match: + continue + kernel_package_name = match.group(1) + + kernel_abi_ver_file = oe.path.join(pkgdatadir, direntry, kernel_package_name + '-abiversion') + if not os.path.exists(kernel_abi_ver_file): + bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file) - with open(kernel_abi_ver_file) as f: - kernel_ver = f.read().strip(' \n') + with open(kernel_abi_ver_file) as f: + kernel_ver = f.read().strip(' \n') - versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver) + versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver) - bb.utils.mkdirhier(versioned_modules_dir) + bb.utils.mkdirhier(versioned_modules_dir) - self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver]) + bb.note("Running depmodwrapper for %s ..." % versioned_modules_dir) + self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver, kernel_package_name]) """ Create devfs: @@ -386,6 +390,10 @@ def create_rootfs(d, manifest_dir=None, progress_reporter=None, logcatcher=None) def image_list_installed_packages(d, rootfs_dir=None): + # Theres no rootfs for baremetal images + if bb.data.inherits_class('baremetal-image', d): + return "" + if not rootfs_dir: rootfs_dir = d.getVar('IMAGE_ROOTFS') diff --git a/poky/meta/lib/oeqa/oetest.py b/poky/meta/lib/oeqa/oetest.py index 9c84466dd0..cf417db0d4 100644 --- a/poky/meta/lib/oeqa/oetest.py +++ b/poky/meta/lib/oeqa/oetest.py @@ -28,7 +28,7 @@ try: import oeqa.sdkext except ImportError: pass -from oeqa.utils.decorators import LogResults, gettag, getResults +from oeqa.utils.decorators import LogResults, gettag logger = logging.getLogger("BitBake") @@ -57,7 +57,6 @@ def filterByTagExp(testsuite, tagexp): @LogResults class oeTest(unittest.TestCase): - pscmd = "ps" longMessage = True @classmethod @@ -110,20 +109,6 @@ class oeRuntimeTest(oeTest): def tearDown(self): # Uninstall packages in the DUT self.tc.install_uninstall_packages(self.id(), False) - - res = getResults() - # If a test fails or there is an exception dump - # for QemuTarget only - if (type(self.target).__name__ == "QemuTarget" and - (self.id() in res.getErrorList() or - self.id() in res.getFailList())): - self.tc.host_dumper.create_dir(self._testMethodName) - self.tc.host_dumper.dump_host() - self.target.target_dumper.dump_target( - self.tc.host_dumper.dump_dir) - print ("%s dump data stored in %s" % (self._testMethodName, - self.tc.host_dumper.dump_dir)) - self.tearDownLocal() # Method to be run after tearDown and implemented by child classes @@ -398,11 +383,6 @@ class RuntimeTestContext(TestContext): def _get_test_suites_required(self): return [t for t in self.d.getVar("TEST_SUITES").split() if t != "auto"] - def loadTests(self): - super(RuntimeTestContext, self).loadTests() - if oeTest.hasPackage("procps"): - oeRuntimeTest.pscmd = "ps -ef" - def extract_packages(self): """ Find packages that will be needed during runtime. diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py index a8e23e596e..410d456bdf 100644 --- a/poky/meta/lib/oeqa/runtime/cases/dnf.py +++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py @@ -75,48 +75,43 @@ class DnfRepoTest(DnfTest): def test_dnf_makecache(self): self.dnf_with_repo('makecache') - -# Does not work when repo is specified on the command line -# @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) -# def test_dnf_repolist(self): -# self.dnf_with_repo('repolist') - @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) def test_dnf_repoinfo(self): self.dnf_with_repo('repoinfo') @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) def test_dnf_install(self): - output = self.dnf_with_repo('list run-postinsts-dev') - if 'Installed Packages' in output: - self.dnf_with_repo('remove -y run-postinsts-dev') - self.dnf_with_repo('install -y run-postinsts-dev') + self.dnf_with_repo('remove -y dnf-test-*') + self.dnf_with_repo('install -y dnf-test-dep') @OETestDepends(['dnf.DnfRepoTest.test_dnf_install']) def test_dnf_install_dependency(self): - self.dnf_with_repo('remove -y run-postinsts') - self.dnf_with_repo('install -y run-postinsts-dev') + self.dnf_with_repo('remove -y dnf-test-*') + self.dnf_with_repo('install -y dnf-test-main') + output = self.dnf('list --installed dnf-test-*') + self.assertIn("dnf-test-main.", output) + self.assertIn("dnf-test-dep.", output) @OETestDepends(['dnf.DnfRepoTest.test_dnf_install_dependency']) def test_dnf_install_from_disk(self): - self.dnf_with_repo('remove -y run-postinsts-dev') - self.dnf_with_repo('install -y --downloadonly run-postinsts-dev') - status, output = self.target.run('find /var/cache/dnf -name run-postinsts-dev*rpm', 1500) + self.dnf_with_repo('remove -y dnf-test-dep') + self.dnf_with_repo('install -y --downloadonly dnf-test-dep') + status, output = self.target.run('find /var/cache/dnf -name dnf-test-dep*rpm') self.assertEqual(status, 0, output) self.dnf_with_repo('install -y %s' % output) @OETestDepends(['dnf.DnfRepoTest.test_dnf_install_from_disk']) def test_dnf_install_from_http(self): - output = subprocess.check_output('%s %s -name run-postinsts-dev*' % (bb.utils.which(os.getenv('PATH'), "find"), + output = subprocess.check_output('%s %s -name dnf-test-dep*' % (bb.utils.which(os.getenv('PATH'), "find"), os.path.join(self.tc.td['WORKDIR'], 'oe-testimage-repo')), shell=True).decode("utf-8") rpm_path = output.split("/")[-2] + "/" + output.split("/")[-1] url = 'http://%s:%s/%s' %(self.target.server_ip, self.repo_server.port, rpm_path) - self.dnf_with_repo('remove -y run-postinsts-dev') + self.dnf_with_repo('remove -y dnf-test-dep') self.dnf_with_repo('install -y %s' % url) @OETestDepends(['dnf.DnfRepoTest.test_dnf_install']) def test_dnf_reinstall(self): - self.dnf_with_repo('reinstall -y run-postinsts-dev') + self.dnf_with_repo('reinstall -y dnf-test-main') @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) @skipIfInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when not enable usrmerge') @@ -139,14 +134,14 @@ class DnfRepoTest(DnfTest): self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500) self.target.run('cp /bin/sh %s/bin' % rootpath, 1500) self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500) - self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath) + self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox' % rootpath) status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500) self.assertEqual(0, status, output) status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500) self.assertEqual(0, status, output) @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) - @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmege') + @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmerge') @OEHasPackage('busybox') def test_dnf_installroot_usrmerge(self): rootpath = '/home/root/chroot/test' @@ -171,7 +166,7 @@ class DnfRepoTest(DnfTest): self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500) self.target.run('cp /bin/sh %s/bin' % rootpath, 1500) self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500) - self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath) + self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox' % rootpath) status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500) self.assertEqual(0, status, output) status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500) @@ -179,15 +174,8 @@ class DnfRepoTest(DnfTest): @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) def test_dnf_exclude(self): - excludepkg = 'curl-dev' - self.dnf_with_repo('install -y curl*') - self.dnf('list %s' % excludepkg, 0) - #Avoid remove dependencies to skip some errors on different archs and images - self.dnf_with_repo('remove --setopt=clean_requirements_on_remove=0 -y curl*') - #check curl-dev is not installed adter removing all curl occurrences - status, output = self.target.run('dnf list --installed | grep %s'% excludepkg, 1500) - self.assertEqual(1, status, "%s was not removed, is listed as installed"%excludepkg) - self.dnf_with_repo('install -y --exclude=%s --exclude=curl-staticdev curl*' % excludepkg) - #check curl-dev is not installed after being excluded - status, output = self.target.run('dnf list --installed | grep %s'% excludepkg , 1500) - self.assertEqual(1, status, "%s was not excluded, is listed as installed"%excludepkg) + self.dnf_with_repo('remove -y dnf-test-*') + self.dnf_with_repo('install -y --exclude=dnf-test-dep dnf-test-*') + output = self.dnf('list --installed dnf-test-*') + self.assertIn("dnf-test-main.", output) + self.assertNotIn("dnf-test-dev.", output) diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py index e16c230dfa..e67d3750da 100644 --- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py @@ -67,6 +67,8 @@ common_errors = [ "was skipped because of a failed condition check", "was skipped because all trigger condition checks failed", "xf86OpenConsole: Switching VT failed", + "Failed to read LoaderConfigTimeoutOneShot variable, ignoring: Operation not supported", + "Failed to read LoaderEntryOneShot variable, ignoring: Operation not supported", ] video_related = [ diff --git a/poky/meta/lib/oeqa/selftest/cases/bblayers.py b/poky/meta/lib/oeqa/selftest/cases/bblayers.py index c6bd5a1f6a..b048948386 100644 --- a/poky/meta/lib/oeqa/selftest/cases/bblayers.py +++ b/poky/meta/lib/oeqa/selftest/cases/bblayers.py @@ -14,7 +14,9 @@ from oeqa.selftest.case import OESelftestTestCase class BitbakeLayers(OESelftestTestCase): - def setUpLocal(self): + @classmethod + def setUpClass(cls): + super(BitbakeLayers, cls).setUpClass() bitbake("python3-jsonschema-native") bitbake("-c addto_recipe_sysroot python3-jsonschema-native") diff --git a/poky/meta/lib/oeqa/selftest/cases/debuginfod.py b/poky/meta/lib/oeqa/selftest/cases/debuginfod.py index 01359ec649..3c40119282 100644 --- a/poky/meta/lib/oeqa/selftest/cases/debuginfod.py +++ b/poky/meta/lib/oeqa/selftest/cases/debuginfod.py @@ -10,16 +10,24 @@ import subprocess from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake, get_bb_var, runqemu + class Debuginfod(OESelftestTestCase): def test_debuginfod(self): - self.write_config(""" + self.write_config( + """ DISTRO_FEATURES:append = " debuginfod" CORE_IMAGE_EXTRA_INSTALL += "elfutils" - """) + """ + ) bitbake("core-image-minimal elfutils-native:do_addto_recipe_sysroot") native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "elfutils-native") - cmd = [os.path.join(native_sysroot, "usr", "bin", "debuginfod"), "--verbose", get_bb_var("DEPLOY_DIR")] + cmd = [ + os.path.join(native_sysroot, "usr", "bin", "debuginfod"), + "--verbose", + "--database=:memory:", + get_bb_var("DEPLOY_DIR"), + ] for format in get_bb_var("PACKAGE_CLASSES").split(): if format == "package_deb": cmd.append("--scan-deb-dir") @@ -36,7 +44,10 @@ CORE_IMAGE_EXTRA_INSTALL += "elfutils" debuginfod = subprocess.Popen(cmd) with runqemu("core-image-minimal", runqemuparams="nographic") as qemu: - cmd = "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/debuginfod" % (qemu.server_ip, port) + cmd = ( + "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/debuginfod" + % (qemu.server_ip, port) + ) status, output = qemu.run_serial(cmd) # This should be more comprehensive self.assertIn("/.cache/debuginfod_client/", output) diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py index bff22f21b6..57a8c8bdb6 100644 --- a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py +++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py @@ -333,24 +333,14 @@ EXTRA_IMAGE_FEATURES += "package-management" self.assertTrue("overlayfs-etc" in res.output, msg=res.output) self.assertTrue("package-management" in res.output, msg=res.output) - def test_image_feature_is_missing_class_included(self): - configAppend = """ -INHERIT += "overlayfs-etc" -""" - self.run_check_image_feature(configAppend) - def test_image_feature_is_missing(self): - self.run_check_image_feature() - - def run_check_image_feature(self, appendToConfig=""): """ Summary: Overlayfs-etc class is not applied when image feature is not set - even if we inherit it directly, Expected: Image is created successfully but /etc is not an overlay Author: Vyacheslav Yurkov <uvv.mail@gmail.com> """ - config = f""" + config = """ DISTRO_FEATURES:append = " systemd" # Use systemd as init manager @@ -366,7 +356,6 @@ EXTRA_IMAGE_FEATURES += "read-only-rootfs" # Image configuration for overlayfs-etc OVERLAYFS_ETC_MOUNT_POINT = "/data" OVERLAYFS_ETC_DEVICE = "/dev/sda3" -{appendToConfig} """ self.write_config(config) @@ -392,28 +381,7 @@ OVERLAYFS_ETC_DEVICE = "/dev/sda3" Author: Vyacheslav Yurkov <uvv.mail@gmail.com> """ - config = """ -DISTRO_FEATURES:append = " systemd" - -# Use systemd as init manager -VIRTUAL-RUNTIME_init_manager = "systemd" - -# enable overlayfs in the kernel -KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" - -IMAGE_FSTYPES += "wic" -OVERLAYFS_INIT_OPTION = "{OVERLAYFS_INIT_OPTION}" -WKS_FILE = "overlayfs_etc.wks.in" - -EXTRA_IMAGE_FEATURES += "read-only-rootfs" -# Image configuration for overlayfs-etc -EXTRA_IMAGE_FEATURES += "overlayfs-etc" -IMAGE_FEATURES:remove = "package-management" -OVERLAYFS_ETC_MOUNT_POINT = "/data" -OVERLAYFS_ETC_FSTYPE = "ext4" -OVERLAYFS_ETC_DEVICE = "/dev/sda3" -OVERLAYFS_ETC_USE_ORIG_INIT_NAME = "{OVERLAYFS_ETC_USE_ORIG_INIT_NAME}" -""" + config = self.get_working_config() args = { 'OVERLAYFS_INIT_OPTION': "" if origInit else "init=/sbin/preinit", @@ -434,6 +402,11 @@ OVERLAYFS_ETC_USE_ORIG_INIT_NAME = "{OVERLAYFS_ETC_USE_ORIG_INIT_NAME}" line = getline_qemu(output, "upperdir=/data/overlay-etc/upper") self.assertTrue(line and line.startswith("/data/overlay-etc/upper on /etc type overlay"), msg=output) + # check that lower layer is not available + status, output = qemu.run_serial("ls -1 /data/overlay-etc/lower") + line = getline_qemu(output, "No such file or directory") + self.assertTrue(line, msg=output) + status, output = qemu.run_serial("touch " + testFile) status, output = qemu.run_serial("sync") status, output = qemu.run_serial("ls -1 " + testFile) @@ -445,3 +418,65 @@ OVERLAYFS_ETC_USE_ORIG_INIT_NAME = "{OVERLAYFS_ETC_USE_ORIG_INIT_NAME}" status, output = qemu.run_serial("ls -1 " + testFile) line = getline_qemu(output, testFile) self.assertTrue(line and line.startswith(testFile), msg=output) + + def test_lower_layer_access(self): + """ + Summary: Test that lower layer of /etc is available read-only when configured + Expected: Can't write to lower layer. The files on lower and upper different after + modification + Author: Vyacheslav Yurkov <uvv.mail@gmail.com> + """ + + config = self.get_working_config() + + configLower = """ +OVERLAYFS_ETC_EXPOSE_LOWER = "1" +IMAGE_INSTALL:append = " overlayfs-user" +""" + testFile = "lower-layer-test.txt" + + args = { + 'OVERLAYFS_INIT_OPTION': "", + 'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': 1 + } + + self.write_config(config.format(**args)) + + self.append_config(configLower) + bitbake('core-image-minimal') + + with runqemu('core-image-minimal', image_fstype='wic') as qemu: + status, output = qemu.run_serial("echo \"Modified in upper\" > /etc/" + testFile) + status, output = qemu.run_serial("diff /etc/" + testFile + " /data/overlay-etc/lower/" + testFile) + line = getline_qemu(output, "Modified in upper") + self.assertTrue(line, msg=output) + line = getline_qemu(output, "Original file") + self.assertTrue(line, msg=output) + + status, output = qemu.run_serial("touch /data/overlay-etc/lower/ro-test.txt") + line = getline_qemu(output, "Read-only file system") + self.assertTrue(line, msg=output) + + def get_working_config(self): + return """ +DISTRO_FEATURES:append = " systemd" + +# Use systemd as init manager +VIRTUAL-RUNTIME_init_manager = "systemd" + +# enable overlayfs in the kernel +KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" + +IMAGE_FSTYPES += "wic" +OVERLAYFS_INIT_OPTION = "{OVERLAYFS_INIT_OPTION}" +WKS_FILE = "overlayfs_etc.wks.in" + +EXTRA_IMAGE_FEATURES += "read-only-rootfs" +# Image configuration for overlayfs-etc +EXTRA_IMAGE_FEATURES += "overlayfs-etc" +IMAGE_FEATURES:remove = "package-management" +OVERLAYFS_ETC_MOUNT_POINT = "/data" +OVERLAYFS_ETC_FSTYPE = "ext4" +OVERLAYFS_ETC_DEVICE = "/dev/sda3" +OVERLAYFS_ETC_USE_ORIG_INIT_NAME = "{OVERLAYFS_ETC_USE_ORIG_INIT_NAME}" +""" diff --git a/poky/meta/lib/oeqa/utils/decorators.py b/poky/meta/lib/oeqa/utils/decorators.py index aabf4110cb..ea90164e5e 100644 --- a/poky/meta/lib/oeqa/utils/decorators.py +++ b/poky/meta/lib/oeqa/utils/decorators.py @@ -16,91 +16,6 @@ import threading import signal from functools import wraps -#get the "result" object from one of the upper frames provided that one of these upper frames is a unittest.case frame -class getResults(object): - def __init__(self): - #dynamically determine the unittest.case frame and use it to get the name of the test method - ident = threading.current_thread().ident - upperf = sys._current_frames()[ident] - while (upperf.f_globals['__name__'] != 'unittest.case'): - upperf = upperf.f_back - - def handleList(items): - ret = [] - # items is a list of tuples, (test, failure) or (_ErrorHandler(), Exception()) - for i in items: - s = i[0].id() - #Handle the _ErrorHolder objects from skipModule failures - if "setUpModule (" in s: - ret.append(s.replace("setUpModule (", "").replace(")","")) - else: - ret.append(s) - # Append also the test without the full path - testname = s.split('.')[-1] - if testname: - ret.append(testname) - return ret - self.faillist = handleList(upperf.f_locals['result'].failures) - self.errorlist = handleList(upperf.f_locals['result'].errors) - self.skiplist = handleList(upperf.f_locals['result'].skipped) - - def getFailList(self): - return self.faillist - - def getErrorList(self): - return self.errorlist - - def getSkipList(self): - return self.skiplist - -class skipIfFailure(object): - - def __init__(self,testcase): - self.testcase = testcase - - def __call__(self,f): - @wraps(f) - def wrapped_f(*args, **kwargs): - res = getResults() - if self.testcase in (res.getFailList() or res.getErrorList()): - raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase) - return f(*args, **kwargs) - wrapped_f.__name__ = f.__name__ - return wrapped_f - -class skipIfSkipped(object): - - def __init__(self,testcase): - self.testcase = testcase - - def __call__(self,f): - @wraps(f) - def wrapped_f(*args, **kwargs): - res = getResults() - if self.testcase in res.getSkipList(): - raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase) - return f(*args, **kwargs) - wrapped_f.__name__ = f.__name__ - return wrapped_f - -class skipUnlessPassed(object): - - def __init__(self,testcase): - self.testcase = testcase - - def __call__(self,f): - @wraps(f) - def wrapped_f(*args, **kwargs): - res = getResults() - if self.testcase in res.getSkipList() or \ - self.testcase in res.getFailList() or \ - self.testcase in res.getErrorList(): - raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase) - return f(*args, **kwargs) - wrapped_f.__name__ = f.__name__ - wrapped_f._depends_on = self.testcase - return wrapped_f - class testcase(object): def __init__(self, test_case): self.test_case = test_case diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py index 4c3d2010fb..6a85f57e49 100644 --- a/poky/meta/lib/oeqa/utils/qemurunner.py +++ b/poky/meta/lib/oeqa/utils/qemurunner.py @@ -85,7 +85,7 @@ class QemuRunner: accepted_patterns = ['search_reached_prompt', 'send_login_user', 'search_login_succeeded', 'search_cmd_finished'] default_boot_patterns = defaultdict(str) # Default to the usual paterns used to communicate with the target - default_boot_patterns['search_reached_prompt'] = b' login:' + default_boot_patterns['search_reached_prompt'] = ' login:' default_boot_patterns['send_login_user'] = 'root\n' default_boot_patterns['search_login_succeeded'] = r"root@[a-zA-Z0-9\-]+:~#" default_boot_patterns['search_cmd_finished'] = r"[a-zA-Z0-9]+@[a-zA-Z0-9\-]+:~#" @@ -109,12 +109,15 @@ class QemuRunner: sock.close() raise + def decode_qemulog(self, todecode): + # Sanitize the data received from qemu as it may contain control characters + msg = todecode.decode("utf-8", errors='ignore') + msg = re_control_char.sub('', msg) + return msg + def log(self, msg): if self.logfile: - # It is needed to sanitize the data received from qemu - # because is possible to have control characters - msg = msg.decode("utf-8", errors='ignore') - msg = re_control_char.sub('', msg) + msg = self.decode_qemulog(msg) self.msg += msg with codecs.open(self.logfile, "a", encoding="utf-8") as f: f.write("%s" % msg) @@ -188,8 +191,8 @@ class QemuRunner: importlib.invalidate_caches() try: qmp = importlib.import_module("qmp") - except: - self.logger.error("qemurunner: qmp.py missing, please ensure it's installed") + except Exception as e: + self.logger.error("qemurunner: qmp.py missing, please ensure it's installed (%s)" % str(e)) return False # Path relative to tmpdir used as cwd for qemu below to avoid unix socket path length issues qmp_file = "." + next(tempfile._get_candidate_names()) @@ -325,7 +328,8 @@ class QemuRunner: try: os.chdir(os.path.dirname(qmp_port)) try: - self.qmp = qmp.QEMUMonitorProtocol(os.path.basename(qmp_port)) + from qmp.legacy import QEMUMonitorProtocol + self.qmp = QEMUMonitorProtocol(os.path.basename(qmp_port)) except OSError as msg: self.logger.warning("Failed to initialize qemu monitor socket: %s File: %s" % (msg, msg.filename)) return False @@ -467,13 +471,15 @@ class QemuRunner: self.log(data) data = b'' - if self.boot_patterns['search_reached_prompt'] in bootlog: + + decodedlog = self.decode_qemulog(bootlog) + if self.boot_patterns['search_reached_prompt'] in decodedlog: self.server_socket = qemusock stopread = True reachedlogin = True - self.logger.debug("Reached login banner in %s seconds (%s)" % + self.logger.debug("Reached login banner in %s seconds (%s, %s)" % (time.time() - (endtime - self.boottime), - time.strftime("%D %H:%M:%S"))) + time.strftime("%D %H:%M:%S"), time.time())) else: # no need to check if reachedlogin unless we support multiple connections self.logger.debug("QEMU socket disconnected before login banner reached. (%s)" % @@ -487,10 +493,10 @@ class QemuRunner: self.logger.warning("Target didn't reach login banner in %d seconds (%s)" % (self.boottime, time.strftime("%D %H:%M:%S"))) tail = lambda l: "\n".join(l.splitlines()[-25:]) - bootlog = bootlog.decode("utf-8") + bootlog = self.decode_qemulog(bootlog) # in case bootlog is empty, use tail qemu log store at self.msg lines = tail(bootlog if bootlog else self.msg) - self.logger.warning("Last 25 lines of text:\n%s" % lines) + self.logger.warning("Last 25 lines of text (%d):\n%s" % (len(bootlog), lines)) self.logger.warning("Check full boot log: %s" % self.logfile) self._dump_host() self.stop() diff --git a/poky/meta/recipes-bsp/grub/files/0001-configure-Remove-obsoleted-malign-jumps-loops-functi.patch b/poky/meta/recipes-bsp/grub/files/0001-configure-Remove-obsoleted-malign-jumps-loops-functi.patch new file mode 100644 index 0000000000..98142a7b60 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/0001-configure-Remove-obsoleted-malign-jumps-loops-functi.patch @@ -0,0 +1,48 @@ +From eb486898dac8cbc29b2cc39f911b657c3417ae34 Mon Sep 17 00:00:00 2001 +From: Fangrui Song via Grub-devel <grub-devel@gnu.org> +Date: Thu, 26 Aug 2021 09:02:31 -0700 +Subject: [PATCH 1/2] configure: Remove obsoleted -malign-{jumps, loops, + functions} +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The GCC warns "cc1: warning: ‘-malign-loops’ is obsolete, use ‘-falign-loops’". +The Clang silently ignores -malign-{jumps,loops,functions}. + +The preferred -falign-* forms have been supported since GCC 3.2. So, just +remove -malign-{jumps,loops,functions}. + +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=eb486898dac8cbc29b2cc39f911b657c3417ae34] +Signed-off-by: Fangrui Song <maskray@google.com> +Acked-by: Paul Menzel <pmenzel@molgen.mpg.de> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +--- + configure.ac | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/configure.ac b/configure.ac +index bee28dbeb..9a12151bd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -805,17 +805,8 @@ if test "x$target_cpu" = xi386; then + [grub_cv_cc_falign_loop=no]) + ]) + +- AC_CACHE_CHECK([whether -malign-loops works], [grub_cv_cc_malign_loop], [ +- CFLAGS="$TARGET_CFLAGS -malign-loops=1 -Werror" +- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], +- [grub_cv_cc_malign_loop=yes], +- [grub_cv_cc_malign_loop=no]) +- ]) +- + if test "x$grub_cv_cc_falign_loop" = xyes; then + TARGET_CFLAGS="$TARGET_CFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1" +- elif test "x$grub_cv_cc_malign_loop" = xyes; then +- TARGET_CFLAGS="$TARGET_CFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1" + fi + fi + +-- +2.37.3 + diff --git a/poky/meta/recipes-bsp/grub/files/0002-configure-Check-for-falign-jumps-1-beside-falign-loo.patch b/poky/meta/recipes-bsp/grub/files/0002-configure-Check-for-falign-jumps-1-beside-falign-loo.patch new file mode 100644 index 0000000000..437e5b29b2 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/files/0002-configure-Check-for-falign-jumps-1-beside-falign-loo.patch @@ -0,0 +1,59 @@ +From e372dcb0d4541ee9b9682cde088ec87a7b238ca2 Mon Sep 17 00:00:00 2001 +From: Fangrui Song via Grub-devel <grub-devel@gnu.org> +Date: Thu, 26 Aug 2021 09:02:32 -0700 +Subject: [PATCH 2/2] configure: Check for -falign-jumps=1 beside + -falign-loops=1 + +The Clang does not support -falign-jumps and only recently gained support +for -falign-loops. The -falign-jumps=1 should be tested beside +-fliang-loops=1 to avoid passing unrecognized options to the Clang: + + clang-14: error: optimization flag '-falign-jumps=1' is not supported [-Werror,-Wignored-optimization-argument] + +The -falign-functions=1 is supported by GCC 5.1.0/Clang 3.8.0. So, just +add the option unconditionally. + +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e372dcb0d4541ee9b9682cde088ec87a7b238ca2] +Signed-off-by: Fangrui Song <maskray@google.com> +Acked-by: Paul Menzel <pmenzel@molgen.mpg.de> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +--- + configure.ac | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 9a12151bd..eeb5d2211 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -798,6 +798,8 @@ fi + + # Force no alignment to save space on i386. + if test "x$target_cpu" = xi386; then ++ TARGET_CFLAGS="$TARGET_CFLAGS -falign-functions=1" ++ + AC_CACHE_CHECK([whether -falign-loops works], [grub_cv_cc_falign_loop], [ + CFLAGS="$TARGET_CFLAGS -falign-loops=1 -Werror" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], +@@ -806,7 +808,18 @@ if test "x$target_cpu" = xi386; then + ]) + + if test "x$grub_cv_cc_falign_loop" = xyes; then +- TARGET_CFLAGS="$TARGET_CFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1" ++ TARGET_CFLAGS="$TARGET_CFLAGS -falign-loops=1" ++ fi ++ ++ AC_CACHE_CHECK([whether -falign-jumps works], [grub_cv_cc_falign_jumps], [ ++ CFLAGS="$TARGET_CFLAGS -falign-jumps=1 -Werror" ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], ++ [grub_cv_cc_falign_jumps=yes], ++ [grub_cv_cc_falign_jumps=no]) ++ ]) ++ ++ if test "x$grub_cv_cc_falign_jumps" = xyes; then ++ TARGET_CFLAGS="$TARGET_CFLAGS -falign-jumps=1" + fi + fi + +-- +2.37.3 + diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc index 47ea561002..2545b99b6a 100644 --- a/poky/meta/recipes-bsp/grub/grub2.inc +++ b/poky/meta/recipes-bsp/grub/grub2.inc @@ -32,6 +32,8 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \ file://CVE-2022-28734-net-http-Fix-OOB-write-for-split-http-headers.patch \ file://CVE-2022-28734-net-http-Error-out-on-headers-with-LF-without-CR.patch \ file://CVE-2022-28735-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch \ + file://0001-configure-Remove-obsoleted-malign-jumps-loops-functi.patch \ + file://0002-configure-Check-for-falign-jumps-1-beside-falign-loo.patch \ " SRC_URI[sha256sum] = "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f" @@ -43,9 +45,13 @@ CVE_CHECK_IGNORE += "CVE-2021-46705" DEPENDS = "flex-native bison-native gettext-native" -COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|riscv.*)-(linux.*|freebsd.*)' -COMPATIBLE_HOST:armv7a = 'null' -COMPATIBLE_HOST:armv7ve = 'null' +GRUB_COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|riscv.*)-(linux.*|freebsd.*)' +COMPATIBLE_HOST = "${GRUB_COMPATIBLE_HOST}" +# Grub doesn't support hard float toolchain and won't be able to forcefully +# disable it on some of the target CPUs. See 'configure.ac' for +# supported/unsupported CPUs in hardfp. +COMPATIBLE_HOST:armv7a = "${@'null' if d.getVar('TUNE_CCARGS_MFLOAT') == 'hardfp' else d.getVar('GRUB_COMPATIBLE_HOST')}" +COMPATIBLE_HOST:armv7ve = "${@'null' if d.getVar('TUNE_CCARGS_MFLOAT') == 'hardfp' else d.getVar('GRUB_COMPATIBLE_HOST')}" # configure.ac has code to set this automagically from the target tuple # but the OE freeform one (core2-foo-bar-linux) don't work with that. diff --git a/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb b/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.3.bb index e8f58941cf..55f91b6f05 100644 --- a/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb +++ b/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.3.bb @@ -6,12 +6,12 @@ It provides a hardware-independent replacement for fw_printenv/setenv utilities provided by U-Boot" HOMEPAGE = "https://github.com/sbabic/libubootenv" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c" SECTION = "libs" SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https;branch=master" -SRCREV = "ba7564f5006d09bec51058cf4f5ac90d4dc18b3c" +SRCREV = "108100622160bb0c7ef4b6186230fe1f26402791" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2022.07.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2022.07.bb index 0d2464d74b..1ae575790c 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot_2022.07.bb +++ b/poky/meta/recipes-bsp/u-boot/u-boot_2022.07.bb @@ -1,7 +1,7 @@ require u-boot-common.inc require u-boot.inc -SRC_URI:append = " file://0001-riscv32-Use-double-float-ABI-for-rv32.patch \ +SRC_URI += " file://0001-riscv32-Use-double-float-ABI-for-rv32.patch \ file://0001-riscv-fix-build-with-binutils-2.38.patch \ " diff --git a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb index a2efe7e80a..a830385352 100644 --- a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb +++ b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb @@ -19,7 +19,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ file://avahi-daemon/main.c;endline=21;md5=9ee77368c5407af77caaef1b07285969 \ file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf" -SRC_URI = "https://github.com/lathiat/avahi/releases/download/v${PV}/avahi-${PV}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/avahi-${PV}.tar.gz \ file://00avahi-autoipd \ file://99avahi-autoipd \ file://initscript.patch \ @@ -28,7 +28,7 @@ SRC_URI = "https://github.com/lathiat/avahi/releases/download/v${PV}/avahi-${PV} file://local-ping.patch \ " -UPSTREAM_CHECK_URI = "https://github.com/lathiat/avahi/releases/" +GITHUB_BASE_URI = "https://github.com/lathiat/avahi/releases/" SRC_URI[md5sum] = "229c6aa30674fc43c202b22c5f8c2be7" SRC_URI[sha256sum] = "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda" @@ -48,7 +48,7 @@ PACKAGECONFIG[libdns_sd] = "--enable-compat-libdns_sd --enable-dbus,,dbus" PACKAGECONFIG[libevent] = "--enable-libevent,--disable-libevent,libevent" PACKAGECONFIG[qt5] = "--enable-qt5,--disable-qt5,qtbase" -inherit autotools pkgconfig gettext gobject-introspection +inherit autotools pkgconfig gettext gobject-introspection github-releases EXTRA_OECONF = "--with-avahi-priv-access-group=adm \ --disable-stack-protector \ diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.7/0001-avoid-start-failure-with-bind-user.patch index ec1bc7b567..ec1bc7b567 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-avoid-start-failure-with-bind-user.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.7/0001-avoid-start-failure-with-bind-user.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.7/0001-named-lwresd-V-and-start-log-hide-build-options.patch index 4c10f33f04..4c10f33f04 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.6/0001-named-lwresd-V-and-start-log-hide-build-options.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.7/0001-named-lwresd-V-and-start-log-hide-build-options.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.6/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.7/bind-ensure-searching-for-json-headers-searches-sysr.patch index f1abd179e8..f1abd179e8 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.6/bind-ensure-searching-for-json-headers-searches-sysr.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.7/bind-ensure-searching-for-json-headers-searches-sysr.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.6/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.18.7/bind9 index 968679ff7f..968679ff7f 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.6/bind9 +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.7/bind9 diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.6/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.7/conf.patch index aa3642acec..aa3642acec 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.6/conf.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.7/conf.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.6/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.18.7/generate-rndc-key.sh index 633e29c0e6..633e29c0e6 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.6/generate-rndc-key.sh +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.7/generate-rndc-key.sh diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.6/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.7/init.d-add-support-for-read-only-rootfs.patch index 11db95ede1..11db95ede1 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.6/init.d-add-support-for-read-only-rootfs.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.7/init.d-add-support-for-read-only-rootfs.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.6/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.7/make-etc-initd-bind-stop-work.patch index 146f3e35db..146f3e35db 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.6/make-etc-initd-bind-stop-work.patch +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.7/make-etc-initd-bind-stop-work.patch diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.6/named.service b/poky/meta/recipes-connectivity/bind/bind-9.18.7/named.service index cda56ef015..cda56ef015 100644 --- a/poky/meta/recipes-connectivity/bind/bind-9.18.6/named.service +++ b/poky/meta/recipes-connectivity/bind/bind-9.18.7/named.service diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.6.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.7.bb index 5f54942776..4ab11486bf 100644 --- a/poky/meta/recipes-connectivity/bind/bind_9.18.6.bb +++ b/poky/meta/recipes-connectivity/bind/bind_9.18.7.bb @@ -20,7 +20,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \ file://0001-avoid-start-failure-with-bind-user.patch \ " -SRC_URI[sha256sum] = "d43a0fed03c774d1685d203598218c0b7774a88fcc390a0170710d5feb7fbff1" +SRC_URI[sha256sum] = "9e2acf1698f49d70ad12ffbad39ec6716a7da524e9ebd98429c7c70ba1262981" UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" # follow the ESV versions divisible by 2 diff --git a/poky/meta/recipes-connectivity/connman/connman/connman b/poky/meta/recipes-connectivity/connman/connman/connman index 310a696863..a021fd4655 100644 --- a/poky/meta/recipes-connectivity/connman/connman/connman +++ b/poky/meta/recipes-connectivity/connman/connman/connman @@ -10,48 +10,11 @@ fi set -e -nfsroot=0 - -exec 9<&0 < /proc/mounts -while read dev mtpt fstype rest; do - if test $mtpt = "/" ; then - case $fstype in - nfs | nfs4) - nfsroot=1 - break - ;; - *) - ;; - esac - fi -done - do_start() { - if test $nfsroot -eq 1 ; then - NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'` - NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'` - - if [ ! -z "$NET_ADDR" ]; then - if [ "$NET_ADDR" = dhcp ]; then - ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"` - if [ ! -z "$ethn" ]; then - EXTRA_PARAM="$EXTRA_PARAM -I $ethn" - fi - else - for i in $NET_DEVS; do - ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'` - if [ "$NET_ADDR" = "$ADDR" ]; then - EXTRA_PARAM="$EXTRA_PARAM -I $i" - break - fi - done - fi - fi - fi if [ -f @DATADIR@/connman/wired-setup ] ; then . @DATADIR@/connman/wired-setup fi - $DAEMON $EXTRA_PARAM + $DAEMON } do_stop() { diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2022-39028.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2022-39028.patch new file mode 100644 index 0000000000..3b07515c7b --- /dev/null +++ b/poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2022-39028.patch @@ -0,0 +1,54 @@ +From d52349fa1b6baac77ffa2c74769636aa2ece2ec5 Mon Sep 17 00:00:00 2001 +From: Erik Auerswald <auerswal@unix-ag.uni-kl.de> +Date: Sat, 3 Sep 2022 16:58:16 +0200 +Subject: [PATCH] telnetd: Handle early IAC EC or IAC EL receipt + +Fix telnetd crash if the first two bytes of a new connection +are 0xff 0xf7 (IAC EC) or 0xff 0xf8 (IAC EL). + +The problem was reported in: +<https://pierrekim.github.io/blog/2022-08-24-2-byte-dos-freebsd-netbsd-telnetd-netkit-telnetd-inetutils-telnetd-kerberos-telnetd.html>. + +* NEWS: Mention fix. +* telnetd/state.c (telrcv): Handle zero slctab[SLC_EC].sptr and +zero slctab[SLC_EL].sptr. + +CVE: CVE-2022-39028 +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=fae8263e467380483c28513c0e5fac143e46f94f] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + telnetd/state.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/telnetd/state.c b/telnetd/state.c +index ffc6cba..c2d760f 100644 +--- a/telnetd/state.c ++++ b/telnetd/state.c +@@ -312,15 +312,21 @@ telrcv (void) + case EC: + case EL: + { +- cc_t ch; ++ cc_t ch = (cc_t) (_POSIX_VDISABLE); + + DEBUG (debug_options, 1, printoption ("td: recv IAC", c)); + ptyflush (); /* half-hearted */ + init_termbuf (); + if (c == EC) +- ch = *slctab[SLC_EC].sptr; ++ { ++ if (slctab[SLC_EC].sptr) ++ ch = *slctab[SLC_EC].sptr; ++ } + else +- ch = *slctab[SLC_EL].sptr; ++ { ++ if (slctab[SLC_EL].sptr) ++ ch = *slctab[SLC_EL].sptr; ++ } + if (ch != (cc_t) (_POSIX_VDISABLE)) + pty_output_byte ((unsigned char) ch); + break; +-- +2.37.3 + diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_2.3.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_2.3.bb index 1e8f63637e..2fce84374d 100644 --- a/poky/meta/recipes-connectivity/inetutils/inetutils_2.3.bb +++ b/poky/meta/recipes-connectivity/inetutils/inetutils_2.3.bb @@ -21,6 +21,7 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \ file://tftpd.xinetd.inetutils \ file://inetutils-1.9-PATH_PROCNET_DEV.patch \ file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \ + file://CVE-2022-39028.patch \ " inherit autotools gettext update-alternatives texinfo diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2.inc b/poky/meta/recipes-connectivity/iproute2/iproute2.inc deleted file mode 100644 index b1bcc1434c..0000000000 --- a/poky/meta/recipes-connectivity/iproute2/iproute2.inc +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY = "TCP / IP networking and traffic control utilities" -DESCRIPTION = "Iproute2 is a collection of utilities for controlling \ -TCP / IP networking and traffic control in Linux. Of the utilities ip \ -and tc are the most important. ip controls IPv4 and IPv6 \ -configuration and tc stands for traffic control." -HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ - file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817" - -DEPENDS = "flex-native bison-native iptables libcap" - -inherit update-alternatives bash-completion pkgconfig - -CLEANBROKEN = "1" - -PACKAGECONFIG ??= "tipc elf devlink" -PACKAGECONFIG[tipc] = ",,libmnl," -PACKAGECONFIG[elf] = ",,elfutils," -PACKAGECONFIG[devlink] = ",,libmnl," -PACKAGECONFIG[rdma] = ",,libmnl," - -IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}" - -EXTRA_OEMAKE = "\ - CC='${CC}' \ - KERNEL_INCLUDE=${STAGING_INCDIR} \ - DOCDIR=${docdir}/iproute2 \ - SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \ - SBINDIR='${base_sbindir}' \ - LIBDIR='${libdir}' \ -" - -do_configure:append () { - sh configure ${STAGING_INCDIR} - # Explicitly disable ATM support - sed -i -e '/TC_CONFIG_ATM/d' config.mk -} - -do_install () { - oe_runmake DESTDIR=${D} install - mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2 - install -d ${D}${datadir} - mv ${D}/share/* ${D}${datadir}/ || true - rm ${D}/share -rf || true -} - -# The .so files in iproute2-tc are modules, not traditional libraries -INSANE_SKIP:${PN}-tc = "dev-so" - -IPROUTE2_PACKAGES =+ "\ - ${PN}-devlink \ - ${PN}-genl \ - ${PN}-ifstat \ - ${PN}-ip \ - ${PN}-lnstat \ - ${PN}-nstat \ - ${PN}-rtacct \ - ${PN}-ss \ - ${PN}-tc \ - ${PN}-tipc \ - ${PN}-rdma \ -" - -PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}" -RDEPENDS:${PN} += "${PN}-ip" - -FILES:${PN}-tc = "${base_sbindir}/tc* \ - ${libdir}/tc/*.so" -FILES:${PN}-lnstat = "${base_sbindir}/lnstat \ - ${base_sbindir}/ctstat \ - ${base_sbindir}/rtstat" -FILES:${PN}-ifstat = "${base_sbindir}/ifstat" -FILES:${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2" -FILES:${PN}-genl = "${base_sbindir}/genl" -FILES:${PN}-rtacct = "${base_sbindir}/rtacct" -FILES:${PN}-nstat = "${base_sbindir}/nstat" -FILES:${PN}-ss = "${base_sbindir}/ss" -FILES:${PN}-tipc = "${base_sbindir}/tipc" -FILES:${PN}-devlink = "${base_sbindir}/devlink" -FILES:${PN}-rdma = "${base_sbindir}/rdma" - -ALTERNATIVE:${PN}-ip = "ip" -ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}" -ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip" -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE:${PN}-tc = "tc" -ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc" -ALTERNATIVE_PRIORITY_${PN}-tc = "100" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.19.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.19.0.bb index 6a007797c9..3cbf80a810 100644 --- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.19.0.bb +++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.19.0.bb @@ -1,4 +1,15 @@ -require iproute2.inc +SUMMARY = "TCP / IP networking and traffic control utilities" +DESCRIPTION = "Iproute2 is a collection of utilities for controlling \ +TCP / IP networking and traffic control in Linux. Of the utilities ip \ +and tc are the most important. ip controls IPv4 and IPv6 \ +configuration and tc stands for traffic control." +HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ + file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817" + +DEPENDS = "flex-native bison-native iptables libcap" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ file://0001-libc-compat.h-add-musl-workaround.patch \ @@ -8,6 +19,82 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ SRC_URI[sha256sum] = "26b7a34d6a7fd2f7a42e2b39c5a90cb61bac522d1096067ffeb195e5693d7791" +inherit update-alternatives bash-completion pkgconfig + +PACKAGECONFIG ??= "tipc elf devlink" +PACKAGECONFIG[tipc] = ",,libmnl," +PACKAGECONFIG[elf] = ",,elfutils," +PACKAGECONFIG[devlink] = ",,libmnl," +PACKAGECONFIG[rdma] = ",,libmnl," + +IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}" + # CFLAGS are computed in Makefile and reference CCOPTS # -EXTRA_OEMAKE:append = " CCOPTS='${CFLAGS}'" +EXTRA_OEMAKE = "\ + CC='${CC}' \ + KERNEL_INCLUDE=${STAGING_INCDIR} \ + DOCDIR=${docdir}/iproute2 \ + SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \ + SBINDIR='${base_sbindir}' \ + LIBDIR='${libdir}' \ + CCOPTS='${CFLAGS}' \ +" + +do_configure:append () { + sh configure ${STAGING_INCDIR} + # Explicitly disable ATM support + sed -i -e '/TC_CONFIG_ATM/d' config.mk +} + +do_install () { + oe_runmake DESTDIR=${D} install + mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2 + install -d ${D}${datadir} + mv ${D}/share/* ${D}${datadir}/ || true + rm ${D}/share -rf || true +} + +# The .so files in iproute2-tc are modules, not traditional libraries +INSANE_SKIP:${PN}-tc = "dev-so" + +IPROUTE2_PACKAGES =+ "\ + ${PN}-devlink \ + ${PN}-genl \ + ${PN}-ifstat \ + ${PN}-ip \ + ${PN}-lnstat \ + ${PN}-nstat \ + ${PN}-rtacct \ + ${PN}-ss \ + ${PN}-tc \ + ${PN}-tipc \ + ${PN}-rdma \ +" + +PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}" +RDEPENDS:${PN} += "${PN}-ip" + +FILES:${PN}-tc = "${base_sbindir}/tc* \ + ${libdir}/tc/*.so" +FILES:${PN}-lnstat = "${base_sbindir}/lnstat \ + ${base_sbindir}/ctstat \ + ${base_sbindir}/rtstat" +FILES:${PN}-ifstat = "${base_sbindir}/ifstat" +FILES:${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2" +FILES:${PN}-genl = "${base_sbindir}/genl" +FILES:${PN}-rtacct = "${base_sbindir}/rtacct" +FILES:${PN}-nstat = "${base_sbindir}/nstat" +FILES:${PN}-ss = "${base_sbindir}/ss" +FILES:${PN}-tipc = "${base_sbindir}/tipc" +FILES:${PN}-devlink = "${base_sbindir}/devlink" +FILES:${PN}-rdma = "${base_sbindir}/rdma" + +ALTERNATIVE:${PN}-ip = "ip" +ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}" +ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip" +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE:${PN}-tc = "tc" +ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc" +ALTERNATIVE_PRIORITY_${PN}-tc = "100" diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.34.bb b/poky/meta/recipes-connectivity/ofono/ofono_2.0.bb index 23631747a7..afd43d26f3 100644 --- a/poky/meta/recipes-connectivity/ofono/ofono_1.34.bb +++ b/poky/meta/recipes-connectivity/ofono/ofono_2.0.bb @@ -13,7 +13,7 @@ SRC_URI = "\ file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ file://0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch \ " -SRC_URI[sha256sum] = "c0b96d3013447ec2bcb74579bef90e4e59c68dbfa4b9c6fbce5d12401a43aac7" +SRC_URI[sha256sum] = "b0a31bf4d8ff3030c4aef9f8413df999c54df9db2ff0a1d3ec1710e0a9d1a49e" inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data diff --git a/poky/meta/recipes-core/busybox/busybox/0001-devmem-add-128-bit-width.patch b/poky/meta/recipes-core/busybox/busybox/0001-devmem-add-128-bit-width.patch new file mode 100644 index 0000000000..985e2bf1d9 --- /dev/null +++ b/poky/meta/recipes-core/busybox/busybox/0001-devmem-add-128-bit-width.patch @@ -0,0 +1,128 @@ +From d432049f288c9acdc4a7caa729c68ceba3c5dca1 Mon Sep 17 00:00:00 2001 +From: Aaro Koskinen <aaro.koskinen@nokia.com> +Date: Thu, 25 Aug 2022 18:47:02 +0300 +Subject: [PATCH] devmem: add 128-bit width + +Add 128-bit width if the compiler provides the needed type. + +function old new delta +devmem_main 405 464 +59 +.rodata 109025 109043 +18 +------------------------------------------------------------------------------ +(add/remove: 0/0 grow/shrink: 2/0 up/down: 77/0) Total: 77 bytes + +Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=d432049f288c9acdc4a7caa729c68ceba3c5dca1] + +Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com> +Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> +Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + miscutils/devmem.c | 68 ++++++++++++++++++++++++++++++---------------- + 1 file changed, 44 insertions(+), 24 deletions(-) + +diff --git a/miscutils/devmem.c b/miscutils/devmem.c +index f9f0276bc..f21621bd6 100644 +--- a/miscutils/devmem.c ++++ b/miscutils/devmem.c +@@ -29,7 +29,6 @@ int devmem_main(int argc UNUSED_PARAM, char **argv) + { + void *map_base, *virt_addr; + uint64_t read_result; +- uint64_t writeval = writeval; /* for compiler */ + off_t target; + unsigned page_size, mapped_size, offset_in_page; + int fd; +@@ -64,9 +63,6 @@ int devmem_main(int argc UNUSED_PARAM, char **argv) + width = strchrnul(bhwl, (argv[2][0] | 0x20)) - bhwl; + width = sizes[width]; + } +- /* VALUE */ +- if (argv[3]) +- writeval = bb_strtoull(argv[3], NULL, 0); + } else { /* argv[2] == NULL */ + /* make argv[3] to be a valid thing to fetch */ + argv--; +@@ -96,28 +92,46 @@ int devmem_main(int argc UNUSED_PARAM, char **argv) + virt_addr = (char*)map_base + offset_in_page; + + if (!argv[3]) { +- switch (width) { +- case 8: +- read_result = *(volatile uint8_t*)virt_addr; +- break; +- case 16: +- read_result = *(volatile uint16_t*)virt_addr; +- break; +- case 32: +- read_result = *(volatile uint32_t*)virt_addr; +- break; +- case 64: +- read_result = *(volatile uint64_t*)virt_addr; +- break; +- default: +- bb_simple_error_msg_and_die("bad width"); ++#ifdef __SIZEOF_INT128__ ++ if (width == 128) { ++ unsigned __int128 rd = ++ *(volatile unsigned __int128 *)virt_addr; ++ printf("0x%016llX%016llX\n", ++ (unsigned long long)(uint64_t)(rd >> 64), ++ (unsigned long long)(uint64_t)rd ++ ); ++ } else ++#endif ++ { ++ switch (width) { ++ case 8: ++ read_result = *(volatile uint8_t*)virt_addr; ++ break; ++ case 16: ++ read_result = *(volatile uint16_t*)virt_addr; ++ break; ++ case 32: ++ read_result = *(volatile uint32_t*)virt_addr; ++ break; ++ case 64: ++ read_result = *(volatile uint64_t*)virt_addr; ++ break; ++ default: ++ bb_simple_error_msg_and_die("bad width"); ++ } ++// printf("Value at address 0x%"OFF_FMT"X (%p): 0x%llX\n", ++// target, virt_addr, ++// (unsigned long long)read_result); ++ /* Zero-padded output shows the width of access just done */ ++ printf("0x%0*llX\n", (width >> 2), (unsigned long long)read_result); + } +-// printf("Value at address 0x%"OFF_FMT"X (%p): 0x%llX\n", +-// target, virt_addr, +-// (unsigned long long)read_result); +- /* Zero-padded output shows the width of access just done */ +- printf("0x%0*llX\n", (width >> 2), (unsigned long long)read_result); + } else { ++ /* parse VALUE */ ++#ifdef __SIZEOF_INT128__ ++ unsigned __int128 writeval = strtoumax(argv[3], NULL, 0); ++#else ++ uint64_t writeval = bb_strtoull(argv[3], NULL, 0); ++#endif + switch (width) { + case 8: + *(volatile uint8_t*)virt_addr = writeval; +@@ -135,6 +149,12 @@ int devmem_main(int argc UNUSED_PARAM, char **argv) + *(volatile uint64_t*)virt_addr = writeval; + // read_result = *(volatile uint64_t*)virt_addr; + break; ++#ifdef __SIZEOF_INT128__ ++ case 128: ++ *(volatile unsigned __int128 *)virt_addr = writeval; ++// read_result = *(volatile uint64_t*)virt_addr; ++ break; ++#endif + default: + bb_simple_error_msg_and_die("bad width"); + } +-- +2.25.1 + diff --git a/poky/meta/recipes-core/busybox/busybox_1.35.0.bb b/poky/meta/recipes-core/busybox/busybox_1.35.0.bb index edf896485e..e9ca6fdb1a 100644 --- a/poky/meta/recipes-core/busybox/busybox_1.35.0.bb +++ b/poky/meta/recipes-core/busybox/busybox_1.35.0.bb @@ -50,6 +50,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch \ file://0002-nslookup-sanitize-all-printed-strings-with-printable.patch \ file://CVE-2022-30065.patch \ + file://0001-devmem-add-128-bit-width.patch \ " SRC_URI:append:libc-musl = " file://musl.cfg " diff --git a/poky/meta/recipes-core/coreutils/coreutils_9.1.bb b/poky/meta/recipes-core/coreutils/coreutils_9.1.bb index 55663c7713..4807eefd04 100644 --- a/poky/meta/recipes-core/coreutils/coreutils_9.1.bb +++ b/poky/meta/recipes-core/coreutils/coreutils_9.1.bb @@ -46,6 +46,7 @@ PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr," PACKAGECONFIG[single-binary] = "--enable-single-binary,--disable-single-binary,," PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" +PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl" # [ df mktemp nice printenv base64 gets a special treatment and is not included in this bindir_progs = "arch basename chcon cksum comm csplit cut dir dircolors dirname du \ diff --git a/poky/meta/recipes-core/dropbear/dropbear/0007-Fix-X11-build-failure-use-DROPBEAR_PRIO_LOWDELAY.patch b/poky/meta/recipes-core/dropbear/dropbear/0007-Fix-X11-build-failure-use-DROPBEAR_PRIO_LOWDELAY.patch new file mode 100644 index 0000000000..042dccbb94 --- /dev/null +++ b/poky/meta/recipes-core/dropbear/dropbear/0007-Fix-X11-build-failure-use-DROPBEAR_PRIO_LOWDELAY.patch @@ -0,0 +1,28 @@ +From 64292091fe3e8ea7c9bfe74af730b2ff5428bf10 Mon Sep 17 00:00:00 2001 +From: Matt Johnston <matt@ucc.asn.au> +Date: Sat, 23 Apr 2022 22:33:31 +0800 +Subject: [PATCH] Fix X11 build failure, use DROPBEAR_PRIO_LOWDELAY + +Upstream-Status: Backport + +Signed-off-by: Daniel Gomez <daniel@qtec.com> +--- + svr-x11fwd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/svr-x11fwd.c b/svr-x11fwd.c +index 353cb12..5d9e6a9 100644 +--- a/svr-x11fwd.c ++++ b/svr-x11fwd.c +@@ -206,7 +206,7 @@ void x11cleanup(struct ChanSess *chansess) { + } + + static int x11_inithandler(struct Channel *channel) { +- channel->prio = DROPBEAR_CHANNEL_PRIO_INTERACTIVE; ++ channel->prio = DROPBEAR_PRIO_LOWDELAY; + return 0; + } + +-- +2.35.1 + diff --git a/poky/meta/recipes-core/dropbear/dropbear_2022.82.bb b/poky/meta/recipes-core/dropbear/dropbear_2022.82.bb index 2de243b889..41c14ff2f1 100644 --- a/poky/meta/recipes-core/dropbear/dropbear_2022.82.bb +++ b/poky/meta/recipes-core/dropbear/dropbear_2022.82.bb @@ -22,7 +22,8 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \ file://dropbear.socket \ file://dropbear.default \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} " + ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} \ + file://0007-Fix-X11-build-failure-use-DROPBEAR_PRIO_LOWDELAY.patch" SRC_URI[sha256sum] = "3a038d2bbc02bf28bbdd20c012091f741a3ec5cbe460691811d714876aad75d1" @@ -53,6 +54,7 @@ EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"' PACKAGECONFIG ?= "disable-weak-ciphers" PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt" PACKAGECONFIG[disable-weak-ciphers] = "" +PACKAGECONFIG[enable-x11-forwarding] = "" EXTRA_OECONF += "\ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}" @@ -64,6 +66,13 @@ EXTRA_OECONF += "--disable-harden" # musl does not implement wtmp/logwtmp APIs EXTRA_OECONF:append:libc-musl = " --disable-wtmp --disable-lastlog" +do_configure:append() { + echo "/* Dropbear features */" > ${B}/localoptions.h + if ${@bb.utils.contains('PACKAGECONFIG', 'enable-x11-forwarding', 'true', 'false', d)}; then + echo "#define DROPBEAR_X11FWD 1" >> ${B}/localoptions.h + fi +} + do_install() { install -d ${D}${sysconfdir} \ ${D}${sysconfdir}/init.d \ diff --git a/poky/meta/recipes-core/ell/ell_0.52.bb b/poky/meta/recipes-core/ell/ell_0.53.bb index b2af0d04f0..7817476030 100644 --- a/poky/meta/recipes-core/ell/ell_0.52.bb +++ b/poky/meta/recipes-core/ell/ell_0.53.bb @@ -15,7 +15,7 @@ DEPENDS = "dbus" inherit autotools pkgconfig SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "83099b14beda2b253a2c69460f9613c5e955b63349e3c00cf2fd506f5b3ba7d0" +SRC_URI[sha256sum] = "a7d0df846af839bbea1b80f292166371070328854b3fa785b5c607fe600552ad" do_configure:prepend () { mkdir -p ${S}/build-aux diff --git a/poky/meta/recipes-core/expat/expat_2.4.8.bb b/poky/meta/recipes-core/expat/expat_2.4.9.bb index 980c488640..9561edd84f 100644 --- a/poky/meta/recipes-core/expat/expat_2.4.8.bb +++ b/poky/meta/recipes-core/expat/expat_2.4.9.bb @@ -4,23 +4,24 @@ HOMEPAGE = "https://github.com/libexpat/libexpat" SECTION = "libs" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9" +LIC_FILES_CHKSUM = "file://COPYING;md5=7b3b078238d0901d3b339289117cb7fb" VERSION_TAG = "${@d.getVar('PV').replace('.', '_')}" -SRC_URI = "https://github.com/libexpat/libexpat/releases/download/R_${VERSION_TAG}/expat-${PV}.tar.bz2 \ +SRC_URI = "${GITHUB_BASE_URI}/download/R_${VERSION_TAG}/expat-${PV}.tar.bz2 \ file://run-ptest \ " -UPSTREAM_CHECK_URI = "https://github.com/libexpat/libexpat/releases/" +GITHUB_BASE_URI = "https://github.com/libexpat/libexpat/releases/" +UPSTREAM_CHECK_REGEX = "releases/tag/R_(?P<pver>.+)" -SRC_URI[sha256sum] = "a247a7f6bbb21cf2ca81ea4cbb916bfb9717ca523631675f99b3d4a5678dcd16" +SRC_URI[sha256sum] = "7f44d1469b110773a94b0d5abeeeffaef79f8bd6406b07e52394bcf48126437a" EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF" RDEPENDS:${PN}-ptest += "bash" -inherit cmake lib_package ptest +inherit cmake lib_package ptest github-releases do_install_ptest:class-target() { install -m 755 ${B}/tests/* ${D}${PTEST_PATH} diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc index b8de7d3192..7c14abfe99 100644 --- a/poky/meta/recipes-core/glibc/glibc-locale.inc +++ b/poky/meta/recipes-core/glibc/glibc-locale.inc @@ -87,10 +87,9 @@ do_install() { if [ ${PACKAGE_NO_GCONV} -eq 0 ]; then copy_locale_files ${libdir}/gconv 0755 copy_locale_files ${datadir}/i18n 0644 - else - # Remove the libdir if it is empty when gconv is not copied - find ${D}${libdir} -type d -empty -delete fi + # Remove empty dirs in libdir when gconv or locales are not copied + find ${D}${libdir} -type d -empty -delete copy_locale_files ${datadir}/locale 0644 install -m 0644 ${LOCALETREESRC}/SUPPORTED ${WORKDIR}/SUPPORTED } diff --git a/poky/meta/recipes-core/glibc/glibc-tests_2.36.bb b/poky/meta/recipes-core/glibc/glibc-tests_2.36.bb index aca9675ebb..c71c0831c6 100644 --- a/poky/meta/recipes-core/glibc/glibc-tests_2.36.bb +++ b/poky/meta/recipes-core/glibc/glibc-tests_2.36.bb @@ -4,7 +4,7 @@ require glibc-tests.inc inherit ptest features_check REQUIRED_DISTRO_FEATURES = "ptest" -SRC_URI:append = " \ +SRC_URI += "\ file://run-ptest \ " @@ -29,7 +29,7 @@ python __anonymous() { RPROVIDES:${PN} = "${PN}" RRECOMMENDS:${PN} = "" RDEPENDS:${PN} = " glibc sed" -DEPENDS:append = " sed" +DEPENDS += "sed" export oe_srcdir="${exec_prefix}/src/debug/glibc/${PV}/" diff --git a/poky/meta/recipes-core/glibc/glibc-version.inc b/poky/meta/recipes-core/glibc/glibc-version.inc index a078eb6377..bd125ec401 100644 --- a/poky/meta/recipes-core/glibc/glibc-version.inc +++ b/poky/meta/recipes-core/glibc/glibc-version.inc @@ -1,6 +1,6 @@ SRCBRANCH ?= "release/2.36/master" PV = "2.36" -SRCREV_glibc ?= "3bd3c612e98a53ce60ed972f5cd2b90628b3cba5" +SRCREV_glibc ?= "c399271c10bd00714504e8d4dfbec8aebf996dd4" SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87" GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" diff --git a/poky/meta/recipes-core/glibc/glibc_2.36.bb b/poky/meta/recipes-core/glibc/glibc_2.36.bb index 1cfa8101ef..45bc784b33 100644 --- a/poky/meta/recipes-core/glibc/glibc_2.36.bb +++ b/poky/meta/recipes-core/glibc/glibc_2.36.bb @@ -16,6 +16,9 @@ CVE_CHECK_IGNORE += "CVE-2019-1010022 CVE-2019-1010023 CVE-2019-1010024" # Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853 CVE_CHECK_IGNORE += "CVE-2019-1010025" +# This has been integrated into the 2.36 branch as of c399271 so is now fixed +CVE_CHECK_IGNORE += "CVE-2022-39046" + DEPENDS += "gperf-native bison-native" NATIVESDKFIXES ?= "" diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb index 2cdac20ce7..f3f2bb2da1 100644 --- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk wic.vhd wic.vhdx" inherit core-image setuptools3 -SRCREV ?= "093398daf5000e69057aedfe8c9f8df2c4e837f3" +SRCREV ?= "4f942c272d4417b5b719df25b80a6a6b54669a73" SRC_URI = "git://git.yoctoproject.org/poky;branch=master \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ diff --git a/poky/meta/recipes-core/initscripts/init-system-helpers_1.64.bb b/poky/meta/recipes-core/initscripts/init-system-helpers_1.64.bb index 22ddd6840f..663d60c6e0 100644 --- a/poky/meta/recipes-core/initscripts/init-system-helpers_1.64.bb +++ b/poky/meta/recipes-core/initscripts/init-system-helpers_1.64.bb @@ -18,6 +18,7 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=c4ec20aa158fa9de26ee1accf78dcaae SRCREV = "c440893051406c11f0a315058939657d5937be4f" SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master" +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))(?!_exp)" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb b/poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb index f3e841246f..9937a17fb5 100644 --- a/poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb +++ b/poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb @@ -7,16 +7,16 @@ SECTION = "libs" LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=4d794c5d710e5b3547a6cc6a6609a641" -inherit autotools pkgconfig +inherit autotools pkgconfig github-releases DEPENDS = "bison-native flex-native" -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v3.0/${BP}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v3.0/${BP}.tar.gz \ file://0001-api-Use-GNU-strerror_r-when-available.patch \ " +UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/tags" SRC_URI[sha256sum] = "8d284d896fca1c981b55850e92acd3ad9648a69227c028dda7ae3402af878edd" -UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/releases/" DEPENDS:append:libc-musl = " fts " EXTRA_OEMAKE:append:libc-musl = " LIBS=-lfts" diff --git a/poky/meta/recipes-core/libxml/libxml2/0001-Port-gentest.py-to-Python-3.patch b/poky/meta/recipes-core/libxml/libxml2/0001-Port-gentest.py-to-Python-3.patch new file mode 100644 index 0000000000..c6567ac878 --- /dev/null +++ b/poky/meta/recipes-core/libxml/libxml2/0001-Port-gentest.py-to-Python-3.patch @@ -0,0 +1,814 @@ +From 2c20198b1ddb1bfb47269b8caf929ffb83748f78 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer <wellnhofer@aevum.de> +Date: Thu, 21 Apr 2022 00:45:58 +0200 +Subject: [PATCH] Port gentest.py to Python 3 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/343fc1421cdae097fa6c4cffeb1a065a40be6bbb] + +* fixes: + +make[1]: 'testReader' is up to date. + File "../libxml2-2.9.10/gentest.py", line 11 + print "libxml2 python bindings not available, skipping testapi.c generation" + ^ +SyntaxError: Missing parentheses in call to 'print'. Did you mean print("libxml2 python bindings not available, skipping testapi.c generation")? +make[1]: [Makefile:2078: testapi.c] Error 1 (ignored) + +... + +make[1]: 'testReader' is up to date. + File "../libxml2-2.9.10/gentest.py", line 271 + return 1 + ^ +TabError: inconsistent use of tabs and spaces in indentation +make[1]: [Makefile:2078: testapi.c] Error 1 (ignored) + +... + +aarch64-oe-linux-gcc: error: testapi.c: No such file or directory +aarch64-oe-linux-gcc: fatal error: no input files +compilation terminated. +make[1]: *** [Makefile:1275: testapi.o] Error 1 + +But there is still a bit mystery why it worked before, because check-am +calls gentest.py with $(PYTHON), so it ignores the shebang in the script +and libxml2 is using python3native (through python3targetconfig.bbclass) +so something like: + +libxml2/2.9.10-r0/recipe-sysroot-native/usr/bin/python3-native/python3 gentest.py + +But that still fails (now without SyntaxError) with: +libxml2 python bindings not available, skipping testapi.c generation + +because we don't have dependency on libxml2-native (to provide libxml2 +python bindings form python3native) and exported PYTHON_SITE_PACKAGES +might be useless (e.g. /usr/lib/python3.8/site-packages on Ubuntu-22.10 +which uses python 3.10 and there is no site-packages with libxml2) + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +--- + gentest.py | 421 ++++++++++++++++++++++++++--------------------------- + 1 file changed, 209 insertions(+), 212 deletions(-) + +diff --git a/gentest.py b/gentest.py +index b6cd866..af15a4f 100755 +--- a/gentest.py ++++ b/gentest.py +@@ -8,7 +8,7 @@ import string + try: + import libxml2 + except: +- print "libxml2 python bindings not available, skipping testapi.c generation" ++ print("libxml2 python bindings not available, skipping testapi.c generation") + sys.exit(0) + + if len(sys.argv) > 1: +@@ -227,7 +227,7 @@ extra_post_call = { + if (old != NULL) { + xmlUnlinkNode(old); + xmlFreeNode(old) ; old = NULL ; } +- ret_val = NULL;""", ++\t ret_val = NULL;""", + "xmlTextMerge": + """if ((first != NULL) && (first->type != XML_TEXT_NODE)) { + xmlUnlinkNode(second); +@@ -236,7 +236,7 @@ extra_post_call = { + """if ((ret_val != NULL) && (ret_val != ncname) && + (ret_val != prefix) && (ret_val != memory)) + xmlFree(ret_val); +- ret_val = NULL;""", ++\t ret_val = NULL;""", + "xmlNewDocElementContent": + """xmlFreeDocElementContent(doc, ret_val); ret_val = NULL;""", + "xmlDictReference": "xmlDictFree(dict);", +@@ -268,29 +268,29 @@ modules = [] + def is_skipped_module(name): + for mod in skipped_modules: + if mod == name: +- return 1 ++ return 1 + return 0 + + def is_skipped_function(name): + for fun in skipped_functions: + if fun == name: +- return 1 ++ return 1 + # Do not test destructors +- if string.find(name, 'Free') != -1: ++ if name.find('Free') != -1: + return 1 + return 0 + + def is_skipped_memcheck(name): + for fun in skipped_memcheck: + if fun == name: +- return 1 ++ return 1 + return 0 + + missing_types = {} + def add_missing_type(name, func): + try: + list = missing_types[name] +- list.append(func) ++ list.append(func) + except: + missing_types[name] = [func] + +@@ -310,7 +310,7 @@ def add_missing_functions(name, module): + missing_functions_nr = missing_functions_nr + 1 + try: + list = missing_functions[module] +- list.append(name) ++ list.append(name) + except: + missing_functions[module] = [name] + +@@ -319,45 +319,45 @@ def add_missing_functions(name, module): + # + + def type_convert(str, name, info, module, function, pos): +-# res = string.replace(str, " ", " ") +-# res = string.replace(str, " ", " ") +-# res = string.replace(str, " ", " ") +- res = string.replace(str, " *", "_ptr") +-# res = string.replace(str, "*", "_ptr") +- res = string.replace(res, " ", "_") ++# res = str.replace(" ", " ") ++# res = str.replace(" ", " ") ++# res = str.replace(" ", " ") ++ res = str.replace(" *", "_ptr") ++# res = str.replace("*", "_ptr") ++ res = res.replace(" ", "_") + if res == 'const_char_ptr': +- if string.find(name, "file") != -1 or \ +- string.find(name, "uri") != -1 or \ +- string.find(name, "URI") != -1 or \ +- string.find(info, "filename") != -1 or \ +- string.find(info, "URI") != -1 or \ +- string.find(info, "URL") != -1: +- if string.find(function, "Save") != -1 or \ +- string.find(function, "Create") != -1 or \ +- string.find(function, "Write") != -1 or \ +- string.find(function, "Fetch") != -1: +- return('fileoutput') +- return('filepath') ++ if name.find("file") != -1 or \ ++ name.find("uri") != -1 or \ ++ name.find("URI") != -1 or \ ++ info.find("filename") != -1 or \ ++ info.find("URI") != -1 or \ ++ info.find("URL") != -1: ++ if function.find("Save") != -1 or \ ++ function.find("Create") != -1 or \ ++ function.find("Write") != -1 or \ ++ function.find("Fetch") != -1: ++ return('fileoutput') ++ return('filepath') + if res == 'void_ptr': + if module == 'nanoftp' and name == 'ctx': +- return('xmlNanoFTPCtxtPtr') ++ return('xmlNanoFTPCtxtPtr') + if function == 'xmlNanoFTPNewCtxt' or \ +- function == 'xmlNanoFTPConnectTo' or \ +- function == 'xmlNanoFTPOpen': +- return('xmlNanoFTPCtxtPtr') ++ function == 'xmlNanoFTPConnectTo' or \ ++ function == 'xmlNanoFTPOpen': ++ return('xmlNanoFTPCtxtPtr') + if module == 'nanohttp' and name == 'ctx': +- return('xmlNanoHTTPCtxtPtr') +- if function == 'xmlNanoHTTPMethod' or \ +- function == 'xmlNanoHTTPMethodRedir' or \ +- function == 'xmlNanoHTTPOpen' or \ +- function == 'xmlNanoHTTPOpenRedir': +- return('xmlNanoHTTPCtxtPtr'); ++ return('xmlNanoHTTPCtxtPtr') ++ if function == 'xmlNanoHTTPMethod' or \ ++ function == 'xmlNanoHTTPMethodRedir' or \ ++ function == 'xmlNanoHTTPOpen' or \ ++ function == 'xmlNanoHTTPOpenRedir': ++ return('xmlNanoHTTPCtxtPtr'); + if function == 'xmlIOHTTPOpen': +- return('xmlNanoHTTPCtxtPtr') +- if string.find(name, "data") != -1: +- return('userdata') +- if string.find(name, "user") != -1: +- return('userdata') ++ return('xmlNanoHTTPCtxtPtr') ++ if name.find("data") != -1: ++ return('userdata') ++ if name.find("user") != -1: ++ return('userdata') + if res == 'xmlDoc_ptr': + res = 'xmlDocPtr' + if res == 'xmlNode_ptr': +@@ -366,18 +366,18 @@ def type_convert(str, name, info, module, function, pos): + res = 'xmlDictPtr' + if res == 'xmlNodePtr' and pos != 0: + if (function == 'xmlAddChild' and pos == 2) or \ +- (function == 'xmlAddChildList' and pos == 2) or \ ++ (function == 'xmlAddChildList' and pos == 2) or \ + (function == 'xmlAddNextSibling' and pos == 2) or \ + (function == 'xmlAddSibling' and pos == 2) or \ + (function == 'xmlDocSetRootElement' and pos == 2) or \ + (function == 'xmlReplaceNode' and pos == 2) or \ + (function == 'xmlTextMerge') or \ +- (function == 'xmlAddPrevSibling' and pos == 2): +- return('xmlNodePtr_in'); ++ (function == 'xmlAddPrevSibling' and pos == 2): ++ return('xmlNodePtr_in'); + if res == 'const xmlBufferPtr': + res = 'xmlBufferPtr' + if res == 'xmlChar_ptr' and name == 'name' and \ +- string.find(function, "EatName") != -1: ++ function.find("EatName") != -1: + return('eaten_name') + if res == 'void_ptr*': + res = 'void_ptr_ptr' +@@ -393,7 +393,7 @@ def type_convert(str, name, info, module, function, pos): + res = 'debug_FILE_ptr'; + if res == 'int' and name == 'options': + if module == 'parser' or module == 'xmlreader': +- res = 'parseroptions' ++ res = 'parseroptions' + + return res + +@@ -402,28 +402,28 @@ known_param_types = [] + def is_known_param_type(name): + for type in known_param_types: + if type == name: +- return 1 ++ return 1 + return name[-3:] == 'Ptr' or name[-4:] == '_ptr' + + def generate_param_type(name, rtype): + global test + for type in known_param_types: + if type == name: +- return ++ return + for type in generated_param_types: + if type == name: +- return ++ return + + if name[-3:] == 'Ptr' or name[-4:] == '_ptr': + if rtype[0:6] == 'const ': +- crtype = rtype[6:] +- else: +- crtype = rtype ++ crtype = rtype[6:] ++ else: ++ crtype = rtype + + define = 0 +- if modules_defines.has_key(module): +- test.write("#ifdef %s\n" % (modules_defines[module])) +- define = 1 ++ if module in modules_defines: ++ test.write("#ifdef %s\n" % (modules_defines[module])) ++ define = 1 + test.write(""" + #define gen_nb_%s 1 + static %s gen_%s(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +@@ -433,7 +433,7 @@ static void des_%s(int no ATTRIBUTE_UNUSED, %s val ATTRIBUTE_UNUSED, int nr ATTR + } + """ % (name, crtype, name, name, rtype)) + if define == 1: +- test.write("#endif\n\n") ++ test.write("#endif\n\n") + add_generated_param_type(name) + + # +@@ -445,7 +445,7 @@ known_return_types = [] + def is_known_return_type(name): + for type in known_return_types: + if type == name: +- return 1 ++ return 1 + return 0 + + # +@@ -471,7 +471,7 @@ def compare_and_save(): + try: + os.system("rm testapi.c; mv testapi.c.new testapi.c") + except: +- os.system("mv testapi.c.new testapi.c") ++ os.system("mv testapi.c.new testapi.c") + print("Updated testapi.c") + else: + print("Generated testapi.c is identical") +@@ -481,17 +481,17 @@ while line != "": + if line == "/* CUT HERE: everything below that line is generated */\n": + break; + if line[0:15] == "#define gen_nb_": +- type = string.split(line[15:])[0] +- known_param_types.append(type) ++ type = line[15:].split()[0] ++ known_param_types.append(type) + if line[0:19] == "static void desret_": +- type = string.split(line[19:], '(')[0] +- known_return_types.append(type) ++ type = line[19:].split('(')[0] ++ known_return_types.append(type) + test.write(line) + line = input.readline() + input.close() + + if line == "": +- print "Could not find the CUT marker in testapi.c skipping generation" ++ print("Could not find the CUT marker in testapi.c skipping generation") + test.close() + sys.exit(0) + +@@ -505,7 +505,7 @@ test.write("/* CUT HERE: everything below that line is generated */\n") + # + doc = libxml2.readFile(srcPref + 'doc/libxml2-api.xml', None, 0) + if doc == None: +- print "Failed to load doc/libxml2-api.xml" ++ print("Failed to load doc/libxml2-api.xml") + sys.exit(1) + ctxt = doc.xpathNewContext() + +@@ -519,9 +519,9 @@ for arg in args: + mod = arg.xpathEval('string(../@file)') + func = arg.xpathEval('string(../@name)') + if (mod not in skipped_modules) and (func not in skipped_functions): +- type = arg.xpathEval('string(@type)') +- if not argtypes.has_key(type): +- argtypes[type] = func ++ type = arg.xpathEval('string(@type)') ++ if type not in argtypes: ++ argtypes[type] = func + + # similarly for return types + rettypes = {} +@@ -531,8 +531,8 @@ for ret in rets: + func = ret.xpathEval('string(../@name)') + if (mod not in skipped_modules) and (func not in skipped_functions): + type = ret.xpathEval('string(@type)') +- if not rettypes.has_key(type): +- rettypes[type] = func ++ if type not in rettypes: ++ rettypes[type] = func + + # + # Generate constructors and return type handling for all enums +@@ -549,49 +549,49 @@ for enum in enums: + continue; + define = 0 + +- if argtypes.has_key(name) and is_known_param_type(name) == 0: +- values = ctxt.xpathEval("/api/symbols/enum[@type='%s']" % name) +- i = 0 +- vals = [] +- for value in values: +- vname = value.xpathEval('string(@name)') +- if vname == None: +- continue; +- i = i + 1 +- if i >= 5: +- break; +- vals.append(vname) +- if vals == []: +- print "Didn't find any value for enum %s" % (name) +- continue +- if modules_defines.has_key(module): +- test.write("#ifdef %s\n" % (modules_defines[module])) +- define = 1 +- test.write("#define gen_nb_%s %d\n" % (name, len(vals))) +- test.write("""static %s gen_%s(int no, int nr ATTRIBUTE_UNUSED) {\n""" % +- (name, name)) +- i = 1 +- for value in vals: +- test.write(" if (no == %d) return(%s);\n" % (i, value)) +- i = i + 1 +- test.write(""" return(0); ++ if (name in argtypes) and is_known_param_type(name) == 0: ++ values = ctxt.xpathEval("/api/symbols/enum[@type='%s']" % name) ++ i = 0 ++ vals = [] ++ for value in values: ++ vname = value.xpathEval('string(@name)') ++ if vname == None: ++ continue; ++ i = i + 1 ++ if i >= 5: ++ break; ++ vals.append(vname) ++ if vals == []: ++ print("Didn't find any value for enum %s" % (name)) ++ continue ++ if module in modules_defines: ++ test.write("#ifdef %s\n" % (modules_defines[module])) ++ define = 1 ++ test.write("#define gen_nb_%s %d\n" % (name, len(vals))) ++ test.write("""static %s gen_%s(int no, int nr ATTRIBUTE_UNUSED) {\n""" % ++ (name, name)) ++ i = 1 ++ for value in vals: ++ test.write(" if (no == %d) return(%s);\n" % (i, value)) ++ i = i + 1 ++ test.write(""" return(0); + } + + static void des_%s(int no ATTRIBUTE_UNUSED, %s val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + } + + """ % (name, name)); +- known_param_types.append(name) ++ known_param_types.append(name) + + if (is_known_return_type(name) == 0) and (name in rettypes): +- if define == 0 and modules_defines.has_key(module): +- test.write("#ifdef %s\n" % (modules_defines[module])) +- define = 1 ++ if define == 0 and (module in modules_defines): ++ test.write("#ifdef %s\n" % (modules_defines[module])) ++ define = 1 + test.write("""static void desret_%s(%s val ATTRIBUTE_UNUSED) { + } + + """ % (name, name)) +- known_return_types.append(name) ++ known_return_types.append(name) + if define == 1: + test.write("#endif\n\n") + +@@ -615,9 +615,9 @@ for file in headers: + # do not test deprecated APIs + # + desc = file.xpathEval('string(description)') +- if string.find(desc, 'DEPRECATED') != -1: +- print "Skipping deprecated interface %s" % name +- continue; ++ if desc.find('DEPRECATED') != -1: ++ print("Skipping deprecated interface %s" % name) ++ continue; + + test.write("#include <libxml/%s.h>\n" % name) + modules.append(name) +@@ -679,7 +679,7 @@ def generate_test(module, node): + # and store the information for the generation + # + try: +- args = node.xpathEval("arg") ++ args = node.xpathEval("arg") + except: + args = [] + t_args = [] +@@ -687,37 +687,37 @@ def generate_test(module, node): + for arg in args: + n = n + 1 + rtype = arg.xpathEval("string(@type)") +- if rtype == 'void': +- break; +- info = arg.xpathEval("string(@info)") +- nam = arg.xpathEval("string(@name)") ++ if rtype == 'void': ++ break; ++ info = arg.xpathEval("string(@info)") ++ nam = arg.xpathEval("string(@name)") + type = type_convert(rtype, nam, info, module, name, n) +- if is_known_param_type(type) == 0: +- add_missing_type(type, name); +- no_gen = 1 ++ if is_known_param_type(type) == 0: ++ add_missing_type(type, name); ++ no_gen = 1 + if (type[-3:] == 'Ptr' or type[-4:] == '_ptr') and \ +- rtype[0:6] == 'const ': +- crtype = rtype[6:] +- else: +- crtype = rtype +- t_args.append((nam, type, rtype, crtype, info)) ++ rtype[0:6] == 'const ': ++ crtype = rtype[6:] ++ else: ++ crtype = rtype ++ t_args.append((nam, type, rtype, crtype, info)) + + try: +- rets = node.xpathEval("return") ++ rets = node.xpathEval("return") + except: + rets = [] + t_ret = None + for ret in rets: + rtype = ret.xpathEval("string(@type)") +- info = ret.xpathEval("string(@info)") ++ info = ret.xpathEval("string(@info)") + type = type_convert(rtype, 'return', info, module, name, 0) +- if rtype == 'void': +- break +- if is_known_return_type(type) == 0: +- add_missing_type(type, name); +- no_gen = 1 +- t_ret = (type, rtype, info) +- break ++ if rtype == 'void': ++ break ++ if is_known_return_type(type) == 0: ++ add_missing_type(type, name); ++ no_gen = 1 ++ t_ret = (type, rtype, info) ++ break + + if no_gen == 0: + for t_arg in t_args: +@@ -733,7 +733,7 @@ test_%s(void) { + + if no_gen == 1: + add_missing_functions(name, module) +- test.write(""" ++ test.write(""" + /* missing type support */ + return(test_ret); + } +@@ -742,22 +742,22 @@ test_%s(void) { + return + + try: +- conds = node.xpathEval("cond") +- for cond in conds: +- test.write("#if %s\n" % (cond.get_content())) +- nb_cond = nb_cond + 1 ++ conds = node.xpathEval("cond") ++ for cond in conds: ++ test.write("#if %s\n" % (cond.get_content())) ++ nb_cond = nb_cond + 1 + except: + pass + + define = 0 +- if function_defines.has_key(name): ++ if name in function_defines: + test.write("#ifdef %s\n" % (function_defines[name])) +- define = 1 ++ define = 1 + + # Declare the memory usage counter + no_mem = is_skipped_memcheck(name) + if no_mem == 0: +- test.write(" int mem_base;\n"); ++ test.write(" int mem_base;\n"); + + # Declare the return value + if t_ret != None: +@@ -766,29 +766,29 @@ test_%s(void) { + # Declare the arguments + for arg in t_args: + (nam, type, rtype, crtype, info) = arg; +- # add declaration +- test.write(" %s %s; /* %s */\n" % (crtype, nam, info)) +- test.write(" int n_%s;\n" % (nam)) ++ # add declaration ++ test.write(" %s %s; /* %s */\n" % (crtype, nam, info)) ++ test.write(" int n_%s;\n" % (nam)) + test.write("\n") + + # Cascade loop on of each argument list of values + for arg in t_args: + (nam, type, rtype, crtype, info) = arg; +- # +- test.write(" for (n_%s = 0;n_%s < gen_nb_%s;n_%s++) {\n" % ( +- nam, nam, type, nam)) ++ # ++ test.write(" for (n_%s = 0;n_%s < gen_nb_%s;n_%s++) {\n" % ( ++ nam, nam, type, nam)) + + # log the memory usage + if no_mem == 0: +- test.write(" mem_base = xmlMemBlocks();\n"); ++ test.write(" mem_base = xmlMemBlocks();\n"); + + # prepare the call + i = 0; + for arg in t_args: + (nam, type, rtype, crtype, info) = arg; +- # +- test.write(" %s = gen_%s(n_%s, %d);\n" % (nam, type, nam, i)) +- i = i + 1; ++ # ++ test.write(" %s = gen_%s(n_%s, %d);\n" % (nam, type, nam, i)) ++ i = i + 1; + + # add checks to avoid out-of-bounds array access + i = 0; +@@ -797,7 +797,7 @@ test_%s(void) { + # assume that "size", "len", and "start" parameters apply to either + # the nearest preceding or following char pointer + if type == "int" and (nam == "size" or nam == "len" or nam == "start"): +- for j in range(i - 1, -1, -1) + range(i + 1, len(t_args)): ++ for j in (*range(i - 1, -1, -1), *range(i + 1, len(t_args))): + (bnam, btype) = t_args[j][:2] + if btype == "const_char_ptr" or btype == "const_xmlChar_ptr": + test.write( +@@ -806,42 +806,42 @@ test_%s(void) { + " continue;\n" + % (bnam, nam, bnam)) + break +- i = i + 1; ++ i = i + 1; + + # do the call, and clanup the result +- if extra_pre_call.has_key(name): +- test.write(" %s\n"% (extra_pre_call[name])) ++ if name in extra_pre_call: ++ test.write(" %s\n"% (extra_pre_call[name])) + if t_ret != None: +- test.write("\n ret_val = %s(" % (name)) +- need = 0 +- for arg in t_args: +- (nam, type, rtype, crtype, info) = arg +- if need: +- test.write(", ") +- else: +- need = 1 +- if rtype != crtype: +- test.write("(%s)" % rtype) +- test.write("%s" % nam); +- test.write(");\n") +- if extra_post_call.has_key(name): +- test.write(" %s\n"% (extra_post_call[name])) +- test.write(" desret_%s(ret_val);\n" % t_ret[0]) ++ test.write("\n ret_val = %s(" % (name)) ++ need = 0 ++ for arg in t_args: ++ (nam, type, rtype, crtype, info) = arg ++ if need: ++ test.write(", ") ++ else: ++ need = 1 ++ if rtype != crtype: ++ test.write("(%s)" % rtype) ++ test.write("%s" % nam); ++ test.write(");\n") ++ if name in extra_post_call: ++ test.write(" %s\n"% (extra_post_call[name])) ++ test.write(" desret_%s(ret_val);\n" % t_ret[0]) + else: +- test.write("\n %s(" % (name)); +- need = 0; +- for arg in t_args: +- (nam, type, rtype, crtype, info) = arg; +- if need: +- test.write(", ") +- else: +- need = 1 +- if rtype != crtype: +- test.write("(%s)" % rtype) +- test.write("%s" % nam) +- test.write(");\n") +- if extra_post_call.has_key(name): +- test.write(" %s\n"% (extra_post_call[name])) ++ test.write("\n %s(" % (name)); ++ need = 0; ++ for arg in t_args: ++ (nam, type, rtype, crtype, info) = arg; ++ if need: ++ test.write(", ") ++ else: ++ need = 1 ++ if rtype != crtype: ++ test.write("(%s)" % rtype) ++ test.write("%s" % nam) ++ test.write(");\n") ++ if name in extra_post_call: ++ test.write(" %s\n"% (extra_post_call[name])) + + test.write(" call_tests++;\n"); + +@@ -849,32 +849,32 @@ test_%s(void) { + i = 0; + for arg in t_args: + (nam, type, rtype, crtype, info) = arg; +- # This is a hack to prevent generating a destructor for the +- # 'input' argument in xmlTextReaderSetup. There should be +- # a better, more generic way to do this! +- if string.find(info, 'destroy') == -1: +- test.write(" des_%s(n_%s, " % (type, nam)) +- if rtype != crtype: +- test.write("(%s)" % rtype) +- test.write("%s, %d);\n" % (nam, i)) +- i = i + 1; ++ # This is a hack to prevent generating a destructor for the ++ # 'input' argument in xmlTextReaderSetup. There should be ++ # a better, more generic way to do this! ++ if info.find('destroy') == -1: ++ test.write(" des_%s(n_%s, " % (type, nam)) ++ if rtype != crtype: ++ test.write("(%s)" % rtype) ++ test.write("%s, %d);\n" % (nam, i)) ++ i = i + 1; + + test.write(" xmlResetLastError();\n"); + # Check the memory usage + if no_mem == 0: +- test.write(""" if (mem_base != xmlMemBlocks()) { ++ test.write(""" if (mem_base != xmlMemBlocks()) { + printf("Leak of %%d blocks found in %s", +- xmlMemBlocks() - mem_base); +- test_ret++; ++\t xmlMemBlocks() - mem_base); ++\t test_ret++; + """ % (name)); +- for arg in t_args: +- (nam, type, rtype, crtype, info) = arg; +- test.write(""" printf(" %%d", n_%s);\n""" % (nam)) +- test.write(""" printf("\\n");\n""") +- test.write(" }\n") ++ for arg in t_args: ++ (nam, type, rtype, crtype, info) = arg; ++ test.write(""" printf(" %%d", n_%s);\n""" % (nam)) ++ test.write(""" printf("\\n");\n""") ++ test.write(" }\n") + + for arg in t_args: +- test.write(" }\n") ++ test.write(" }\n") + + test.write(" function_tests++;\n") + # +@@ -882,7 +882,7 @@ test_%s(void) { + # + while nb_cond > 0: + test.write("#endif\n") +- nb_cond = nb_cond -1 ++ nb_cond = nb_cond -1 + if define == 1: + test.write("#endif\n") + +@@ -900,10 +900,10 @@ test_%s(void) { + for module in modules: + # gather all the functions exported by that module + try: +- functions = ctxt.xpathEval("/api/symbols/function[@file='%s']" % (module)) ++ functions = ctxt.xpathEval("/api/symbols/function[@file='%s']" % (module)) + except: +- print "Failed to gather functions from module %s" % (module) +- continue; ++ print("Failed to gather functions from module %s" % (module)) ++ continue; + + # iterate over all functions in the module generating the test + i = 0 +@@ -923,14 +923,14 @@ test_%s(void) { + # iterate over all functions in the module generating the call + for function in functions: + name = function.xpathEval('string(@name)') +- if is_skipped_function(name): +- continue +- test.write(" test_ret += test_%s();\n" % (name)) ++ if is_skipped_function(name): ++ continue ++ test.write(" test_ret += test_%s();\n" % (name)) + + # footer + test.write(""" + if (test_ret != 0) +- printf("Module %s: %%d errors\\n", test_ret); ++\tprintf("Module %s: %%d errors\\n", test_ret); + return(test_ret); + } + """ % (module)) +@@ -948,7 +948,7 @@ test.write(""" return(0); + } + """); + +-print "Generated test for %d modules and %d functions" %(len(modules), nb_tests) ++print("Generated test for %d modules and %d functions" %(len(modules), nb_tests)) + + compare_and_save() + +@@ -960,11 +960,8 @@ for missing in missing_types.keys(): + n = len(missing_types[missing]) + missing_list.append((n, missing)) + +-def compare_missing(a, b): +- return b[0] - a[0] +- +-missing_list.sort(compare_missing) +-print "Missing support for %d functions and %d types see missing.lst" % (missing_functions_nr, len(missing_list)) ++missing_list.sort(key=lambda a: a[0]) ++print("Missing support for %d functions and %d types see missing.lst" % (missing_functions_nr, len(missing_list))) + lst = open("missing.lst", "w") + lst.write("Missing support for %d types" % (len(missing_list))) + lst.write("\n") +@@ -974,9 +971,9 @@ for miss in missing_list: + for n in missing_types[miss[1]]: + i = i + 1 + if i > 5: +- lst.write(" ...") +- break +- lst.write(" %s" % (n)) ++ lst.write(" ...") ++ break ++ lst.write(" %s" % (n)) + lst.write("\n") + lst.write("\n") + lst.write("\n") diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.14.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.14.bb index d803db8672..a2ed8d71bc 100644 --- a/poky/meta/recipes-core/libxml/libxml2_2.9.14.bb +++ b/poky/meta/recipes-core/libxml/libxml2_2.9.14.bb @@ -22,6 +22,7 @@ SRC_URI += "http://www.w3.org/XML/Test/xmlts20080827.tar.gz;subdir=${BP};name=te file://fix-execution-of-ptests.patch \ file://remove-fuzz-from-ptests.patch \ file://libxml-m4-use-pkgconfig.patch \ + file://0001-Port-gentest.py-to-Python-3.patch \ " SRC_URI[archive.sha256sum] = "60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee" @@ -82,6 +83,16 @@ do_configure:prepend () { } do_compile_ptest() { + # Make sure that testapi.c is newer than gentests.py, because + # with reproducible builds, they will both get e.g. Jan 1 1970 + # modification time from SOURCE_DATE_EPOCH and then check-am + # might try to rebuild_testapi, which will fail even with + # 0001-Port-gentest.py-to-Python-3.patch, because it needs + # libxml2 module (libxml2-native dependency and correctly + # set PYTHON_SITE_PACKAGES), it's easier to + # just rely on pre-generated testapi.c from the release + touch ${S}/testapi.c + oe_runmake check-am } @@ -110,7 +121,8 @@ do_install:append:class-native () { # Docs are not needed in the native case rm ${D}${datadir}/gtk-doc -rf - create_wrapper ${D}${bindir}/xmllint XML_CATALOG_FILES=${sysconfdir}/xml/catalog + create_wrapper ${D}${bindir}/xmllint 'XML_CATALOG_FILES=${XML_CATALOG_FILES:-${sysconfdir}/xml/catalog}' } +do_install[vardepsexclude] += "XML_CATALOG_FILES:-${sysconfdir}/xml/catalog" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-core/musl/gcompat/0001-auxv-new-module.patch b/poky/meta/recipes-core/musl/gcompat/0001-auxv-new-module.patch new file mode 100644 index 0000000000..ee292f3841 --- /dev/null +++ b/poky/meta/recipes-core/musl/gcompat/0001-auxv-new-module.patch @@ -0,0 +1,59 @@ +From aecd42801904462501a890d173648e4e826eda19 Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Sat, 23 Oct 2021 23:29:40 -0500 +Subject: [PATCH] auxv: new module + +Adds `__getauxval` wrapper, needed for Parallels Tools GUI installer. + +Upstream-Status: Submitted [https://git.adelielinux.org/adelie/gcompat/-/commit/e860a38a88c7ea148ee15976136a1f83ea13f8e0] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + CHANGELOG.rst | 5 +++++ + Makefile | 1 + + libgcompat/auxv.c | 6 ++++++ + 3 files changed, 12 insertions(+) + create mode 100644 libgcompat/auxv.c + +diff --git a/CHANGELOG.rst b/CHANGELOG.rst +index ce6859b..c3a9cee 100644 +--- a/CHANGELOG.rst ++++ b/CHANGELOG.rst +@@ -11,6 +11,11 @@ + 1.1 (202?-??-??) + ================ + ++auxv ++---- ++ ++* Add __getauxval wrapper for getauxval. ++ + locale + ------ + +diff --git a/Makefile b/Makefile +index cbb7634..1893cc1 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,6 +2,7 @@ LIBGCOMPAT_INCLUDE = \ + libgcompat/alias.h \ + libgcompat/internal.h + LIBGCOMPAT_SRC = \ ++ libgcompat/auxv.c \ + libgcompat/ctype.c \ + libgcompat/cxx_thread.c \ + libgcompat/dlfcn.c \ +diff --git a/libgcompat/auxv.c b/libgcompat/auxv.c +new file mode 100644 +index 0000000..01de376 +--- /dev/null ++++ b/libgcompat/auxv.c +@@ -0,0 +1,6 @@ ++#include <sys/auxv.h> /* getauxval */ ++ ++unsigned long __getauxval(unsigned long value) ++{ ++ return getauxval(value); ++} +-- +2.37.3 + diff --git a/poky/meta/recipes-core/musl/gcompat_git.bb b/poky/meta/recipes-core/musl/gcompat_git.bb index b051e43b6c..11f3c58769 100644 --- a/poky/meta/recipes-core/musl/gcompat_git.bb +++ b/poky/meta/recipes-core/musl/gcompat_git.bb @@ -8,12 +8,13 @@ LICENSE = "NCSA" LIC_FILES_CHKSUM = "file://LICENSE;md5=eb33ef4af05a9c7602843afb7adfe792" SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current \ - " + file://0001-auxv-new-module.patch \ + " SRC_URI:append:powerpc = "\ file://0001-make-Static-PIE-does-not-work-on-musl-ppc.patch \ " PV = "1.0.0+1.1+git${SRCPV}" -SRCREV = "4d6a5156a6eb7f56b30d93853a872e36dadde81b" +SRCREV = "c6921a1aa454bb87671f9bd1ecfe47d80d1620aa" S = "${WORKDIR}/git" @@ -42,6 +43,8 @@ do_install () { install -d ${D}${nonarch_base_libdir}${SITEINFO_BITS} ln -rs ${D}${GLIBC_LDSO} ${D}${nonarch_base_libdir}${SITEINFO_BITS}/`basename ${GLIBC_LDSO}` fi + install -d ${D}${libdir} + ln -sf ${base_libdir}/libgcompat.so.0 ${D}${libdir}/libgcompat.so } FILES:${PN} += "${nonarch_base_libdir}${SITEINFO_BITS}" diff --git a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl index 6d19666d82..cddae75a06 100755 --- a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl +++ b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl @@ -26,6 +26,9 @@ locations = list() class SystemdFile(): """Class representing a single systemd configuration file""" + + _clearable_keys = ['WantedBy'] + def __init__(self, root, path, instance_unit_name): self.sections = dict() self._parse(root, path) @@ -80,6 +83,14 @@ class SystemdFile(): v = m.group('value') if k not in section: section[k] = list() + + # If we come across a "key=" line for a "clearable key", then + # forget all preceding assignments. This works because we are + # processing files in correct parse order. + if k in self._clearable_keys and not v: + del section[k] + continue + section[k].extend(v.split()) def get(self, section, prop): diff --git a/poky/meta/recipes-core/systemd/systemd/00-create-volatile.conf b/poky/meta/recipes-core/systemd/systemd/00-create-volatile.conf index 87cbe1e7d3..c4277221a2 100644 --- a/poky/meta/recipes-core/systemd/systemd/00-create-volatile.conf +++ b/poky/meta/recipes-core/systemd/systemd/00-create-volatile.conf @@ -3,5 +3,6 @@ # inside /var/log. +d /run/lock 1777 - - - d /var/volatile/log - - - - d /var/volatile/tmp 1777 - - diff --git a/poky/meta/recipes-core/systemd/systemd_251.4.bb b/poky/meta/recipes-core/systemd/systemd_251.4.bb index 8497e24af9..910ea71bf6 100644 --- a/poky/meta/recipes-core/systemd/systemd_251.4.bb +++ b/poky/meta/recipes-core/systemd/systemd_251.4.bb @@ -163,6 +163,7 @@ PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native do PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd" PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" +PACKAGECONFIG[no-dns-fallback] = "-Ddns-servers=" PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false" PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false" PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false" diff --git a/poky/meta/recipes-core/udev/eudev_3.2.11.bb b/poky/meta/recipes-core/udev/eudev_3.2.11.bb index bc2c77de89..eba36c2f91 100644 --- a/poky/meta/recipes-core/udev/eudev_3.2.11.bb +++ b/poky/meta/recipes-core/udev/eudev_3.2.11.bb @@ -9,7 +9,7 @@ DEPENDS = "gperf-native" PROVIDES = "udev" -SRC_URI = "https://github.com/eudev-project/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ file://init \ file://local.rules \ file://0001-build-Remove-dead-g-i-r-configuration.patch \ @@ -17,10 +17,9 @@ SRC_URI = "https://github.com/eudev-project/${BPN}/releases/download/v${PV}/${BP SRC_URI[sha256sum] = "19847cafec67897da855fde56f9dc7d92e21c50e450aa79068a7e704ed44558b" -UPSTREAM_CHECK_URI = "https://github.com/eudev-project/eudev/releases" -UPSTREAM_CHECK_REGEX = "eudev-(?P<pver>\d+(\.\d+)+)\.tar" +GITHUB_BASE_URI = "https://github.com/eudev-project/eudev/releases" -inherit autotools update-rc.d qemu pkgconfig features_check manpages +inherit autotools update-rc.d qemu pkgconfig features_check manpages github-releases CONFLICT_DISTRO_FEATURES = "systemd" diff --git a/poky/meta/recipes-devtools/apt/apt/0001-typecast-time_t-and-suseconds_t-from-std-chrono.patch b/poky/meta/recipes-devtools/apt/apt/0001-typecast-time_t-and-suseconds_t-from-std-chrono.patch new file mode 100644 index 0000000000..fc3509d336 --- /dev/null +++ b/poky/meta/recipes-devtools/apt/apt/0001-typecast-time_t-and-suseconds_t-from-std-chrono.patch @@ -0,0 +1,64 @@ +From b7a1a4d3259557f2587f7d5d47502691d94c21c2 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 16 Sep 2022 20:00:30 -0700 +Subject: [PATCH 1/2] typecast time_t and suseconds_t from std::chrono + +This fixes build on some architectures like mips +progress.cc:125:31: error: non-constant-expression cannot be narrowed from type 'std::chrono::duration<long long>::rep' (aka 'long long') to '__time_t' (aka 'long') in initializer list [-Wc++11-narrowing] + struct timeval NowTime = { Now_sec.count(), Now_usec.count() }; + +Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/259] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + apt-pkg/acquire.cc | 4 ++-- + apt-pkg/contrib/progress.cc | 2 +- + ftparchive/apt-ftparchive.cc | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc +index 100ccde..dd0624a 100644 +--- a/apt-pkg/acquire.cc ++++ b/apt-pkg/acquire.cc +@@ -53,11 +53,11 @@ + using namespace std; + + // helper to convert time_point to a timeval +-static struct timeval SteadyDurationToTimeVal(std::chrono::steady_clock::duration Time) ++constexpr struct timeval SteadyDurationToTimeVal(std::chrono::steady_clock::duration Time) + { + auto const Time_sec = std::chrono::duration_cast<std::chrono::seconds>(Time); + auto const Time_usec = std::chrono::duration_cast<std::chrono::microseconds>(Time - Time_sec); +- return {Time_sec.count(), Time_usec.count()}; ++ return timeval{static_cast<time_t>(Time_sec.count()), static_cast<suseconds_t>(Time_usec.count())}; + } + + std::string pkgAcquire::URIEncode(std::string const &part) /*{{{*/ +diff --git a/apt-pkg/contrib/progress.cc b/apt-pkg/contrib/progress.cc +index 03f88d4..eb688b9 100644 +--- a/apt-pkg/contrib/progress.cc ++++ b/apt-pkg/contrib/progress.cc +@@ -122,7 +122,7 @@ bool OpProgress::CheckChange(float Interval) + auto const Now = std::chrono::steady_clock::now().time_since_epoch(); + auto const Now_sec = std::chrono::duration_cast<std::chrono::seconds>(Now); + auto const Now_usec = std::chrono::duration_cast<std::chrono::microseconds>(Now - Now_sec); +- struct timeval NowTime = { Now_sec.count(), Now_usec.count() }; ++ struct timeval NowTime = { static_cast<time_t>(Now_sec.count()), static_cast<suseconds_t>(Now_usec.count()) }; + + std::chrono::duration<decltype(Interval)> Delta = + std::chrono::seconds(NowTime.tv_sec - LastTime.tv_sec) + +diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc +index 56fdc22..0a253b1 100644 +--- a/ftparchive/apt-ftparchive.cc ++++ b/ftparchive/apt-ftparchive.cc +@@ -58,7 +58,7 @@ static struct timeval GetTimevalFromSteadyClock() /*{{{*/ + auto const Time = std::chrono::steady_clock::now().time_since_epoch(); + auto const Time_sec = std::chrono::duration_cast<std::chrono::seconds>(Time); + auto const Time_usec = std::chrono::duration_cast<std::chrono::microseconds>(Time - Time_sec); +- return { Time_sec.count(), Time_usec.count() }; ++ return { static_cast<time_t>(Time_sec.count()), static_cast<suseconds_t>(Time_usec.count()) }; + } + /*}}}*/ + static auto GetTimeDeltaSince(struct timeval StartTime) /*{{{*/ +-- +2.37.3 + diff --git a/poky/meta/recipes-devtools/apt/apt/0002-interactive-helper-Undefine-_FORTIFY_SOURCE.patch b/poky/meta/recipes-devtools/apt/apt/0002-interactive-helper-Undefine-_FORTIFY_SOURCE.patch new file mode 100644 index 0000000000..18c4641b22 --- /dev/null +++ b/poky/meta/recipes-devtools/apt/apt/0002-interactive-helper-Undefine-_FORTIFY_SOURCE.patch @@ -0,0 +1,27 @@ +From 891076c2cf4298b5d587545497f4831f0d21caa1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 16 Sep 2022 20:04:43 -0700 +Subject: [PATCH 2/2] interactive-helper: Undefine _FORTIFY_SOURCE + +This ensures that it compiles when clang compiler is passing +-DFORTIFY_SOURCES=2 + +Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/259] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + test/interactive-helper/libnoprofile.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test/interactive-helper/libnoprofile.c b/test/interactive-helper/libnoprofile.c +index f11b898..b26ec2a 100644 +--- a/test/interactive-helper/libnoprofile.c ++++ b/test/interactive-helper/libnoprofile.c +@@ -1,4 +1,5 @@ + #define _GNU_SOURCE ++#undef _FORTIFY_SOURCE + #include <stdarg.h> + #include <stdlib.h> + #include <string.h> +-- +2.37.3 + diff --git a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb index 564bdeec41..4b9f804039 100644 --- a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb +++ b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb @@ -14,6 +14,8 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \ file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \ file://0001-aptwebserver.cc-Include-array.patch \ file://0001-Remove-using-std-binary_function.patch \ + file://0001-typecast-time_t-and-suseconds_t-from-std-chrono.patch \ + file://0002-interactive-helper-Undefine-_FORTIFY_SOURCE.patch \ " SRC_URI:append:class-native = " \ diff --git a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2022.02.11.bb b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2022.09.03.bb index 47bf2380f0..6595ac98ba 100644 --- a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2022.02.11.bb +++ b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2022.09.03.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=11cc2d3ee574f9d6b7ee797bdce4d423 \ file://COPYING.EXCEPTION;md5=fdef168ebff3bc2f13664c365a5fb515" SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "78a61b611e2eeb55a89e0398e0ce387bcaf57fe2dd53c6fe427130f777ad1e8c" +SRC_URI[sha256sum] = "e07454f00d8cae7907bed42d0747798927809947684d94c37207a4d63a32f423" inherit autotools allarch texinfo diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch b/poky/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch new file mode 100644 index 0000000000..4f15bf96c3 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf/autoconf/0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch @@ -0,0 +1,138 @@ +From 7a3bbca81b803ba116b83c82de378e840cc35f81 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Thu, 1 Sep 2022 16:19:50 -0500 +Subject: [PATCH] Port to compilers that moan about K&R func decls +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* lib/autoconf/c.m4 (AC_LANG_CALL, AC_LANG_FUNC_LINK_TRY): +Use '(void)' rather than '()' in function prototypes, as the latter +provokes fatal errors in some compilers nowadays. +* lib/autoconf/functions.m4 (AC_FUNC_STRTOD): +* tests/fortran.at (AC_F77_DUMMY_MAIN usage): +* tests/semantics.at (AC_CHECK_DECLS): +Don’t use () in a function decl. + +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + doc/autoconf.texi | 7 +++---- + lib/autoconf/c.m4 | 6 +++--- + lib/autoconf/functions.m4 | 3 --- + tests/fortran.at | 8 ++++---- + tests/semantics.at | 2 +- + 5 files changed, 11 insertions(+), 15 deletions(-) + +--- a/doc/autoconf.texi ++++ b/doc/autoconf.texi +@@ -5465,9 +5465,7 @@ the @samp{#undef malloc}): + #include <config.h> + #undef malloc + +-#include <sys/types.h> +- +-void *malloc (); ++#include <stdlib.h> + + /* Allocate an N-byte block of memory from the heap. + If N is zero, allocate a 1-byte block. */ +@@ -8295,7 +8293,7 @@ needed: + # ifdef __cplusplus + extern "C" + # endif +- int F77_DUMMY_MAIN () @{ return 1; @} ++ int F77_DUMMY_MAIN (void) @{ return 1; @} + #endif + @end example + +--- a/lib/autoconf/c.m4 ++++ b/lib/autoconf/c.m4 +@@ -127,7 +127,7 @@ m4_if([$2], [main], , + [/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +-char $2 ();])], [return $2 ();])]) ++char $2 (void);])], [return $2 ();])]) + + + # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) +@@ -151,7 +151,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], + #define $1 innocuous_$1 + + /* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char $1 (); below. */ ++ which can conflict with char $1 (void); below. */ + + #include <limits.h> + #undef $1 +@@ -162,7 +162,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], + #ifdef __cplusplus + extern "C" + #endif +-char $1 (); ++char $1 (void); + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +--- a/lib/autoconf/functions.m4 ++++ b/lib/autoconf/functions.m4 +@@ -1601,9 +1601,6 @@ AC_DEFUN([AC_FUNC_STRTOD], + AC_CACHE_CHECK(for working strtod, ac_cv_func_strtod, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + ]AC_INCLUDES_DEFAULT[ +-#ifndef strtod +-double strtod (); +-#endif + int + main (void) + { +--- a/tests/fortran.at ++++ b/tests/fortran.at +@@ -233,7 +233,7 @@ void FOOBAR_F77 (double *x, double *y); + # ifdef __cplusplus + extern "C" + # endif +- int F77_DUMMY_MAIN () { return 1; } ++ int F77_DUMMY_MAIN (void) { return 1; } + #endif + + int main(int argc, char *argv[]) +@@ -315,7 +315,7 @@ void FOOBAR_FC(double *x, double *y); + # ifdef __cplusplus + extern "C" + # endif +- int FC_DUMMY_MAIN () { return 1; } ++ int FC_DUMMY_MAIN (void) { return 1; } + #endif + + int main (int argc, char *argv[]) +@@ -561,7 +561,7 @@ void @foobar@ (int *x); + # ifdef __cplusplus + extern "C" + # endif +- int F77_DUMMY_MAIN () { return 1; } ++ int F77_DUMMY_MAIN (void) { return 1; } + #endif + + int main(int argc, char *argv[]) +@@ -637,7 +637,7 @@ void @foobar@ (int *x); + # ifdef __cplusplus + extern "C" + # endif +- int FC_DUMMY_MAIN () { return 1; } ++ int FC_DUMMY_MAIN (void) { return 1; } + #endif + + int main(int argc, char *argv[]) +--- a/tests/semantics.at ++++ b/tests/semantics.at +@@ -207,7 +207,7 @@ AT_CHECK_MACRO([AC_CHECK_DECLS], + [[extern int yes; + enum { myenum }; + extern struct mystruct_s { int x[20]; } mystruct; +- extern int myfunc(); ++ extern int myfunc (int); + #define mymacro1(arg) arg + #define mymacro2]]) + # Ensure we can detect missing declarations of functions whose diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch b/poky/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch deleted file mode 100644 index 4d8aa296cd..0000000000 --- a/poky/meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 7ccfea413216bddd988823acf4e93421ea0f7f9f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 16 Aug 2022 18:35:45 -0700 -Subject: [PATCH] specify void prototype for functions with no parameters - -Compilers defaulting to C99 flag such functions as warning which fails -to compile when using -Werror - -Fixes -error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] - -Upstream-Status: Submitted [https://lists.gnu.org/archive/html/autoconf-patches/2022-08/msg00003.html] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - lib/autoconf/c.m4 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/lib/autoconf/c.m4 -+++ b/lib/autoconf/c.m4 -@@ -127,7 +127,7 @@ m4_if([$2], [main], , - [/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ --char $2 ();])], [return $2 ();])]) -+char $2 (void);])], [return $2 ();])]) - - - # AC_LANG_FUNC_LINK_TRY(C)(FUNCTION) -@@ -151,7 +151,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], - #define $1 innocuous_$1 - - /* System header to define __stub macros and hopefully few prototypes, -- which can conflict with char $1 (); below. */ -+ which can conflict with char $1 (void); below. */ - - #include <limits.h> - #undef $1 -@@ -162,7 +162,7 @@ m4_define([AC_LANG_FUNC_LINK_TRY(C)], - #ifdef __cplusplus - extern "C" - #endif --char $1 (); -+char $1 (void); - /* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -@@ -252,7 +252,7 @@ dnl other built-in extern "C" functions, - dnl when it actually happens. - [AC_LANG_PROGRAM([[$1 - namespace conftest { -- extern "C" int $2 (); -+ extern "C" int $2 (void); - }]], - [[return conftest::$2 ();]])]) - -@@ -2457,7 +2457,7 @@ using std::strcmp; - - namespace { - --void test_exception_syntax() -+void test_exception_syntax(void) - { - try { - throw "test"; diff --git a/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb b/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb index 239b268119..97c241a3f5 100644 --- a/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb +++ b/poky/meta/recipes-devtools/autoconf/autoconf_2.71.bb @@ -18,7 +18,7 @@ SRC_URI = "${GNU_MIRROR}/autoconf/${BP}.tar.gz \ file://preferbash.patch \ file://autotest-automake-result-format.patch \ file://man-host-perl.patch \ - file://0001-specify-void-prototype-for-functions-with-no-paramet.patch \ + file://0001-Port-to-compilers-that-moan-about-K-R-func-decls.patch \ " SRC_URI:append:class-native = " file://no-man.patch" diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.39.inc b/poky/meta/recipes-devtools/binutils/binutils-2.39.inc index 89612a3eae..b040e57037 100644 --- a/poky/meta/recipes-devtools/binutils/binutils-2.39.inc +++ b/poky/meta/recipes-devtools/binutils/binutils-2.39.inc @@ -31,5 +31,13 @@ SRC_URI = "\ file://0010-sync-with-OE-libtool-changes.patch \ file://0011-Check-for-clang-before-checking-gcc-version.patch \ file://0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \ + file://0013-CVE-2022-38533.patch \ + file://0014-CVE-2022-38128-1.patch \ + file://0014-CVE-2022-38128-2.patch \ + file://0014-CVE-2022-38128-3.patch \ " S = "${WORKDIR}/git" +# Already in 2.39 branch +# - https://sourceware.org/bugzilla/show_bug.cgi?id=29289 +# - https://sourceware.org/bugzilla/show_bug.cgi?id=29290 +CVE_CHECK_IGNORE += "CVE-2022-38126 CVE-2022-38127" diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc index 4e8f10c1c4..12e7d77d8d 100644 --- a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc +++ b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc @@ -23,10 +23,10 @@ do_install () { rm -f ${D}${libdir}/libiberty* rm -f ${D}${libdir}/libopcodes* rm -f ${D}${includedir}/*.h - + rm -f ${D}${sysconfdir}/gprofng.rc + rmdir ${D}${sysconfdir} || : + cross_canadian_bindirlinks } -FILES:${PN} += "${sysconfdir}/gprofng.rc" - BBCLASSEXTEND = "" diff --git a/poky/meta/recipes-devtools/binutils/binutils.inc b/poky/meta/recipes-devtools/binutils/binutils.inc index 789c8bec21..98acf0a222 100644 --- a/poky/meta/recipes-devtools/binutils/binutils.inc +++ b/poky/meta/recipes-devtools/binutils/binutils.inc @@ -36,6 +36,24 @@ FILES:${PN}-dev = " \ # Rather than duplicating multiple entries for these, make one # list and reuse it. +GPROFNGS = " \ + gp-archive \ + gp-collect-app \ + gp-display-html \ + gp-display-src \ + gp-display-text \ + gprofng \ +" + +# it disables gprofng for clang and musl in the bb file +GPROFNGS:toolchain-clang = "" +GPROFNGS:libc-musl = "" + +GPROFNG_ALTS ?= "" +GPROFNG_ALTS:x86 = "${GPROFNGS}" +GPROFNG_ALTS:x86-64 = "${GPROFNGS}" +GPROFNG_ALTS:aarch64 = "${GPROFNGS}" + LDGOLD_ALTS ?= "ld.gold dwp" LDGOLD_ALTS:riscv64 = "" LDGOLD_ALTS:riscv32 = "" @@ -48,6 +66,7 @@ USE_ALTERNATIVES_FOR = " \ c++filt \ elfedit \ gprof \ + ${GPROFNG_ALTS} \ ld \ ld.bfd \ ${LDGOLD_ALTS} \ diff --git a/poky/meta/recipes-devtools/binutils/binutils/0013-CVE-2022-38533.patch b/poky/meta/recipes-devtools/binutils/binutils/0013-CVE-2022-38533.patch new file mode 100644 index 0000000000..5d9ac2cb1f --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/0013-CVE-2022-38533.patch @@ -0,0 +1,36 @@ +From ef186fe54aa6d281a3ff8a9528417e5cc614c797 Mon Sep 17 00:00:00 2001 +From: Alan Modra <amodra@gmail.com> +Date: Sat, 13 Aug 2022 15:32:47 +0930 +Subject: [PATCH] PR29482 - strip: heap-buffer-overflow + + PR 29482 + * coffcode.h (coff_set_section_contents): Sanity check _LIB. + +Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ef186fe54aa6d281a3ff8a9528417e5cc614c797] + +Signed-off-by: Pgowda <pgowda.cve@gmail.com> + +--- + bfd/coffcode.h | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/bfd/coffcode.h b/bfd/coffcode.h +index 67aaf158ca1..52027981c3f 100644 +--- a/bfd/coffcode.h ++++ b/bfd/coffcode.h +@@ -4302,10 +4302,13 @@ coff_set_section_contents (bfd * abfd, + + rec = (bfd_byte *) location; + recend = rec + count; +- while (rec < recend) ++ while (recend - rec >= 4) + { ++ size_t len = bfd_get_32 (abfd, rec); ++ if (len == 0 || len > (size_t) (recend - rec) / 4) ++ break; ++ rec += len * 4; + ++section->lma; +- rec += bfd_get_32 (abfd, rec) * 4; + } + + BFD_ASSERT (rec == recend); diff --git a/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-1.patch b/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-1.patch new file mode 100644 index 0000000000..0a490d86b3 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-1.patch @@ -0,0 +1,350 @@ +From f07c08e115e27cddf5a0030dc6332bbee1bd9c6a Mon Sep 17 00:00:00 2001 +From: Alan Modra <amodra@gmail.com> +Date: Thu, 21 Jul 2022 08:38:14 +0930 +Subject: [PATCH] binutils/dwarf.c: abbrev caching + +I'm inclined to think that abbrev caching is counter-productive. The +time taken to search the list of abbrevs converted to internal form is +non-zero, and it's easy to decode the raw abbrevs. It's especially +silly to cache empty lists of decoded abbrevs (happens with zero +padding in .debug_abbrev), or abbrevs as they are displayed when there +is no further use of those abbrevs. This patch stops caching in those +cases. + + * dwarf.c (record_abbrev_list_for_cu): Add free_list param. + Put abbrevs on abbrev_lists here. + (new_abbrev_list): Delete function. + (process_abbrev_set): Return newly allocated list. Move + abbrev base, offset and size checking to.. + (find_and_process_abbrev_set): ..here, new function. Handle + lookup of cached abbrevs here, and calculate start and end + for process_abbrev_set. Return free_list if newly alloc'd. + (process_debug_info): Consolidate cached list lookup, new list + alloc and processing into find_and_process_abbrev_set call. + Free list when not cached. + (display_debug_abbrev): Similarly. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=f07c08e115e27cddf5a0030dc6332bbee1bd9c6a] + +Signed-off-by: Pgowda <pgowda.cve@gmail.com> +--- + binutils/dwarf.c | 208 +++++++++++++++++++++++++---------------------- + 1 file changed, 110 insertions(+), 98 deletions(-) + +diff --git a/binutils/dwarf.c b/binutils/dwarf.c +index 267ed3bb382..2fc352f74c5 100644 +--- a/binutils/dwarf.c ++++ b/binutils/dwarf.c +@@ -882,8 +882,15 @@ static unsigned long next_free_abbrev_m + #define ABBREV_MAP_ENTRIES_INCREMENT 8 + + static void +-record_abbrev_list_for_cu (dwarf_vma start, dwarf_vma end, abbrev_list * list) ++record_abbrev_list_for_cu (dwarf_vma start, dwarf_vma end, ++ abbrev_list *list, abbrev_list *free_list) + { ++ if (free_list != NULL) ++ { ++ list->next = abbrev_lists; ++ abbrev_lists = list; ++ } ++ + if (cu_abbrev_map == NULL) + { + num_abbrev_map_entries = INITIAL_NUM_ABBREV_MAP_ENTRIES; +@@ -936,20 +943,6 @@ free_all_abbrevs (void) + } + + static abbrev_list * +-new_abbrev_list (dwarf_vma abbrev_base, dwarf_vma abbrev_offset) +-{ +- abbrev_list * list = (abbrev_list *) xcalloc (sizeof * list, 1); +- +- list->abbrev_base = abbrev_base; +- list->abbrev_offset = abbrev_offset; +- +- list->next = abbrev_lists; +- abbrev_lists = list; +- +- return list; +-} +- +-static abbrev_list * + find_abbrev_list_by_abbrev_offset (dwarf_vma abbrev_base, + dwarf_vma abbrev_offset) + { +@@ -966,7 +959,7 @@ find_abbrev_list_by_abbrev_offset (dwarf + /* Find the abbreviation map for the CU that includes OFFSET. + OFFSET is an absolute offset from the start of the .debug_info section. */ + /* FIXME: This function is going to slow down readelf & objdump. +- Consider using a better algorithm to mitigate this effect. */ ++ Not caching abbrevs is likely the answer. */ + + static abbrev_map * + find_abbrev_map_by_offset (dwarf_vma offset) +@@ -1033,40 +1026,18 @@ add_abbrev_attr (unsigned long attrib + list->last_abbrev->last_attr = attr; + } + +-/* Processes the (partial) contents of a .debug_abbrev section. +- Returns NULL if the end of the section was encountered. +- Returns the address after the last byte read if the end of +- an abbreviation set was found. */ ++/* Return processed (partial) contents of a .debug_abbrev section. ++ Returns NULL on errors. */ + +-static unsigned char * ++static abbrev_list * + process_abbrev_set (struct dwarf_section *section, +- dwarf_vma abbrev_base, +- dwarf_vma abbrev_size, +- dwarf_vma abbrev_offset, +- abbrev_list *list) ++ unsigned char *start, ++ unsigned char *end) + { +- if (abbrev_base >= section->size +- || abbrev_size > section->size - abbrev_base) +- { +- /* PR 17531: file:4bcd9ce9. */ +- warn (_("Debug info is corrupted, abbrev size (%lx) is larger than " +- "abbrev section size (%lx)\n"), +- (unsigned long) (abbrev_base + abbrev_size), +- (unsigned long) section->size); +- return NULL; +- } +- if (abbrev_offset >= abbrev_size) +- { +- warn (_("Debug info is corrupted, abbrev offset (%lx) is larger than " +- "abbrev section size (%lx)\n"), +- (unsigned long) abbrev_offset, +- (unsigned long) abbrev_size); +- return NULL; +- } ++ abbrev_list *list = xmalloc (sizeof (*list)); ++ list->first_abbrev = NULL; ++ list->last_abbrev = NULL; + +- unsigned char *start = section->start + abbrev_base; +- unsigned char *end = start + abbrev_size; +- start += abbrev_offset; + while (start < end) + { + unsigned long entry; +@@ -1079,14 +1050,18 @@ process_abbrev_set (struct dwarf_section + /* A single zero is supposed to end the set according + to the standard. If there's more, then signal that to + the caller. */ +- if (start == end) +- return NULL; +- if (entry == 0) +- return start; ++ if (start == end || entry == 0) ++ { ++ list->start_of_next_abbrevs = start != end ? start : NULL; ++ return list; ++ } + + READ_ULEB (tag, start, end); + if (start == end) +- return NULL; ++ { ++ free (list); ++ return NULL; ++ } + + children = *start++; + +@@ -1121,9 +1096,67 @@ process_abbrev_set (struct dwarf_section + /* Report the missing single zero which ends the section. */ + error (_(".debug_abbrev section not zero terminated\n")); + ++ free (list); + return NULL; + } + ++/* Return a sequence of abbrevs in SECTION starting at ABBREV_BASE ++ plus ABBREV_OFFSET and finishing at ABBREV_BASE + ABBREV_SIZE. ++ If FREE_LIST is non-NULL search the already decoded abbrevs on ++ abbrev_lists first and if found set *FREE_LIST to NULL. If ++ searching doesn't find a matching abbrev, set *FREE_LIST to the ++ newly allocated list. If FREE_LIST is NULL, no search is done and ++ the returned abbrev_list is always newly allocated. */ ++ ++static abbrev_list * ++find_and_process_abbrev_set (struct dwarf_section *section, ++ dwarf_vma abbrev_base, ++ dwarf_vma abbrev_size, ++ dwarf_vma abbrev_offset, ++ abbrev_list **free_list) ++{ ++ if (free_list) ++ *free_list = NULL; ++ ++ if (abbrev_base >= section->size ++ || abbrev_size > section->size - abbrev_base) ++ { ++ /* PR 17531: file:4bcd9ce9. */ ++ warn (_("Debug info is corrupted, abbrev size (%lx) is larger than " ++ "abbrev section size (%lx)\n"), ++ (unsigned long) (abbrev_base + abbrev_size), ++ (unsigned long) section->size); ++ return NULL; ++ } ++ if (abbrev_offset >= abbrev_size) ++ { ++ warn (_("Debug info is corrupted, abbrev offset (%lx) is larger than " ++ "abbrev section size (%lx)\n"), ++ (unsigned long) abbrev_offset, ++ (unsigned long) abbrev_size); ++ return NULL; ++ } ++ ++ unsigned char *start = section->start + abbrev_base + abbrev_offset; ++ unsigned char *end = section->start + abbrev_base + abbrev_size; ++ abbrev_list *list = NULL; ++ if (free_list) ++ list = find_abbrev_list_by_abbrev_offset (abbrev_base, abbrev_offset); ++ if (list == NULL) ++ { ++ list = process_abbrev_set (section, start, end); ++ if (list) ++ { ++ list->abbrev_base = abbrev_base; ++ list->abbrev_offset = abbrev_offset; ++ list->next = NULL; ++ } ++ if (free_list) ++ *free_list = list; ++ } ++ return list; ++} ++ + static const char * + get_TAG_name (unsigned long tag) + { +@@ -3670,7 +3703,6 @@ process_debug_info (struct dwarf_section + dwarf_vma cu_offset; + unsigned int offset_size; + struct cu_tu_set * this_set; +- abbrev_list * list; + unsigned char *end_cu; + + hdrptr = start; +@@ -3726,22 +3758,18 @@ process_debug_info (struct dwarf_section + abbrev_size = this_set->section_sizes [DW_SECT_ABBREV]; + } + +- list = find_abbrev_list_by_abbrev_offset (abbrev_base, +- compunit.cu_abbrev_offset); +- if (list == NULL) +- { +- unsigned char * next; +- +- list = new_abbrev_list (abbrev_base, +- compunit.cu_abbrev_offset); +- next = process_abbrev_set (&debug_displays[abbrev_sec].section, +- abbrev_base, abbrev_size, +- compunit.cu_abbrev_offset, list); +- list->start_of_next_abbrevs = next; +- } +- ++ abbrev_list *list; ++ abbrev_list *free_list; ++ list = find_and_process_abbrev_set (&debug_displays[abbrev_sec].section, ++ abbrev_base, abbrev_size, ++ compunit.cu_abbrev_offset, ++ &free_list); + start = end_cu; +- record_abbrev_list_for_cu (cu_offset, start - section_begin, list); ++ if (list != NULL && list->first_abbrev != NULL) ++ record_abbrev_list_for_cu (cu_offset, start - section_begin, ++ list, free_list); ++ else if (free_list != NULL) ++ free_abbrev_list (free_list); + } + + for (start = section_begin, unit = 0; start < end; unit++) +@@ -3757,7 +3785,6 @@ process_debug_info (struct dwarf_section + struct cu_tu_set *this_set; + dwarf_vma abbrev_base; + size_t abbrev_size; +- abbrev_list * list = NULL; + unsigned char *end_cu; + + hdrptr = start; +@@ -3936,20 +3963,10 @@ process_debug_info (struct dwarf_section + } + + /* Process the abbrevs used by this compilation unit. */ +- list = find_abbrev_list_by_abbrev_offset (abbrev_base, +- compunit.cu_abbrev_offset); +- if (list == NULL) +- { +- unsigned char *next; +- +- list = new_abbrev_list (abbrev_base, +- compunit.cu_abbrev_offset); +- next = process_abbrev_set (&debug_displays[abbrev_sec].section, +- abbrev_base, abbrev_size, +- compunit.cu_abbrev_offset, list); +- list->start_of_next_abbrevs = next; +- } +- ++ abbrev_list *list; ++ list = find_and_process_abbrev_set (&debug_displays[abbrev_sec].section, ++ abbrev_base, abbrev_size, ++ compunit.cu_abbrev_offset, NULL); + level = 0; + last_level = level; + saved_level = -1; +@@ -4128,6 +4145,8 @@ process_debug_info (struct dwarf_section + if (entry->children) + ++level; + } ++ if (list != NULL) ++ free_abbrev_list (list); + } + + /* Set num_debug_info_entries here so that it can be used to check if +@@ -6353,24 +6372,15 @@ display_debug_abbrev (struct dwarf_secti + + do + { +- abbrev_list * list; +- dwarf_vma offset; +- +- offset = start - section->start; +- list = find_abbrev_list_by_abbrev_offset (0, offset); ++ dwarf_vma offset = start - section->start; ++ abbrev_list *list = find_and_process_abbrev_set (section, 0, ++ section->size, offset, ++ NULL); + if (list == NULL) +- { +- list = new_abbrev_list (0, offset); +- start = process_abbrev_set (section, 0, section->size, offset, list); +- list->start_of_next_abbrevs = start; +- } +- else +- start = list->start_of_next_abbrevs; +- +- if (list->first_abbrev == NULL) +- continue; ++ break; + +- printf (_(" Number TAG (0x%lx)\n"), (long) offset); ++ if (list->first_abbrev) ++ printf (_(" Number TAG (0x%lx)\n"), (long) offset); + + for (entry = list->first_abbrev; entry; entry = entry->next) + { +@@ -6391,6 +6401,8 @@ display_debug_abbrev (struct dwarf_secti + putchar ('\n'); + } + } ++ start = list->start_of_next_abbrevs; ++ free_abbrev_list (list); + } + while (start); + diff --git a/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-2.patch b/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-2.patch new file mode 100644 index 0000000000..e30b4d86e1 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-2.patch @@ -0,0 +1,536 @@ +From 175b91507b83ad42607d2f6dadaf55b7b511bdbe Mon Sep 17 00:00:00 2001 +From: Alan Modra <amodra@gmail.com> +Date: Wed, 20 Jul 2022 18:28:50 +0930 +Subject: [PATCH] miscellaneous dwarf.c tidies + + * dwarf.c: Leading and trailing whitespace fixes. + (free_abbrev_list): New function. + (free_all_abbrevs): Use the above. Free cu_abbrev_map here too. + (process_abbrev_set): Print actual section name on error. + (get_type_abbrev_from_form): Add overflow check. + (free_debug_memory): Don't free cu_abbrev_map here.. + (process_debug_info): ..or here. Warn on another case of not + finding a neeeded abbrev. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=175b91507b83ad42607d2f6dadaf55b7b511bdbe] + +Signed-off-by: Pgowda <pgowda.cve@gmail.com> +--- + binutils/dwarf.c | 216 +++++++++++++++++++++++------------------------ + 1 file changed, 106 insertions(+), 110 deletions(-) + +diff --git a/binutils/dwarf.c b/binutils/dwarf.c +index 2b1eec49422..267ed3bb382 100644 +--- a/binutils/dwarf.c ++++ b/binutils/dwarf.c +@@ -806,7 +806,7 @@ fetch_indexed_value (dwarf_vma idx, + pointer_size = 4; + bias = 12; + } +- ++ + dwarf_vma offset = idx * pointer_size; + + /* Offsets are biased by the size of the section header +@@ -908,38 +908,41 @@ record_abbrev_list_for_cu (dwarf_vma sta + next_free_abbrev_map_entry ++; + } + +-static void +-free_all_abbrevs (void) ++static abbrev_list * ++free_abbrev_list (abbrev_list *list) + { +- abbrev_list * list; ++ abbrev_entry *abbrv = list->first_abbrev; + +- for (list = abbrev_lists; list != NULL;) ++ while (abbrv) + { +- abbrev_list * next = list->next; +- abbrev_entry * abbrv; ++ abbrev_attr *attr = abbrv->first_attr; + +- for (abbrv = list->first_abbrev; abbrv != NULL;) ++ while (attr) + { +- abbrev_entry * next_abbrev = abbrv->next; +- abbrev_attr * attr; +- +- for (attr = abbrv->first_attr; attr;) +- { +- abbrev_attr *next_attr = attr->next; +- +- free (attr); +- attr = next_attr; +- } +- +- free (abbrv); +- abbrv = next_abbrev; ++ abbrev_attr *next_attr = attr->next; ++ free (attr); ++ attr = next_attr; + } + +- free (list); +- list = next; ++ abbrev_entry *next_abbrev = abbrv->next; ++ free (abbrv); ++ abbrv = next_abbrev; + } + +- abbrev_lists = NULL; ++ abbrev_list *next = list->next; ++ free (list); ++ return next; ++} ++ ++static void ++free_all_abbrevs (void) ++{ ++ while (abbrev_lists) ++ abbrev_lists = free_abbrev_list (abbrev_lists); ++ ++ free (cu_abbrev_map); ++ cu_abbrev_map = NULL; ++ next_free_abbrev_map_entry = 0; + } + + static abbrev_list * +@@ -971,7 +974,7 @@ find_abbrev_map_by_offset (dwarf_vma off + && cu_abbrev_map[i].end > offset) + return cu_abbrev_map + i; + +- return NULL; ++ return NULL; + } + + static void +@@ -1094,7 +1097,7 @@ process_abbrev_set (struct dwarf_section + } + + /* Report the missing single zero which ends the section. */ +- error (_(".debug_abbrev section not zero terminated\n")); ++ error (_("%s section not zero terminated\n"), section->name); + + free (list); + return NULL; +@@ -1875,7 +1878,7 @@ fetch_alt_indirect_string (dwarf_vma off + dwarf_vmatoa ("x", offset)); + return _("<offset is too big>"); + } +- ++ + static const char * + get_AT_name (unsigned long attribute) + { +@@ -2157,7 +2160,8 @@ get_type_abbrev_from_form (unsigned long + case DW_FORM_ref4: + case DW_FORM_ref8: + case DW_FORM_ref_udata: +- if (uvalue + cu_offset > (size_t) (cu_end - section->start)) ++ if (uvalue + cu_offset < uvalue ++ || uvalue + cu_offset > (size_t) (cu_end - section->start)) + { + warn (_("Unable to resolve ref form: uvalue %lx + cu_offset %lx > CU size %lx\n"), + uvalue, (long) cu_offset, (long) (cu_end - section->start)); +@@ -2194,7 +2198,7 @@ get_type_abbrev_from_form (unsigned long + else + *map_return = NULL; + } +- ++ + READ_ULEB (abbrev_number, data, section->start + section->size); + + for (entry = map->list->first_abbrev; entry != NULL; entry = entry->next) +@@ -2783,10 +2787,10 @@ read_and_display_attr_value (unsigned lo + if (form == DW_FORM_loclistx) + { + if (dwo) +- { +- index = fetch_indexed_value (uvalue, loclists_dwo, 0); +- index += (offset_size == 8) ? 20 : 12; +- } ++ { ++ index = fetch_indexed_value (uvalue, loclists_dwo, 0); ++ index += (offset_size == 8) ? 20 : 12; ++ } + else if (debug_info_p == NULL) + { + index = fetch_indexed_value (uvalue, loclists, 0); +@@ -2804,21 +2808,21 @@ read_and_display_attr_value (unsigned lo + else if (form == DW_FORM_rnglistx) + { + if (dwo) +- { +- index = fetch_indexed_value (uvalue, rnglists_dwo, 0); +- index += (offset_size == 8) ? 20 : 12; +- } ++ { ++ index = fetch_indexed_value (uvalue, rnglists_dwo, 0); ++ index += (offset_size == 8) ? 20 : 12; ++ } + else +- { +- if (debug_info_p == NULL) +- base = 0; +- else +- base = debug_info_p->rnglists_base; +- /* We do not have a cached value this time, so we perform the +- computation manually. */ +- index = fetch_indexed_value (uvalue, rnglists, base); +- index += base; +- } ++ { ++ if (debug_info_p == NULL) ++ base = 0; ++ else ++ base = debug_info_p->rnglists_base; ++ /* We do not have a cached value this time, so we perform the ++ computation manually. */ ++ index = fetch_indexed_value (uvalue, rnglists, base); ++ index += base; ++ } + } + else + { +@@ -2844,7 +2848,7 @@ read_and_display_attr_value (unsigned lo + if (!do_loc) + printf ("%c<0x%s>", delimiter, dwarf_vmatoa ("x", uvalue + cu_offset)); + break; +- ++ + default: + warn (_("Unrecognized form: 0x%lx\n"), form); + /* What to do? Consume a byte maybe? */ +@@ -2869,9 +2873,9 @@ read_and_display_attr_value (unsigned lo + case DW_AT_rnglists_base: + if (debug_info_p->rnglists_base) + warn (_("CU @ 0x%s has multiple rnglists_base values (0x%s and 0x%s)"), +- dwarf_vmatoa ("x", debug_info_p->cu_offset), +- dwarf_vmatoa ("x", debug_info_p->rnglists_base), +- dwarf_vmatoa ("x", uvalue)); ++ dwarf_vmatoa ("x", debug_info_p->cu_offset), ++ dwarf_vmatoa ("x", debug_info_p->rnglists_base), ++ dwarf_vmatoa ("x", uvalue)); + debug_info_p->rnglists_base = uvalue; + break; + case DW_AT_str_offsets_base: +@@ -3021,7 +3025,7 @@ read_and_display_attr_value (unsigned lo + case DW_FORM_strx3: + case DW_FORM_strx4: + add_dwo_name (fetch_indexed_string (uvalue, this_set, offset_size, false, +- debug_info_p->str_offsets_base), ++ debug_info_p->str_offsets_base), + cu_offset); + break; + case DW_FORM_string: +@@ -3055,7 +3059,7 @@ read_and_display_attr_value (unsigned lo + case DW_FORM_strx3: + case DW_FORM_strx4: + add_dwo_dir (fetch_indexed_string (uvalue, this_set, offset_size, false, +- debug_info_p->str_offsets_base), ++ debug_info_p->str_offsets_base), + cu_offset); + break; + case DW_FORM_string: +@@ -3686,11 +3690,8 @@ process_debug_info (struct dwarf_section + introduce (section, false); + + free_all_abbrevs (); +- free (cu_abbrev_map); +- cu_abbrev_map = NULL; +- next_free_abbrev_map_entry = 0; + +- /* In order to be able to resolve DW_FORM_ref_attr forms we need ++ /* In order to be able to resolve DW_FORM_ref_addr forms we need + to load *all* of the abbrevs for all CUs in this .debug_info + section. This does effectively mean that we (partially) read + every CU header twice. */ +@@ -4045,12 +4046,11 @@ process_debug_info (struct dwarf_section + + /* Scan through the abbreviation list until we reach the + correct entry. */ +- if (list == NULL) +- continue; +- +- for (entry = list->first_abbrev; entry != NULL; entry = entry->next) +- if (entry->number == abbrev_number) +- break; ++ entry = NULL; ++ if (list != NULL) ++ for (entry = list->first_abbrev; entry != NULL; entry = entry->next) ++ if (entry->number == abbrev_number) ++ break; + + if (entry == NULL) + { +@@ -4074,7 +4074,7 @@ process_debug_info (struct dwarf_section + break; + case DW_TAG_compile_unit: + case DW_TAG_skeleton_unit: +- need_base_address = 1; ++ need_base_address = 1; + need_dwo_info = do_loc; + break; + case DW_TAG_entry_point: +@@ -4459,7 +4459,7 @@ display_debug_sup (struct dwarf_section + + SAFE_BYTE_GET_AND_INC (is_supplementary, start, 1, end); + if (is_supplementary != 0 && is_supplementary != 1) +- warn (_("corrupt .debug_sup section: is_supplementary not 0 or 1\n")); ++ warn (_("corrupt .debug_sup section: is_supplementary not 0 or 1\n")); + + sup_filename = start; + if (is_supplementary && sup_filename[0] != 0) +@@ -5638,7 +5638,7 @@ display_debug_lines_decoded (struct dwar + printf ("%s %11d %#18" DWARF_VMA_FMT "x", + newFileName, state_machine_regs.line, + state_machine_regs.address); +- } ++ } + else + { + if (xop == -DW_LNE_end_sequence) +@@ -6092,7 +6092,7 @@ display_debug_macro (struct dwarf_sectio + load_debug_section_with_follow (str, file); + load_debug_section_with_follow (line, file); + load_debug_section_with_follow (str_index, file); +- ++ + introduce (section, false); + + while (curr < end) +@@ -6537,7 +6537,7 @@ display_loc_list (struct dwarf_section * + + /* Check base address specifiers. */ + if (is_max_address (begin, pointer_size) +- && !is_max_address (end, pointer_size)) ++ && !is_max_address (end, pointer_size)) + { + base_address = end; + print_dwarf_vma (begin, pointer_size); +@@ -6715,7 +6715,7 @@ display_loclists_list (struct dwarf_sect + case DW_LLE_default_location: + begin = end = 0; + break; +- ++ + case DW_LLE_offset_pair: + READ_ULEB (begin, start, section_end); + begin += base_address; +@@ -7011,7 +7011,7 @@ display_offset_entry_loclists (struct dw + unsigned char * start = section->start; + unsigned char * const end = start + section->size; + +- introduce (section, false); ++ introduce (section, false); + + do + { +@@ -7060,14 +7060,14 @@ display_offset_entry_loclists (struct dw + section->name, segment_selector_size); + return 0; + } +- ++ + if (offset_entry_count == 0) + { + warn (_("The %s section contains a table without offset\n"), + section->name); + return 0; + } +- ++ + printf (_("\n Offset Entries starting at 0x%lx:\n"), + (long)(start - section->start)); + +@@ -8229,7 +8229,7 @@ display_debug_rnglists (struct dwarf_sec + start = display_debug_rnglists_list + (start, end, address_size, offset, 0, offset_size); + if (start >= end) +- break; ++ break; + } + + start = end; +@@ -8347,12 +8347,12 @@ display_debug_ranges (struct dwarf_secti + next = section_begin + offset + debug_info_p->rnglists_base; + + /* If multiple DWARF entities reference the same range then we will +- have multiple entries in the `range_entries' list for the same +- offset. Thanks to the sort above these will all be consecutive in +- the `range_entries' list, so we can easily ignore duplicates +- here. */ ++ have multiple entries in the `range_entries' list for the same ++ offset. Thanks to the sort above these will all be consecutive in ++ the `range_entries' list, so we can easily ignore duplicates ++ here. */ + if (i > 0 && last_offset == offset) +- continue; ++ continue; + last_offset = offset; + + if (dwarf_check != 0 && i > 0) +@@ -10286,7 +10286,7 @@ display_debug_names (struct dwarf_sectio + printf (_("Out of %lu items there are %zu bucket clashes" + " (longest of %zu entries).\n"), + (unsigned long) name_count, hash_clash_count, longest_clash); +- ++ + if (name_count != buckets_filled + hash_clash_count) + warn (_("The name_count (%lu) is not the same as the used bucket_count (%lu) + the hash clash count (%lu)"), + (unsigned long) name_count, +@@ -10390,7 +10390,7 @@ display_debug_names (struct dwarf_sectio + break; + if (tagno >= 0) + printf ("%s<%lu>", +- (tagno == 0 && second_abbrev_tag == 0 ? " " : "\n\t"), ++ (tagno == 0 && second_abbrev_tag == 0 ? " " : "\n\t"), + (unsigned long) abbrev_tag); + + for (entry = abbrev_lookup; +@@ -10919,7 +10919,7 @@ process_cu_tu_index (struct dwarf_sectio + Check for integer overflow (can occur when size_t is 32-bit) + with overlarge ncols or nused values. */ + if (nused == -1u +- || _mul_overflow ((size_t) ncols, 4, &temp) ++ || _mul_overflow ((size_t) ncols, 4, &temp) + || _mul_overflow ((size_t) nused + 1, temp, &total) + || total > (size_t) (limit - ppool)) + { +@@ -10927,7 +10927,7 @@ process_cu_tu_index (struct dwarf_sectio + section->name); + return 0; + } +- ++ + if (do_display) + { + printf (_(" Offset table\n")); +@@ -11431,8 +11431,8 @@ add_separate_debug_file (const char * fi + + static bool + debuginfod_fetch_separate_debug_info (struct dwarf_section * section, +- char ** filename, +- void * file) ++ char ** filename, ++ void * file) + { + size_t build_id_len; + unsigned char * build_id; +@@ -11450,14 +11450,14 @@ debuginfod_fetch_separate_debug_info (st + + filelen = strnlen ((const char *)section->start, section->size); + if (filelen == section->size) +- /* Corrupt debugaltlink. */ +- return false; ++ /* Corrupt debugaltlink. */ ++ return false; + + build_id = section->start + filelen + 1; + build_id_len = section->size - (filelen + 1); + + if (build_id_len == 0) +- return false; ++ return false; + } + else + return false; +@@ -11469,25 +11469,25 @@ debuginfod_fetch_separate_debug_info (st + + client = debuginfod_begin (); + if (client == NULL) +- return false; ++ return false; + + /* Query debuginfod servers for the target file. If found its path +- will be stored in filename. */ ++ will be stored in filename. */ + fd = debuginfod_find_debuginfo (client, build_id, build_id_len, filename); + debuginfod_end (client); + + /* Only free build_id if we allocated space for a hex string +- in get_build_id (). */ ++ in get_build_id (). */ + if (build_id_len == 0) +- free (build_id); ++ free (build_id); + + if (fd >= 0) +- { +- /* File successfully retrieved. Close fd since we want to +- use open_debug_file () on filename instead. */ +- close (fd); +- return true; +- } ++ { ++ /* File successfully retrieved. Close fd since we want to ++ use open_debug_file () on filename instead. */ ++ close (fd); ++ return true; ++ } + } + + return false; +@@ -11500,7 +11500,7 @@ load_separate_debug_info (const char * + parse_func_type parse_func, + check_func_type check_func, + void * func_data, +- void * file ATTRIBUTE_UNUSED) ++ void * file ATTRIBUTE_UNUSED) + { + const char * separate_filename; + char * debug_filename; +@@ -11616,11 +11616,11 @@ load_separate_debug_info (const char * + & tmp_filename, + file)) + { +- /* File successfully downloaded from server, replace +- debug_filename with the file's path. */ +- free (debug_filename); +- debug_filename = tmp_filename; +- goto found; ++ /* File successfully downloaded from server, replace ++ debug_filename with the file's path. */ ++ free (debug_filename); ++ debug_filename = tmp_filename; ++ goto found; + } + } + #endif +@@ -11787,12 +11787,12 @@ load_build_id_debug_file (const char * m + /* In theory we should extract the contents of the section into + a note structure and then check the fields. For now though + just use hard coded offsets instead: +- ++ + Field Bytes Contents + NSize 0...3 4 + DSize 4...7 8+ + Type 8..11 3 (NT_GNU_BUILD_ID) +- Name 12.15 GNU\0 ++ Name 12.15 GNU\0 + Data 16.... */ + + /* FIXME: Check the name size, name and type fields. */ +@@ -11804,7 +11804,7 @@ load_build_id_debug_file (const char * m + warn (_(".note.gnu.build-id data size is too small\n")); + return; + } +- ++ + if (build_id_size > (section->size - 16)) + { + warn (_(".note.gnu.build-id data size is too bug\n")); +@@ -12100,10 +12100,6 @@ free_debug_memory (void) + + free_all_abbrevs (); + +- free (cu_abbrev_map); +- cu_abbrev_map = NULL; +- next_free_abbrev_map_entry = 0; +- + free (shndx_pool); + shndx_pool = NULL; + shndx_pool_size = 0; diff --git a/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-3.patch b/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-3.patch new file mode 100644 index 0000000000..04d06ed6b6 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-3.patch @@ -0,0 +1,95 @@ +From 695c6dfe7e85006b98c8b746f3fd5f913c94ebff Mon Sep 17 00:00:00 2001 +From: Alan Modra <amodra@gmail.com> +Date: Thu, 21 Jul 2022 09:56:15 +0930 +Subject: [PATCH] PR29370, infinite loop in display_debug_abbrev + +The PR29370 testcase is a fuzzed object file with multiple +.trace_abbrev sections. Multiple .trace_abbrev or .debug_abbrev +sections are not a violation of the DWARF standard. The DWARF5 +standard even gives an example of multiple .debug_abbrev sections +contained in groups. Caching and lookup of processed abbrevs thus +needs to be done by section and offset rather than base and offset. +(Why base anyway?) Or, since section contents are kept, by a pointer +into the contents. + + PR 29370 + * dwarf.c (struct abbrev_list): Replace abbrev_base and + abbrev_offset with raw field. + (find_abbrev_list_by_abbrev_offset): Delete. + (find_abbrev_list_by_raw_abbrev): New function. + (process_abbrev_set): Set list->raw and list->next. + (find_and_process_abbrev_set): Replace abbrev list lookup with + new function. Don't set list abbrev_base, abbrev_offset or next. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=695c6dfe7e85006b98c8b746f3fd5f913c94ebff] + +Signed-off-by: Pgowda <pgowda.cve@gmail.com> +--- + binutils/dwarf.c | 19 ++++++------------- + 1 file changed, 6 insertions(+), 13 deletions(-) + +diff --git a/binutils/dwarf.c b/binutils/dwarf.c +index 2fc352f74c5..99fb3566994 100644 +--- a/binutils/dwarf.c ++++ b/binutils/dwarf.c +@@ -856,8 +856,7 @@ typedef struct abbrev_list + { + abbrev_entry * first_abbrev; + abbrev_entry * last_abbrev; +- dwarf_vma abbrev_base; +- dwarf_vma abbrev_offset; ++ unsigned char * raw; + struct abbrev_list * next; + unsigned char * start_of_next_abbrevs; + } +@@ -946,14 +945,12 @@ free_all_abbrevs (void) + } + + static abbrev_list * +-find_abbrev_list_by_abbrev_offset (dwarf_vma abbrev_base, +- dwarf_vma abbrev_offset) ++find_abbrev_list_by_raw_abbrev (unsigned char *raw) + { + abbrev_list * list; + + for (list = abbrev_lists; list != NULL; list = list->next) +- if (list->abbrev_base == abbrev_base +- && list->abbrev_offset == abbrev_offset) ++ if (list->raw == raw) + return list; + + return NULL; +@@ -1040,6 +1037,7 @@ process_abbrev_set (struct dwarf_section + abbrev_list *list = xmalloc (sizeof (*list)); + list->first_abbrev = NULL; + list->last_abbrev = NULL; ++ list->raw = start; + + while (start < end) + { +@@ -1055,6 +1053,7 @@ process_abbrev_set (struct dwarf_section + the caller. */ + if (start == end || entry == 0) + { ++ list->next = NULL; + list->start_of_next_abbrevs = start != end ? start : NULL; + return list; + } +@@ -1144,16 +1143,10 @@ find_and_process_abbrev_set (struct dwar + unsigned char *end = section->start + abbrev_base + abbrev_size; + abbrev_list *list = NULL; + if (free_list) +- list = find_abbrev_list_by_abbrev_offset (abbrev_base, abbrev_offset); ++ list = find_abbrev_list_by_raw_abbrev (start); + if (list == NULL) + { + list = process_abbrev_set (section, start, end); +- if (list) +- { +- list->abbrev_base = abbrev_base; +- list->abbrev_offset = abbrev_offset; +- list->next = NULL; +- } + if (free_list) + *free_list = list; + } diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.19.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.19.1.bb index 4f116a85ac..db8026e0f0 100644 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.19.bb +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.19.1.bb @@ -18,7 +18,7 @@ DEPENDS = "util-linux zlib" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ " -SRCREV = "96b83b16158f3b87037085761bf212e958473767" +SRCREV = "e1d9dab326e043696e6648aba4ccf90874d1d3d1" S = "${WORKDIR}/git" PACKAGECONFIG ??= " \ diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.6.2.bb b/poky/meta/recipes-devtools/ccache/ccache_4.6.3.bb index dbac02243c..bc1be92bff 100644 --- a/poky/meta/recipes-devtools/ccache/ccache_4.6.2.bb +++ b/poky/meta/recipes-devtools/ccache/ccache_4.6.3.bb @@ -11,16 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=7a19377a02749d8a1281ed608169b0ee" DEPENDS = "zstd" -SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ file://0001-xxhash.h-Fix-build-with-gcc-12.patch \ - file://0001-Include-time.h-for-time_t.patch \ - file://0002-config-Include-sys-types.h-for-mode_t-defintion.patch \ -" -SRC_URI[sha256sum] = "6a746a9bed01585388b68e2d58af2e77741fc8d66bc360b5a0b4c41fc284dafe" + " +SRC_URI[sha256sum] = "f46ba3706ad80c30d4d5874dee2bf9227a7fcd0ccaac31b51919a3053d84bd05" -UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/" - -inherit cmake +inherit cmake github-releases PATCHTOOL = "patch" diff --git a/poky/meta/recipes-devtools/ccache/files/0001-Include-time.h-for-time_t.patch b/poky/meta/recipes-devtools/ccache/files/0001-Include-time.h-for-time_t.patch deleted file mode 100644 index d752eb0651..0000000000 --- a/poky/meta/recipes-devtools/ccache/files/0001-Include-time.h-for-time_t.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 590c656838a9b3769a7a855fb1891bfa8d8878ad Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 23 Aug 2022 10:27:21 -0700 -Subject: [PATCH] Include time.h for time_t - -Fixes -src/core/Statistics.hpp:41:37: error: 'time_t' has not been declared -| 41 | time_t last_updated, -| | ^~~~~~ - -Upstream-Status: Submitted [https://github.com/ccache/ccache/pull/1145] -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - src/core/Statistics.hpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/core/Statistics.hpp b/src/core/Statistics.hpp -index 54f32e9..eb80e1c 100644 ---- a/src/core/Statistics.hpp -+++ b/src/core/Statistics.hpp -@@ -21,6 +21,7 @@ - #include <core/StatisticsCounters.hpp> - - #include <cstdint> -+#include <ctime> - #include <string> - #include <unordered_map> - #include <vector> diff --git a/poky/meta/recipes-devtools/ccache/files/0002-config-Include-sys-types.h-for-mode_t-defintion.patch b/poky/meta/recipes-devtools/ccache/files/0002-config-Include-sys-types.h-for-mode_t-defintion.patch deleted file mode 100644 index 0fd77602df..0000000000 --- a/poky/meta/recipes-devtools/ccache/files/0002-config-Include-sys-types.h-for-mode_t-defintion.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f98b390a2d323f7f92fb0492b0943d201afe5b8f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 23 Aug 2022 10:40:53 -0700 -Subject: [PATCH] config: Include sys/types.h for mode_t defintion - -Upstream-Status: Submitted [https://github.com/ccache/ccache/pull/1145] -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - src/Config.hpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/Config.hpp b/src/Config.hpp -index a9e08ec..9e7af40 100644 ---- a/src/Config.hpp -+++ b/src/Config.hpp -@@ -25,6 +25,8 @@ - - #include "third_party/nonstd/optional.hpp" - -+#include <sys/types.h> -+ - #include <cstdint> - #include <functional> - #include <limits> diff --git a/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake b/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake index 3ddef12c83..d6a1e0464c 100644 --- a/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake +++ b/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake @@ -11,10 +11,7 @@ set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY ) set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX "$ENV{OE_CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX}") -# Set CMAKE_SYSTEM_PROCESSOR from the sysroot name (assuming processor-distro-os). -if ($ENV{SDKTARGETSYSROOT} MATCHES "/sysroots/([a-zA-Z0-9_-]+)-.+-.+") - set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_MATCH_1}) -endif() +set( CMAKE_SYSTEM_PROCESSOR $ENV{OECORE_TARGET_ARCH} ) # Include the toolchain configuration subscripts file( GLOB toolchain_config_files "${CMAKE_CURRENT_LIST_FILE}.d/*.cmake" ) diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.14.0.bb index bf89ceb275..62df8c4ace 100644 --- a/poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb +++ b/poky/meta/recipes-devtools/dnf/dnf_4.14.0.bb @@ -18,7 +18,7 @@ SRC_URI = "git://github.com/rpm-software-management/dnf.git;branch=master;protoc file://0001-dnf-write-the-log-lock-to-root.patch \ " -SRCREV = "ef09e48fc3ebbbaf4dfa478e6e0532706506f091" +SRCREV = "e50875b3f5790f70720bdb670e1dd2bf4d828744" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" S = "${WORKDIR}/git" @@ -88,3 +88,9 @@ SYSTEMD_SERVICE:${PN} = "dnf-makecache.service dnf-makecache.timer \ SYSTEMD_AUTO_ENABLE ?= "disable" SKIP_RECIPE[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}" + +# Packages for testing purposes +PACKAGES += "${PN}-test-main ${PN}-test-dep" +ALLOW_EMPTY:${PN}-test-main = "1" +ALLOW_EMPTY:${PN}-test-dep = "1" +RRECOMMENDS:${PN}-test-main = "${PN}-test-dep" diff --git a/poky/meta/recipes-devtools/dosfstools/dosfstools_4.2.bb b/poky/meta/recipes-devtools/dosfstools/dosfstools_4.2.bb index 289d939bb9..47d81dac8d 100644 --- a/poky/meta/recipes-devtools/dosfstools/dosfstools_4.2.bb +++ b/poky/meta/recipes-devtools/dosfstools/dosfstools_4.2.bb @@ -9,13 +9,11 @@ SECTION = "base" LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI = "https://github.com/dosfstools/dosfstools/releases/download/v${PV}/${BP}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ " SRC_URI[sha256sum] = "64926eebf90092dca21b14259a5301b7b98e7b1943e8a201c7d726084809b527" -UPSTREAM_CHECK_URI = "https://github.com/dosfstools/dosfstools/releases" - -inherit autotools gettext pkgconfig update-alternatives +inherit autotools gettext pkgconfig update-alternatives github-releases EXTRA_OECONF = "--enable-compat-symlinks --without-iconv" diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.187.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.187.bb index 561112c580..40c51c8814 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.187.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.187.bb @@ -21,6 +21,7 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ file://run-ptest \ file://ptest.patch \ file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \ + file://0001-tests-Add-libeu-to-tests-needing-error-API.patch \ " SRC_URI:append:libc-musl = " \ file://0003-musl-utils.patch \ @@ -29,7 +30,6 @@ SRC_URI:append:libc-musl = " \ SRC_URI[sha256sum] = "e70b0dfbe610f90c4d1fe0d71af142a4e25c3c4ef9ebab8d2d72b65159d454c8" inherit autotools gettext ptest pkgconfig -PTEST_ENABLED:libc-musl = "0" EXTRA_OECONF = "--program-prefix=eu-" @@ -66,6 +66,7 @@ do_install_ptest() { # copy the files which needed by the cases TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint elfcompress elfclassify stack unstrip" install -d -m 755 ${D}${PTEST_PATH}/src + install -d -m 755 ${D}${PTEST_PATH}/lib install -d -m 755 ${D}${PTEST_PATH}/libelf install -d -m 755 ${D}${PTEST_PATH}/libdw install -d -m 755 ${D}${PTEST_PATH}/libdwfl @@ -83,6 +84,7 @@ do_install_ptest() { cp ${D}${libdir}/libasm-${PV}.so ${D}${PTEST_PATH}/libasm/libasm.so cp ${B}/libcpu/libcpu.a ${D}${PTEST_PATH}/libcpu/ cp ${B}/libebl/libebl.a ${D}${PTEST_PATH}/libebl/ + cp ${B}/lib/libeu.a ${D}${PTEST_PATH}/lib/ cp ${S}/libelf/*.h ${D}${PTEST_PATH}/libelf/ cp ${S}/libdw/*.h ${D}${PTEST_PATH}/libdw/ cp ${S}/libdwfl/*.h ${D}${PTEST_PATH}/libdwfl/ diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-tests-Add-libeu-to-tests-needing-error-API.patch b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Add-libeu-to-tests-needing-error-API.patch new file mode 100644 index 0000000000..7c1bc87cbf --- /dev/null +++ b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Add-libeu-to-tests-needing-error-API.patch @@ -0,0 +1,147 @@ +From c05c787070a390a2061bfcb845e1e35e8b1373b3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 13 Sep 2022 09:33:00 -0700 +Subject: [PATCH] tests: Add libeu to tests needing error() API + +A local error() impelmentation is used when libc does not provide it, +therefore link in libeu.a which contains this function in tests needing +error() API + +Upstream-Status: Submitted [https://sourceware.org/pipermail/elfutils-devel/2022q3/005375.html] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tests/Makefile.am | 60 +++++++++++++++++++++++------------------------ + 1 file changed, 30 insertions(+), 30 deletions(-) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 3943e17..1acc49b 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -638,17 +638,17 @@ libeu = ../lib/libeu.a + arextract_LDADD = $(libelf) + arsymtest_LDADD = $(libelf) + newfile_LDADD = $(libelf) +-saridx_LDADD = $(libelf) ++saridx_LDADD = $(libeu) $(libelf) + scnnames_LDADD = $(libelf) +-sectiondump_LDADD = $(libelf) ++sectiondump_LDADD = $(libeu) $(libelf) + showptable_LDADD = $(libelf) + hash_LDADD = $(libelf) + test_nlist_CFLAGS =-g -O0 $(EXTRA_NLIST_CFLAGS) + test_nlist_LDADD = $(libelf) + msg_tst_LDADD = $(libelf) + newscn_LDADD = $(libelf) +-early_offscn_LDADD = $(libelf) +-ecp_LDADD = $(libelf) ++early_offscn_LDADD = $(libeu) $(libelf) ++ecp_LDADD = $(libeu) $(libelf) + update1_LDADD = $(libelf) + update2_LDADD = $(libelf) + update3_LDADD = $(libdw) $(libelf) +@@ -662,12 +662,12 @@ get_files_LDADD = $(libdw) $(libelf) + next_files_LDADD = $(libdw) $(libelf) + get_aranges_LDADD = $(libdw) $(libelf) + allfcts_LDADD = $(libdw) $(libelf) +-line2addr_LDADD = $(libdw) $(argp_LDADD) +-addrscopes_LDADD = $(libdw) $(argp_LDADD) +-funcscopes_LDADD = $(libdw) $(argp_LDADD) +-funcretval_LDADD = $(libdw) $(argp_LDADD) +-allregs_LDADD = $(libdw) $(argp_LDADD) +-find_prologues_LDADD = $(libdw) $(argp_LDADD) ++line2addr_LDADD = $(libeu) $(libdw) $(argp_LDADD) ++addrscopes_LDADD = $(libeu) $(libdw) $(argp_LDADD) ++funcscopes_LDADD = $(libeu) $(libdw) $(argp_LDADD) ++funcretval_LDADD = $(libeu) $(libdw) $(argp_LDADD) ++allregs_LDADD = $(libeu) $(libdw) $(argp_LDADD) ++find_prologues_LDADD = $(libeu) $(libdw) $(argp_LDADD) + #show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf) + asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) + asm_tst2_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) +@@ -678,19 +678,19 @@ asm_tst6_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) + asm_tst7_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) + asm_tst8_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) + asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) +-dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(argp_LDADD) +-rdwrmmap_LDADD = $(libelf) ++dwflmodtest_LDADD = $(libeu) $(libdw) $(libebl) $(libelf) $(argp_LDADD) ++rdwrmmap_LDADD = $(libeu) $(libelf) + dwfl_bug_addr_overflow_LDADD = $(libdw) $(libebl) $(libelf) + arls_LDADD = $(libelf) +-dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf) ++dwfl_bug_fd_leak_LDADD = $(libeu) $(libdw) $(libebl) $(libelf) + dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) +-dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) +-dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(argp_LDADD) ++dwfl_bug_getmodules_LDADD = $(libeu) $(libdw) $(libebl) $(libelf) ++dwfl_addr_sect_LDADD = $(libeu) $(libdw) $(libebl) $(libelf) $(argp_LDADD) + dwarf_getmacros_LDADD = $(libdw) + dwarf_ranges_LDADD = $(libdw) + dwarf_getstring_LDADD = $(libdw) + addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(argp_LDADD) +-dwarfcfi_LDADD = $(libdw) $(libelf) ++dwarfcfi_LDADD = $(libeu) $(libdw) $(libelf) + test_flag_nobits_LDADD = $(libelf) + rerequest_tag_LDADD = $(libdw) + alldts_LDADD = $(libdw) $(libelf) +@@ -699,35 +699,35 @@ typeiter2_LDADD = $(libdw) $(libelf) + low_high_pc_LDADD = $(libdw) $(libelf) $(argp_LDADD) + test_elf_cntl_gelf_getshdr_LDADD = $(libelf) + dwflsyms_LDADD = $(libdw) $(libelf) $(argp_LDADD) +-dwfllines_LDADD = $(libdw) $(libelf) $(argp_LDADD) +-dwfl_report_elf_align_LDADD = $(libdw) ++dwfllines_LDADD = $(libeu) $(libdw) $(libelf) $(argp_LDADD) ++dwfl_report_elf_align_LDADD = $(libeu) $(libdw) + dwfl_report_segment_contiguous_LDADD = $(libdw) $(libebl) $(libelf) +-varlocs_LDADD = $(libdw) $(libelf) $(argp_LDADD) +-backtrace_LDADD = $(libdw) $(libelf) $(argp_LDADD) ++varlocs_LDADD = $(libeu) $(libdw) $(libelf) $(argp_LDADD) ++backtrace_LDADD = $(libeu) $(libdw) $(libelf) $(argp_LDADD) + # backtrace-child-biarch also uses those *_CFLAGS and *_LDLAGS variables: + backtrace_child_CFLAGS = $(fpie_CFLAGS) + backtrace_child_LDFLAGS = -pie -pthread + backtrace_child_biarch_SOURCES = backtrace-child.c +-backtrace_data_LDADD = $(libdw) $(libelf) ++backtrace_data_LDADD = $(libeu) $(libdw) $(libelf) + backtrace_dwarf_CFLAGS = -Wno-unused-parameter +-backtrace_dwarf_LDADD = $(libdw) $(libelf) +-debuglink_LDADD = $(libdw) $(libelf) +-debugaltlink_LDADD = $(libdw) $(libelf) +-buildid_LDADD = $(libdw) $(libelf) ++backtrace_dwarf_LDADD = $(libeu) $(libdw) $(libelf) ++debuglink_LDADD = $(libeu) $(libdw) $(libelf) ++debugaltlink_LDADD = $(libeu) $(libdw) $(libelf) ++buildid_LDADD = $(libeu) $(libdw) $(libelf) + deleted_LDADD = ./deleted-lib.so + deleted_lib_so_LDFLAGS = -shared + deleted_lib_so_CFLAGS = $(fpic_CFLAGS) -fasynchronous-unwind-tables + aggregate_size_LDADD = $(libdw) $(libelf) $(argp_LDADD) + peel_type_LDADD = $(libdw) $(libelf) $(argp_LDADD) +-vdsosyms_LDADD = $(libdw) $(libelf) +-getsrc_die_LDADD = $(libdw) $(libelf) ++vdsosyms_LDADD = $(libeu) $(libdw) $(libelf) ++getsrc_die_LDADD = $(libeu) $(libdw) $(libelf) + strptr_LDADD = $(libelf) + newdata_LDADD = $(libelf) + elfstrtab_LDADD = $(libelf) +-dwfl_proc_attach_LDADD = $(libdw) ++dwfl_proc_attach_LDADD = $(libeu) $(libdw) + dwfl_proc_attach_LDFLAGS = -pthread -rdynamic $(AM_LDFLAGS) + elfshphehdr_LDADD =$(libelf) +-elfstrmerge_LDADD = $(libdw) $(libelf) ++elfstrmerge_LDADD = $(libeu) $(libdw) $(libelf) + dwelfgnucompressed_LDADD = $(libelf) $(libdw) + elfgetchdr_LDADD = $(libelf) $(libdw) + elfgetzdata_LDADD = $(libelf) +@@ -743,7 +743,7 @@ get_units_split_LDADD = $(libdw) + attr_integrate_skel_LDADD = $(libdw) + all_dwarf_ranges_LDADD = $(libdw) + unit_info_LDADD = $(libdw) +-next_cfi_LDADD = $(libelf) $(libdw) ++next_cfi_LDADD = $(libeu) $(libelf) $(libdw) + elfcopy_LDADD = $(libelf) + addsections_LDADD = $(libelf) + debuginfod_build_id_find_LDADD = $(libelf) $(libdw) +-- +2.37.3 + diff --git a/poky/meta/recipes-devtools/file/file_5.42.bb b/poky/meta/recipes-devtools/file/file_5.43.bb index 8efcf09c9c..102d0fda26 100644 --- a/poky/meta/recipes-devtools/file/file_5.42.bb +++ b/poky/meta/recipes-devtools/file/file_5.43.bb @@ -13,7 +13,7 @@ DEPENDS:class-native = "bzip2-replacement-native" SRC_URI = "git://github.com/file/file.git;branch=master;protocol=https" -SRCREV = "a42b38690579de23403e0aff9b7b2f9cdf55f534" +SRCREV = "011778a2877f75597ed83c1a2716d917770920ee" S = "${WORKDIR}/git" inherit autotools update-alternatives diff --git a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb index 8736b3585e..15cf6f5cca 100644 --- a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb +++ b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb @@ -12,7 +12,7 @@ BBCLASSEXTEND = "native nativesdk" LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067 \ file://src/gettext.h;beginline=1;endline=17;md5=9c05dda2f58d89b850c399cf22e1a00c" -SRC_URI = "https://github.com/westes/flex/releases/download/v${PV}/flex-${PV}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/flex-${PV}.tar.gz \ file://run-ptest \ file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ ${@bb.utils.contains('PTEST_ENABLED', '1', '', 'file://disable-tests.patch', d)} \ @@ -24,16 +24,14 @@ SRC_URI = "https://github.com/westes/flex/releases/download/v${PV}/flex-${PV}.ta SRC_URI[md5sum] = "2882e3179748cc9f9c23ec593d6adc8d" SRC_URI[sha256sum] = "e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995" -# Flex has moved to github from 2.6.1 onwards -UPSTREAM_CHECK_URI = "https://github.com/westes/flex/releases" -UPSTREAM_CHECK_REGEX = "flex-(?P<pver>\d+(\.\d+)+)\.tar" +GITHUB_BASE_URI = "https://github.com/westes/flex/releases" # Disputed - yes there is stack exhaustion but no bug and it is building the # parser, not running it, effectively similar to a compiler ICE. Upstream no plans to address # https://github.com/westes/flex/issues/414 CVE_CHECK_IGNORE += "CVE-2019-6293" -inherit autotools gettext texinfo ptest +inherit autotools gettext texinfo ptest github-releases M4 = "${bindir}/m4" M4:class-native = "${STAGING_BINDIR_NATIVE}/m4" diff --git a/poky/meta/recipes-devtools/gcc/gcc-12.2.inc b/poky/meta/recipes-devtools/gcc/gcc-12.2.inc index 572fd8b669..0dbbecad4a 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-12.2.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-12.2.inc @@ -49,7 +49,6 @@ SRC_URI = "${BASEURI} \ file://0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ file://0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ file://0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \ - file://0012-export-CPP.patch \ file://0013-Ensure-target-gcc-headers-can-be-included.patch \ file://0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ file://0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch \ @@ -59,10 +58,8 @@ SRC_URI = "${BASEURI} \ file://0019-Re-introduce-spe-commandline-options.patch \ file://0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ file://0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ - file://0022-mingw32-Enable-operation_not_supported.patch \ file://0023-libatomic-Do-not-enforce-march-on-aarch64.patch \ file://0024-Fix-install-path-of-linux64.h.patch \ - file://0025-Move-sched.h-include-ahead-of-user-headers.patch \ file://0026-rust-recursion-limit.patch \ file://prefix-map-realpath.patch \ file://hardcoded-paths.patch \ diff --git a/poky/meta/recipes-devtools/gcc/gcc-common.inc b/poky/meta/recipes-devtools/gcc/gcc-common.inc index 2abc0e355d..d3b36937bf 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-common.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-common.inc @@ -32,6 +32,16 @@ def get_gcc_float_setting(bb, d): get_gcc_float_setting[vardepvalue] = "${@get_gcc_float_setting(bb, d)}" +def get_gcc_x86_64_arch_setting(bb, d): + import re + march = re.match(r'^.*-march=([^\s]*)', d.getVar('TUNE_CCARGS')) + if march: + return "--with-arch=%s " % march.group(1) + # The earliest supported x86-64 CPU + return "--with-arch=core2" + +get_gcc_x86_64_arch_setting[vardepvalue] = "${@get_gcc_x86_64_arch_setting(bb, d)}" + def get_gcc_mips_plt_setting(bb, d): if d.getVar('TRANSLATED_TARGET_ARCH') in [ 'mips', 'mipsel' ] and bb.utils.contains('DISTRO_FEATURES', 'mplt', True, False, d): return "--with-mips-plt" diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc index a87b446c4f..c36e4cba81 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc @@ -9,6 +9,7 @@ GCCMULTILIB = "--enable-multilib" require gcc-configure-common.inc +EXTRA_OECONF += "--with-plugin-ld=ld" EXTRA_OECONF_PATHS = "\ --with-gxx-include-dir=/not/exist${target_includedir}/c++/${BINV} \ --with-build-time-tools=${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin \ @@ -134,8 +135,6 @@ do_install () { ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t$suffix $dest$t$suffix done - t=real-ld - ln -sf ${BINRELPATH}/${TARGET_PREFIX}ld$suffix $dest$t$suffix # libquadmath headers need to be available in the gcc libexec dir install -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ diff --git a/poky/meta/recipes-devtools/gcc/gcc-target.inc b/poky/meta/recipes-devtools/gcc/gcc-target.inc index cc65e995c3..7dac3ef422 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-target.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-target.inc @@ -19,7 +19,7 @@ EXTRA_OECONF:append:armv6:class-target = " --with-arch=armv6${ARMFPARCHEXT}" EXTRA_OECONF:append:armv7a:class-target = " --with-arch=armv7-a${ARMFPARCHEXT}" EXTRA_OECONF:append:armv7ve:class-target = " --with-arch=armv7ve${ARMFPARCHEXT}" EXTRA_OECONF:append:arc:class-target = " --with-cpu=${TUNE_PKGARCH}" -EXTRA_OECONF:append:x86-64:class-target = " --with-arch=native" +EXTRA_OECONF:append:x86-64:class-target = " ${@get_gcc_x86_64_arch_setting(bb, d)}" # libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is # set in subdir gcc, so subdir libcc1 can't use it, export it here to diff --git a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch index 5a51ae7d96..bfec4477c1 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch @@ -185,6 +185,19 @@ index bb07cc244e3..ce161d3c853 100644 /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al. +@@ -1265,7 +1270,11 @@ static const char *cc1_options = + %{coverage:-fprofile-arcs -ftest-coverage}\ + %{fprofile-arcs|fprofile-generate*|coverage:\ + %{!fprofile-update=single:\ +- %{pthread:-fprofile-update=prefer-atomic}}}"; ++ %{pthread:-fprofile-update=prefer-atomic}}}" ++#ifdef POISON_BY_DEFAULT ++ " -Werror=poison-system-directories" ++#endif ++ ; + + static const char *asm_options = + "%{-target-help:%:print-asm-header()} " diff --git a/gcc/incpath.cc b/gcc/incpath.cc index bd2a97938eb..c80f100f476 100644 --- a/gcc/incpath.cc diff --git a/poky/meta/recipes-devtools/gcc/gcc/0012-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc/0012-export-CPP.patch deleted file mode 100644 index 7e1ebef463..0000000000 --- a/poky/meta/recipes-devtools/gcc/gcc/0012-export-CPP.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 20afebc61199cd74481b0b831c1b56465cd37fa0 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 20 Feb 2015 09:40:59 +0000 -Subject: [PATCH] export CPP - -The OE environment sets and exports CPP as being the target gcc. When -building gcc-cross-canadian for a mingw targetted sdk, the following can be found -in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log: - -configure:3641: checking for _FILE_OFFSET_BITS value needed for large files -configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5 -configure:3666: $? = 0 -configure:3698: result: no -configure:3786: checking how to run the C preprocessor -configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 -configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c -configure:3876: $? = 0 - -Note this is a *build* target (in build-x86_64-linux) so it should be -using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32 -headers are very different, using the wrong cpp is a real problem. It is leaking -into configure through the CPP variable. Ultimately this leads to build -failures related to not being able to include a process.h file for pem-unix.c. - -The fix is to ensure we export a sane CPP value into the build -environment when using build targets. We could define a CPP_FOR_BUILD value which may be -the version which needs to be upstreamed but for now, this fix is good enough to -avoid the problem. - -RP 22/08/2013 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Makefile.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile.in b/Makefile.in -index 1d9c83cc566..11819667751 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -152,6 +152,7 @@ BUILD_EXPORTS = \ - AR="$(AR_FOR_BUILD)"; export AR; \ - AS="$(AS_FOR_BUILD)"; export AS; \ - CC="$(CC_FOR_BUILD)"; export CC; \ -+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \ - CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CPP="$(CPP_FOR_BUILD)"; export CPP; \ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0022-mingw32-Enable-operation_not_supported.patch b/poky/meta/recipes-devtools/gcc/gcc/0022-mingw32-Enable-operation_not_supported.patch deleted file mode 100644 index f88ad51ee8..0000000000 --- a/poky/meta/recipes-devtools/gcc/gcc/0022-mingw32-Enable-operation_not_supported.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 061cf79e7b6e89fdf0f2630ddaebbf1d7b271ac3 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 12 May 2020 10:39:09 -0700 -Subject: [PATCH] mingw32: Enable operation_not_supported - -Fixes nativesdk build errors on mingw32 gcc-runtime - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - libstdc++-v3/config/os/mingw32/error_constants.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h -index da5f4c2ac85..e855c86267c 100644 ---- a/libstdc++-v3/config/os/mingw32/error_constants.h -+++ b/libstdc++-v3/config/os/mingw32/error_constants.h -@@ -107,7 +107,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION - #ifdef EPERM - operation_not_permitted = EPERM, - #endif --// operation_not_supported = EOPNOTSUPP, -+ operation_not_supported = EOPNOTSUPP, - #ifdef EWOULDBLOCK - operation_would_block = EWOULDBLOCK, - #endif diff --git a/poky/meta/recipes-devtools/gcc/gcc/0025-Move-sched.h-include-ahead-of-user-headers.patch b/poky/meta/recipes-devtools/gcc/gcc/0025-Move-sched.h-include-ahead-of-user-headers.patch deleted file mode 100644 index d4aeacfed5..0000000000 --- a/poky/meta/recipes-devtools/gcc/gcc/0025-Move-sched.h-include-ahead-of-user-headers.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 7422adfb471f4b4f2ec870124064632d55f72e50 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 11 Apr 2022 15:46:18 -0700 -Subject: [PATCH] Move sched.h include ahead of user headers - -Fix attempt to use poisoned calloc error, this moves the sched.h before -using system.h from gcc headers which includes #pragma GCC poison calloc - -Fixes -In file included from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/pthread.h:30, - from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/aarch64-yoe-linux-musl/bits/gthr-default.h:35, - from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/aarch64-yoe-linux-musl/bits/gthr.h:148, - from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/ext/atomicity.h:35, - from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/bits/shared_ptr_base.h:61, - from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/bits/shared_ptr.h:53, - from /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/c++/12.0.1/memory:77, - from ../../../../../../../work-shared/gcc-12.0.1-r0/gcc-12-20220410/libcc1/deleter.hh:23, - from ../../../../../../../work-shared/gcc-12.0.1-r0/gcc-12-20220410/libcc1/rpc.hh:25, - from ../../../../../../../work-shared/gcc-12.0.1-r0/gcc-12-20220410/libcc1/libcc1plugin.cc:67: -/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/sched.h:84:7: error: attempt to use poisoned "calloc" - 84 | void *calloc(size_t, size_t); - | ^ -/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/gcc/12.0.1-r0/recipe-sysroot/usr/include/sched.h:124:36: error: attempt to use poisoned "calloc" - 124 | #define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n))) - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - libcc1/libcc1plugin.cc | 1 + - libcc1/libcp1plugin.cc | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/libcc1/libcc1plugin.cc b/libcc1/libcc1plugin.cc -index 12ab5a57c8d..fff9bfab18b 100644 ---- a/libcc1/libcc1plugin.cc -+++ b/libcc1/libcc1plugin.cc -@@ -17,6 +17,7 @@ - along with GCC; see the file COPYING3. If not see - <http://www.gnu.org/licenses/>. */ - -+#include <sched.h> - #include <cc1plugin-config.h> - - #undef PACKAGE_NAME -diff --git a/libcc1/libcp1plugin.cc b/libcc1/libcp1plugin.cc -index 83dab7f58b1..0b83ce7a09d 100644 ---- a/libcc1/libcp1plugin.cc -+++ b/libcc1/libcp1plugin.cc -@@ -18,6 +18,7 @@ - along with GCC; see the file COPYING3. If not see - <http://www.gnu.org/licenses/>. */ - -+#include <sched.h> - #include <cc1plugin-config.h> - - #undef PACKAGE_NAME diff --git a/poky/meta/recipes-devtools/git/git_2.37.2.bb b/poky/meta/recipes-devtools/git/git_2.37.3.bb index b7858e2e46..2eed85e807 100644 --- a/poky/meta/recipes-devtools/git/git_2.37.2.bb +++ b/poky/meta/recipes-devtools/git/git_2.37.3.bb @@ -165,4 +165,4 @@ EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ " EXTRA_OEMAKE += "NO_GETTEXT=1" -SRC_URI[tarball.sha256sum] = "4c428908e3a2dca4174df6ef49acc995a4fdb1b45205a2c79794487a33bc06e5" +SRC_URI[tarball.sha256sum] = "181f65587155ea48c682f63135678ec53055adf1532428752912d356e46b64a8" diff --git a/poky/meta/recipes-devtools/go/go-native_1.19.bb b/poky/meta/recipes-devtools/go/go-native_1.19.bb index 76c0ab73a6..ddf25b2c9b 100644 --- a/poky/meta/recipes-devtools/go/go-native_1.19.bb +++ b/poky/meta/recipes-devtools/go/go-native_1.19.bb @@ -5,7 +5,7 @@ require go-${PV}.inc inherit native -SRC_URI:append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4" +SRC_URI += "https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4" SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52" export GOOS = "${BUILD_GOOS}" diff --git a/poky/meta/recipes-devtools/go/go-runtime.inc b/poky/meta/recipes-devtools/go/go-runtime.inc index e18339cddb..02601f7992 100644 --- a/poky/meta/recipes-devtools/go/go-runtime.inc +++ b/poky/meta/recipes-devtools/go/go-runtime.inc @@ -50,6 +50,8 @@ do_install() { rm -rf ${D}${libdir}/go/pkg/tool rm -rf ${D}${libdir}/go/pkg/obj rm -rf ${D}${libdir}/go/pkg/bootstrap + # the cmd directory is built for the native arch so if BUILD == TARGET + rm -rf ${D}${libdir}/go/pkg/${BUILD_GOTUPLE}/cmd find src -mindepth 1 -maxdepth 1 -type d | while read srcdir; do cp --preserve=mode,timestamps -R $srcdir ${D}${libdir}/go/src/ done diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.18.bb b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.19.bb index dd0a1f8f95..fa1fbc8f0d 100644 --- a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.18.bb +++ b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.19.bb @@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/libcomps.git;branch=master;p file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ " -SRCREV = "dee4ae37f7818709802de28c4d16fa823bd83ae2" +SRCREV = "9322bdcf06630cc094f094f944d7d0e2cb798b73" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.68.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.69.0.bb index 86cf41c102..da2550d323 100644 --- a/poky/meta/recipes-devtools/libdnf/libdnf_0.68.0.bb +++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.69.0.bb @@ -13,7 +13,7 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master;p file://0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch \ " -SRCREV = "388e7699f8a75fa81aca05d09389acea7e489168" +SRCREV = "5c6d9cd6e5955e7038722f091396607c60fcbdd1" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/librepo/librepo/0001-metadata_downloader-Include-unistd.h-for-lseek.patch b/poky/meta/recipes-devtools/librepo/librepo/0001-metadata_downloader-Include-unistd.h-for-lseek.patch deleted file mode 100644 index 22b3110a61..0000000000 --- a/poky/meta/recipes-devtools/librepo/librepo/0001-metadata_downloader-Include-unistd.h-for-lseek.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 5c63ec2e2d4726268ace85e5c61727cbd811d982 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 27 Aug 2022 09:00:24 -0700 -Subject: [PATCH] metadata_downloader: Include unistd.h for lseek() - -This is found when compiling on musl systems - -Fixes - -metadata_downloader.c:331:9: error: call to undeclared function 'lseek'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] - lseek(fd_value, SEEK_SET, 0); - ^ - -Upstream-Status: Submitted [https://github.com/rpm-software-management/librepo/pull/263] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - librepo/metadata_downloader.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/librepo/metadata_downloader.c b/librepo/metadata_downloader.c -index 123c77b..6604255 100644 ---- a/librepo/metadata_downloader.c -+++ b/librepo/metadata_downloader.c -@@ -24,6 +24,7 @@ - #include <assert.h> - #include <string.h> - #include <errno.h> -+#include <unistd.h> - #include <sys/stat.h> - - #include "librepo/librepo.h" --- -2.37.2 - diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.14.4.bb b/poky/meta/recipes-devtools/librepo/librepo_1.14.5.bb index 2b8bd132f3..46cfce53ff 100644 --- a/poky/meta/recipes-devtools/librepo/librepo_1.14.4.bb +++ b/poky/meta/recipes-devtools/librepo/librepo_1.14.5.bb @@ -8,10 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SRC_URI = "git://github.com/rpm-software-management/librepo.git;branch=master;protocol=https \ file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \ file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ - file://0001-metadata_downloader-Include-unistd.h-for-lseek.patch \ " -SRCREV = "2bd1041c741c85bc196ca01dcca1eae6099eb742" +SRCREV = "f4b915be5e04e88263097f65addfcac5919fef41" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/meson/meson_0.63.1.bb b/poky/meta/recipes-devtools/meson/meson_0.63.2.bb index 7f77a7de34..890faacec9 100644 --- a/poky/meta/recipes-devtools/meson/meson_0.63.1.bb +++ b/poky/meta/recipes-devtools/meson/meson_0.63.2.bb @@ -7,7 +7,8 @@ interface for modern software development tools and practices." LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz \ +GITHUB_BASE_URI = "https://github.com/mesonbuild/meson/releases/" +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/meson-${PV}.tar.gz \ file://meson-setup.py \ file://meson-wrapper \ file://0001-python-module-do-not-manipulate-the-environment-when.patch \ @@ -17,12 +18,9 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P file://0001-is_debianlike-always-return-False.patch \ file://0001-Check-for-clang-before-guessing-gcc-or-lcc.patch \ " -SRC_URI[sha256sum] = "06fe13297213d6ff0121c5d5aab25a56ef938ffec57414ed6086fda272cb65e9" +SRC_URI[sha256sum] = "16222f17ef76be0542c91c07994f9676ae879f46fc21c0c786a21ef2cb518bbf" -UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases" -UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar" - -inherit python_setuptools_build_meta +inherit python_setuptools_build_meta github-releases RDEPENDS:${PN} = "ninja python3-modules python3-pkg-resources" diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb b/poky/meta/recipes-devtools/ninja/ninja_1.11.1.bb index 4ec361cc1a..255f5efb70 100644 --- a/poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb +++ b/poky/meta/recipes-devtools/ninja/ninja_1.11.1.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" DEPENDS = "re2c-native ninja-native" -SRCREV = "51edeeb063a82693573db43782d9e3733b2840e4" +SRCREV = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb b/poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb index 7b351e8123..4cd589cd29 100644 --- a/poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb +++ b/poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb @@ -39,6 +39,7 @@ PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,\ PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl" PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256" +PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv" EXTRA_OECONF:class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}" diff --git a/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb b/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb index 17ce901646..98a8fa3f8a 100644 --- a/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb +++ b/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb @@ -8,16 +8,16 @@ LICENSE = "Artistic-1.0 | GPL-1.0-or-later" # but is not provided inside the release tarballs LIC_FILES_CHKSUM = "file://${WORKDIR}/README.md;md5=252fcce2026b765fee1ad74d2fb07a3b" -inherit allarch +inherit allarch github-releases -SRC_URI = "https://github.com/arsv/perl-cross/releases/download/${PV}/perl-cross-${PV}.tar.gz;name=perl-cross \ +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/perl-cross-${PV}.tar.gz;name=perl-cross \ file://README.md \ file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ file://determinism.patch \ file://0001-Makefile-check-the-file-if-patched-or-not.patch \ file://0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch \ " -UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/" +GITHUB_BASE_URI = "https://github.com/arsv/perl-cross/releases/" SRC_URI[perl-cross.sha256sum] = "be9d9f9f7148edff7a2f9695ba3cb7e3975eff6b25a9a81dd311725fd757aa91" diff --git a/poky/meta/recipes-devtools/python/python3-certifi_2022.6.15.bb b/poky/meta/recipes-devtools/python/python3-certifi_2022.9.14.bb index f78409b177..117a32b1d4 100644 --- a/poky/meta/recipes-devtools/python/python3-certifi_2022.6.15.bb +++ b/poky/meta/recipes-devtools/python/python3-certifi_2022.9.14.bb @@ -5,9 +5,9 @@ which ships with the Requests codebase, and is derived from Mozilla Firefox's ca HOMEPAGE = " http://certifi.io/" LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3c2b7404369c587c3559afb604fce2f2" -SRC_URI[sha256sum] = "84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d" +SRC_URI[sha256sum] = "36973885b9542e6bd01dea287b2b4b3b21236307c56324fcc3f1160f2d655ed5" inherit pypi setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-dtschema_2022.8.1.bb b/poky/meta/recipes-devtools/python/python3-dtschema_2022.8.3.bb index 38f646e50a..bc819c0dd6 100644 --- a/poky/meta/recipes-devtools/python/python3-dtschema_2022.8.1.bb +++ b/poky/meta/recipes-devtools/python/python3-dtschema_2022.8.3.bb @@ -7,7 +7,7 @@ inherit pypi setuptools3 PYPI_PACKAGE = "dtschema" -SRC_URI[sha256sum] = "3e56a9920944223d6f93fd51ada19dd8db554ac9182ef52c1c5c9d4966ab30aa" +SRC_URI[sha256sum] = "128c88a393cd04154cef4d4b10a643e4473ae290b436e8e61d2e97ae8e53255d" DEPENDS += "python3-setuptools-scm-native" RDEPENDS:${PN} += "python3-ruamel-yaml python3-jsonschema python3-rfc3987" diff --git a/poky/meta/recipes-devtools/python/python3-hatchling_1.8.1.bb b/poky/meta/recipes-devtools/python/python3-hatchling_1.9.0.bb index bfdb664715..011f5ed110 100644 --- a/poky/meta/recipes-devtools/python/python3-hatchling_1.8.1.bb +++ b/poky/meta/recipes-devtools/python/python3-hatchling_1.9.0.bb @@ -8,7 +8,7 @@ inherit pypi python_hatchling DEPENDS += "python3-pluggy-native python3-tomli-native python3-pathspec-native python3-packaging-native python3-editables-native" DEPENDS:remove:class-native = "python3-hatchling-native" -SRC_URI[sha256sum] = "448b04b23faed669b2b565b998ac955af4feea66c5deed3a1212ac9399d2e1cd" +SRC_URI[sha256sum] = "b57c7362f437b9426e4b94228a21d2ac5804fbb2abcb01adde2544a35bb303cd" do_compile:prepend() { export PYTHONPATH=src diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.54.5.bb index 1d9772d4ff..9adb614493 100644 --- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb +++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.54.5.bb @@ -13,7 +13,7 @@ SRC_URI += " \ file://test_rle.py \ " -SRC_URI[sha256sum] = "f5c1cf61b24b094355577a6b8fbbb8eb54c1b0216fbc0519af97c46bddf43c42" +SRC_URI[sha256sum] = "8a9056825695f415bfad4e808ae719fc01383a9ab659775319724365afcc7ec7" RDEPENDS:${PN} += " \ python3-attrs \ diff --git a/poky/meta/recipes-devtools/python/python3-idna_3.3.bb b/poky/meta/recipes-devtools/python/python3-idna_3.4.bb index ee92f44fd5..41a666f3f4 100644 --- a/poky/meta/recipes-devtools/python/python3-idna_3.3.bb +++ b/poky/meta/recipes-devtools/python/python3-idna_3.4.bb @@ -3,14 +3,9 @@ HOMEPAGE = "https://github.com/kjd/idna" LICENSE = "BSD-3-Clause & Python-2.0 & Unicode-TOU" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=239668a7c6066d9e0c5382e9c8c6c0e1" -SRC_URI[sha256sum] = "9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" +SRC_URI[sha256sum] = "814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4" -inherit pypi setuptools3 - -# Remove bundled egg-info -do_compile:prepend() { - rm -rf ${S}/idna.egg-info -} +inherit pypi python_flit_core RDEPENDS:${PN}:class-target = "\ ${PYTHON_PN}-codecs \ diff --git a/poky/meta/recipes-devtools/python/python3-lxml_4.9.1.bb b/poky/meta/recipes-devtools/python/python3-lxml_4.9.1.bb new file mode 100644 index 0000000000..92a30f7907 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-lxml_4.9.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +DESCRIPTION = "lxml is a Pythonic, mature binding for the libxml2 and \ +libxslt libraries. It provides safe and convenient access to these \ +libraries using the ElementTree API. It extends the ElementTree API \ +significantly to offer support for XPath, RelaxNG, XML Schema, XSLT, \ +C14N and much more." +HOMEPAGE = "https://lxml.de/" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause & GPL-2.0-only & MIT & PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \ + file://doc/licenses/elementtree.txt;md5=eb34d036a6e3d56314ee49a6852ac891 \ + file://doc/licenses/BSD.txt;md5=700a1fc17f4797d4f2d34970c8ee694b \ + file://doc/licenses/GPL.txt;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=fc85684a8dd5fa272c086bceb0d99e10 \ + file://src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl;beginline=2;endline=24;md5=cc86b7b2bbc678e13f58ea403eb9929b \ + file://src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl;beginline=2;endline=7;md5=5b03236d293dc3784205542b409d2f53 \ + " + +DEPENDS += "libxml2 libxslt" + +SRC_URI[sha256sum] = "fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f" + +SRC_URI += "${PYPI_SRC_URI}" +inherit pkgconfig pypi setuptools3 + +# {standard input}: Assembler messages: +# {standard input}:1488805: Error: branch out of range +DEBUG_OPTIMIZATION:remove:mips = " -Og" +DEBUG_OPTIMIZATION:append:mips = " -O" +BUILD_OPTIMIZATION:remove:mips = " -Og" +BUILD_OPTIMIZATION:append:mips = " -O" + +DEBUG_OPTIMIZATION:remove:mipsel = " -Og" +DEBUG_OPTIMIZATION:append:mipsel = " -O" +BUILD_OPTIMIZATION:remove:mipsel = " -Og" +BUILD_OPTIMIZATION:append:mipsel = " -O" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += "libxml2 libxslt ${PYTHON_PN}-compression" + +CLEANBROKEN = "1" diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.2.1.bb b/poky/meta/recipes-devtools/python/python3-mako_1.2.2.bb index 8155c37984..e3774ee621 100644 --- a/poky/meta/recipes-devtools/python/python3-mako_1.2.1.bb +++ b/poky/meta/recipes-devtools/python/python3-mako_1.2.2.bb @@ -8,7 +8,7 @@ PYPI_PACKAGE = "Mako" inherit pypi python_setuptools_build_meta -SRC_URI[sha256sum] = "f054a5ff4743492f1aa9ecc47172cb33b42b9d993cffcc146c9de17e717b0307" +SRC_URI[sha256sum] = "3724869b363ba630a272a5f89f68c070352137b8fd1757650017b7e06fda163f" RDEPENDS:${PN} = "${PYTHON_PN}-html \ ${PYTHON_PN}-markupsafe \ diff --git a/poky/meta/recipes-devtools/python/python3-numpy_1.23.2.bb b/poky/meta/recipes-devtools/python/python3-numpy_1.23.3.bb index 960dcf9410..9d086aedfd 100644 --- a/poky/meta/recipes-devtools/python/python3-numpy_1.23.2.bb +++ b/poky/meta/recipes-devtools/python/python3-numpy_1.23.3.bb @@ -7,20 +7,19 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8026691468924fb6ec155dadfe2a1a7f" SRCNAME = "numpy" -SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ file://0001-numpy-core-Define-RISCV-32-support.patch \ file://run-ptest \ file://0001-generate_umath.py-do-not-write-full-path-to-output-f.patch \ " -SRC_URI[sha256sum] = "b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01" +SRC_URI[sha256sum] = "51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd" -UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" -UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" +GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases" DEPENDS += "python3-cython-native" -inherit ptest setuptools3 +inherit ptest setuptools3 github-releases S = "${WORKDIR}/numpy-${PV}" diff --git a/poky/meta/recipes-devtools/python/python3-pathspec_0.9.0.bb b/poky/meta/recipes-devtools/python/python3-pathspec_0.10.1.bb index 641f1cfd87..8f2af0ec99 100644 --- a/poky/meta/recipes-devtools/python/python3-pathspec_0.9.0.bb +++ b/poky/meta/recipes-devtools/python/python3-pathspec_0.10.1.bb @@ -4,7 +4,7 @@ SECTION = "devel/python" LICENSE = "MPL-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad" -SRC_URI[sha256sum] = "e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1" +SRC_URI[sha256sum] = "7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d" inherit pypi setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-psutil_5.9.1.bb b/poky/meta/recipes-devtools/python/python3-psutil_5.9.2.bb index 04b6fb02de..5b31014657 100644 --- a/poky/meta/recipes-devtools/python/python3-psutil_5.9.1.bb +++ b/poky/meta/recipes-devtools/python/python3-psutil_5.9.2.bb @@ -3,7 +3,7 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b" HOMEPAGE = "https://pypi.org/project/psutil/" -SRC_URI[sha256sum] = "57f1819b5d9e95cdfb0c881a8a5b7d542ed0b7c522d575706a80bedc848c8954" +SRC_URI[sha256sum] = "feb861a10b6c3bb00701063b37e4afc754f8217f0f09c42280586bd6ac712b5c" inherit pypi setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.21.0.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.21.0.bb index 29452c7660..b692067809 100644 --- a/poky/meta/recipes-devtools/python/python3-pycairo_1.21.0.bb +++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.21.0.bb @@ -10,14 +10,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f3713ca2c28d9312ad718520b6dc3eee \ # cairo >= 1.14 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 = "${GITHUB_BASE_URI}/download/v${PV}/pycairo-${PV}.tar.gz" +GITHUB_BASE_URI = "https://github.com/pygobject/pycairo/releases/" SRC_URI[sha256sum] = "251907f18a552df938aa3386657ff4b5a4937dde70e11aa042bc297957f4b74b" S = "${WORKDIR}/pycairo-${PV}" -inherit meson pkgconfig python3targetconfig +inherit meson pkgconfig python3targetconfig github-releases CFLAGS += "-fPIC" diff --git a/poky/meta/recipes-devtools/python/python3-pytest_7.1.2.bb b/poky/meta/recipes-devtools/python/python3-pytest_7.1.3.bb index c642d9a232..373f7f35fa 100644 --- a/poky/meta/recipes-devtools/python/python3-pytest_7.1.2.bb +++ b/poky/meta/recipes-devtools/python/python3-pytest_7.1.3.bb @@ -5,7 +5,7 @@ DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scal LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" -SRC_URI[sha256sum] = "a06a0425453864a270bc45e71f783330a7428defb4230fb5e6a731fde06ecd45" +SRC_URI[sha256sum] = "4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39" DEPENDS += "python3-setuptools-scm-native" diff --git a/poky/meta/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb b/poky/meta/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb index 4abd181acf..e374979cb4 100644 --- a/poky/meta/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb +++ b/poky/meta/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb @@ -13,7 +13,7 @@ UPSTREAM_CHECK_REGEX = "/rfc3986-validator/(?P<pver>(\d+[\.\-_]*)+)/" inherit pypi setuptools3 -SRC_URI:append = " \ +SRC_URI += "\ file://0001-setup.py-move-pytest-runner-to-test_requirements.patch \ " diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json index 2f5dad6486..2205cf2d2d 100644 --- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json +++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json @@ -1248,5 +1248,16 @@ "${libdir}/python${PYTHON_MAJMIN}/xmlrpc/__pycache__" ], "cached": [] + }, + "zoneinfo": { + "summary": "IANA time zone support", + "rdepends": [ + "core" + ], + "files": [ + "${libdir}/python${PYTHON_MAJMIN}/zoneinfo", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_zoneinfo.*.so" + ], + "cached": [] } } diff --git a/poky/meta/recipes-devtools/python/python3_3.10.6.bb b/poky/meta/recipes-devtools/python/python3_3.10.6.bb index 1b28728732..1f8b60a7a5 100644 --- a/poky/meta/recipes-devtools/python/python3_3.10.6.bb +++ b/poky/meta/recipes-devtools/python/python3_3.10.6.bb @@ -105,6 +105,7 @@ PACKAGECONFIG:class-target ??= "readline gdbm ${@bb.utils.filter('DISTRO_FEATURE PACKAGECONFIG:class-native ??= "readline gdbm" PACKAGECONFIG:class-nativesdk ??= "readline gdbm" PACKAGECONFIG[readline] = ",,readline" +PACKAGECONFIG[editline] = "--with-readline=editline,,libedit,,,readline" # Use profile guided optimisation by running PyBench inside qemu-user PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" PACKAGECONFIG[tk] = ",,tk" diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_7.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-native_7.1.0.bb index a94dc0b61e..a94dc0b61e 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-native_7.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu-native_7.1.0.bb diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_7.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_7.1.0.bb index 5ccede5095..04c7c2a6ac 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-system-native_7.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_7.1.0.bb @@ -28,5 +28,6 @@ do_install:append() { rm -rf ${D}${includedir}/qemu-plugin.h # Install qmp.py to be used with testimage - install -D ${S}/python/qemu/qmp/__init__.py ${D}${libdir}/qemu-python/qmp.py + install -d ${D}${libdir}/qemu-python/qmp/ + install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/ } diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index 56fc7aaf55..612abd240a 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -27,16 +27,12 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://0008-tests-meson.build-use-relative-path-to-refer-to-file.patch \ file://0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \ file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \ - file://qemu-7.0.0-glibc-2.36.patch \ - file://CVE-2022-35414.patch \ - file://CVE-2021-3507_1.patch \ - file://CVE-2021-3507_2.patch \ - file://CVE-2022-0216_1.patch \ - file://CVE-2022-0216_2.patch \ + file://0001-net-tulip-Restrict-DMA-engine-to-memories.patch \ + file://arm-cpreg-fix.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" -SRC_URI[sha256sum] = "f6b375c7951f728402798b0baabb2d86478ca53d44cedbefabbe1c46bf46f839" +SRC_URI[sha256sum] = "a0634e536bded57cf38ec8a751adb124b89c776fe0846f21ab6c6728f1cbbbe6" SRC_URI:append:class-target = " file://cross.patch" SRC_URI:append:class-nativesdk = " file://cross.patch" @@ -75,8 +71,14 @@ do_install_ptest() { # Strip the paths from the QEMU variable, we can use PATH sed -i -e "s#^QEMU=.*/qemu-#QEMU=qemu-#g" ${D}${PTEST_PATH}/tests/tcg/*.mak - # Strip compiler flags as they break reproducibility - sed -i -e "s,CROSS_CC_GUEST=.*,CROSS_CC_GUEST=," ${D}${PTEST_PATH}/tests/tcg/*.mak + # Strip compiler flags as they break reproducibility + sed -i -e "s,^CC=.*,CC=gcc," \ + -e "s,^CCAS=.*,CCAS=gcc," \ + -e "s,^LD=.*,LD=ld," ${D}${PTEST_PATH}/tests/tcg/*.mak + + # Update SRC_PATH variable to the right place on target + sed -i -e "s#^SRC_PATH=.*#SRC_PATH=${PTEST_PATH}#g" ${D}${PTEST_PATH}/tests/tcg/*.mak + } # QEMU_TARGETS is overridable variable @@ -151,7 +153,6 @@ PACKAGECONFIG[uring] = "--enable-linux-io-uring,--disable-linux-io-uring,liburin PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen-tools,xen-tools-libxenstore xen-tools-libxenctrl xen-tools-libxenguest" PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl," PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg," -PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng," PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl," PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss," PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-net-tulip-Restrict-DMA-engine-to-memories.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-net-tulip-Restrict-DMA-engine-to-memories.patch new file mode 100644 index 0000000000..6c85a77ba7 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0001-net-tulip-Restrict-DMA-engine-to-memories.patch @@ -0,0 +1,64 @@ +CVE: CVE-2022-2962 +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@arm.com> + +From 5c5c50b0a73d78ffe18336c9996fef5eae9bbbb0 Mon Sep 17 00:00:00 2001 +From: Zheyu Ma <zheyuma97@gmail.com> +Date: Sun, 21 Aug 2022 20:43:43 +0800 +Subject: [PATCH] net: tulip: Restrict DMA engine to memories + +The DMA engine is started by I/O access and then itself accesses the +I/O registers, triggering a reentrancy bug. + +The following log can reveal it: +==5637==ERROR: AddressSanitizer: stack-overflow + #0 0x5595435f6078 in tulip_xmit_list_update qemu/hw/net/tulip.c:673 + #1 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13 + #2 0x559544637f86 in memory_region_write_accessor qemu/softmmu/memory.c:492:5 + #3 0x5595446379fa in access_with_adjusted_size qemu/softmmu/memory.c:554:18 + #4 0x5595446372fa in memory_region_dispatch_write qemu/softmmu/memory.c + #5 0x55954468b74c in flatview_write_continue qemu/softmmu/physmem.c:2825:23 + #6 0x559544683662 in flatview_write qemu/softmmu/physmem.c:2867:12 + #7 0x5595446833f3 in address_space_write qemu/softmmu/physmem.c:2963:18 + #8 0x5595435fb082 in dma_memory_rw_relaxed qemu/include/sysemu/dma.h:87:12 + #9 0x5595435fb082 in dma_memory_rw qemu/include/sysemu/dma.h:130:12 + #10 0x5595435fb082 in dma_memory_write qemu/include/sysemu/dma.h:171:12 + #11 0x5595435fb082 in stl_le_dma qemu/include/sysemu/dma.h:272:1 + #12 0x5595435fb082 in stl_le_pci_dma qemu/include/hw/pci/pci.h:910:1 + #13 0x5595435fb082 in tulip_desc_write qemu/hw/net/tulip.c:101:9 + #14 0x5595435f7e3d in tulip_xmit_list_update qemu/hw/net/tulip.c:706:9 + #15 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13 + +Fix this bug by restricting the DMA engine to memories regions. + +Signed-off-by: Zheyu Ma <zheyuma97@gmail.com> +Signed-off-by: Jason Wang <jasowang@redhat.com> +--- + hw/net/tulip.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hw/net/tulip.c b/hw/net/tulip.c +index 097e905bec..b9e42c322a 100644 +--- a/hw/net/tulip.c ++++ b/hw/net/tulip.c +@@ -70,7 +70,7 @@ static const VMStateDescription vmstate_pci_tulip = { + static void tulip_desc_read(TULIPState *s, hwaddr p, + struct tulip_descriptor *desc) + { +- const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED; ++ const MemTxAttrs attrs = { .memory = true }; + + if (s->csr[0] & CSR0_DBO) { + ldl_be_pci_dma(&s->dev, p, &desc->status, attrs); +@@ -88,7 +88,7 @@ static void tulip_desc_read(TULIPState *s, hwaddr p, + static void tulip_desc_write(TULIPState *s, hwaddr p, + struct tulip_descriptor *desc) + { +- const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED; ++ const MemTxAttrs attrs = { .memory = true }; + + if (s->csr[0] & CSR0_DBO) { + stl_be_pci_dma(&s->dev, p, desc->status, attrs); +-- +2.34.1 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch index 826d42fc20..810c74fabd 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch @@ -1,28 +1,28 @@ -From 52c38fa9f3a790a7c2805e7d8cce3ea9262d6ae2 Mon Sep 17 00:00:00 2001 +CVE: CVE-2022-1050 +Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20220403095234.2210-1-yuval.shaia.ml@gmail.com/] +Signed-off-by: Ross Burton <ross.burton@arm.com> + +From dbdef95c272e8f3ec037c3db4197c66002e30995 Mon Sep 17 00:00:00 2001 From: Yuval Shaia <yuval.shaia.ml@gmail.com> -Date: Tue, 12 Apr 2022 11:01:51 +0100 -Subject: [PATCH 10/12] hw/pvrdma: Protect against buggy or malicious guest - driver +Date: Sun, 3 Apr 2022 12:52:34 +0300 +Subject: [PATCH] hw/pvrdma: Protect against buggy or malicious guest driver Guest driver might execute HW commands when shared buffers are not yet allocated. -This might happen on purpose (malicious guest) or because some other -guest/host address mapping. +This could happen on purpose (malicious guest) or because of some other +guest/host address mapping error. We need to protect againts such case. -Reported-by: Mauro Matteo Cascella <mcascell@redhat.com> -Signed-off-by: Yuval Shaia <yuval.shaia.ml@gmail.com> - -CVE: CVE-2022-1050 -Upstream-Status: Submitted [https://lists.nongnu.org/archive/html/qemu-devel/2022-03/msg05197.html] +Fixes: CVE-2022-1050 +Reported-by: Raven <wxhusst@gmail.com> +Signed-off-by: Yuval Shaia <yuval.shaia.ml@gmail.com> --- - hw/rdma/vmw/pvrdma_cmd.c | 6 ++++++ - hw/rdma/vmw/pvrdma_main.c | 3 ++- - 2 files changed, 8 insertions(+), 1 deletion(-) + hw/rdma/vmw/pvrdma_cmd.c | 6 ++++++ + 1 file changed, 6 insertions(+) diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c -index da7ddfa54..89db963c4 100644 +index da7ddfa548..89db963c46 100644 --- a/hw/rdma/vmw/pvrdma_cmd.c +++ b/hw/rdma/vmw/pvrdma_cmd.c @@ -796,6 +796,12 @@ int pvrdma_exec_cmd(PVRDMADev *dev) @@ -38,20 +38,6 @@ index da7ddfa54..89db963c4 100644 if (dsr_info->req->hdr.cmd >= sizeof(cmd_handlers) / sizeof(struct cmd_handler)) { rdma_error_report("Unsupported command"); -diff --git a/hw/rdma/vmw/pvrdma_main.c b/hw/rdma/vmw/pvrdma_main.c -index 91206dbb8..0b7d908e2 100644 ---- a/hw/rdma/vmw/pvrdma_main.c -+++ b/hw/rdma/vmw/pvrdma_main.c -@@ -249,7 +249,8 @@ static void init_dsr_dev_caps(PVRDMADev *dev) - { - struct pvrdma_device_shared_region *dsr; - -- if (dev->dsr_info.dsr == NULL) { -+ if (!dev->dsr_info.dsr) { -+ /* Buggy or malicious guest driver */ - rdma_error_report("Can't initialized DSR"); - return; - } -- -2.30.2 +2.34.1 diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_1.patch deleted file mode 100644 index 24fd2c5ed3..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_1.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 57a89cc36ead7234e540d0ecbe1a792ab6b04cb7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com> -Date: Thu, 18 Nov 2021 12:57:32 +0100 -Subject: [PATCH 1/2] hw/block/fdc: Prevent end-of-track overrun - (CVE-2021-3507) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Per the 82078 datasheet, if the end-of-track (EOT byte in -the FIFO) is more than the number of sectors per side, the -command is terminated unsuccessfully: - -* 5.2.5 DATA TRANSFER TERMINATION - - The 82078 supports terminal count explicitly through - the TC pin and implicitly through the underrun/over- - run and end-of-track (EOT) functions. For full sector - transfers, the EOT parameter can define the last - sector to be transferred in a single or multisector - transfer. If the last sector to be transferred is a par- - tial sector, the host can stop transferring the data in - mid-sector, and the 82078 will continue to complete - the sector as if a hardware TC was received. The - only difference between these implicit functions and - TC is that they return "abnormal termination" result - status. Such status indications can be ignored if they - were expected. - -* 6.1.3 READ TRACK - - This command terminates when the EOT specified - number of sectors have been read. If the 82078 - does not find an I D Address Mark on the diskette - after the second· occurrence of a pulse on the - INDX# pin, then it sets the IC code in Status Regis- - ter 0 to "01" (Abnormal termination), sets the MA bit - in Status Register 1 to "1", and terminates the com- - mand. - -* 6.1.6 VERIFY - - Refer to Table 6-6 and Table 6-7 for information - concerning the values of MT and EC versus SC and - EOT value. - -* Table 6·6. Result Phase Table - -* Table 6-7. Verify Command Result Phase Table - -Fix by aborting the transfer when EOT > # Sectors Per Side. - -Cc: qemu-stable@nongnu.org -Cc: Hervé Poussineau <hpoussin@reactos.org> -Fixes: baca51faff0 ("floppy driver: disk geometry auto detect") -Reported-by: Alexander Bulekov <alxndr@bu.edu> -Resolves: https://gitlab.com/qemu-project/qemu/-/issues/339 -Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> -Message-Id: <20211118115733.4038610-2-philmd@redhat.com> -Reviewed-by: Hanna Reitz <hreitz@redhat.com> -Signed-off-by: Kevin Wolf <kwolf@redhat.com> - -Upstream-Status: Backport [defac5e2fbddf8423a354ff0454283a2115e1367] -CVE: CVE-2021-3507 - -Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> ---- - hw/block/fdc.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/hw/block/fdc.c b/hw/block/fdc.c -index 347875a0c..57bb35579 100644 ---- a/hw/block/fdc.c -+++ b/hw/block/fdc.c -@@ -1530,6 +1530,14 @@ static void fdctrl_start_transfer(FDCtrl *fdctrl, int direction) - int tmp; - fdctrl->data_len = 128 << (fdctrl->fifo[5] > 7 ? 7 : fdctrl->fifo[5]); - tmp = (fdctrl->fifo[6] - ks + 1); -+ if (tmp < 0) { -+ FLOPPY_DPRINTF("invalid EOT: %d\n", tmp); -+ fdctrl_stop_transfer(fdctrl, FD_SR0_ABNTERM, FD_SR1_MA, 0x00); -+ fdctrl->fifo[3] = kt; -+ fdctrl->fifo[4] = kh; -+ fdctrl->fifo[5] = ks; -+ return; -+ } - if (fdctrl->fifo[0] & 0x80) - tmp += fdctrl->fifo[6]; - fdctrl->data_len *= tmp; --- -2.33.0 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_2.patch deleted file mode 100644 index acc93e897b..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3507_2.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 3e8601ec707dcbc3c768f7733d016dc70c947e4a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com> -Date: Thu, 18 Nov 2021 12:57:33 +0100 -Subject: [PATCH 2/2] tests/qtest/fdc-test: Add a regression test for - CVE-2021-3507 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add the reproducer from https://gitlab.com/qemu-project/qemu/-/issues/339 - -Without the previous commit, when running 'make check-qtest-i386' -with QEMU configured with '--enable-sanitizers' we get: - - ==4028352==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x619000062a00 at pc 0x5626d03c491a bp 0x7ffdb4199410 sp 0x7ffdb4198bc0 - READ of size 786432 at 0x619000062a00 thread T0 - #0 0x5626d03c4919 in __asan_memcpy (qemu-system-i386+0x1e65919) - #1 0x5626d1c023cc in flatview_write_continue softmmu/physmem.c:2787:13 - #2 0x5626d1bf0c0f in flatview_write softmmu/physmem.c:2822:14 - #3 0x5626d1bf0798 in address_space_write softmmu/physmem.c:2914:18 - #4 0x5626d1bf0f37 in address_space_rw softmmu/physmem.c:2924:16 - #5 0x5626d1bf14c8 in cpu_physical_memory_rw softmmu/physmem.c:2933:5 - #6 0x5626d0bd5649 in cpu_physical_memory_write include/exec/cpu-common.h:82:5 - #7 0x5626d0bd0a07 in i8257_dma_write_memory hw/dma/i8257.c:452:9 - #8 0x5626d09f825d in fdctrl_transfer_handler hw/block/fdc.c:1616:13 - #9 0x5626d0a048b4 in fdctrl_start_transfer hw/block/fdc.c:1539:13 - #10 0x5626d09f4c3e in fdctrl_write_data hw/block/fdc.c:2266:13 - #11 0x5626d09f22f7 in fdctrl_write hw/block/fdc.c:829:9 - #12 0x5626d1c20bc5 in portio_write softmmu/ioport.c:207:17 - - 0x619000062a00 is located 0 bytes to the right of 512-byte region [0x619000062800,0x619000062a00) - allocated by thread T0 here: - #0 0x5626d03c66ec in posix_memalign (qemu-system-i386+0x1e676ec) - #1 0x5626d2b988d4 in qemu_try_memalign util/oslib-posix.c:210:11 - #2 0x5626d2b98b0c in qemu_memalign util/oslib-posix.c:226:27 - #3 0x5626d09fbaf0 in fdctrl_realize_common hw/block/fdc.c:2341:20 - #4 0x5626d0a150ed in isabus_fdc_realize hw/block/fdc-isa.c:113:5 - #5 0x5626d2367935 in device_set_realized hw/core/qdev.c:531:13 - - SUMMARY: AddressSanitizer: heap-buffer-overflow (qemu-system-i386+0x1e65919) in __asan_memcpy - Shadow bytes around the buggy address: - 0x0c32800044f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c3280004500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c3280004510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c3280004520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c3280004530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - =>0x0c3280004540:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c3280004550: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c3280004560: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c3280004570: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c3280004580: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c3280004590: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd - Shadow byte legend (one shadow byte represents 8 application bytes): - Addressable: 00 - Heap left redzone: fa - Freed heap region: fd - ==4028352==ABORTING - -[ kwolf: Added snapshot=on to prevent write file lock failure ] - -Reported-by: Alexander Bulekov <alxndr@bu.edu> -Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> -Reviewed-by: Alexander Bulekov <alxndr@bu.edu> -Signed-off-by: Kevin Wolf <kwolf@redhat.com> - -Upstream-Status: Backport [46609b90d9e3a6304def11038a76b58ff43f77bc] -CVE: CVE-2021-3507 - -Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> ---- - tests/qtest/fdc-test.c | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/tests/qtest/fdc-test.c b/tests/qtest/fdc-test.c -index b0d40012e..1d4f85212 100644 ---- a/tests/qtest/fdc-test.c -+++ b/tests/qtest/fdc-test.c -@@ -583,6 +583,26 @@ static void test_cve_2021_20196(void) - qtest_quit(s); - } - -+static void test_cve_2021_3507(void) -+{ -+ QTestState *s; -+ -+ s = qtest_initf("-nographic -m 32M -nodefaults " -+ "-drive file=%s,format=raw,if=floppy,snapshot=on", -+ test_image); -+ qtest_outl(s, 0x9, 0x0a0206); -+ qtest_outw(s, 0x3f4, 0x1600); -+ qtest_outw(s, 0x3f4, 0x0000); -+ qtest_outw(s, 0x3f4, 0x0000); -+ qtest_outw(s, 0x3f4, 0x0000); -+ qtest_outw(s, 0x3f4, 0x0200); -+ qtest_outw(s, 0x3f4, 0x0200); -+ qtest_outw(s, 0x3f4, 0x0000); -+ qtest_outw(s, 0x3f4, 0x0000); -+ qtest_outw(s, 0x3f4, 0x0000); -+ qtest_quit(s); -+} -+ - int main(int argc, char **argv) - { - int fd; -@@ -614,6 +634,7 @@ int main(int argc, char **argv) - qtest_add_func("/fdc/read_no_dma_19", test_read_no_dma_19); - qtest_add_func("/fdc/fuzz-registers", fuzz_registers); - qtest_add_func("/fdc/fuzz/cve_2021_20196", test_cve_2021_20196); -+ qtest_add_func("/fdc/fuzz/cve_2021_3507", test_cve_2021_3507); - - ret = g_test_run(); - --- -2.33.0 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_1.patch deleted file mode 100644 index 56fc34ce5a..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_1.patch +++ /dev/null @@ -1,42 +0,0 @@ -From f37ac8619a39498edd225c4a0b3039b28814833d Mon Sep 17 00:00:00 2001 -From: Mauro Matteo Cascella <mcascell@redhat.com> -Date: Tue, 5 Jul 2022 22:05:43 +0200 -Subject: [PATCH 1/2] scsi/lsi53c895a: fix use-after-free in lsi_do_msgout - (CVE-2022-0216) - -Set current_req->req to NULL to prevent reusing a free'd buffer in case of -repeated SCSI cancel requests. Thanks to Thomas Huth for suggesting the patch. - -Fixes: CVE-2022-0216 -Resolves: https://gitlab.com/qemu-project/qemu/-/issues/972 -Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com> -Reviewed-by: Thomas Huth <thuth@redhat.com> -Message-Id: <20220705200543.2366809-1-mcascell@redhat.com> -Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> - -Upstream-Status: Backport [6c8fa961da5e60f574bb52fd3ad44b1e9e8ad4b8] -CVE: CVE-2022-0216 - -Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> ---- - hw/scsi/lsi53c895a.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c -index c8773f73f..99ea42d49 100644 ---- a/hw/scsi/lsi53c895a.c -+++ b/hw/scsi/lsi53c895a.c -@@ -1028,8 +1028,9 @@ static void lsi_do_msgout(LSIState *s) - case 0x0d: - /* The ABORT TAG message clears the current I/O process only. */ - trace_lsi_do_msgout_abort(current_tag); -- if (current_req) { -+ if (current_req && current_req->req) { - scsi_req_cancel(current_req->req); -+ current_req->req = NULL; - } - lsi_disconnect(s); - break; --- -2.33.0 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_2.patch deleted file mode 100644 index f332154b6a..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-0216_2.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 5451bf6db85ce3da1238e9154d051ebccec8f171 Mon Sep 17 00:00:00 2001 -From: Mauro Matteo Cascella <mcascell@redhat.com> -Date: Mon, 11 Jul 2022 14:33:16 +0200 -Subject: [PATCH 2/2] scsi/lsi53c895a: really fix use-after-free in - lsi_do_msgout (CVE-2022-0216) - -Set current_req to NULL, not current_req->req, to prevent reusing a free'd -buffer in case of repeated SCSI cancel requests. Also apply the fix to -CLEAR QUEUE and BUS DEVICE RESET messages as well, since they also cancel -the request. - -Thanks to Alexander Bulekov for providing a reproducer. - -Fixes: CVE-2022-0216 -Resolves: https://gitlab.com/qemu-project/qemu/-/issues/972 -Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com> -Tested-by: Alexander Bulekov <alxndr@bu.edu> -Message-Id: <20220711123316.421279-1-mcascell@redhat.com> -Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> - -Upstream-Status: Backport [4367a20cc442c56b05611b4224de9a61908f9eac] -CVE: CVE-2022-0216 - -Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> ---- - hw/scsi/lsi53c895a.c | 3 +- - tests/qtest/fuzz-lsi53c895a-test.c | 76 ++++++++++++++++++++++++++++++ - 2 files changed, 78 insertions(+), 1 deletion(-) - -diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c -index 99ea42d49..ad5f5e5f3 100644 ---- a/hw/scsi/lsi53c895a.c -+++ b/hw/scsi/lsi53c895a.c -@@ -1030,7 +1030,7 @@ static void lsi_do_msgout(LSIState *s) - trace_lsi_do_msgout_abort(current_tag); - if (current_req && current_req->req) { - scsi_req_cancel(current_req->req); -- current_req->req = NULL; -+ current_req = NULL; - } - lsi_disconnect(s); - break; -@@ -1056,6 +1056,7 @@ static void lsi_do_msgout(LSIState *s) - /* clear the current I/O process */ - if (s->current) { - scsi_req_cancel(s->current->req); -+ current_req = NULL; - } - - /* As the current implemented devices scsi_disk and scsi_generic -diff --git a/tests/qtest/fuzz-lsi53c895a-test.c b/tests/qtest/fuzz-lsi53c895a-test.c -index ba5d46897..c1af0ab1c 100644 ---- a/tests/qtest/fuzz-lsi53c895a-test.c -+++ b/tests/qtest/fuzz-lsi53c895a-test.c -@@ -8,6 +8,79 @@ - #include "qemu/osdep.h" - #include "libqos/libqtest.h" - -+/* -+ * This used to trigger a UAF in lsi_do_msgout() -+ * https://gitlab.com/qemu-project/qemu/-/issues/972 -+ */ -+static void test_lsi_do_msgout_cancel_req(void) -+{ -+ QTestState *s; -+ -+ if (sizeof(void *) == 4) { -+ g_test_skip("memory size too big for 32-bit build"); -+ return; -+ } -+ -+ s = qtest_init("-M q35 -m 4G -display none -nodefaults " -+ "-device lsi53c895a,id=scsi " -+ "-device scsi-hd,drive=disk0 " -+ "-drive file=null-co://,id=disk0,if=none,format=raw"); -+ -+ qtest_outl(s, 0xcf8, 0x80000810); -+ qtest_outl(s, 0xcf8, 0xc000); -+ qtest_outl(s, 0xcf8, 0x80000810); -+ qtest_outw(s, 0xcfc, 0x7); -+ qtest_outl(s, 0xcf8, 0x80000810); -+ qtest_outl(s, 0xcfc, 0xc000); -+ qtest_outl(s, 0xcf8, 0x80000804); -+ qtest_outw(s, 0xcfc, 0x05); -+ qtest_writeb(s, 0x69736c10, 0x08); -+ qtest_writeb(s, 0x69736c13, 0x58); -+ qtest_writeb(s, 0x69736c1a, 0x01); -+ qtest_writeb(s, 0x69736c1b, 0x06); -+ qtest_writeb(s, 0x69736c22, 0x01); -+ qtest_writeb(s, 0x69736c23, 0x07); -+ qtest_writeb(s, 0x69736c2b, 0x02); -+ qtest_writeb(s, 0x69736c48, 0x08); -+ qtest_writeb(s, 0x69736c4b, 0x58); -+ qtest_writeb(s, 0x69736c52, 0x04); -+ qtest_writeb(s, 0x69736c53, 0x06); -+ qtest_writeb(s, 0x69736c5b, 0x02); -+ qtest_outl(s, 0xc02d, 0x697300); -+ qtest_writeb(s, 0x5a554662, 0x01); -+ qtest_writeb(s, 0x5a554663, 0x07); -+ qtest_writeb(s, 0x5a55466a, 0x10); -+ qtest_writeb(s, 0x5a55466b, 0x22); -+ qtest_writeb(s, 0x5a55466c, 0x5a); -+ qtest_writeb(s, 0x5a55466d, 0x5a); -+ qtest_writeb(s, 0x5a55466e, 0x34); -+ qtest_writeb(s, 0x5a55466f, 0x5a); -+ qtest_writeb(s, 0x5a345a5a, 0x77); -+ qtest_writeb(s, 0x5a345a5b, 0x55); -+ qtest_writeb(s, 0x5a345a5c, 0x51); -+ qtest_writeb(s, 0x5a345a5d, 0x27); -+ qtest_writeb(s, 0x27515577, 0x41); -+ qtest_outl(s, 0xc02d, 0x5a5500); -+ qtest_writeb(s, 0x364001d0, 0x08); -+ qtest_writeb(s, 0x364001d3, 0x58); -+ qtest_writeb(s, 0x364001da, 0x01); -+ qtest_writeb(s, 0x364001db, 0x26); -+ qtest_writeb(s, 0x364001dc, 0x0d); -+ qtest_writeb(s, 0x364001dd, 0xae); -+ qtest_writeb(s, 0x364001de, 0x41); -+ qtest_writeb(s, 0x364001df, 0x5a); -+ qtest_writeb(s, 0x5a41ae0d, 0xf8); -+ qtest_writeb(s, 0x5a41ae0e, 0x36); -+ qtest_writeb(s, 0x5a41ae0f, 0xd7); -+ qtest_writeb(s, 0x5a41ae10, 0x36); -+ qtest_writeb(s, 0x36d736f8, 0x0c); -+ qtest_writeb(s, 0x36d736f9, 0x80); -+ qtest_writeb(s, 0x36d736fa, 0x0d); -+ qtest_outl(s, 0xc02d, 0x364000); -+ -+ qtest_quit(s); -+} -+ - /* - * This used to trigger the assert in lsi_do_dma() - * https://bugs.launchpad.net/qemu/+bug/697510 -@@ -48,5 +121,8 @@ int main(int argc, char **argv) - test_lsi_do_dma_empty_queue); - } - -+ qtest_add_func("fuzz/lsi53c895a/lsi_do_msgout_cancel_req", -+ test_lsi_do_msgout_cancel_req); -+ - return g_test_run(); - } --- -2.33.0 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-35414.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-35414.patch deleted file mode 100644 index fe79a749ae..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2022-35414.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a10c33942dc8cb31b3762b9dd4adde4c490eed9c Mon Sep 17 00:00:00 2001 -From: Hitendra Prajapati <hprajapati@mvista.com> -Date: Wed, 3 Aug 2022 10:11:11 +0530 -Subject: [PATCH] CVE-2022-35414 - -Upstream-Status: Backport [https://github.com/qemu/qemu/commit/418ade7849ce7641c0f7333718caf5091a02fd4c] -CVE: CVE-2022-35414 -Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com> ---- - softmmu/physmem.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/softmmu/physmem.c b/softmmu/physmem.c -index 4e1b27a20..ad8a90dec 100644 ---- a/softmmu/physmem.c -+++ b/softmmu/physmem.c -@@ -669,7 +669,7 @@ void tcg_iommu_init_notifier_list(CPUState *cpu) - - /* Called from RCU critical section */ - MemoryRegionSection * --address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr addr, -+address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr orig_addr, - hwaddr *xlat, hwaddr *plen, - MemTxAttrs attrs, int *prot) - { -@@ -678,6 +678,7 @@ address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr addr, - IOMMUMemoryRegionClass *imrc; - IOMMUTLBEntry iotlb; - int iommu_idx; -+ hwaddr addr = orig_addr; - AddressSpaceDispatch *d = - qatomic_rcu_read(&cpu->cpu_ases[asidx].memory_dispatch); - -@@ -722,6 +723,16 @@ address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr addr, - return section; - - translate_fail: -+ /* -+ * We should be given a page-aligned address -- certainly -+ * tlb_set_page_with_attrs() does so. The page offset of xlat -+ * is used to index sections[], and PHYS_SECTION_UNASSIGNED = 0. -+ * The page portion of xlat will be logged by memory_region_access_valid() -+ * when this memory access is rejected, so use the original untranslated -+ * physical address. -+ */ -+ assert((orig_addr & ~TARGET_PAGE_MASK) == 0); -+ *xlat = orig_addr; - return &d->map.sections[PHYS_SECTION_UNASSIGNED]; - } - --- -2.25.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/arm-cpreg-fix.patch b/poky/meta/recipes-devtools/qemu/qemu/arm-cpreg-fix.patch new file mode 100644 index 0000000000..071691f8ca --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/arm-cpreg-fix.patch @@ -0,0 +1,27 @@ +target/arm: mark SP_EL1 with ARM_CP_EL3_NO_EL2_KEEP + +SP_EL1 must be kept when EL3 is present but EL2 is not. Therefore mark +it with ARM_CP_EL3_NO_EL2_KEEP. + +Fixes: 696ba3771894 ("target/arm: Handle cpreg registration for missing EL") +Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> + +Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2022-09/msg04515.html] + +--- + target/arm/helper.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: qemu-7.1.0/target/arm/helper.c +=================================================================== +--- qemu-7.1.0.orig/target/arm/helper.c ++++ qemu-7.1.0/target/arm/helper.c +@@ -4971,7 +4971,7 @@ static const ARMCPRegInfo v8_cp_reginfo[ + .fieldoffset = offsetof(CPUARMState, sp_el[0]) }, + { .name = "SP_EL1", .state = ARM_CP_STATE_AA64, + .opc0 = 3, .opc1 = 4, .crn = 4, .crm = 1, .opc2 = 0, +- .access = PL2_RW, .type = ARM_CP_ALIAS, ++ .access = PL2_RW, .type = ARM_CP_ALIAS | ARM_CP_EL3_NO_EL2_KEEP, + .fieldoffset = offsetof(CPUARMState, sp_el[1]) }, + { .name = "SPSel", .state = ARM_CP_STATE_AA64, + .opc0 = 3, .opc1 = 0, .crn = 4, .crm = 2, .opc2 = 0, diff --git a/poky/meta/recipes-devtools/qemu/qemu/cross.patch b/poky/meta/recipes-devtools/qemu/qemu/cross.patch index d1256a1229..ca2ad361ef 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/cross.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/cross.patch @@ -14,19 +14,19 @@ Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> configure | 4 ---- 1 file changed, 4 deletions(-) -diff --git a/configure b/configure -index 7c08c1835..0613279f9 100755 ---- a/configure -+++ b/configure -@@ -3118,7 +3118,6 @@ if test "$skip_meson" = no; then - fi +Index: qemu-7.1.0/configure +=================================================================== +--- qemu-7.1.0.orig/configure ++++ qemu-7.1.0/configure +@@ -2710,7 +2710,6 @@ if test "$skip_meson" = no; then echo "strip = [$(meson_quote $strip)]" >> $cross + echo "widl = [$(meson_quote $widl)]" >> $cross echo "windres = [$(meson_quote $windres)]" >> $cross - if test "$cross_compile" = "yes"; then cross_arg="--cross-file config-meson.cross" echo "[host_machine]" >> $cross echo "system = '$targetos'" >> $cross -@@ -3136,9 +3135,6 @@ if test "$skip_meson" = no; then +@@ -2728,9 +2727,6 @@ if test "$skip_meson" = no; then else echo "endian = 'little'" >> $cross fi @@ -36,6 +36,3 @@ index 7c08c1835..0613279f9 100755 mv $cross config-meson.cross rm -rf meson-private meson-info meson-logs --- -2.30.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu_7.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu_7.1.0.bb index 42e133967e..42e133967e 100644 --- a/poky/meta/recipes-devtools/qemu/qemu_7.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu_7.1.0.bb diff --git a/poky/meta/recipes-devtools/repo/repo_2.29.1.bb b/poky/meta/recipes-devtools/repo/repo_2.29.2.bb index 740132c2f6..42fd18ac24 100644 --- a/poky/meta/recipes-devtools/repo/repo_2.29.1.bb +++ b/poky/meta/recipes-devtools/repo/repo_2.29.2.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \ file://0001-python3-shebang.patch \ " -SRCREV = "4112c07688d0e0e568478e9f42be349bdd511d45" +SRCREV = "891e8f72ce3551a19c377456574bbfbeac5c8b8e" MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git" 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 331ea849e6..9f5dde0720 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 @@ -11,11 +11,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> rpmrc.in | 2 ++ 2 files changed, 6 insertions(+) -diff --git a/build/rpmfc.c b/build/rpmfc.c -index 10c380ee9..b7655aa93 100644 ---- a/build/rpmfc.c -+++ b/build/rpmfc.c -@@ -639,6 +639,7 @@ exit: +Index: git/build/rpmfc.c +=================================================================== +--- git.orig/build/rpmfc.c ++++ git/build/rpmfc.c +@@ -645,6 +645,7 @@ exit: static const struct rpmfcTokens_s rpmfcTokens[] = { { "directory", RPMFC_INCLUDE }, @@ -23,7 +23,7 @@ index 10c380ee9..b7655aa93 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) +@@ -1150,6 +1151,9 @@ static uint32_t getElfColor(const char * color = RPMFC_ELF32; break; } @@ -33,11 +33,11 @@ index 10c380ee9..b7655aa93 100644 elf_end(elf); } close(fd); -diff --git a/rpmrc.in b/rpmrc.in -index 5bd9ba3e5..f15bb8dad 100644 ---- a/rpmrc.in -+++ b/rpmrc.in -@@ -137,6 +137,8 @@ archcolor: mipsr6el 1 +Index: git/rpmrc.in +=================================================================== +--- git.orig/rpmrc.in ++++ git/rpmrc.in +@@ -139,6 +139,8 @@ archcolor: mipsr6el 1 archcolor: mips64r6 2 archcolor: mips64r6el 2 diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch index 4029233fb7..8440c3516d 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch @@ -14,11 +14,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> build/pack.c | 4 ---- 1 file changed, 4 deletions(-) -diff --git a/build/pack.c b/build/pack.c -index e6cec1816..810cd7351 100644 ---- a/build/pack.c -+++ b/build/pack.c -@@ -724,10 +724,6 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch +Index: git/build/pack.c +=================================================================== +--- git.orig/build/pack.c ++++ git/build/pack.c +@@ -709,10 +709,6 @@ static rpmRC packageBinary(rpmSpec spec, headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16); } 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 c6cf9d4c88..6f613d0a7d 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 @@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> rpm.am | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) -diff --git a/configure.ac b/configure.ac -index 372875fc4..1b7add9ee 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -884,7 +884,7 @@ else +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac ++++ git/configure.ac +@@ -942,7 +942,7 @@ else usrprefix=$prefix fi @@ -26,10 +26,10 @@ index 372875fc4..1b7add9ee 100644 AC_SUBST(RPMCONFIGDIR) AC_SUBST(OBJDUMP) -diff --git a/macros.in b/macros.in -index d53ab5ed5..9d10441c8 100644 ---- a/macros.in -+++ b/macros.in +Index: git/macros.in +=================================================================== +--- git.orig/macros.in ++++ git/macros.in @@ -911,7 +911,7 @@ package or when debugging this package.\ %_sharedstatedir %{_prefix}/com %_localstatedir %{_prefix}/var @@ -39,10 +39,10 @@ index d53ab5ed5..9d10441c8 100644 %_includedir %{_prefix}/include %_infodir %{_datadir}/info %_mandir %{_datadir}/man -diff --git a/rpm.am b/rpm.am -index ebe4e40d1..e6920e258 100644 ---- a/rpm.am -+++ b/rpm.am +Index: git/rpm.am +=================================================================== +--- git.orig/rpm.am ++++ git/rpm.am @@ -1,10 +1,10 @@ # Internal binaries ## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch index 96eb418952..fda64eefe0 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch @@ -9,10 +9,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> lib/rpmrc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) -diff --git a/lib/rpmrc.c b/lib/rpmrc.c -index 4ed991321..19fe80f98 100644 ---- a/lib/rpmrc.c -+++ b/lib/rpmrc.c +Index: git/lib/rpmrc.c +=================================================================== +--- git.orig/lib/rpmrc.c ++++ git/lib/rpmrc.c @@ -458,8 +458,7 @@ static void setDefaults(void) if (!defrcfiles) { defrcfiles = rstrscat(NULL, confdir, "/rpmrc", ":", @@ -33,6 +33,3 @@ index 4ed991321..19fe80f98 100644 } #else macrofiles = MACROFILES; --- -2.11.0 - diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch index 41cdf6ed77..ae24b663aa 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch @@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> lib/rpmscript.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/lib/rpmscript.c b/lib/rpmscript.c -index 6a31e0d..2b0e438 100644 ---- a/lib/rpmscript.c -+++ b/lib/rpmscript.c -@@ -184,7 +184,7 @@ static void doScriptExec(ARGV_const_t argv, ARGV_const_t prefixes, +Index: git/lib/rpmscript.c +=================================================================== +--- git.orig/lib/rpmscript.c ++++ git/lib/rpmscript.c +@@ -231,7 +231,7 @@ static void doScriptExec(ARGV_const_t ar if (ipath && ipath[5] != '%') path = ipath; diff --git a/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch b/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch index 2a0069cafe..bd3314a90f 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch @@ -28,9 +28,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> lib/rpmscript.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) ---- a/lib/rpmscript.c -+++ b/lib/rpmscript.c -@@ -17,7 +17,7 @@ +Index: git/lib/rpmscript.c +=================================================================== +--- git.orig/lib/rpmscript.c ++++ git/lib/rpmscript.c +@@ -18,7 +18,7 @@ #include "rpmio/rpmio_internal.h" #include "lib/rpmplugins.h" /* rpm plugins hooks */ @@ -39,7 +41,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> #include "debug.h" struct scriptNextFileFunc_s { -@@ -391,8 +391,7 @@ exit: +@@ -427,8 +427,7 @@ exit: Fclose(out); /* XXX dup'd STDOUT_FILENO */ if (fn) { @@ -49,18 +51,18 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> free(fn); } free(mline); -@@ -426,7 +425,13 @@ rpmRC rpmScriptRun(rpmScript script, int +@@ -462,7 +461,13 @@ rpmRC rpmScriptRun(rpmScript script, int if (rc != RPMRC_FAIL) { if (script_type & RPMSCRIPTLET_EXEC) { -- rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); +- rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc); + if (getenv("RPM_NO_CHROOT_FOR_SCRIPTS") != NULL) { + rpmChrootOut(); -+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); ++ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc); + rpmChrootIn(); + } else { -+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); ++ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc); + } } else { - rc = runLuaScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); + rc = runLuaScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, script->nextFileFunc); } diff --git a/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch b/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch index 79b168257e..64433abb6a 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch @@ -13,10 +13,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> build/pack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/build/pack.c b/build/pack.c -index 932cb213e..b45d0726f 100644 ---- a/build/pack.c -+++ b/build/pack.c +Index: git/build/pack.c +=================================================================== +--- git.orig/build/pack.c ++++ git/build/pack.c @@ -328,7 +328,7 @@ static char *getIOFlags(Package pkg) headerPutString(pkg->header, RPMTAG_PAYLOADCOMPRESSOR, compr); buf = xstrdup(rpmio_flags); diff --git a/poky/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch b/poky/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch index 2174a79e75..29b6686a94 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch @@ -11,13 +11,13 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> configure.ac | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/configure.ac b/configure.ac -index 372875fc49..7d6a3d274e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -845,6 +845,10 @@ if echo "$host_os" | grep '.*-gnuabi64$' > /dev/null ; then - host_os=`echo "${host_os}" | sed 's/-gnuabi64$//'` - host_os_gnu=-gnuabi64 +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac ++++ git/configure.ac +@@ -903,6 +903,10 @@ if echo "$host_os" | grep '.*-gnux32$' > + host_os=`echo "${host_os}" | sed 's/-gnux32$//'` + host_os_gnu=-gnux32 fi +if echo "$host_os" | grep '.*-gnux32$' > /dev/null ; then + host_os=`echo "${host_os}" | sed 's/-gnux32$//'` @@ -26,6 +26,3 @@ index 372875fc49..7d6a3d274e 100644 if echo "$host_os" | grep '.*-gnu$' > /dev/null ; then host_os=`echo "${host_os}" | sed 's/-gnu$//'` fi --- -2.30.2 - diff --git a/poky/meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch b/poky/meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch index ced52d1007..d7137f1d10 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch @@ -9,10 +9,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> docs/Makefile.am | 2 -- 1 file changed, 2 deletions(-) -diff --git a/docs/Makefile.am b/docs/Makefile.am -index 5a6bd203a..6257767fd 100644 ---- a/docs/Makefile.am -+++ b/docs/Makefile.am +Index: git/docs/Makefile.am +=================================================================== +--- git.orig/docs/Makefile.am ++++ git/docs/Makefile.am @@ -1,7 +1,5 @@ ## Process this file with automake to produce Makefile.in @@ -21,6 +21,3 @@ index 5a6bd203a..6257767fd 100644 EXTRA_DIST = EXTRA_DIST += \ --- -2.32.0 - diff --git a/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch b/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch index 6678c105cd..82e6567dc7 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch @@ -31,11 +31,11 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com> lib/transaction.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) -diff --git a/lib/transaction.c b/lib/transaction.c -index 67b9db5..82386b8 100644 ---- a/lib/transaction.c -+++ b/lib/transaction.c -@@ -391,7 +391,18 @@ static int handleColorConflict(rpmts ts, +Index: git/lib/transaction.c +=================================================================== +--- git.orig/lib/transaction.c ++++ git/lib/transaction.c +@@ -402,7 +402,18 @@ static int handleColorConflict(rpmts ts, rpmfsSetAction(ofs, ofx, FA_CREATE); rpmfsSetAction(fs, fx, FA_SKIPCOLOR); rConflicts = 0; @@ -55,6 +55,3 @@ index 67b9db5..82386b8 100644 } } --- -2.7.4 - 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 deleted file mode 100644 index 9783396639..0000000000 --- a/poky/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 9b9d717f484ec913cdd3804e43489b3dc18bd77c 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/elfdeps.c | 6 +++++- - tools/error.h | 27 +++++++++++++++++++++++++++ - 2 files changed, 32 insertions(+), 1 deletion(-) - create mode 100644 tools/error.h - -diff --git a/tools/elfdeps.c b/tools/elfdeps.c -index d205935bb..3a8945b33 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/poky/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch b/poky/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch index b3dbc319b6..2fe96a839c 100644 --- a/poky/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch +++ b/poky/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch @@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> lib/rpmrc.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) -diff --git a/lib/rpmrc.c b/lib/rpmrc.c -index 19fe80f98..6b27b3941 100644 ---- a/lib/rpmrc.c -+++ b/lib/rpmrc.c -@@ -455,10 +455,14 @@ const char * lookupInDefaultTable(const char * name, +Index: git/lib/rpmrc.c +=================================================================== +--- git.orig/lib/rpmrc.c ++++ git/lib/rpmrc.c +@@ -455,10 +455,14 @@ const char * lookupInDefaultTable(const static void setDefaults(void) { const char *confdir = rpmConfigDir(); @@ -46,7 +46,7 @@ index 19fe80f98..6b27b3941 100644 } #else macrofiles = MACROFILES; -@@ -989,7 +993,11 @@ static void read_auxv(void) +@@ -997,7 +1001,11 @@ static void read_auxv(void) */ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) { @@ -59,7 +59,7 @@ index 19fe80f98..6b27b3941 100644 static struct utsname un; char * chptr; canonEntry canon; -@@ -1286,6 +1294,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) +@@ -1307,6 +1315,7 @@ static void defaultMachine(rpmrcCtx ctx, if (arch) *arch = un.machine; if (os) *os = un.sysname; @@ -67,6 +67,3 @@ index 19fe80f98..6b27b3941 100644 } static --- -2.11.0 - diff --git a/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch b/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch index 43e9859ef3..9dbe7125de 100644 --- a/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch +++ b/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch @@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> lib/rpmscript.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/lib/rpmscript.c b/lib/rpmscript.c -index 2b0e43862..e319673f1 100644 ---- a/lib/rpmscript.c -+++ b/lib/rpmscript.c -@@ -226,7 +226,7 @@ static char * writeScript(const char *cmd, const char *script) +Index: git/lib/rpmscript.c +=================================================================== +--- git.orig/lib/rpmscript.c ++++ git/lib/rpmscript.c +@@ -270,7 +270,7 @@ static char * writeScript(const char *cm if (Ferror(fd)) goto exit; @@ -26,7 +26,7 @@ index 2b0e43862..e319673f1 100644 static const char set_x[] = "set -x\n"; /* Assume failures will be caught by the write below */ Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd); -@@ -258,7 +258,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes, +@@ -302,7 +302,7 @@ static rpmRC runExtScript(rpmPlugins plu char *mline = NULL; rpmRC rc = RPMRC_FAIL; @@ -35,7 +35,7 @@ index 2b0e43862..e319673f1 100644 if (script) { fn = writeScript(*argvp[0], script); -@@ -310,7 +310,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes, +@@ -354,7 +354,7 @@ static rpmRC runExtScript(rpmPlugins plu sname, strerror(errno)); goto exit; } else if (pid == 0) {/* Child */ @@ -44,7 +44,7 @@ index 2b0e43862..e319673f1 100644 sname, *argvp[0], (unsigned)getpid()); fclose(in); -@@ -353,7 +353,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes, +@@ -397,7 +397,7 @@ static rpmRC runExtScript(rpmPlugins plu reaped = waitpid(pid, &status, 0); } while (reaped == -1 && errno == EINTR); diff --git a/poky/meta/recipes-devtools/rpm/files/fifofix.patch b/poky/meta/recipes-devtools/rpm/files/fifofix.patch new file mode 100644 index 0000000000..71703d7f0c --- /dev/null +++ b/poky/meta/recipes-devtools/rpm/files/fifofix.patch @@ -0,0 +1,22 @@ +Calling openat() on a fifo causes a pseudo hang for us (e.g. the fifo in psplash). +Avoid calling openat for fifos. + +Introduced upstream with: + +https://github.com/rpm-software-management/rpm/commit/96ec957e281220f8e137a2d5eb23b83a6377d556 + +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/issues/2195] + +Index: git/lib/fsm.c +=================================================================== +--- git.orig/lib/fsm.c ++++ git/lib/fsm.c +@@ -1010,7 +1010,7 @@ int rpmPackageFilesInstall(rpmts ts, rpm + rc = RPMERR_UNKNOWN_FILETYPE; + } + +- if (!rc && fd == -1 && !S_ISLNK(fp->sb.st_mode)) { ++ if (!rc && fd == -1 && !S_ISLNK(fp->sb.st_mode) && !S_ISFIFO(fp->sb.st_mode)) { + /* Only follow safe symlinks, and never on temporary files */ + fd = fsmOpenat(di.dirfd, fp->fpath, + fp->suffix ? AT_SYMLINK_NOFOLLOW : 0, 0); diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.17.1.bb b/poky/meta/recipes-devtools/rpm/rpm_4.18.0.bb index 9b6446f265..5f3986d8a3 100644 --- a/poky/meta/recipes-devtools/rpm/rpm_4.17.1.bb +++ b/poky/meta/recipes-devtools/rpm/rpm_4.18.0.bb @@ -24,7 +24,7 @@ HOMEPAGE = "http://www.rpm.org" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=c4eec0c20c6034b9407a09945b48a43f" -SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.17.x;protocol=https \ +SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.18.x;protocol=https \ 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 \ @@ -36,14 +36,14 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.17.x;protoc file://0001-perl-disable-auto-reqs.patch \ file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \ - file://0001-tools-Add-error.h-for-non-glibc-case.patch \ file://0001-docs-do-not-build-manpages-requires-pandoc.patch \ file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \ file://0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch \ + file://fifofix.patch \ " PE = "1" -SRCREV = "5bef402da334595ed9302b8bca1acdf5e88bfe11" +SRCREV = "ea0d77c52e176e2876fdb1d07ad41e9e2635a93e" S = "${WORKDIR}/git" @@ -80,6 +80,7 @@ PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils" PACKAGECONFIG[inhibit] = "--enable-inhibit-plugin,--disable-inhibit-plugin,dbus" PACKAGECONFIG[rpm2archive] = "--with-archive,--without-archive,libarchive" PACKAGECONFIG[sqlite] = "--enable-sqlite=yes,--enable-sqlite=no,sqlite3" +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" PACKAGECONFIG[ndb] = "--enable-ndb,--disable-ndb" PACKAGECONFIG[bdb-ro] = "--enable-bdb-ro,--disable-bdb-ro" PACKAGECONFIG[zstd] = "--enable-zstd=yes,--enable-zstd=no,zstd" diff --git a/poky/meta/recipes-devtools/rust/files/target-rust-ccld.c b/poky/meta/recipes-devtools/rust/files/target-rust-ccld.c new file mode 100644 index 0000000000..d3d491fb60 --- /dev/null +++ b/poky/meta/recipes-devtools/rust/files/target-rust-ccld.c @@ -0,0 +1,19 @@ +/* +* +* Copyright (C) 2022 Wind River Systems +* +* SPDX-License-Identifier: MIT +* +*/ + +#include <string.h> +#include <stdlib.h> +#include <unistd.h> + +int main (int argc, char *argv[]) +{ + unsetenv("LD_LIBRARY_PATH"); + execvp("target-rust-ccld-wrapper", argv); + + return 0; +} diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc b/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc index 7bf75a4712..17f933959f 100644 --- a/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc +++ b/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc @@ -7,13 +7,18 @@ LICENSE = "MIT" MODIFYTOS = "0" +DEPENDS += "virtual/${SDK_PREFIX}gcc-crosssdk virtual/nativesdk-libc virtual/nativesdk-${SDK_PREFIX}compilerlibs" + +SRC_URI += "file://target-rust-ccld.c" +LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7" +S = "${WORKDIR}" + # Need to use our SDK's sh here, see #14878 create_sdk_wrapper () { file="$1" shift - cat <<- EOF > "${file}" - #!${base_prefix}/bin/sh + #!/bin/sh \$$1 \$@ EOF @@ -32,8 +37,17 @@ do_install () { install -m 0644 "${RUST_TARGETS_DIR}/${RUST_TARGET_SYS}.json" "${RUSTLIB_DIR}" # Uses SDK's CC as linker so linked binaries works out of box. + # We have a problem as rust sets LD_LIBRARY_PATH and this will break running host + # binaries (even /bin/sh) in the SDK as they detect a newer glibc from the SDK + # in those paths and we hit symbol errors. We saw particular problems with symbol + # mismatch on ubuntu1804 during development. To avoid this we have an SDK built + # binary which unsets LD_LIBRARY_PATH, which can then call the wrapper script + # where the context is easier to do the env maniupations needed install -d ${SYS_BINDIR} - create_sdk_wrapper "${SYS_BINDIR}/target-rust-ccld" "CC" + outfile="${SYS_BINDIR}/target-rust-ccld" + ${CC} ${WORKDIR}/target-rust-ccld.c -o $outfile + chmod +x "$outfile" + create_sdk_wrapper "${SYS_BINDIR}/target-rust-ccld-wrapper" "CC" ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d mkdir "${ENV_SETUP_DIR}" diff --git a/poky/meta/recipes-devtools/rust/rust.inc b/poky/meta/recipes-devtools/rust/rust.inc index 284347dedc..956301023a 100644 --- a/poky/meta/recipes-devtools/rust/rust.inc +++ b/poky/meta/recipes-devtools/rust/rust.inc @@ -81,6 +81,7 @@ python do_configure() { config.set(host_section, "cxx", e(d.expand("${RUST_TARGET_CXX}"))) config.set(host_section, "cc", e(d.expand("${RUST_TARGET_CC}"))) + config.set(host_section, "linker", e(d.expand("${RUST_TARGET_CCLD}"))) if "musl" in host_section: config.set(host_section, "musl-root", e(d.expand("${STAGING_DIR_HOST}${exec_prefix}"))) @@ -94,6 +95,7 @@ python do_configure() { config.set(build_section, "cxx", e(d.expand("${RUST_BUILD_CXX}"))) config.set(build_section, "cc", e(d.expand("${RUST_BUILD_CC}"))) + config.set(build_section, "linker", e(d.expand("${RUST_BUILD_CCLD}"))) target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True)) if target_section != host_section and target_section != build_section: @@ -103,10 +105,13 @@ python do_configure() { config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}"))) config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}"))) + config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}"))) # [llvm] config.add_section("llvm") config.set("llvm", "static-libstdcpp", e(False)) + if "llvm" in (d.getVar('TC_CXX_RUNTIME') or ""): + config.set("llvm", "use-libcxx", e(True)) # [rust] config.add_section("rust") @@ -116,6 +121,10 @@ python do_configure() { # Whether or not to optimize the compiler and standard library config.set("rust", "optimize", e(True)) + # Emits extraneous output from tests to ensure that failures of the test + # harness are debuggable just from logfiles + config.set("rust", "verbose-tests", e(True)) + # [build] config.add_section("build") config.set("build", "submodules", e(False)) diff --git a/poky/meta/recipes-devtools/rust/rust_1.63.0.bb b/poky/meta/recipes-devtools/rust/rust_1.63.0.bb index 401d51041e..1f9dbd3cce 100644 --- a/poky/meta/recipes-devtools/rust/rust_1.63.0.bb +++ b/poky/meta/recipes-devtools/rust/rust_1.63.0.bb @@ -56,13 +56,15 @@ rust_do_install:class-nativesdk() { rm ${D}${libdir}/rustlib/manifest* } +EXTRA_TOOLS ?= "cargo-clippy clippy-driver rustfmt" +EXTRA_TOOLS:remove:riscv32 = "rustfmt" rust_do_install:class-target() { export PSEUDO_UNLOAD=1 rust_runx install unset PSEUDO_UNLOAD install -d ${D}${bindir} - for i in cargo-clippy clippy-driver rustfmt; do + for i in ${EXTRA_TOOLS}; do cp build/${RUST_BUILD_SYS}/stage2-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir} chrpath -r "\$ORIGIN/../lib" ${D}${bindir}/$i done diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb index 0a7e0f2a52..4e009d2625 100644 --- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb +++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" -PACKAGECONFIG ??= "gzip xz lz4 lzma xattr zstd reproducible" +PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd reproducible" PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib" PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz" PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo" diff --git a/poky/meta/recipes-devtools/vala/vala_0.56.2.bb b/poky/meta/recipes-devtools/vala/vala_0.56.2.bb deleted file mode 100644 index 08c8ccca1d..0000000000 --- a/poky/meta/recipes-devtools/vala/vala_0.56.2.bb +++ /dev/null @@ -1,3 +0,0 @@ -require ${BPN}.inc - -SRC_URI[sha256sum] = "66c9619bb17859fd1ac3aba0a57970613e38fd2a1ee30541174260c9fb90124c" diff --git a/poky/meta/recipes-devtools/vala/vala_0.56.3.bb b/poky/meta/recipes-devtools/vala/vala_0.56.3.bb new file mode 100644 index 0000000000..83f61e5b2f --- /dev/null +++ b/poky/meta/recipes-devtools/vala/vala_0.56.3.bb @@ -0,0 +1,3 @@ +require ${BPN}.inc + +SRC_URI[sha256sum] = "e1066221bf7b89cb1fa7327a3888645cb33b604de3bf45aa81132fd040b699bf" diff --git a/poky/meta/recipes-devtools/xmlto/xmlto/0001-Skip-validating-xmlto-output.patch b/poky/meta/recipes-devtools/xmlto/xmlto/0001-Skip-validating-xmlto-output.patch deleted file mode 100644 index c6857a9da5..0000000000 --- a/poky/meta/recipes-devtools/xmlto/xmlto/0001-Skip-validating-xmlto-output.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3deb7a0eded04ab08a9cb2d88526cb1c7b440061 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 14 Aug 2022 00:23:29 -0700 -Subject: [PATCH] Skip validating xmlto output - -Avoids network access - -Upstream-Status: Submitted [https://pagure.io/xmlto/pull-request/11] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 50fa279..6a2da62 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -68,7 +68,7 @@ EXTRA_DIST = xmlto.spec \ - doc/xmlif.xml \ - xmlto.mak - --GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(BASH) ./xmlto -o $(@D) man $< -+GEN_MANPAGE = FORMAT_DIR=$(top_srcdir)/format $(BASH) ./xmlto --skip-validation -o $(@D) man $< - man/man1/xmlto.1: doc/xmlto.xml ; $(GEN_MANPAGE) - man/man1/xmlif.1: doc/xmlif.xml ; $(GEN_MANPAGE) - --- -2.37.2 - diff --git a/poky/meta/recipes-devtools/xmlto/xmlto/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch b/poky/meta/recipes-devtools/xmlto/xmlto/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch deleted file mode 100644 index 7cc3cbe0fb..0000000000 --- a/poky/meta/recipes-devtools/xmlto/xmlto/configure.in-drop-the-test-of-xmllint-and-xsltproc.patch +++ /dev/null @@ -1,30 +0,0 @@ -configure.in: drop the test of xmllint and xsltproc - -The test is unnecessary, the xmllint and xsltproc were explicitly -added to RDEPENDS. - -Upstream-Status: Inappropriate -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - configure.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac ---- a/configure.ac -+++ b/configure.ac -@@ -42,10 +42,10 @@ AC_ARG_VAR([LOCALE], [Name and path of the `locale' program.]) - AC_PATH_PROG([LOCALE], [locale], [locale]) - - AC_ARG_VAR([XMLLINT], [Name and path of the `xmllint' program.]) --AC_PATH_PROG([XMLLINT], [xmllint], [xmllint]) -+dnl AC_PATH_PROG([XMLLINT], [xmllint], [xmllint]) - - AC_ARG_VAR([XSLTPROC], [Name and path of the `xsltproc' program.]) --AC_PATH_PROG([XSLTPROC], [xsltproc], [xsltproc]) -+dnl AC_PATH_PROG([XSLTPROC], [xsltproc], [xsltproc]) - - dnl - dnl toolchains --- -1.8.1.2 - diff --git a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb index 373eca2454..5e3fac7a60 100644 --- a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb +++ b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb @@ -8,10 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" SRCREV = "6fa6a0e07644f20abf2596f78a60112713e11cbe" UPSTREAM_CHECK_COMMITS = "1" -SRC_URI = "git://pagure.io/xmlto.git;protocol=https;branch=master \ - file://configure.in-drop-the-test-of-xmllint-and-xsltproc.patch \ - file://0001-Skip-validating-xmlto-output.patch \ -" +SRC_URI = "git://pagure.io/xmlto.git;protocol=https;branch=master" S = "${WORKDIR}/git" PV .= "+0.0.29+git${SRCPV}" @@ -34,11 +31,11 @@ RDEPENDS:${PN}:append:class-target = " \ libxslt-bin \ coreutils \ " -CACHED_CONFIGUREVARS += "ac_cv_path_TAIL=tail ac_cv_path_GREP=grep" +CACHED_CONFIGUREVARS += "ac_cv_path_TAIL=tail ac_cv_path_GREP=grep ac_cv_path_XMLLINT=xmllint ac_cv_path_XSLTPROC=xsltproc" BBCLASSEXTEND = "native" -EXTRA_OECONF:append = " BASH=/bin/bash GCP=/bin/cp XMLLINT=xmllint XSLTPROC=xsltproc" +EXTRA_OECONF:append = " BASH=/bin/bash GCP=/bin/cp" do_configure:prepend() { (cd ${S} && flex -o xmlif/xmlif.c xmlif/xmlif.l) diff --git a/poky/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch b/poky/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch deleted file mode 100644 index a8446653eb..0000000000 --- a/poky/meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch +++ /dev/null @@ -1,278 +0,0 @@ -From fe49471cfa7fe0618615c065f4c0ad04e888bf92 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 7 Aug 2022 12:24:39 -0700 -Subject: [PATCH 1/2] rules: Drop using register keyword - -This is a deprecated keyword - -Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/48] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/lib/rules.c | 94 ++++++++++++++++++++++++------------------------- - 1 file changed, 47 insertions(+), 47 deletions(-) - -diff --git a/lib/rules.c b/lib/rules.c -index 3a2aa46..6e7a12a 100644 ---- a/lib/rules.c -+++ b/lib/rules.c -@@ -67,8 +67,8 @@ Suffix(myword, suffix) - char *myword; - char *suffix; - { -- register int i; -- register int j; -+ int i; -+ int j; - i = strlen(myword); - j = strlen(suffix); - -@@ -83,10 +83,10 @@ Suffix(myword, suffix) - - char * - Reverse(str) /* return a pointer to a reversal */ -- register char *str; -+ char *str; - { -- register int i; -- register int j; -+ int i; -+ int j; - static char area[STRINGSIZE]; - j = i = strlen(str); - while (*str) -@@ -99,9 +99,9 @@ Reverse(str) /* return a pointer to a reversal */ - - char * - Uppercase(str) /* return a pointer to an uppercase */ -- register char *str; -+ char *str; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*str) -@@ -116,9 +116,9 @@ Uppercase(str) /* return a pointer to an uppercase */ - - char * - Lowercase(str) /* return a pointer to an lowercase */ -- register char *str; -+ char *str; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*str) -@@ -133,9 +133,9 @@ Lowercase(str) /* return a pointer to an lowercase */ - - char * - Capitalise(str) /* return a pointer to an capitalised */ -- register char *str; -+ char *str; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - -@@ -152,9 +152,9 @@ Capitalise(str) /* return a pointer to an capitalised */ - - char * - Pluralise(string) /* returns a pointer to a plural */ -- register char *string; -+ char *string; - { -- register int length; -+ int length; - static char area[STRINGSIZE]; - length = strlen(string); - strcpy(area, string); -@@ -193,11 +193,11 @@ Pluralise(string) /* returns a pointer to a plural */ - - char * - Substitute(string, old, new) /* returns pointer to a swapped about copy */ -- register char *string; -- register char old; -- register char new; -+ char *string; -+ char old; -+ char new; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*string) -@@ -211,11 +211,11 @@ Substitute(string, old, new) /* returns pointer to a swapped about copy */ - - char * - Purge(string, target) /* returns pointer to a purged copy */ -- register char *string; -- register char target; -+ char *string; -+ char target; - { -- register char *ptr; -- static char area[STRINGSIZE]; -+ char *ptr; -+ char area[STRINGSIZE]; - ptr = area; - while (*string) - { -@@ -238,11 +238,11 @@ Purge(string, target) /* returns pointer to a purged copy */ - - int - MatchClass(class, input) -- register char class; -- register char input; -+ char class; -+ char input; - { -- register char c; -- register int retval; -+ char c; -+ int retval; - retval = 0; - - switch (class) -@@ -357,8 +357,8 @@ MatchClass(class, input) - - char * - PolyStrchr(string, class) -- register char *string; -- register char class; -+ char *string; -+ char class; - { - while (*string) - { -@@ -373,11 +373,11 @@ PolyStrchr(string, class) - - char * - PolySubst(string, class, new) /* returns pointer to a swapped about copy */ -- register char *string; -- register char class; -- register char new; -+ char *string; -+ char class; -+ char new; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*string) -@@ -391,10 +391,10 @@ PolySubst(string, class, new) /* returns pointer to a swapped about copy */ - - char * - PolyPurge(string, class) /* returns pointer to a purged copy */ -- register char *string; -- register char class; -+ char *string; -+ char class; - { -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE]; - ptr = area; - while (*string) -@@ -433,7 +433,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - char *control; - { - int limit; -- register char *ptr; -+ char *ptr; - static char area[STRINGSIZE * 2] = {0}; - char area2[STRINGSIZE * 2] = {0}; - strcpy(area, input); -@@ -523,7 +523,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register char *string; -+ char *string; - string = area; - while (*(string++)); - string[-1] = *(++ptr); -@@ -537,7 +537,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -+ int i; - int start; - int length; - start = Char2Int(*(++ptr)); -@@ -563,7 +563,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -+ int i; - i = Char2Int(*(++ptr)); - if (i < 0) - { -@@ -587,9 +587,9 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -- register char *p1; -- register char *p2; -+ int i; -+ char *p1; -+ char *p2; - i = Char2Int(*(++ptr)); - if (i < 0) - { -@@ -696,7 +696,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -+ int i; - if ((i = Char2Int(ptr[1])) < 0) - { - Debug(1, "Mangle: '=' weird argument in '%s'\n", control); -@@ -723,7 +723,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - case RULE_DFIRST: - if (area[0]) - { -- register int i; -+ int i; - for (i = 1; area[i]; i++) - { - area[i - 1] = area[i]; -@@ -735,7 +735,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - case RULE_DLAST: - if (area[0]) - { -- register int i; -+ int i; - for (i = 1; area[i]; i++); - area[i - 1] = '\0'; - } -@@ -771,7 +771,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - return NULL; - } else - { -- register int i; -+ int i; - - for (i = 0; area[i]; i++); - -@@ -815,8 +815,8 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - - int - PMatch(control, string) --register char *control; --register char *string; -+char *control; -+char *string; - { - while (*string && *control) - { --- -2.37.1 - diff --git a/poky/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch b/poky/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch deleted file mode 100644 index a8692b0cca..0000000000 --- a/poky/meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 793921a8ee4ae7f20e1fd2bbec5196bc83176b01 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 7 Aug 2022 12:25:24 -0700 -Subject: [PATCH 2/2] rules: Correct parameter types to Debug() calls - -Fixes -src/lib/rules.c:346:45: error: incompatible integer to pointer conversion passing 'char' to parameter of type 'char *'; take the address with & [-Wint-conversion] -src/lib/rules.c:804:53: error: incompatible integer to pointer conversion passing 'char' to parameter of type 'char *'; remove * [-Wint-conversion] Debug(1, "Mangle: unknown command %c in %s\n", *ptr, control); - ^~~~ -Upstream-Status: Submitted [https://github.com/cracklib/cracklib/pull/48] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/lib/rules.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/rules.c b/lib/rules.c -index 6e7a12a..4a34f91 100644 ---- a/lib/rules.c -+++ b/lib/rules.c -@@ -343,7 +343,7 @@ MatchClass(class, input) - break; - - default: -- Debug(1, "MatchClass: unknown class %c\n", class); -+ Debug(1, "MatchClass: unknown class %c\n", &class); - return (0); - break; - } -@@ -801,7 +801,7 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - } - - default: -- Debug(1, "Mangle: unknown command %c in %s\n", *ptr, control); -+ Debug(1, "Mangle: unknown command %c in %s\n", ptr, control); - return NULL; - break; - } --- -2.37.1 - diff --git a/poky/meta/recipes-extended/cracklib/cracklib_2.9.7.bb b/poky/meta/recipes-extended/cracklib/cracklib_2.9.8.bb index ffed88ed01..786940a7e0 100644 --- a/poky/meta/recipes-extended/cracklib/cracklib_2.9.7.bb +++ b/poky/meta/recipes-extended/cracklib/cracklib_2.9.8.bb @@ -12,11 +12,9 @@ EXTRA_OECONF = "--without-python --libdir=${base_libdir}" SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=master \ file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \ file://0002-craklib-fix-testnum-and-teststr-failed.patch \ - file://0001-rules-Drop-using-register-keyword.patch \ - file://0002-rules-Correct-parameter-types-to-Debug-calls.patch \ " -SRCREV = "f83934cf3cced0c9600c7d81332f4169f122a2cf" +SRCREV = "d9e8f9f47718539aeba80f90f4e072549926dc9c" S = "${WORKDIR}/git/src" inherit autotools gettext diff --git a/poky/meta/recipes-extended/cronie/cronie_1.6.1.bb b/poky/meta/recipes-extended/cronie/cronie_1.6.1.bb index 6d150dd3c7..078187534e 100644 --- a/poky/meta/recipes-extended/cronie/cronie_1.6.1.bb +++ b/poky/meta/recipes-extended/cronie/cronie_1.6.1.bb @@ -14,9 +14,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \ SECTION = "utils" -UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/" +GITHUB_BASE_URI = "https://github.com/cronie-crond/${BPN}/releases/" -SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}/cronie-${PV}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/cronie-${PV}/cronie-${PV}.tar.gz \ file://crond.init \ file://crontab \ file://crond.service \ @@ -27,7 +27,8 @@ PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" SRC_URI[sha256sum] = "2cd0f0dd1680e6b9c39bf1e3a5e7ad6df76aa940de1ee90a453633aa59984e62" -inherit autotools update-rc.d useradd systemd +inherit autotools update-rc.d useradd systemd github-releases +UPSTREAM_CHECK_REGEX = "releases/tag/cronie-(?P<pver>\d+(\.\d+)+)" PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc index 4592980766..9c920bb133 100644 --- a/poky/meta/recipes-extended/cups/cups.inc +++ b/poky/meta/recipes-extended/cups/cups.inc @@ -8,7 +8,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" DEPENDS = "libpng jpeg dbus zlib libusb1" -SRC_URI = "https://github.com/OpenPrinting/cups/releases/download/v${PV}/cups-${PV}-source.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/cups-${PV}-source.tar.gz \ file://0001-use-echo-only-in-init.patch \ file://0002-don-t-try-to-run-generated-binaries.patch \ file://libexecdir.patch \ @@ -17,8 +17,7 @@ SRC_URI = "https://github.com/OpenPrinting/cups/releases/download/v${PV}/cups-${ file://cups-volatiles.conf \ " -UPSTREAM_CHECK_URI = "https://github.com/OpenPrinting/cups/releases" -UPSTREAM_CHECK_REGEX = "cups-(?P<pver>(?!.+\d(b|rc)\d.+).+)-source.tar" +GITHUB_BASE_URI = "https://github.com/OpenPrinting/cups/releases" # Issue only applies to MacOS CVE_CHECK_IGNORE += "CVE-2008-1033" @@ -33,7 +32,7 @@ LEAD_SONAME = "libcupsdriver.so" CLEANBROKEN = "1" -inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script +inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script github-releases USERADD_PACKAGES = "${PN}" GROUPADD_PARAM:${PN} = "--system lpadmin" diff --git a/poky/meta/recipes-extended/less/less_600.bb b/poky/meta/recipes-extended/less/less_608.bb index f51083e1de..f411a8fb53 100644 --- a/poky/meta/recipes-extended/less/less_600.bb +++ b/poky/meta/recipes-extended/less/less_608.bb @@ -28,10 +28,9 @@ DEPENDS = "ncurses" SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \ " -SRC_URI[sha256sum] = "6633d6aa2b3cc717afb2c205778c7c42c4620f63b1d682f3d12c98af0be74d20" +SRC_URI[sha256sum] = "a69abe2e0a126777e021d3b73aa3222e1b261f10e64624d41ec079685a6ac209" UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html" -UPSTREAM_VERSION_UNKNOWN = "1" inherit autotools update-alternatives diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb index 35977535aa..034c37b429 100644 --- a/poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb +++ b/poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb @@ -10,10 +10,7 @@ DEPENDS="coreutils popt" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" -UPSTREAM_CHECK_REGEX = "logrotate-(?P<pver>\d+(\.\d+)+).tar" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz" +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz" SRC_URI[sha256sum] = "742f6d6e18eceffa49a4bacd933686d3e42931cfccfb694d7f6369b704e5d094" @@ -47,7 +44,7 @@ EXTRA_OEMAKE = "\ # INSTALL=install and BASEDIR=/usr. OS_NAME = "Linux" -inherit autotools systemd +inherit autotools systemd github-releases SYSTEMD_SERVICE:${PN} = "\ ${BPN}.service \ diff --git a/poky/meta/recipes-extended/ltp/ltp_20220527.bb b/poky/meta/recipes-extended/ltp/ltp_20220527.bb index 00ff906ded..b657a6adb1 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20220527.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20220527.bb @@ -150,13 +150,11 @@ remove_broken_musl_sources() { # sync with upstream # https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33 rm -rfv \ - testcases/kernel/syscalls/confstr/confstr01.c \ testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \ testcases/kernel/syscalls/getcontext/getcontext01.c \ testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \ testcases/kernel/syscalls/timer_create/timer_create01.c \ - testcases/kernel/syscalls/timer_create/timer_create03.c \ - utils/benchmark/ebizzy-0.3 + testcases/kernel/syscalls/timer_create/timer_create03.c } do_patch[postfuncs] += "remove_broken_musl_sources" diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb index 9a7cfec166..bede4412d9 100644 --- a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb +++ b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \ file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \ " -SRC_URI = "https://github.com/linux-pam/linux-pam/releases/download/v${PV}/Linux-PAM-${PV}.tar.xz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \ file://99_pam \ file://pam.d/common-account \ file://pam.d/common-auth \ @@ -42,7 +42,7 @@ CFLAGS:append = " -fPIC " S = "${WORKDIR}/Linux-PAM-${PV}" -inherit autotools gettext pkgconfig +inherit autotools gettext pkgconfig systemd ptest github-releases PACKAGECONFIG ??= "" PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit," @@ -191,6 +191,6 @@ CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive" CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-account" CONFFILES:${PN}-runtime += "${sysconfdir}/security/limits.conf" -UPSTREAM_CHECK_URI = "https://github.com/linux-pam/linux-pam/releases" +GITHUB_BASE_URI = "https://github.com/linux-pam/linux-pam/releases" CVE_PRODUCT = "linux-pam" diff --git a/poky/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch b/poky/meta/recipes-extended/rust-example/rust-hello-world/0001-enable-LTO.patch index f319545ee1..f319545ee1 100644 --- a/poky/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch +++ b/poky/meta/recipes-extended/rust-example/rust-hello-world/0001-enable-LTO.patch diff --git a/poky/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb b/poky/meta/recipes-extended/rust-example/rust-hello-world_git.bb index 1d91109b51..1d91109b51 100644 --- a/poky/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb +++ b/poky/meta/recipes-extended/rust-example/rust-hello-world_git.bb diff --git a/poky/meta/recipes-extended/shadow/files/securetty b/poky/meta/recipes-extended/shadow/files/securetty index 2be341a216..820728faa6 100644 --- a/poky/meta/recipes-extended/shadow/files/securetty +++ b/poky/meta/recipes-extended/shadow/files/securetty @@ -7,6 +7,7 @@ ttyS0 ttyS1 ttyS2 ttyS3 +ttyS4 # ARM AMBA SoCs ttyAM0 diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc index 414bf467ba..a87e23569b 100644 --- a/poky/meta/recipes-extended/shadow/shadow.inc +++ b/poky/meta/recipes-extended/shadow/shadow.inc @@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c9a450b7be84eac23e6353efecb60b5b \ DEPENDS = "virtual/crypt" -UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases" -SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \ +GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases" +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \ file://0001-shadow-use-relaxed-usernames.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ file://useradd \ @@ -42,7 +42,7 @@ PAM_SRC_URI = "file://pam.d/chfn \ file://pam.d/passwd \ file://pam.d/su" -inherit autotools gettext +inherit autotools gettext github-releases export CONFIG_SHELL="/bin/sh" diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc index 2b956cf7c0..d3c78e9157 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-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba" -PV = "2022b" +PV = "2022d" 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,6 +14,6 @@ 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] = "bab20d943e59a3218435f48d868a4e552f18d6d7f3dd128660c5660c80b8a05f" -SRC_URI[tzdata.sha256sum] = "f590eaf04a395245426c2be4fae71c143aea5cebc11088b7a0a5704461df397d" +SRC_URI[tzcode.sha256sum] = "d644ba0f938899374ea8cb554e35fb4afa0f7bd7b716c61777cd00500b8759e0" +SRC_URI[tzdata.sha256sum] = "6ecdbee27fa43dcfa49f3d4fd8bb1dfef54c90da1abcd82c9abcf2dc4f321de0" diff --git a/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb b/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb index 26fcc10487..6031dcaa16 100644 --- a/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb +++ b/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb @@ -28,10 +28,6 @@ UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/" inherit autotools update-rc.d systemd pkgconfig -DEPENDS += "libtirpc" -CFLAGS += "-I${STAGING_INCDIR}/tirpc" -LDFLAGS += "-ltirpc" - EXTRA_OECONF += " --disable-nfs " CACHED_CONFIGUREVARS += "ac_cv_path_PATH_SENDMAIL=${sbindir}/sendmail" diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb index 9a47e908b7..d935cbd905 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb @@ -103,7 +103,7 @@ EOF # for a different architecture cat > ${B}/g-ir-scanner-lddwrapper << EOF #!/bin/sh -$OBJDUMP -p "\$@" +\$OBJDUMP -p "\$@" EOF chmod +x ${B}/g-ir-scanner-lddwrapper diff --git a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb index 67081bb8cb..ffb813d290 100644 --- a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb +++ b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb @@ -17,9 +17,13 @@ LICENSE:${PN}-doc = "MPL-1.1 | LGPL-2.1-only" LICENSE:${PN}-gobject = "MPL-1.1 | LGPL-2.1-only" LICENSE:${PN}-script-interpreter = "MPL-1.1 | LGPL-2.1-only" LICENSE:${PN}-perf-utils = "GPL-3.0-or-later" +# Adapt the licenses for cairo-dbg and cairo-src depending on whether +# cairo-trace is being built. +LICENSE:${PN}-dbg = "(MPL-1.1 | LGPL-2.1-only)${@bb.utils.contains('PACKAGECONFIG', 'trace', ' & GPL-3.0-or-later', '', d)}" +LICENSE:${PN}-src = "(MPL-1.1 | LGPL-2.1-only)${@bb.utils.contains('PACKAGECONFIG', 'trace', ' & GPL-3.0-or-later', '', d)}" LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77 \ - file://util/cairo-trace/COPYING-GPL-3;md5=d32239bcb673463ab874e80d47fae504" + ${@bb.utils.contains('PACKAGECONFIG', 'trace', 'file://util/cairo-trace/COPYING-GPL-3;md5=d32239bcb673463ab874e80d47fae504', '', d)}" DEPENDS = "fontconfig glib-2.0 libpng pixman zlib" diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.112.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.113.bb index 48838245dd..959ef68032 100644 --- a/poky/meta/recipes-graphics/drm/libdrm_2.4.112.bb +++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.113.bb @@ -13,28 +13,29 @@ DEPENDS = "libpthread-stubs" SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \ " -SRC_URI[sha256sum] = "00b07710bd09b35cd8d80eaf4f4497fe27f4becf467a9830f1f5e8324f8420ff" +SRC_URI[sha256sum] = "7fd7eb2967f63beb4606f22d50e277d993480d05ef75dd88a9bd8e677323e5e1" inherit meson pkgconfig manpages -PACKAGECONFIG ??= "intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs" -PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess" -PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false" -PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false" -PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false" -PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false" -PACKAGECONFIG[omap] = "-Domap=true,-Domap=false" -PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false" -PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false" -PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false" -PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false" -PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false" +PACKAGECONFIG ??= "intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv tests install-test-programs" +PACKAGECONFIG[intel] = "-Dintel=enabled,-Dintel=disabled,libpciaccess" +PACKAGECONFIG[radeon] = "-Dradeon=enabled,-Dradeon=disabled" +PACKAGECONFIG[amdgpu] = "-Damdgpu=enabled,-Damdgpu=disabled" +PACKAGECONFIG[nouveau] = "-Dnouveau=enabled,-Dnouveau=disabled" +PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=enabled,-Dvmwgfx=disabled" +PACKAGECONFIG[omap] = "-Domap=enabled,-Domap=disabled" +PACKAGECONFIG[exynos] = "-Dexynos=enabled,-Dexynos=disabled" +PACKAGECONFIG[freedreno] = "-Dfreedreno=enabled,-Dfreedreno=disabled" +PACKAGECONFIG[tegra] = "-Dtegra=enabled,-Dtegra=disabled" +PACKAGECONFIG[vc4] = "-Dvc4=enabled,-Dvc4=disabled" +PACKAGECONFIG[etnaviv] = "-Detnaviv=enabled,-Detnaviv=disabled" PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false" -PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind" +PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind" PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false" -PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false" +PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=enabled,-Dcairo-tests=disabled" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev" -PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native" +PACKAGECONFIG[manpages] = "-Dman-pages=enabled,-Dman-pages=disabled,libxslt-native xmlto-native python3-docutils-native" ALLOW_EMPTY:${PN}-drivers = "1" PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \ diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb index 4c2d774803..4905e8e2ad 100644 --- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb @@ -8,15 +8,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6ee0f16281694fb6aa689cca1e0fb3da \ file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc \ " -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" -UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \ +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz \ file://0001-fix-signedness-of-char-in-tests.patch \ " SRC_URI[sha256sum] = "2edb95db668781aaa8d60959d21be2ff80085f31b12053cdd660d9a50ce84f05" -inherit meson pkgconfig lib_package gtk-doc gobject-introspection +inherit meson pkgconfig lib_package gtk-doc gobject-introspection github-releases GIR_MESON_ENABLE_FLAG = 'enabled' GIR_MESON_DISABLE_FLAG = 'disabled' diff --git a/poky/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch b/poky/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch deleted file mode 100644 index 58ff3ba561..0000000000 --- a/poky/meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bdde833c254092a47df6c7109a9751653c82aaae Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Mon, 8 Aug 2022 20:22:39 +0200 -Subject: [PATCH] drm-common.c: do not use invalid modifier - -Prior to kernel 5.19 this was a soft failure, but 5.19 -adds checks that result in a hard syscall fail. - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/kmscube/-/merge_requests/33] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - drm-common.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drm-common.c b/drm-common.c -index 5c9cca2..964e1c3 100644 ---- a/drm-common.c -+++ b/drm-common.c -@@ -92,7 +92,7 @@ struct drm_fb * drm_fb_get_from_bo(struct gbm_bo *bo) - modifiers[i] = modifiers[0]; - } - -- if (modifiers[0]) { -+ if (modifiers[0] && modifiers[0] != DRM_FORMAT_MOD_INVALID) { - flags = DRM_MODE_FB_MODIFIERS; - printf("Using modifier %" PRIx64 "\n", modifiers[0]); - } diff --git a/poky/meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch b/poky/meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch deleted file mode 100644 index 5965782de7..0000000000 --- a/poky/meta/recipes-graphics/kmscube/kmscube/0001-texturator-Use-correct-GL-extension-header.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 2b74e0e32235f6ab2e3e42d53dea985a7ba6227f Mon Sep 17 00:00:00 2001 -From: Damian Hobson-Garcia <dhobsong@igel.co.jp> -Date: Wed, 16 Dec 2020 11:08:25 +0900 -Subject: [PATCH] texturator: Use correct GL extension header - -gl2ext.h is the extenstion header for OpenGL ES 2.0 and all later -versions according to the Khronos documentation [1]. gl3ext.h is either -an empty stub, or may not even exist on some platforms. - -[1]: https://www.khronos.org/registry/OpenGL/index_es.php#headers - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/kmscube/-/merge_requests/26] -Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> ---- - texturator.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/texturator.c b/texturator.c -index d9335d7..6d97856 100644 ---- a/texturator.c -+++ b/texturator.c -@@ -30,7 +30,7 @@ - #include <math.h> - - #include <GLES3/gl3.h> --#include <GLES3/gl3ext.h> -+#include <GLES2/gl2ext.h> - - #ifdef HAVE_LIBPNG - #include <png.h> --- -2.33.1 - diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb index f7ee6e4e10..6ed97dfafe 100644 --- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb +++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb @@ -10,11 +10,8 @@ DEPENDS = "virtual/libgles3 virtual/libgles2 virtual/egl libdrm" LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb" -SRCREV = "9f63f359fab1b5d8e862508e4e51c9dfe339ccb0" -SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https \ - file://0001-texturator-Use-correct-GL-extension-header.patch \ - file://0001-drm-common.c-do-not-use-invalid-modifier.patch \ - " +SRCREV = "3bf6ee1a02334386d87cfe356c3bfb0b24e1fed8" +SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https" UPSTREAM_CHECK_COMMITS = "1" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb index 487fc00360..1210f73a86 100644 --- a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb +++ b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb @@ -9,13 +9,13 @@ SECTION = "libs" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b" -SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \ +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz \ file://0001-dispatch_common.h-define-also-EGL_NO_X11.patch \ " SRC_URI[sha256sum] = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4" -UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases" +GITHUB_BASE_URI = "https://github.com/anholt/libepoxy/releases" -inherit meson pkgconfig features_check +inherit meson pkgconfig features_check github-releases REQUIRED_DISTRO_FEATURES = "opengl" diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2/0001-video-restore-ability-to-disable-fb-accel-via-hint.patch b/poky/meta/recipes-graphics/libsdl2/libsdl2/0001-video-restore-ability-to-disable-fb-accel-via-hint.patch deleted file mode 100644 index fc74d30556..0000000000 --- a/poky/meta/recipes-graphics/libsdl2/libsdl2/0001-video-restore-ability-to-disable-fb-accel-via-hint.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 14ad91658fd296e34bb9e833281e72c871bfb189 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Tue, 3 May 2022 12:31:50 +0200 -Subject: [PATCH] video: restore ability to disable fb accel via hint - -Somewhere in code refactoring between .20 and .22 this check -was lost, and so the hint had no effect anymore. - -Upstream-Status: Submitted [https://github.com/libsdl-org/SDL/pull/5611] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - src/video/SDL_video.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c -index 93c803e..cbe7616 100644 ---- a/src/video/SDL_video.c -+++ b/src/video/SDL_video.c -@@ -2503,6 +2503,14 @@ SDL_CreateWindowFramebuffer(SDL_Window * window) - if (!_this->checked_texture_framebuffer) { - SDL_bool attempt_texture_framebuffer = SDL_TRUE; - -+ /* See if the user or application wants to specifically disable the framebuffer */ -+ const char *hint = SDL_GetHint(SDL_HINT_FRAMEBUFFER_ACCELERATION); -+ if (hint) { -+ if (*hint == '0' || SDL_strcasecmp(hint, "false") == 0) { -+ attempt_texture_framebuffer = SDL_FALSE; -+ } -+ } -+ - if (_this->is_dummy) { /* dummy driver never has GPU support, of course. */ - attempt_texture_framebuffer = SDL_FALSE; - } --- -2.30.2 - diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.24.0.bb index ff3e162c49..d5cbf73df2 100644 --- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.24.0.bb @@ -22,13 +22,12 @@ LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', 'f PROVIDES = "virtual/libsdl2" SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \ - file://0001-video-restore-ability-to-disable-fb-accel-via-hint.patch \ " SRC_URI:append:class-native = " file://0001-Disable-libunwind-in-native-OE-builds-by-not-looking.patch" S = "${WORKDIR}/SDL2-${PV}" -SRC_URI[sha256sum] = "fe7cbf3127882e3fc7259a75a0cb585620272c51745d3852ab9dd87960697f2e" +SRC_URI[sha256sum] = "91e4c34b1768f92d399b078e171448c6af18cafda743987ed2064a28954d6d97" inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even @@ -43,9 +42,7 @@ EXTRA_OECMAKE = "-DSDL_OSS=OFF -DSDL_ESD=OFF -DSDL_ARTS=OFF \ -DSDL_PTHREADS=ON \ -DSDL_RPATH=OFF \ -DSDL_SNDIO=OFF \ - -DSDL_X11_XVM=OFF \ -DSDL_X11_XCURSOR=OFF \ - -DSDL_X11_XINERAMA=OFF \ -DSDL_X11_XDBE=OFF \ -DSDL_X11_XFIXES=OFF \ -DSDL_X11_XINPUT=OFF \ @@ -62,7 +59,7 @@ PACKAGECONFIG:class-native = "x11 ${PACKAGECONFIG_GL}" PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}" PACKAGECONFIG ??= " \ ${PACKAGECONFIG_GL} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11 vulkan', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \ ${@bb.utils.contains("TUNE_FEATURES", "neon","arm-neon","",d)} \ " @@ -77,9 +74,12 @@ PACKAGECONFIG[kmsdrm] = "-DSDL_KMSDRM=ON,-DSDL_KMSDRM=OFF,libdrm virtual/lib PACKAGECONFIG[libusb] = ",,libusb1" PACKAGECONFIG[opengl] = "-DSDL_OPENGL=ON,-DSDL_OPENGL=OFF,virtual/egl" PACKAGECONFIG[pulseaudio] = "-DSDL_PULSEAUDIO=ON,-DSDL_PULSEAUDIO=OFF,pulseaudio" +PACKAGECONFIG[vulkan] = "-DSDL_VULKAN=ON,-DSDL_VULKAN=OFF" PACKAGECONFIG[wayland] = "-DSDL_WAYLAND=ON,-DSDL_WAYLAND=OFF,wayland-native wayland wayland-protocols libxkbcommon" PACKAGECONFIG[x11] = "-DSDL_X11=ON,-DSDL_X11=OFF,virtual/libx11 libxext libxrandr libxrender" CFLAGS:append:class-native = " -DNO_SHARED_MEMORY" +FILES:${PN} += "${datadir}/licenses/SDL2/LICENSE.txt" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/libva/libva.inc b/poky/meta/recipes-graphics/libva/libva.inc index 956cd50756..735f2fca5b 100644 --- a/poky/meta/recipes-graphics/libva/libva.inc +++ b/poky/meta/recipes-graphics/libva/libva.inc @@ -16,17 +16,17 @@ BUGTRACKER = "https://github.com/intel/libva/issues" SECTION = "x11" LICENSE = "MIT" -SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2" +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/libva-${PV}.tar.bz2" LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" SRC_URI[sha256sum] = "258ed409458d3e7a000e1908bc852619615ee6a933359c745fcd93eb3e461eca" S = "${WORKDIR}/libva-${PV}" -UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases" +GITHUB_BASE_URI = "https://github.com/intel/libva/releases" DEPENDS = "libdrm" -inherit meson pkgconfig +inherit meson pkgconfig github-releases PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxext libxfixes" PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/mesa" diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch b/poky/meta/recipes-graphics/mesa/files/0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch deleted file mode 100644 index dac2de4e62..0000000000 --- a/poky/meta/recipes-graphics/mesa/files/0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch +++ /dev/null @@ -1,158 +0,0 @@ -From 7796c2c56c960ac55e49246f0349ac52539ada55 Mon Sep 17 00:00:00 2001 -From: Leandro Ribeiro <leandro.ribeiro@collabora.com> -Date: Sun, 10 Apr 2022 22:54:36 -0300 -Subject: [PATCH] Revert "egl/wayland: deprecate drm_handle_format() and - drm_handle_capabilities()" - -Commit af1ee8e010441f8f2ed8c77065b159652a4ac9fe dropped support to -wl_drm, as we thought that most compositors from active projects were -already supporting zwp_linux_dmabuf_v1. - -But that's not true, so revert this commit in order to give these -projects a longer transition period. - -Note that we didn't add back the support to GEM name API, and that was -on purpose. - -Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> -Reviewed-by: Simon Ser <contact@emersion.fr> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15822> - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> -Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/commit/c60fea8c228ae3f32e20d6b65c473d9f04871d20] ---- - src/egl/drivers/dri2/egl_dri2.h | 1 + - src/egl/drivers/dri2/platform_wayland.c | 59 +++++++++++++++++++------ - 2 files changed, 47 insertions(+), 13 deletions(-) - -diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h -index c466ff83c53..eecb32a53fd 100644 ---- a/src/egl/drivers/dri2/egl_dri2.h -+++ b/src/egl/drivers/dri2/egl_dri2.h -@@ -283,6 +283,7 @@ struct dri2_egl_display - struct zwp_linux_dmabuf_feedback_v1 *wl_dmabuf_feedback; - struct dmabuf_feedback_format_table format_table; - bool authenticated; -+ uint32_t capabilities; - char *device_name; - #endif - -diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c -index 5ff83cce08a..843434376a7 100644 ---- a/src/egl/drivers/dri2/platform_wayland.c -+++ b/src/egl/drivers/dri2/platform_wayland.c -@@ -1343,7 +1343,7 @@ create_wl_buffer(struct dri2_egl_display *dri2_dpy, - struct dri2_egl_surface *dri2_surf, - __DRIimage *image) - { -- struct wl_buffer *ret; -+ struct wl_buffer *ret = NULL; - EGLBoolean query; - int width, height, fourcc, num_planes; - uint64_t modifier = DRM_FORMAT_MOD_INVALID; -@@ -1447,11 +1447,28 @@ create_wl_buffer(struct dri2_egl_display *dri2_dpy, - ret = zwp_linux_buffer_params_v1_create_immed(params, width, height, - fourcc, 0); - zwp_linux_buffer_params_v1_destroy(params); -+ } else { -+ struct wl_drm *wl_drm = -+ dri2_surf ? dri2_surf->wl_drm_wrapper : dri2_dpy->wl_drm; -+ int fd = -1, stride; -+ -+ if (num_planes > 1) -+ return NULL; -+ -+ query = dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_FD, &fd); -+ query &= dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_STRIDE, &stride); -+ if (!query) { -+ if (fd >= 0) -+ close(fd); -+ return NULL; -+ } - -- return ret; -+ ret = wl_drm_create_prime_buffer(wl_drm, fd, width, height, fourcc, 0, -+ stride, 0, 0, 0, 0); -+ close(fd); - } - -- return NULL; -+ return ret; - } - - static EGLBoolean -@@ -1698,16 +1715,21 @@ drm_handle_device(void *data, struct wl_drm *drm, const char *device) - static void - drm_handle_format(void *data, struct wl_drm *drm, uint32_t format) - { -- /* deprecated, as compositors already support the dma-buf protocol extension -- * and so we can rely on dmabuf_handle_modifier() to receive formats and -- * modifiers */ -+ struct dri2_egl_display *dri2_dpy = data; -+ int visual_idx = dri2_wl_visual_idx_from_fourcc(format); -+ -+ if (visual_idx == -1) -+ return; -+ -+ BITSET_SET(dri2_dpy->formats.formats_bitmap, visual_idx); - } - - static void - drm_handle_capabilities(void *data, struct wl_drm *drm, uint32_t value) - { -- /* deprecated, as compositors already support the dma-buf protocol extension -- * and so we can rely on it to create wl_buffer's */ -+ struct dri2_egl_display *dri2_dpy = data; -+ -+ dri2_dpy->capabilities = value; - } - - static void -@@ -2075,13 +2097,12 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp) - wl_registry_add_listener(dri2_dpy->wl_registry, - ®istry_listener_drm, dri2_dpy); - -- /* The compositor must expose the dma-buf interface. */ -- if (roundtrip(dri2_dpy) < 0 || dri2_dpy->wl_dmabuf == NULL) -+ if (roundtrip(dri2_dpy) < 0) - goto cleanup; - - /* Get default dma-buf feedback */ -- if (zwp_linux_dmabuf_v1_get_version(dri2_dpy->wl_dmabuf) >= -- ZWP_LINUX_DMABUF_V1_GET_DEFAULT_FEEDBACK_SINCE_VERSION) { -+ if (dri2_dpy->wl_dmabuf && zwp_linux_dmabuf_v1_get_version(dri2_dpy->wl_dmabuf) >= -+ ZWP_LINUX_DMABUF_V1_GET_DEFAULT_FEEDBACK_SINCE_VERSION) { - dmabuf_feedback_format_table_init(&dri2_dpy->format_table); - dri2_dpy->wl_dmabuf_feedback = - zwp_linux_dmabuf_v1_get_default_feedback(dri2_dpy->wl_dmabuf); -@@ -2089,7 +2110,6 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp) - &dmabuf_feedback_listener, dri2_dpy); - } - -- /* Receive events from the interfaces */ - if (roundtrip(dri2_dpy) < 0) - goto cleanup; - -@@ -2176,6 +2196,19 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp) - - dri2_wl_setup_swap_interval(disp); - -+ if (dri2_dpy->wl_drm) { -+ /* To use Prime, we must have _DRI_IMAGE v7 at least. createImageFromFds -+ * support indicates that Prime export/import is supported by the driver. -+ * We deprecated the support to GEM names API, so we bail out if the -+ * driver does not suport Prime. */ -+ if (!(dri2_dpy->capabilities & WL_DRM_CAPABILITY_PRIME) || -+ (dri2_dpy->image->base.version < 7) || -+ (dri2_dpy->image->createImageFromFds == NULL)) { -+ _eglLog(_EGL_WARNING, "wayland-egl: display does not support prime"); -+ goto cleanup; -+ } -+ } -+ - if (dri2_dpy->is_different_gpu && - (dri2_dpy->image->base.version < 9 || - dri2_dpy->image->blitImage == NULL)) { --- -2.35.1 - diff --git a/poky/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch b/poky/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch index 3b0bfa323b..e7d92197be 100644 --- a/poky/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch +++ b/poky/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch @@ -1,4 +1,4 @@ -From 253b042d2bf10e9abfa9cc508e0782aefd834145 Mon Sep 17 00:00:00 2001 +From 859bfc342d1db9b61c43f30d9aa27cea35ca7599 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 16 Oct 2020 11:03:47 -0700 Subject: [PATCH] futex.h: Define __NR_futex if it does not exist @@ -18,12 +18,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 4 insertions(+) diff --git a/src/util/futex.h b/src/util/futex.h -index 43097f4..941b0ec 100644 +index 2a2a00c..92fc123 100644 --- a/src/util/futex.h +++ b/src/util/futex.h -@@ -34,6 +34,10 @@ - #include <sys/syscall.h> - #include <sys/time.h> +@@ -38,6 +38,10 @@ + #define SYS_futex SYS_futex_time64 + #endif +#if !defined(SYS_futex) && defined(SYS_futex_time64) +# define SYS_futex SYS_futex_time64 diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch index b08e4d86c2..9cd9bee2d2 100644 --- a/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch +++ b/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch @@ -1,4 +1,4 @@ -From d34bdbd80e5a1f309d2ba280cdc66ff0ee0e5c43 Mon Sep 17 00:00:00 2001 +From 3ef37c63f03ad6f2af407de350486fdd25e9132a Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 13 Jan 2020 15:23:47 -0800 Subject: [PATCH] meson misdetects 64bit atomics on mips/clang diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch index aea23d0ec2..ec263ce479 100644 --- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch +++ b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch @@ -1,4 +1,4 @@ -From f9c597a2c517eb85c23cbeeb2e95c55794c74cda Mon Sep 17 00:00:00 2001 +From d092a9000da62dfccca5b58fca56b94eb9989c48 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair@alistair23.me> Date: Thu, 14 Nov 2019 13:04:49 -0800 Subject: [PATCH] meson.build: check for all linux host_os combinations @@ -20,10 +20,10 @@ Signed-off-by: Alistair Francis <alistair@alistair23.me> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build -index bca6b1f..70d06c0 100644 +index 250b528..b5c98f8 100644 --- a/meson.build +++ b/meson.build -@@ -172,7 +172,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 +@@ -173,7 +173,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 # Only build shared_glapi if at least one OpenGL API is enabled with_shared_glapi = with_shared_glapi and with_any_opengl @@ -32,11 +32,11 @@ index bca6b1f..70d06c0 100644 dri_drivers = get_option('dri-drivers') if dri_drivers.length() != 0 -@@ -1074,7 +1074,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }', +@@ -1091,7 +1091,7 @@ if cc.has_function('reallocarray') endif # TODO: this is very incomplete --if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) +-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android'].contains(host_machine.system()) +if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) or host_machine.system().startswith('linux') pre_args += '-D_GNU_SOURCE' elif host_machine.system() == 'sunos' diff --git a/poky/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch b/poky/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch index 48fc1e37ff..7989843eb4 100644 --- a/poky/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch +++ b/poky/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch @@ -1,3 +1,11 @@ +From da6e47f1717f34c73de388c56ffaf4861a07fdc5 Mon Sep 17 00:00:00 2001 +From: t bettler <thomas.bettler@gmail.com> +Date: Sat, 9 Jul 2022 09:28:51 +0000 +Subject: [PATCH] nir/nir_opt_move: fix ALWAYS_INLINE compiler error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + Backport merge request to fix mesa compile error when debug build enabled. @@ -5,10 +13,6 @@ Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_req Signed-off-by: Kai Kang <kai.kang@windriver.com> -From c69c6e7a35205557de73734ad4a1f411c8f99926 Mon Sep 17 00:00:00 2001 -From: t bettler <thomas.bettler@gmail.com> -Date: Sat, 9 Jul 2022 09:28:51 +0000 -Subject: [PATCH] nir/nir_opt_move: fix ALWAYS_INLINE compiler error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -17,13 +21,14 @@ fix call to ‘always_inline’ ‘src_is_ssa’ Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6825 Fixes: f1d20ec67c3f186886b97de94f74484650f8fda1 ("nir/nir_opt_move: handle non-SSA defs ") + --- src/compiler/nir/nir_inline_helpers.h | 10 ++++++++-- src/compiler/nir/nir_opt_move.c | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/compiler/nir/nir_inline_helpers.h b/src/compiler/nir/nir_inline_helpers.h -index 125dd8a537c..ec33f0509f7 100644 +index 125dd8a..ec33f05 100644 --- a/src/compiler/nir/nir_inline_helpers.h +++ b/src/compiler/nir/nir_inline_helpers.h @@ -73,8 +73,8 @@ nir_foreach_dest(nir_instr *instr, nir_foreach_dest_cb cb, void *state) @@ -48,7 +53,7 @@ index 125dd8a537c..ec33f0509f7 100644 + return _nir_foreach_src(instr, cb, state); +} diff --git a/src/compiler/nir/nir_opt_move.c b/src/compiler/nir/nir_opt_move.c -index 81bcde5c436..051c3cc6295 100644 +index 81bcde5..051c3cc 100644 --- a/src/compiler/nir/nir_opt_move.c +++ b/src/compiler/nir/nir_opt_move.c @@ -60,7 +60,7 @@ src_is_ssa(nir_src *src, void *state) @@ -60,6 +65,3 @@ index 81bcde5c436..051c3cc6295 100644 } static bool --- -2.34.1 - diff --git a/poky/meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch b/poky/meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch deleted file mode 100644 index db25e16f4a..0000000000 --- a/poky/meta/recipes-graphics/mesa/files/0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch +++ /dev/null @@ -1,113 +0,0 @@ -From feb4ec510b1328fdd9aa77305d3273d1f9c7e124 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Thu, 9 Jun 2022 11:42:05 +0200 -Subject: [PATCH] swrast_kms: use swkmsDRI2Extension instead of - driDRI2Extension - -This set of changes: -https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15649 - -caused a regression in Xorg when using swrast_kms: - (EE) AIGLX error: Calling driver entry point failed - -This commit changes the swrast_kms driver to use a dedicated screen init function -(which I believe was overlooked); I also took the opportunity to rename the -associated plumbling to have swrast-specific names. - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16942] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - src/gallium/frontends/dri/dri2.c | 16 ++++++++-------- - src/gallium/frontends/dri/dri_screen.h | 4 ++-- - src/gallium/frontends/dri/dri_util.c | 2 +- - src/gallium/targets/dri/target.c | 2 +- - 4 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/src/gallium/frontends/dri/dri2.c b/src/gallium/frontends/dri/dri2.c -index 63ac9d5..de33789 100644 ---- a/src/gallium/frontends/dri/dri2.c -+++ b/src/gallium/frontends/dri/dri2.c -@@ -2508,7 +2508,7 @@ release_pipe: - * Returns the struct gl_config supported by this driver. - */ - static const __DRIconfig ** --dri_kms_init_screen(__DRIscreen * sPriv) -+dri_swrast_kms_init_screen(__DRIscreen * sPriv) - { - #if defined(GALLIUM_SOFTPIPE) - const __DRIconfig **configs; -@@ -2613,8 +2613,8 @@ static const struct __DRIDriverVtableExtensionRec galliumdrm_vtable = { - * hook. The latter is used to explicitly initialise the kms_swrast driver - * rather than selecting the approapriate driver as suggested by the loader. - */ --const struct __DriverAPIRec dri_kms_driver_api = { -- .InitScreen = dri_kms_init_screen, -+const struct __DriverAPIRec dri_swrast_kms_driver_api = { -+ .InitScreen = dri_swrast_kms_init_screen, - .DestroyScreen = dri_destroy_screen, - .CreateBuffer = dri2_create_buffer, - .DestroyBuffer = dri_destroy_buffer, -@@ -2633,17 +2633,17 @@ const __DRIextension *galliumdrm_driver_extensions[] = { - NULL - }; - --static const struct __DRIDriverVtableExtensionRec dri_kms_vtable = { -+static const struct __DRIDriverVtableExtensionRec dri_swrast_kms_vtable = { - .base = { __DRI_DRIVER_VTABLE, 1 }, -- .vtable = &dri_kms_driver_api, -+ .vtable = &dri_swrast_kms_driver_api, - }; - --const __DRIextension *dri_kms_driver_extensions[] = { -+const __DRIextension *dri_swrast_kms_driver_extensions[] = { - &driCoreExtension.base, - &driImageDriverExtension.base, -- &driDRI2Extension.base, -+ &swkmsDRI2Extension.base, - &gallium_config_options.base, -- &dri_kms_vtable.base, -+ &dri_swrast_kms_vtable.base, - NULL - }; - -diff --git a/src/gallium/frontends/dri/dri_screen.h b/src/gallium/frontends/dri/dri_screen.h -index 0ee2feb..0bb8817 100644 ---- a/src/gallium/frontends/dri/dri_screen.h -+++ b/src/gallium/frontends/dri/dri_screen.h -@@ -168,8 +168,8 @@ dri_destroy_screen_helper(struct dri_screen * screen); - void - dri_destroy_screen(__DRIscreen * sPriv); - --extern const struct __DriverAPIRec dri_kms_driver_api; --extern const __DRIextension *dri_kms_driver_extensions[]; -+extern const struct __DriverAPIRec dri_swrast_kms_driver_api; -+extern const __DRIextension *dri_swrast_kms_driver_extensions[]; - extern const struct __DriverAPIRec galliumdrm_driver_api; - extern const __DRIextension *galliumdrm_driver_extensions[]; - extern const struct __DriverAPIRec galliumsw_driver_api; -diff --git a/src/gallium/frontends/dri/dri_util.c b/src/gallium/frontends/dri/dri_util.c -index 8d60526..03614e1 100644 ---- a/src/gallium/frontends/dri/dri_util.c -+++ b/src/gallium/frontends/dri/dri_util.c -@@ -187,7 +187,7 @@ swkmsCreateNewScreen(int scrn, int fd, - const __DRIconfig ***driver_configs, void *data) - { - return driCreateNewScreen2(scrn, fd, extensions, -- dri_kms_driver_extensions, -+ dri_swrast_kms_driver_extensions, - driver_configs, data); - } - -diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c -index 9b78351..e02b03b 100644 ---- a/src/gallium/targets/dri/target.c -+++ b/src/gallium/targets/dri/target.c -@@ -25,7 +25,7 @@ const __DRIextension **__driDriverGetExtensions_kms_swrast(void); - - PUBLIC const __DRIextension **__driDriverGetExtensions_kms_swrast(void) - { -- return dri_kms_driver_extensions; -+ return dri_swrast_kms_driver_extensions; - } - - #endif diff --git a/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch b/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch index 5c6165c281..d22ff3c8a8 100644 --- a/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch +++ b/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch @@ -1,4 +1,4 @@ -From fdb2face4eeac3c20eedcca7520f4e7014225fb4 Mon Sep 17 00:00:00 2001 +From f17e836ef9b1bbc6056790596420b699e48128c2 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 2 Dec 2021 19:57:42 -0800 Subject: [PATCH] util/format: Check for NEON before using it @@ -20,10 +20,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c -index 36c5e52..f0a0097 100644 +index c071250..0880984 100644 --- a/src/util/format/u_format.c +++ b/src/util/format/u_format.c -@@ -1138,7 +1138,7 @@ static void +@@ -1184,7 +1184,7 @@ static void util_format_unpack_table_init(void) { for (enum pipe_format format = PIPE_FORMAT_NONE; format < PIPE_FORMAT_COUNT; format++) { 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 deleted file mode 100644 index af11baee86..0000000000 --- a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch +++ /dev/null @@ -1,61 +0,0 @@ -From bf41fa026ae3d378e62fd83d03a6f5933b52ca04 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 - -USE_ELF_TLS has replaced GLX_USE_TLS so this patch is the original "make -TLS GLX optional again" patch updated to the latest mesa. - -For details, see: -https://gitlab.freedesktop.org/mesa/mesa/-/issues/966 - -This prevents runtime segfault on musl: - -Traceback (most recent call last): - File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/core/decorator/__init__.py", line 36, in wrapped_f - return func(*args, **kwargs) - File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/runtime/cases/parselogs.py", line 378, in test_parselogs - self.assertEqual(errcount, 0, msg=self.msg) -AssertionError: 1 != 0 : Log: /home/pokybuild/yocto-worker/musl-qemux86/build/build/tmp/work/qemux86-poky-linux-musl/core-image-sato-sdk/1.0-r0/target_logs/Xorg.0.log - -Upstream-Status: Inappropriate [configuration] ---- - meson.build | 7 +++++-- - meson_options.txt | 6 ++++++ - 2 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 70d06c0..1441611 100644 ---- a/meson.build -+++ b/meson.build -@@ -490,8 +490,11 @@ foreach platform : _platforms - pre_args += '-DHAVE_@0@_PLATFORM'.format(platform.to_upper()) - endforeach - --use_elf_tls = true --pre_args += '-DUSE_ELF_TLS' -+use_elf_tls = false -+if get_option('elf-tls') -+ use_elf_tls = true -+ pre_args += '-DUSE_ELF_TLS' -+endif - - if with_platform_android and get_option('platform-sdk-version') >= 29 - # By default the NDK compiler, at least, emits emutls references instead of -diff --git a/meson_options.txt b/meson_options.txt -index 1f6ef38..99cc5cb 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -440,6 +440,12 @@ option( - value : true, - description : 'Enable direct rendering in GLX and EGL for DRI', - ) -+option( -+ 'elf-tls', -+ type : 'boolean', -+ value : true, -+ description : 'Enable TLS support in ELF', -+) - option('egl-lib-suffix', - type : 'string', - value : '', diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_22.1.6.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_22.2.0.bb index f2bc8f6b5b..f2bc8f6b5b 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_22.1.6.bb +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_22.2.0.bb diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index ea7ed4fd27..8a74e0a80a 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -10,22 +10,19 @@ HOMEPAGE = "http://mesa3d.org" BUGTRACKER = "https://bugs.freedesktop.org" SECTION = "x11" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9a383ee9f65a4e939d6630e9b067ff58" +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10" 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://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \ file://0001-util-format-Check-for-NEON-before-using-it.patch \ - file://0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch \ - file://0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch \ file://0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch \ " -SRC_URI[sha256sum] = "22ced061eb9adab8ea35368246c1995c09723f3f71653cd5050c5cec376e671a" +SRC_URI[sha256sum] = "b1f9c8fd08f2cae3adf83355bef4d2398e8025f44947332880f2d0066bdafa8c" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" @@ -95,7 +92,7 @@ PACKAGECONFIG = " \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ - ${@bb.utils.contains('TCLIBC', 'glibc', 'elf-tls', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ " # "gbm" requires "opengl" @@ -104,7 +101,6 @@ PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled" X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr" # "x11" requires "opengl" PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}" -PACKAGECONFIG[elf-tls] = "-Delf-tls=true, -Delf-tls=false" PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=enabled,-Dgallium-xvmc=disabled,libxvmc" PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" @@ -117,7 +113,7 @@ 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)}" VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" -PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers=''," +PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers" PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false" @@ -137,6 +133,7 @@ PACKAGECONFIG[freedreno] = "" PACKAGECONFIG[kmsro] = "" PACKAGECONFIG[vc4] = "" PACKAGECONFIG[v3d] = "" +PACKAGECONFIG[zink] = "" GALLIUMDRIVERS = "swrast" # gallium swrast was found to crash Xorg on startup in x32 qemu @@ -149,6 +146,7 @@ GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',fre GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}" GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}" GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}" +GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}" # radeonsi requires LLVM GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" @@ -177,6 +175,8 @@ GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', ' PACKAGECONFIG[panfrost] = "" GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" +PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false" + PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false" PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" diff --git a/poky/meta/recipes-graphics/mesa/mesa_22.1.6.bb b/poky/meta/recipes-graphics/mesa/mesa_22.2.0.bb index 96e8aa38d6..96e8aa38d6 100644 --- a/poky/meta/recipes-graphics/mesa/mesa_22.1.6.bb +++ b/poky/meta/recipes-graphics/mesa/mesa_22.2.0.bb diff --git a/poky/meta/recipes-graphics/piglit/piglit/0004-CMakeLists.txt-add-missing-endian.h-check.patch b/poky/meta/recipes-graphics/piglit/piglit/0004-CMakeLists.txt-add-missing-endian.h-check.patch deleted file mode 100644 index 68f783ebe4..0000000000 --- a/poky/meta/recipes-graphics/piglit/piglit/0004-CMakeLists.txt-add-missing-endian.h-check.patch +++ /dev/null @@ -1,25 +0,0 @@ -From a8ea135125b284a8a9c965d8091b3d1d9a31849c Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Tue, 5 Apr 2022 16:51:34 +0200 -Subject: [PATCH] CMakeLists.txt: add missing endian.h check - -This is needed to actually have HAVE_ENDIAN_H defined properly in config.h. - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/648] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9fb0508da..158fac4bc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -481,6 +481,7 @@ check_include_file(sys/stat.h HAVE_SYS_STAT_H) - check_include_file(unistd.h HAVE_UNISTD_H) - check_include_file(fcntl.h HAVE_FCNTL_H) - check_include_file(linux/sync_file.h HAVE_LINUX_SYNC_FILE_H) -+check_include_file(endian.h HAVE_ENDIAN_H) - - if(DEFINED PIGLIT_INSTALL_VERSION) - set(PIGLIT_INSTALL_VERSION_SUFFIX diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb index 29360a246b..f758208c6b 100644 --- a/poky/meta/recipes-graphics/piglit/piglit_git.bb +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -10,11 +10,11 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=ma file://0001-cmake-install-bash-completions-in-the-right-place.patch \ file://0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \ file://0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \ - file://0004-CMakeLists.txt-add-missing-endian.h-check.patch \ - file://0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch" + file://0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch \ + " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "6403e90dc7da02d486906cddab8d02c2552a8d46" +SRCREV = "265896c86f90cb72e8f218ba6a3617fca8b9a1e3" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" diff --git a/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb index 32247b09c8..b7fdc0d399 100644 --- a/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb +++ b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb @@ -13,11 +13,11 @@ PE = "1" SRC_URI = "https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-${PV}.tar.gz \ file://30-liberation-aliases.conf" SRC_URI[sha256sum] = "7191c669bf38899f73a2094ed00f7b800553364f90e2637010a69c0e268f25d0" -UPSTREAM_CHECK_URI = "https://github.com/liberationfonts/liberation-fonts/releases" +GITHUB_BASE_URI = "https://github.com/liberationfonts/liberation-fonts/releases" S = "${WORKDIR}/liberation-fonts-ttf-${PV}" -inherit allarch fontcache +inherit allarch fontcache github-releases do_install () { install -d ${D}${datadir}/fonts/ttf/ diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch index 0fd1d511d6..8230ba588b 100644 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch +++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch @@ -1,4 +1,4 @@ -From 63788c63ed39a3ce9994f4315d8997e1a9300d4d Mon Sep 17 00:00:00 2001 +From c853c9e5c44f1b23a15a7ba629ee02f7d8ec23a0 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Mon, 6 Jan 2020 12:44:42 +0100 Subject: [PATCH] meson.build: use 'python3' directly for python @@ -8,17 +8,18 @@ its configuration). Upstream-Status: Inappropriate [oe-core specific] 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 682d7c8..19d2eae 100644 +index 13d95bb..b241eb2 100644 --- a/meson.build +++ b/meson.build -@@ -60,7 +60,7 @@ foreach w : warnings - endif - endforeach +@@ -64,7 +64,7 @@ flags = [ + + add_project_arguments(cc.get_supported_arguments(flags), language : 'c') -prog_python = import('python').find_installation('python3') +prog_python = 'python3' diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0135.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0135.patch deleted file mode 100644 index ae42dc8f6c..0000000000 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0135.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 63aee871365f9c9e7fa9125672302a0fb250d34d Mon Sep 17 00:00:00 2001 -From: Gert Wollny <gert.wollny@collabora.com> -Date: Tue, 30 Nov 2021 09:16:24 +0100 -Subject: [PATCH 2/2] vrend: propperly check whether the shader image range is - correct - -Also add a test to check the integer underflow. - -Closes: #251 -Signed-off-by: Gert Wollny <gert.wollny@collabora.com> -Reviewed-by: Chia-I Wu <olvaffe@gmail.com> - -cherry-pick from anongit.freedesktop.org/virglrenderer -commit 2aed5d4... - -CVE: CVE-2022-0135 -Upstream-Status: Backport -Signed-off-by: Joe Slater <joe.slater@windriver.com> - ---- - src/vrend_decode.c | 3 +- - tests/test_fuzzer_formats.c | 57 +++++++++++++++++++++++++++++++++++++ - 2 files changed, 59 insertions(+), 1 deletion(-) - -diff --git a/src/vrend_decode.c b/src/vrend_decode.c -index 91f5f24..6771b10 100644 ---- a/src/vrend_decode.c -+++ b/src/vrend_decode.c -@@ -1249,8 +1249,9 @@ static int vrend_decode_set_shader_images(struct vrend_context *ctx, const uint3 - if (num_images < 1) { - return 0; - } -+ - if (start_slot > PIPE_MAX_SHADER_IMAGES || -- start_slot > PIPE_MAX_SHADER_IMAGES - num_images) -+ start_slot + num_images > PIPE_MAX_SHADER_IMAGES) - return EINVAL; - - for (uint32_t i = 0; i < num_images; i++) { -diff --git a/tests/test_fuzzer_formats.c b/tests/test_fuzzer_formats.c -index 154a2e5..e32caf0 100644 ---- a/tests/test_fuzzer_formats.c -+++ b/tests/test_fuzzer_formats.c -@@ -958,6 +958,61 @@ static void test_vrend_set_signle_abo_heap_overflow() { - virgl_renderer_submit_cmd((void *) cmd, ctx_id, 0xde); - } - -+static void test_vrend_set_shader_images_overflow() -+{ -+ uint32_t num_shaders = PIPE_MAX_SHADER_IMAGES + 1; -+ uint32_t size = num_shaders * VIRGL_SET_SHADER_IMAGE_ELEMENT_SIZE + 3; -+ uint32_t cmd[size]; -+ int i = 0; -+ cmd[i++] = ((size - 1)<< 16) | 0 << 8 | VIRGL_CCMD_SET_SHADER_IMAGES; -+ cmd[i++] = PIPE_SHADER_FRAGMENT; -+ memset(&cmd[i], 0, size - i); -+ -+ virgl_renderer_submit_cmd((void *) cmd, ctx_id, size); -+} -+ -+/* Test adapted from yaojun8558363@gmail.com: -+ * https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/250 -+*/ -+static void test_vrend_3d_resource_overflow() { -+ -+ struct virgl_renderer_resource_create_args resource; -+ resource.handle = 0x4c474572; -+ resource.target = PIPE_TEXTURE_2D_ARRAY; -+ resource.format = VIRGL_FORMAT_Z24X8_UNORM; -+ resource.nr_samples = 2; -+ resource.last_level = 0; -+ resource.array_size = 3; -+ resource.bind = VIRGL_BIND_SAMPLER_VIEW; -+ resource.depth = 1; -+ resource.width = 8; -+ resource.height = 4; -+ resource.flags = 0; -+ -+ virgl_renderer_resource_create(&resource, NULL, 0); -+ virgl_renderer_ctx_attach_resource(ctx_id, resource.handle); -+ -+ uint32_t size = 0x400; -+ uint32_t cmd[size]; -+ int i = 0; -+ cmd[i++] = (size - 1) << 16 | 0 << 8 | VIRGL_CCMD_RESOURCE_INLINE_WRITE; -+ cmd[i++] = resource.handle; -+ cmd[i++] = 0; // level -+ cmd[i++] = 0; // usage -+ cmd[i++] = 0; // stride -+ cmd[i++] = 0; // layer_stride -+ cmd[i++] = 0; // x -+ cmd[i++] = 0; // y -+ cmd[i++] = 0; // z -+ cmd[i++] = 8; // w -+ cmd[i++] = 4; // h -+ cmd[i++] = 3; // d -+ memset(&cmd[i], 0, size - i); -+ -+ virgl_renderer_submit_cmd((void *) cmd, ctx_id, size); -+} -+ -+ - int main() - { - initialize_environment(); -@@ -980,6 +1035,8 @@ int main() - test_cs_nullpointer_deference(); - test_vrend_set_signle_abo_heap_overflow(); - -+ test_vrend_set_shader_images_overflow(); -+ test_vrend_3d_resource_overflow(); - - virgl_renderer_context_destroy(ctx_id); - virgl_renderer_cleanup(&cookie); --- -2.25.1 - diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0175.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0175.patch deleted file mode 100644 index 7fbab75091..0000000000 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/cve-2022-0175.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 5ca7aca001092c557f0b6fc1ba3db7dcdab860b7 Mon Sep 17 00:00:00 2001 -From: Gert Wollny <gert.wollny@collabora.com> -Date: Tue, 30 Nov 2021 09:29:42 +0100 -Subject: [PATCH 1/2] vrend: clear memory when allocating a host-backed memory - resource - -Closes: #249 -Signed-off-by: Gert Wollny <gert.wollny@collabora.com> -Reviewed-by: Chia-I Wu <olvaffe@gmail.com> - -cherry-pick from anongit.freedesktop.org/virglrenderer -commit b05bb61... - -CVE: CVE-2022-0175 -Upstream-Status: Backport -Signed-off-by: Joe Slater <joe.slater@windriver.com> - ---- - src/vrend_renderer.c | 2 +- - tests/test_virgl_transfer.c | 51 +++++++++++++++++++++++++++++++++++++ - 2 files changed, 52 insertions(+), 1 deletion(-) - -diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c -index b8b2a36..2650cf2 100644 ---- a/src/vrend_renderer.c -+++ b/src/vrend_renderer.c -@@ -6788,7 +6788,7 @@ vrend_resource_alloc_buffer(struct vrend_resource *gr, uint32_t flags) - if (bind == VIRGL_BIND_CUSTOM) { - /* use iovec directly when attached */ - gr->storage_bits |= VREND_STORAGE_HOST_SYSTEM_MEMORY; -- gr->ptr = malloc(size); -+ gr->ptr = calloc(1, size); - if (!gr->ptr) - return -ENOMEM; - } else if (bind == VIRGL_BIND_STAGING) { -diff --git a/tests/test_virgl_transfer.c b/tests/test_virgl_transfer.c -index bf7f438..3c53c3d 100644 ---- a/tests/test_virgl_transfer.c -+++ b/tests/test_virgl_transfer.c -@@ -952,6 +952,56 @@ START_TEST(virgl_test_transfer_near_res_bounds_with_stride_succeeds) - } - END_TEST - -+START_TEST(test_vrend_host_backed_memory_no_data_leak) -+{ -+ struct iovec iovs[1]; -+ int niovs = 1; -+ -+ struct virgl_context ctx = {0}; -+ -+ int ret = testvirgl_init_ctx_cmdbuf(&ctx); -+ -+ struct virgl_renderer_resource_create_args res; -+ res.handle = 0x400; -+ res.target = PIPE_BUFFER; -+ res.format = VIRGL_FORMAT_R8_UNORM; -+ res.nr_samples = 0; -+ res.last_level = 0; -+ res.array_size = 1; -+ res.bind = VIRGL_BIND_CUSTOM; -+ res.depth = 1; -+ res.width = 32; -+ res.height = 1; -+ res.flags = 0; -+ -+ uint32_t size = 32; -+ uint8_t* data = calloc(1, size); -+ memset(data, 1, 32); -+ iovs[0].iov_base = data; -+ iovs[0].iov_len = size; -+ -+ struct pipe_box box = {0,0,0, size, 1,1}; -+ -+ virgl_renderer_resource_create(&res, NULL, 0); -+ virgl_renderer_ctx_attach_resource(ctx.ctx_id, res.handle); -+ -+ ret = virgl_renderer_transfer_read_iov(res.handle, ctx.ctx_id, 0, 0, 0, -+ (struct virgl_box *)&box, 0, iovs, niovs); -+ -+ ck_assert_int_eq(ret, 0); -+ -+ for (int i = 0; i < 32; ++i) -+ ck_assert_int_eq(data[i], 0); -+ -+ virgl_renderer_ctx_detach_resource(1, res.handle); -+ -+ virgl_renderer_resource_unref(res.handle); -+ free(data); -+ -+} -+END_TEST -+ -+ - static Suite *virgl_init_suite(void) - { - Suite *s; -@@ -981,6 +1031,7 @@ static Suite *virgl_init_suite(void) - tcase_add_test(tc_core, virgl_test_transfer_buffer_bad_strides); - tcase_add_test(tc_core, virgl_test_transfer_2d_array_bad_layer_stride); - tcase_add_test(tc_core, virgl_test_transfer_2d_bad_level); -+ tcase_add_test(tc_core, test_vrend_host_backed_memory_no_data_leak); - - tcase_add_loop_test(tc_core, virgl_test_transfer_res_read_valid, 0, PIPE_MAX_TEXTURE_TYPES); - tcase_add_loop_test(tc_core, virgl_test_transfer_res_write_valid, 0, PIPE_MAX_TEXTURE_TYPES); --- -2.25.1 - diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.10.3.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.10.3.bb new file mode 100644 index 0000000000..3480eb954d --- /dev/null +++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.10.3.bb @@ -0,0 +1,33 @@ +SUMMARY = "VirGL virtual OpenGL renderer" +DESCRIPTION = "Virgil is a research project to investigate the possibility of \ +creating a virtual 3D GPU for use inside qemu virtual machines, that allows \ +the guest operating system to use the capabilities of the host GPU to \ +accelerate 3D rendering." +HOMEPAGE = "https://virgil3d.github.io/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10" + +DEPENDS = "libdrm libepoxy virtual/egl virtual/libgbm" +SRCREV = "0922041ec6730122e0fec11404e6859e2efc4bc0" +SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=master;protocol=https \ + file://0001-meson.build-use-python3-directly-for-python.patch \ + " + +S = "${WORKDIR}/git" + +inherit meson pkgconfig features_check + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'venus-experimental', '', d)}" + +PACKAGECONFIG[venus-experimental] = "-Dvenus-experimental=true,-Dvenus-experimental=false,vulkan-loader vulkan-headers" +PACKAGECONFIG[va] = "-Dvideo=true,-Dvideo=false,libva" +PACKAGECONFIG[render-server] = "-Drender-server=true,-Drender-server=false" +PACKAGECONFIG[drm-msm-experimental] = "-Ddrm-msm-experimental=true,-Ddrm-msm-experimental=false" +PACKAGECONFIG[minigbm_allocation] = "-Dminigbm_allocation=true,-Dminigbm_allocation=false" +PACKAGECONFIG[venus-validate] = "-Dvenus-validate=true,-Dvenus-validate=false" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,libcheck" + +BBCLASSEXTEND = "native nativesdk" + +REQUIRED_DISTRO_FEATURES = "opengl" diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb deleted file mode 100644 index ad3688e300..0000000000 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "VirGL virtual OpenGL renderer" -DESCRIPTION = "Virgil is a research project to investigate the possibility of \ -creating a virtual 3D GPU for use inside qemu virtual machines, that allows \ -the guest operating system to use the capabilities of the host GPU to \ -accelerate 3D rendering." -HOMEPAGE = "https://virgil3d.github.io/" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10" - -DEPENDS = "libdrm virtual/egl virtual/libgbm libepoxy" -SRCREV = "363915595e05fb252e70d6514be2f0c0b5ca312b" -SRC_URI = "git://anongit.freedesktop.org/git/virglrenderer;branch=branch-0.9.1 \ - file://0001-meson.build-use-python3-directly-for-python.patch \ - file://cve-2022-0135.patch \ - file://cve-2022-0175.patch \ - " - -S = "${WORKDIR}/git" - -inherit meson pkgconfig features_check - -BBCLASSEXTEND = "native nativesdk" - -REQUIRED_DISTRO_FEATURES = "opengl" diff --git a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.6.bb index 1fc74b1995..8f9602d3ae 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.6.bb @@ -11,7 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=96254c20ab81c63e65b26f0dbcd4a1c1" DEPENDS += "zlib xorgproto font-util" PE = "1" -SRC_URI[md5sum] = "6447db6a689fb530c218f0f8328c3abc" -SRC_URI[sha256sum] = "2cfcce810ddd48f2e5dc658d28c1808e86dcf303eaff16728b9aa3dbc0092079" +XORG_EXT = "tar.xz" + +SRC_URI[sha256sum] = "ea8606ed5255dda8f570b7d1a74d59ee8d198675b2f114d07807431e6ba1d111" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.10.bb index 3fbc3a5b44..a62c9f088a 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.10.bb @@ -17,8 +17,8 @@ PROVIDES = "xau" PE = "1" XORG_PN = "libXau" +XORG_EXT = "tar.xz" BBCLASSEXTEND = "native nativesdk" -SRC_URI[md5sum] = "c5f16288f2da9f071b29111d68797480" -SRC_URI[sha256sum] = "ccf8cbf0dbf676faa2ea0a6d64bcc3b6746064722b606c8c52917ed00dcb73ec" +SRC_URI[sha256sum] = "8be6f292334d2f87e5b919c001e149a9fdc27005d6b3e053862ac6ebbf1a0c0a" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.6.bb index 10e44c39ba..59d63e7150 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.6.bb @@ -12,10 +12,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c" DEPENDS += "freetype xtrans xorgproto libfontenc zlib" XORG_PN = "libXfont2" +XORG_EXT = "tar.xz" BBCLASSEXTEND = "native" -SRC_URI[sha256sum] = "aa7c6f211cf7215c0ab4819ed893dc98034363d7b930b844bb43603c2e10b53e" +SRC_URI[sha256sum] = "74ca20017eb0fb3f56d8d5e60685f560fc85e5ff3d84c61c4cb891e40c27aef4" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc index 60bc8c76fa..68137c4147 100644 --- a/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc +++ b/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc @@ -6,8 +6,9 @@ LICENSE = "MIT" DEPENDS = "util-macros" XORG_PN = "${BPN}" +XORG_EXT ?= "tar.bz2" -SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.tar.bz2" +SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.${XORG_EXT}" S = "${WORKDIR}/${XORG_PN}-${PV}" diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb index 11613ab3b6..dea7b65a7c 100644 --- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "\ DEPENDS = "git-native" -SRCREV = "f70b1d52f4706a263ae22e2c61039ccd875e97b6" +SRCREV = "ba600ef61a85966596126a6e8d936971905e8749" PV = "0.3+git${SRCPV}" inherit native diff --git a/poky/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb b/poky/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb index 303026ad78..6c0739d64f 100644 --- a/poky/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb +++ b/poky/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb @@ -21,13 +21,17 @@ do_install() { #!/bin/sh # Expected to be called as: depmodwrapper -a KERNEL_VERSION if [ "\$1" != "-a" -o "\$2" != "-b" ]; then - echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION" >&2 + echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION [KERNEL_PACKAGE_NAME]" >&2 exit 1 fi +kernelpkgname="kernel" +# If no KERNEL_PACKAGE_NAME, assume "kernel". +[ -z "\$5" ] || kernelpkgname="\$5" + kernelabi="" -if [ -r "${PKGDATA_DIR}/kernel-depmod/kernel-abiversion" ]; then - kernelabi=\$(cat "${PKGDATA_DIR}/kernel-depmod/kernel-abiversion") +if [ -r "${PKGDATA_DIR}/\${kernelpkgname}-depmod/\${kernelpkgname}-abiversion" ]; then + kernelabi=\$(cat "${PKGDATA_DIR}/\${kernelpkgname}-depmod/\${kernelpkgname}-abiversion") fi if [ ! -e "\$3${nonarch_base_libdir}/depmod.d/exclude.conf" ]; then @@ -35,11 +39,11 @@ if [ ! -e "\$3${nonarch_base_libdir}/depmod.d/exclude.conf" ]; then echo "exclude .debug" > "\$3${nonarch_base_libdir}/depmod.d/exclude.conf" fi -if [ ! -r ${PKGDATA_DIR}/kernel-depmod/System.map-\$4 ] || [ "\$kernelabi" != "\$4" ]; then - echo "Unable to read: ${PKGDATA_DIR}/kernel-depmod/System.map-\$4" >&2 +if [ ! -r ${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4 ] || [ "\$kernelabi" != "\$4" ]; then + echo "Unable to read: ${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4" >&2 exec env depmod -C "\$3${nonarch_base_libdir}/depmod.d" "\$1" "\$2" "\$3" "\$4" else - exec env depmod -C "\$3${nonarch_base_libdir}/depmod.d" "\$1" "\$2" "\$3" -F "${PKGDATA_DIR}/kernel-depmod/System.map-\$4" "\$4" + exec env depmod -C "\$3${nonarch_base_libdir}/depmod.d" "\$1" "\$2" "\$3" -F "${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4" "\$4" fi EOF chmod +x ${D}${bindir_crossscripts}/depmodwrapper diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220708.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220913.bb index 91c32e49d6..45c9d0e861 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220708.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220913.bb @@ -132,7 +132,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ " # WHENCE checksum is defined separately to ease overriding it if # class-devupstream is selected. -WHENCE_CHKSUM = "def08711eb23ba967fb7e1f8cff66178" +WHENCE_CHKSUM = "98ecc3d3223df7ebdc23b0ec56aafb20" # These are not common licenses, set NO_GENERIC_LICENSE for them # so that the license files will be copied from fetched source @@ -209,7 +209,7 @@ SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmw # Pin this to the 20220509 release, override this in local.conf SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae" -SRC_URI[sha256sum] = "0abec827a035c82bdcabdf82aa37ded247bc682ef05861bd409ea6f477bab81d" +SRC_URI[sha256sum] = "26fd00f2d8e96c4af6f44269a6b893eb857253044f75ad28ef6706a2250cd8e9" inherit allarch @@ -311,6 +311,11 @@ PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \ ${PN}-qcom-adreno-a2xx ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a4xx ${PN}-qcom-adreno-a530 \ ${PN}-qcom-adreno-a630 ${PN}-qcom-adreno-a650 ${PN}-qcom-adreno-a660 \ ${PN}-qcom-apq8096-audio ${PN}-qcom-apq8096-modem \ + ${PN}-qcom-sc8280xp-lenovo-x13s-compat \ + ${PN}-qcom-sc8280xp-lenovo-x13s-audio \ + ${PN}-qcom-sc8280xp-lenovo-x13s-adreno \ + ${PN}-qcom-sc8280xp-lenovo-x13s-compute \ + ${PN}-qcom-sc8280xp-lenovo-x13s-sensors \ ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute ${PN}-qcom-sdm845-modem \ ${PN}-qcom-sm8250-audio ${PN}-qcom-sm8250-compute \ ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \ @@ -976,6 +981,11 @@ FILES:${PN}-qcom-adreno-a650 = "${nonarch_base_libdir}/firmware/qcom/a650*.* ${n FILES:${PN}-qcom-adreno-a660 = "${nonarch_base_libdir}/firmware/qcom/a660*.*" FILES:${PN}-qcom-apq8096-audio = "${nonarch_base_libdir}/firmware/qcom/apq8096/adsp*.*" FILES:${PN}-qcom-apq8096-modem = "${nonarch_base_libdir}/firmware/qcom/apq8096/mba.mbn ${nonarch_base_libdir}/firmware/qcom/apq8096/modem*.* ${nonarch_base_libdir}/firmware/qcom/apq8096/wlanmdsp.mbn" +FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compat = "${nonarch_base_libdir}/firmware/qcom/LENOVO/21BX" +FILES:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*adsp*.* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn" +FILES:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn" +FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*cdsp*.*" +FILES:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*slpi*.*" FILES:${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*" FILES:${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*" FILES:${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn" @@ -996,12 +1006,21 @@ RDEPENDS:${PN}-qcom-adreno-a650 = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-adreno-a660 = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-apq8096-audio = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-apq8096-modem = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${PN}-qcom-license" +RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-sdm845-audio = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-sdm845-compute = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-sdm845-modem = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-sm8250-audio = "${PN}-qcom-license" RDEPENDS:${PN}-qcom-sm8250-compute = "${PN}-qcom-license" +RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${PN}-qcom-sc8280xp-lenovo-x13s-compat" +RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${PN}-qcom-sc8280xp-lenovo-x13s-compat" +RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${PN}-qcom-sc8280xp-lenovo-x13s-compat" +RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${PN}-qcom-sc8280xp-lenovo-x13s-compat" + FILES:${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio" # For Amlogic VDEC @@ -1081,3 +1100,6 @@ python populate_packages:prepend () { # Firmware files are generally not ran on the CPU, so they can be # allarch despite being architecture specific INSANE_SKIP = "arch" + +# Don't warn about already stripped files +INSANE_SKIP:${PN} = "already-stripped" diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.19.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.19.bb index 528e1d3379..3557526d14 100644 --- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.19.bb +++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.19.bb @@ -7,7 +7,7 @@ SRC_URI:append:libc-musl = "\ file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \ " -SRC_URI:append = "\ +SRC_URI += "\ file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \ file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \ " diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb index 9e37494a4b..6f8648e004 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "cb561ee4438e5961e5c471eee8094737ca873135" -SRCREV_meta ?= "59c8898d450152a0875af340e6f0e72d05aafdfa" +SRCREV_machine ?= "dba1b7d90813231782bdeda1bd169c93b35c94e0" +SRCREV_meta ?= "1128d7bcdcde490d4f35cc00c97f5410bb240d99" 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.15;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.15.62" +LINUX_VERSION ?= "5.15.68" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb index c12bec3e4e..b3e9fbae62 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "df2290e83a50563688e5ea0be34e091f1c623069" -SRCREV_meta ?= "5eb0fa93f8490a962ff0c36c14d8def271d75128" +SRCREV_machine ?= "bc8af638c00f28a46e77e34056079087638f6e65" +SRCREV_meta ?= "350b544d077955b599b54ab364f6227d96a90455" 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.19;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.19.3" +LINUX_VERSION ?= "5.19.9" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb index 2de32ffecd..4f2bb48743 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb @@ -5,7 +5,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.15.62" +LINUX_VERSION ?= "5.15.68" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -14,8 +14,8 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "b708cb8412758a382516bdc46f26a0b43c50fb82" -SRCREV_meta ?= "59c8898d450152a0875af340e6f0e72d05aafdfa" +SRCREV_machine ?= "33e7eea5c4545a973cf01a849c2b45fa0cd1fa13" +SRCREV_meta ?= "1128d7bcdcde490d4f35cc00c97f5410bb240d99" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb index 339f7f69a6..466b7063b4 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb @@ -5,7 +5,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.19.3" +LINUX_VERSION ?= "5.19.9" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -14,8 +14,8 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "4d933456709d664a55fdda85304c08567265ad4d" -SRCREV_meta ?= "5eb0fa93f8490a962ff0c36c14d8def271d75128" +SRCREV_machine ?= "65a9a22786a6710fc7b4edb7cfae80dd83f591f1" +SRCREV_meta ?= "350b544d077955b599b54ab364f6227d96a90455" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb index 40c430aee3..2f91fb7a37 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb @@ -13,24 +13,24 @@ KBRANCH:qemux86 ?= "v5.15/standard/base" KBRANCH:qemux86-64 ?= "v5.15/standard/base" KBRANCH:qemumips64 ?= "v5.15/standard/mti-malta64" -SRCREV_machine:qemuarm ?= "9b096ff3914926ac68501bf156c2d1368f3ebe6c" -SRCREV_machine:qemuarm64 ?= "7cb30c5e95067ad12b7c4d371c048c7f5d5c922c" -SRCREV_machine:qemumips ?= "3210fe826ade54d891cf2120c964d2a0dc3e7393" -SRCREV_machine:qemuppc ?= "7bfdc3608327b9c471008af370dbffe053f5bed9" -SRCREV_machine:qemuriscv64 ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40" -SRCREV_machine:qemuriscv32 ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40" -SRCREV_machine:qemux86 ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40" -SRCREV_machine:qemux86-64 ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40" -SRCREV_machine:qemumips64 ?= "ef125626d718771f11fab19a3f91cca5ec27f887" -SRCREV_machine ?= "14879dcc3ca7b24d8650cf117c380a94bb865f40" -SRCREV_meta ?= "59c8898d450152a0875af340e6f0e72d05aafdfa" +SRCREV_machine:qemuarm ?= "efe28b4b16d4a1a19f59b4650a0bfb23ffc8c40e" +SRCREV_machine:qemuarm64 ?= "66986670c45f63d2ed2078e07aa817ede88025ad" +SRCREV_machine:qemumips ?= "aeeb80fd7f684aca830adb7daf32cfd80637cf3a" +SRCREV_machine:qemuppc ?= "5c6387a562af89ec92546c1374a120ac240f14e6" +SRCREV_machine:qemuriscv64 ?= "0e51e571701842db33ad96f6ddc8cc6b23230627" +SRCREV_machine:qemuriscv32 ?= "0e51e571701842db33ad96f6ddc8cc6b23230627" +SRCREV_machine:qemux86 ?= "0e51e571701842db33ad96f6ddc8cc6b23230627" +SRCREV_machine:qemux86-64 ?= "0e51e571701842db33ad96f6ddc8cc6b23230627" +SRCREV_machine:qemumips64 ?= "20ec37851f4ee9965120937dcf2567f15e72e07a" +SRCREV_machine ?= "0e51e571701842db33ad96f6ddc8cc6b23230627" +SRCREV_meta ?= "1128d7bcdcde490d4f35cc00c97f5410bb240d99" # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll # get the <version>/base branch, which is pure upstream -stable, and the same # meta SRCREV as the linux-yocto-standard builds. Select your version using the # normal PREFERRED_VERSION settings. BBCLASSEXTEND = "devupstream:target" -SRCREV_machine:class-devupstream ?= "a0a7e0b2b8b22901945ea2aef1b65871d718accf" +SRCREV_machine:class-devupstream ?= "dd20085f2a88b6cdb12bdcdbd2d7a761c86b184a" PN:class-devupstream = "linux-yocto-upstream" KBRANCH:class-devupstream = "v5.15/base" @@ -38,7 +38,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.15;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.15.62" +LINUX_VERSION ?= "5.15.68" 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.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.19.bb index 0ff28aa952..f882972e35 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.19.bb @@ -13,24 +13,24 @@ KBRANCH:qemux86 ?= "v5.19/standard/base" KBRANCH:qemux86-64 ?= "v5.19/standard/base" KBRANCH:qemumips64 ?= "v5.19/standard/mti-malta64" -SRCREV_machine:qemuarm ?= "2cbb2d5097fc44a23da635d2ebbccb33df20a34d" -SRCREV_machine:qemuarm64 ?= "4d933456709d664a55fdda85304c08567265ad4d" -SRCREV_machine:qemumips ?= "7741c5b2f536b99815329849cca09799cdb82e62" -SRCREV_machine:qemuppc ?= "4d933456709d664a55fdda85304c08567265ad4d" -SRCREV_machine:qemuriscv64 ?= "4d933456709d664a55fdda85304c08567265ad4d" -SRCREV_machine:qemuriscv32 ?= "4d933456709d664a55fdda85304c08567265ad4d" -SRCREV_machine:qemux86 ?= "4d933456709d664a55fdda85304c08567265ad4d" -SRCREV_machine:qemux86-64 ?= "4d933456709d664a55fdda85304c08567265ad4d" -SRCREV_machine:qemumips64 ?= "4ced38bbd45f6cb623728bd755894928a719edac" -SRCREV_machine ?= "4d933456709d664a55fdda85304c08567265ad4d" -SRCREV_meta ?= "5eb0fa93f8490a962ff0c36c14d8def271d75128" +SRCREV_machine:qemuarm ?= "446661f6a3b07535304497c1a51d9cab95f48f0b" +SRCREV_machine:qemuarm64 ?= "65a9a22786a6710fc7b4edb7cfae80dd83f591f1" +SRCREV_machine:qemumips ?= "98da147618fca3da29cf1c6ab9c53f24de2c587c" +SRCREV_machine:qemuppc ?= "65a9a22786a6710fc7b4edb7cfae80dd83f591f1" +SRCREV_machine:qemuriscv64 ?= "65a9a22786a6710fc7b4edb7cfae80dd83f591f1" +SRCREV_machine:qemuriscv32 ?= "65a9a22786a6710fc7b4edb7cfae80dd83f591f1" +SRCREV_machine:qemux86 ?= "65a9a22786a6710fc7b4edb7cfae80dd83f591f1" +SRCREV_machine:qemux86-64 ?= "65a9a22786a6710fc7b4edb7cfae80dd83f591f1" +SRCREV_machine:qemumips64 ?= "53842054198d851b5deb5810afaf126156efbb54" +SRCREV_machine ?= "65a9a22786a6710fc7b4edb7cfae80dd83f591f1" +SRCREV_meta ?= "350b544d077955b599b54ab364f6227d96a90455" # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll # get the <version>/base branch, which is pure upstream -stable, and the same # meta SRCREV as the linux-yocto-standard builds. Select your version using the # normal PREFERRED_VERSION settings. BBCLASSEXTEND = "devupstream:target" -SRCREV_machine:class-devupstream ?= "bf44eed7f2fc9af74eb72f4bc415bdd3d11c4bed" +SRCREV_machine:class-devupstream ?= "d1105a680e66b0482bd18048534c58ecabb5c284" PN:class-devupstream = "linux-yocto-upstream" KBRANCH:class-devupstream = "v5.19/base" @@ -38,7 +38,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.19;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.19.3" +LINUX_VERSION ?= "5.19.9" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -56,7 +56,7 @@ COMPATIBLE_MACHINE = "^(qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qe # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc" KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" diff --git a/poky/meta/recipes-kernel/lttng/lttng-platforms.inc b/poky/meta/recipes-kernel/lttng/lttng-platforms.inc index 933c65d85d..900e36df82 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-platforms.inc +++ b/poky/meta/recipes-kernel/lttng/lttng-platforms.inc @@ -15,3 +15,7 @@ LTTNGUST:arc = "" COMPATIBLE_HOST:arc:pn-lttng-ust = "null" +# Whether the platform supports lttng-tools +# lttng-tools requires SYS_ppoll and SYS_pselect6 which are not supported on riscv32. +# It's also turned off for riscv32 in meta-riscv. See https://github.com/riscv/meta-riscv/blob/master/conf/layer.conf +COMPATIBLE_HOST:riscv32:pn-lttng-tools = "null" diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb index 9f7c300a40..31bc04635d 100644 --- a/poky/meta/recipes-kernel/perf/perf.bb +++ b/poky/meta/recipes-kernel/perf/perf.bb @@ -145,6 +145,9 @@ do_install() { # we are checking for this make target to be compatible with older perf versions if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then oe_runmake DESTDIR=${D} install-python_ext + if [ -e ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt ]; then + sed -i -e 's#${WORKDIR}##g' ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt + fi fi } @@ -245,6 +248,9 @@ do_configure:prepend () { # change the Makefile line to remove everything before 'tools/perf' sed -i -e "s%srcdir_SQ = \$(subst ','\\\'',\$(srcdir))%srcdir_SQ = \$(patsubst \%tools/perf,tools/perf,\$(subst ','\\\'',\$(srcdir)))%g" \ ${S}/tools/perf/Makefile.config + # Avoid hardcoded path to python-native + sed -i -e 's#\(PYTHON_WORD := \)$(call shell-wordify,$(PYTHON))#\1 python3#g' \ + ${S}/tools/perf/Makefile.config fi if [ -e "${S}/tools/perf/tests/Build" ]; then # OUTPUT is the full path, we have python on the path so we remove it from the diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.1.bb index bb507b4974..2306fe4a42 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.1.bb @@ -23,7 +23,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz" -SRC_URI[sha256sum] = "55eb6aab5ee235550fa54a33eaf8bf1b4ec66c01453182b12f6a993d75698b03" +SRC_URI[sha256sum] = "95bf3ff8c496511e71e958fb249e663c8c9c3de583c5bebc0f5a9745abbc0435" # Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717 ARM_INSTRUCTION_SET:armv4 = "arm" diff --git a/poky/meta/recipes-multimedia/flac/flac_1.3.4.bb b/poky/meta/recipes-multimedia/flac/flac_1.4.0.bb index 012da0a0a0..360396380d 100644 --- a/poky/meta/recipes-multimedia/flac/flac_1.3.4.bb +++ b/poky/meta/recipes-multimedia/flac/flac_1.4.0.bb @@ -1,45 +1,43 @@ SUMMARY = "Free Lossless Audio Codec" DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, a lossless audio compression format." HOMEPAGE = "https://xiph.org/flac/" -BUGTRACKER = "http://sourceforge.net/p/flac/bugs/" +BUGTRACKER = "https://github.com/xiph/flac/issues" SECTION = "libs" LICENSE = "GFDL-1.2 & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \ - file://src/Makefile.am;beginline=1;endline=17;md5=09501c864f89dfc7ead65553129817ca \ + file://src/Makefile.am;beginline=1;endline=17;md5=146d2c8c2fd287545cc1bd81f31e8758 \ file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://src/flac/main.c;beginline=1;endline=18;md5=09777e2934947a36f13568d0beb81199 \ + file://src/flac/main.c;beginline=1;endline=18;md5=893456854ce6bf14a1a7ea77266eebab \ file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \ - file://src/plugin_common/all.h;beginline=1;endline=18;md5=f56cb4ba9a3bc9ec6102e8df03215271 \ - file://COPYING.Xiph;md5=b59c1b6d7fc0fb7965f821a3d36505e3 \ + file://src/plugin_common/all.h;beginline=1;endline=18;md5=73c74192ce89ee6238d15a171e00c971 \ + file://COPYING.Xiph;md5=3d6da238b5b57a0965d6730291119f65 \ file://include/FLAC/all.h;beginline=65;endline=70;md5=64474f2b22e9e77b28d8b8b25c983a48" -DEPENDS = "libogg" -SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz \ -" - -SRC_URI[sha256sum] = "8ff0607e75a322dd7cd6ec48f4f225471404ae2730d0ea945127b1355155e737" +SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz" +SRC_URI[sha256sum] = "af41c0733c93c237c3e52f64dd87e3b0d9af38259f1c7d11e8cbf583c48c2506" CVE_PRODUCT = "libflac flac" inherit autotools gettext EXTRA_OECONF = "--disable-oggtest \ - --with-ogg-libraries=${STAGING_LIBDIR} \ - --with-ogg-includes=${STAGING_INCDIR} \ --disable-xmms-plugin \ --without-libiconv-prefix \ ac_cv_prog_NASM="" \ " -EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "altivec", " --enable-altivec", " --disable-altivec", d)}" -EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "vsx", " --enable-vsx", " --disable-vsx", d)}" -EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "core2", " --enable-sse", "", d)}" -EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "corei7", " --enable-sse", "", d)}" +PACKAGECONFIG ??= " \ + ${@bb.utils.filter("TUNE_FEATURES", "altivec vsx", d)} \ + ${@bb.utils.contains_any("TUNE_FEATURES", "core2 corei7", "sse", "", d)} \ + ogg \ +" +PACKAGECONFIG[sse] = "--enable-sse,--disable-sse" +PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec" +PACKAGECONFIG[vsx] = "--enable-vsx,--disable-vsx" +PACKAGECONFIG[avx] = "--enable-avx,--disable-avx" +PACKAGECONFIG[ogg] = "--enable-ogg --with-ogg-libraries=${STAGING_LIBDIR} --with-ogg-includes=${STAGING_INCDIR},--disable-ogg,libogg" -PACKAGES += "libflac libflac++ liboggflac liboggflac++" +PACKAGES += "libflac libflac++" FILES:${PN} = "${bindir}/*" FILES:libflac = "${libdir}/libFLAC.so.*" FILES:libflac++ = "${libdir}/libFLAC++.so.*" -FILES:liboggflac = "${libdir}/libOggFLAC.so.*" -FILES:liboggflac++ = "${libdir}/libOggFLAC++.so.*" - diff --git a/poky/meta/recipes-multimedia/libpng/libpng_1.6.37.bb b/poky/meta/recipes-multimedia/libpng/libpng_1.6.38.bb index 61e3d92e95..dc627203ef 100644 --- a/poky/meta/recipes-multimedia/libpng/libpng_1.6.37.bb +++ b/poky/meta/recipes-multimedia/libpng/libpng_1.6.38.bb @@ -5,14 +5,13 @@ library for use in applications that read, create, and manipulate PNG \ HOMEPAGE = "http://www.libpng.org/" SECTION = "libs" LICENSE = "Libpng" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b0085051bf265bac2bfc38bc89f50000" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5c900cc124ba35a274073b5de7639b13" DEPENDS = "zlib" LIBV = "16" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/${BP}.tar.xz" -SRC_URI[md5sum] = "015e8e15db1eecde5f2eb9eb5b6e59e9" -SRC_URI[sha256sum] = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca" +SRC_URI[sha256sum] = "b3683e8b8111ebf6f1ac004ebb6b0c975cd310ec469d98364388e9cedbfa68be" MIRRORS += "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/ ${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/older-releases/" diff --git a/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb index ed2b6437dd..29d48fd333 100644 --- a/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb +++ b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb @@ -7,18 +7,18 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=336d6faf40fb600bafb0061f4052f1f4 \ file://src/samplerate.c;beginline=1;endline=7;md5=7a4238289dc36bfb70968ccaa5bd0d4f" DEPENDS = "libsndfile1" -SRC_URI = "https://github.com/libsndfile/libsamplerate/releases/download/${PV}/libsamplerate-${PV}.tar.xz \ +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/libsamplerate-${PV}.tar.xz \ " SRC_URI[sha256sum] = "3258da280511d24b49d6b08615bbe824d0cacc9842b0e4caf11c52cf2b043893" CVE_PRODUCT = "libsamplerate" -UPSTREAM_CHECK_URI = "https://github.com/libsndfile/libsamplerate/releases" +GITHUB_BASE_URI = "https://github.com/libsndfile/libsamplerate/releases" S = "${WORKDIR}/libsamplerate-${PV}" -inherit autotools pkgconfig +inherit autotools pkgconfig github-releases # FFTW and ALSA are only used in tests and examples, so they don't affect # normal builds. It should be safe to ignore these, but explicitly disabling diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb index 70626b3c16..1f1a40160d 100644 --- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb +++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb @@ -8,10 +8,10 @@ DEPENDS = "flac libogg libvorbis" SECTION = "libs/multimedia" LICENSE = "LGPL-2.1-only" -SRC_URI = "https://github.com/libsndfile/libsndfile/releases/download/${PV}/libsndfile-${PV}.tar.xz \ +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/libsndfile-${PV}.tar.xz \ file://noopus.patch \ " -UPSTREAM_CHECK_URI = "https://github.com/libsndfile/libsndfile/releases/" +GITHUB_BASE_URI = "https://github.com/libsndfile/libsndfile/releases/" SRC_URI[sha256sum] = "0f98e101c0f7c850a71225fb5feaf33b106227b3d331333ddc9bacee190bcf41" @@ -25,7 +25,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" PACKAGECONFIG[regtest] = "--enable-sqlite,--disable-sqlite,sqlite3" -inherit autotools lib_package pkgconfig multilib_header +inherit autotools lib_package pkgconfig multilib_header github-releases do_install:append() { oe_multilib_header sndfile.h diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-2953.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-2953.patch new file mode 100644 index 0000000000..98020ff92f --- /dev/null +++ b/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-2953.patch @@ -0,0 +1,86 @@ +CVE: CVE-2022-2053 +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@arm.com> + +From 8fe3735942ea1d90d8cef843b55b3efe8ab6feaf Mon Sep 17 00:00:00 2001 +From: Su_Laus <sulau@freenet.de> +Date: Mon, 15 Aug 2022 22:11:03 +0200 +Subject: [PATCH] =?UTF-8?q?According=20to=20Richard=20Nolde=20https://gitl?= + =?UTF-8?q?ab.com/libtiff/libtiff/-/issues/401#note=5F877637400=20the=20ti?= + =?UTF-8?q?ffcrop=20option=20=E2=80=9E-S=E2=80=9C=20is=20also=20mutually?= + =?UTF-8?q?=20exclusive=20to=20the=20other=20crop=20options=20(-X|-Y),=20-?= + =?UTF-8?q?Z=20and=20-z.?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is now checked and ends tiffcrop if those arguments are not mutually exclusive. + +This MR will fix the following tiffcrop issues: #349, #414, #422, #423, #424 +--- + tools/tiffcrop.c | 31 ++++++++++++++++--------------- + 1 file changed, 16 insertions(+), 15 deletions(-) + +diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c +index 90286a5e..c3b758ec 100644 +--- a/tools/tiffcrop.c ++++ b/tools/tiffcrop.c +@@ -173,12 +173,12 @@ static char tiffcrop_rev_date[] = "02-09-2022"; + #define ROTATECW_270 32 + #define ROTATE_ANY (ROTATECW_90 | ROTATECW_180 | ROTATECW_270) + +-#define CROP_NONE 0 +-#define CROP_MARGINS 1 +-#define CROP_WIDTH 2 +-#define CROP_LENGTH 4 +-#define CROP_ZONES 8 +-#define CROP_REGIONS 16 ++#define CROP_NONE 0 /* "-S" -> Page_MODE_ROWSCOLS and page->rows/->cols != 0 */ ++#define CROP_MARGINS 1 /* "-m" */ ++#define CROP_WIDTH 2 /* "-X" */ ++#define CROP_LENGTH 4 /* "-Y" */ ++#define CROP_ZONES 8 /* "-Z" */ ++#define CROP_REGIONS 16 /* "-z" */ + #define CROP_ROTATE 32 + #define CROP_MIRROR 64 + #define CROP_INVERT 128 +@@ -316,7 +316,7 @@ struct crop_mask { + #define PAGE_MODE_RESOLUTION 1 + #define PAGE_MODE_PAPERSIZE 2 + #define PAGE_MODE_MARGINS 4 +-#define PAGE_MODE_ROWSCOLS 8 ++#define PAGE_MODE_ROWSCOLS 8 /* for -S option */ + + #define INVERT_DATA_ONLY 10 + #define INVERT_DATA_AND_TAG 11 +@@ -781,7 +781,7 @@ static const char usage_info[] = + " The four debug/dump options are independent, though it makes little sense to\n" + " specify a dump file without specifying a detail level.\n" + "\n" +-"Note: The (-X|-Y), -Z and -z options are mutually exclusive.\n" ++"Note: The (-X|-Y), -Z, -z and -S options are mutually exclusive.\n" + " In no case should the options be applied to a given selection successively.\n" + "\n" + ; +@@ -2131,13 +2131,14 @@ void process_command_opts (int argc, char *argv[], char *mp, char *mode, uint32 + /*NOTREACHED*/ + } + } +- /*-- Check for not allowed combinations (e.g. -X, -Y and -Z and -z are mutually exclusive) --*/ +- char XY, Z, R; ++ /*-- Check for not allowed combinations (e.g. -X, -Y and -Z, -z and -S are mutually exclusive) --*/ ++ char XY, Z, R, S; + XY = ((crop_data->crop_mode & CROP_WIDTH) || (crop_data->crop_mode & CROP_LENGTH)); + Z = (crop_data->crop_mode & CROP_ZONES); + R = (crop_data->crop_mode & CROP_REGIONS); +- if ((XY && Z) || (XY && R) || (Z && R)) { +- TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z and -z are mutually exclusive.->Exit"); ++ S = (page->mode & PAGE_MODE_ROWSCOLS); ++ if ((XY && Z) || (XY && R) || (XY && S) || (Z && R) || (Z && S) || (R && S)) { ++ TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z, -z and -S are mutually exclusive.->Exit"); + exit(EXIT_FAILURE); + } + } /* end process_command_opts */ +-- +2.34.1 + diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb index e30df0b3e9..caf6f60479 100644 --- a/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb +++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb @@ -11,6 +11,7 @@ CVE_PRODUCT = "libtiff" SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \ file://0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch \ file://CVE-2022-34526.patch \ + file://CVE-2022-2953.patch \ " SRC_URI[sha256sum] = "917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch new file mode 100644 index 0000000000..32f92f7ff5 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch @@ -0,0 +1,296 @@ +From 0d3344e17d258106617b0e6d783d073b188a2548 Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro <aperez@igalia.com> +Date: Thu, 2 Jun 2022 11:19:06 +0300 +Subject: [PATCH] [ARM][NEON] FELightningNEON.cpp fails to build, NEON fast + path seems unused https://bugs.webkit.org/show_bug.cgi?id=241182 + +Reviewed by NOBODY (OOPS!). + +Move the NEON fast path for the SVG lighting filter effects into +FELightingSoftwareApplier, and arrange to actually use them by +forwarding calls to applyPlatformGeneric() into applyPlatformNeon(). + +Some changes were needed to adapt platformApplyNeon() to the current +state of filters after r286140. This was not detected because the code +bitrotted due to it being guarded with CPU(ARM_TRADITIONAL), which does +not get used much these days: CPU(ARM_THUMB2) is more common. It should +be possible to use the NEON fast paths also in Thumb mode, but that is +left for a follow-up fix. + +* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp: +(WebCore::FELightingSoftwareApplier::platformApplyNeonWorker): +(WebCore::FELightingSoftwareApplier::getPowerCoefficients): +(WebCore::FELighting::platformApplyNeonWorker): Deleted. +(WebCore::FELighting::getPowerCoefficients): Deleted. +* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h: +(WebCore::FELightingSoftwareApplier::applyPlatformNeon): +(WebCore::FELighting::platformApplyNeon): Deleted. +* Source/WebCore/platform/graphics/filters/DistantLightSource.h: +* Source/WebCore/platform/graphics/filters/FELighting.h: +* Source/WebCore/platform/graphics/filters/PointLightSource.h: +* Source/WebCore/platform/graphics/filters/SpotLightSource.h: +* Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h: +--- +Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/1233] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + + .../cpu/arm/filters/FELightingNEON.cpp | 4 +- + .../graphics/cpu/arm/filters/FELightingNEON.h | 54 +++++++++---------- + .../graphics/filters/DistantLightSource.h | 4 ++ + .../platform/graphics/filters/FELighting.h | 7 --- + .../graphics/filters/PointLightSource.h | 4 ++ + .../graphics/filters/SpotLightSource.h | 4 ++ + .../software/FELightingSoftwareApplier.h | 16 ++++++ + 7 files changed, 57 insertions(+), 36 deletions(-) + +--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp ++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp +@@ -49,7 +49,7 @@ short* feLightingConstantsForNeon() + return s_FELightingConstantsForNeon; + } + +-void FELighting::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) ++void FELightingSoftwareApplier::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) + { + neonDrawLighting(parameters); + } +@@ -464,7 +464,7 @@ TOSTRING(neonDrawLighting) ":" NL + "b .lightStrengthCalculated" NL + ); // NOLINT + +-int FELighting::getPowerCoefficients(float exponent) ++int FELightingSoftwareApplier::getPowerCoefficients(float exponent) + { + // Calling a powf function from the assembly code would require to save + // and reload a lot of NEON registers. Since the base is in range [0..1] +--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h ++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h +@@ -24,14 +24,15 @@ + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#ifndef FELightingNEON_h +-#define FELightingNEON_h ++#pragma once + + #if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) + +-#include "FELighting.h" ++#include "FELightingSoftwareApplier.h" ++#include "ImageBuffer.h" + #include "PointLightSource.h" + #include "SpotLightSource.h" ++#include <wtf/ObjectIdentifier.h> + #include <wtf/ParallelJobs.h> + + namespace WebCore { +@@ -93,14 +94,14 @@ extern "C" { + void neonDrawLighting(FELightingPaintingDataForNeon*); + } + +-inline void FELighting::platformApplyNeon(const LightingData& data, const LightSource::PaintingData& paintingData) ++inline void FELightingSoftwareApplier::applyPlatformNeon(const FELightingSoftwareApplier::LightingData& data, const LightSource::PaintingData& paintingData) + { +- alignas(16) FELightingFloatArgumentsForNeon floatArguments; +- FELightingPaintingDataForNeon neonData = { ++ WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments; ++ WebCore::FELightingPaintingDataForNeon neonData = { + data.pixels->data(), + 1, +- data.widthDecreasedByOne - 1, +- data.heightDecreasedByOne - 1, ++ data.width - 2, ++ data.height - 2, + 0, + 0, + 0, +@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeo + // Set light source arguments. + floatArguments.constOne = 1; + +- auto color = m_lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved(); ++ auto color = data.lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved(); + + floatArguments.colorRed = color.red; + floatArguments.colorGreen = color.green; + floatArguments.colorBlue = color.blue; + floatArguments.padding4 = 0; + +- if (m_lightSource->type() == LS_POINT) { ++ if (data.lightSource->type() == LS_POINT) { + neonData.flags |= FLAG_POINT_LIGHT; +- PointLightSource& pointLightSource = static_cast<PointLightSource&>(m_lightSource.get()); ++ const auto& pointLightSource = *static_cast<const PointLightSource*>(data.lightSource); + floatArguments.lightX = pointLightSource.position().x(); + floatArguments.lightY = pointLightSource.position().y(); + floatArguments.lightZ = pointLightSource.position().z(); + floatArguments.padding2 = 0; +- } else if (m_lightSource->type() == LS_SPOT) { ++ } else if (data.lightSource->type() == LS_SPOT) { + neonData.flags |= FLAG_SPOT_LIGHT; +- SpotLightSource& spotLightSource = static_cast<SpotLightSource&>(m_lightSource.get()); ++ const auto& spotLightSource = *static_cast<const SpotLightSource*>(data.lightSource); + floatArguments.lightX = spotLightSource.position().x(); + floatArguments.lightY = spotLightSource.position().y(); + floatArguments.lightZ = spotLightSource.position().z(); +@@ -145,7 +146,7 @@ inline void FELighting::platformApplyNeo + if (spotLightSource.specularExponent() == 1) + neonData.flags |= FLAG_CONE_EXPONENT_IS_1; + } else { +- ASSERT(m_lightSource->type() == LS_DISTANT); ++ ASSERT(data.lightSource->type() == LS_DISTANT); + floatArguments.lightX = paintingData.initialLightingData.lightVector.x(); + floatArguments.lightY = paintingData.initialLightingData.lightVector.y(); + floatArguments.lightZ = paintingData.initialLightingData.lightVector.z(); +@@ -155,38 +156,39 @@ inline void FELighting::platformApplyNeo + // Set lighting arguments. + floatArguments.surfaceScale = data.surfaceScale; + floatArguments.minusSurfaceScaleDividedByFour = -data.surfaceScale / 4; +- if (m_lightingType == FELighting::DiffuseLighting) +- floatArguments.diffuseConstant = m_diffuseConstant; ++ if (data.filterType == FilterEffect::Type::FEDiffuseLighting) ++ floatArguments.diffuseConstant = data.diffuseConstant; + else { + neonData.flags |= FLAG_SPECULAR_LIGHT; +- floatArguments.diffuseConstant = m_specularConstant; +- neonData.specularExponent = getPowerCoefficients(m_specularExponent); +- if (m_specularExponent == 1) ++ floatArguments.diffuseConstant = data.specularConstant; ++ neonData.specularExponent = getPowerCoefficients(data.specularExponent); ++ if (data.specularExponent == 1) + neonData.flags |= FLAG_SPECULAR_EXPONENT_IS_1; + } + if (floatArguments.diffuseConstant == 1) + neonData.flags |= FLAG_DIFFUSE_CONST_IS_1; + +- int optimalThreadNumber = ((data.widthDecreasedByOne - 1) * (data.heightDecreasedByOne - 1)) / s_minimalRectDimension; ++ static constexpr int minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs ++ int optimalThreadNumber = ((data.width - 2) * (data.height - 2)) / minimalRectDimension; + if (optimalThreadNumber > 1) { + // Initialize parallel jobs +- ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&WebCore::FELighting::platformApplyNeonWorker, optimalThreadNumber); ++ ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&FELightingSoftwareApplier::platformApplyNeonWorker, optimalThreadNumber); + + // Fill the parameter array + int job = parallelJobs.numberOfJobs(); + if (job > 1) { + int yStart = 1; +- int yStep = (data.heightDecreasedByOne - 1) / job; ++ int yStep = (data.height - 2) / job; + for (--job; job >= 0; --job) { + FELightingPaintingDataForNeon& params = parallelJobs.parameter(job); + params = neonData; + params.yStart = yStart; +- params.pixels += (yStart - 1) * (data.widthDecreasedByOne + 1) * 4; ++ params.pixels += (yStart - 1) * data.width * 4; + if (job > 0) { + params.absoluteHeight = yStep; + yStart += yStep; + } else +- params.absoluteHeight = data.heightDecreasedByOne - yStart; ++ params.absoluteHeight = (data.height - 1) - yStart; + } + parallelJobs.execute(); + return; +@@ -199,5 +201,3 @@ inline void FELighting::platformApplyNeo + } // namespace WebCore + + #endif // CPU(ARM_NEON) && COMPILER(GCC_COMPATIBLE) +- +-#endif // FELightingNEON_h +--- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h ++++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h +@@ -25,6 +25,10 @@ + #include "LightSource.h" + #include <wtf/Ref.h> + ++namespace WTF { ++class TextStream; ++} // namespace WTF ++ + namespace WebCore { + + class DistantLightSource : public LightSource { +--- a/Source/WebCore/platform/graphics/filters/FELighting.h ++++ b/Source/WebCore/platform/graphics/filters/FELighting.h +@@ -35,8 +35,6 @@ + + namespace WebCore { + +-struct FELightingPaintingDataForNeon; +- + class FELighting : public FilterEffect { + public: + const Color& lightingColor() const { return m_lightingColor; } +@@ -67,11 +65,6 @@ protected: + + std::unique_ptr<FilterEffectApplier> createSoftwareApplier() const override; + +-#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) +- static int getPowerCoefficients(float exponent); +- inline void platformApplyNeon(const LightingData&, const LightSource::PaintingData&); +-#endif +- + Color m_lightingColor; + float m_surfaceScale; + float m_diffuseConstant; +--- a/Source/WebCore/platform/graphics/filters/PointLightSource.h ++++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h +@@ -26,6 +26,10 @@ + #include "LightSource.h" + #include <wtf/Ref.h> + ++namespace WTF { ++class TextStream; ++} // namespace WTF ++ + namespace WebCore { + + class PointLightSource : public LightSource { +--- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h ++++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h +@@ -26,6 +26,10 @@ + #include "LightSource.h" + #include <wtf/Ref.h> + ++namespace WTF { ++class TextStream; ++} // namespace WTF ++ + namespace WebCore { + + class SpotLightSource : public LightSource { +--- a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h ++++ b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h +@@ -36,6 +36,7 @@ + namespace WebCore { + + class FELighting; ++struct FELightingPaintingDataForNeon; + + class FELightingSoftwareApplier final : public FilterEffectConcreteApplier<FELighting> { + WTF_MAKE_FAST_ALLOCATED; +@@ -132,8 +133,23 @@ private: + + static void applyPlatformGenericPaint(const LightingData&, const LightSource::PaintingData&, int startY, int endY); + static void applyPlatformGenericWorker(ApplyParameters*); ++ ++#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) ++ static int getPowerCoefficients(float exponent); ++ static void platformApplyNeonWorker(FELightingPaintingDataForNeon*); ++ inline static void applyPlatformNeon(const LightingData&, const LightSource::PaintingData&); ++ ++ inline static void applyPlatformGeneric(const LightingData& data, const LightSource::PaintingData& paintingData) ++ { ++ applyPlatformNeon(data, paintingData); ++ } ++#else + static void applyPlatformGeneric(const LightingData&, const LightSource::PaintingData&); ++#endif ++ + static void applyPlatform(const LightingData&); + }; + + } // namespace WebCore ++ ++#include "FELightingNEON.h" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/fix-gstreamer-include-paths.patch b/poky/meta/recipes-sato/webkit/webkitgtk/fix-gstreamer-include-paths.patch new file mode 100644 index 0000000000..2c6be87902 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/fix-gstreamer-include-paths.patch @@ -0,0 +1,51 @@ +From 25efd1478b48b5406fdab3b7b9c1f7e0ef95a7ed Mon Sep 17 00:00:00 2001 +From: Pablo Saavedra <psaavedra@igalia.com> +Date: Mon, 27 Jun 2022 16:56:04 -0700 +Subject: [PATCH] Fix include gstreamer path on cross compiler toolchains + https://bugs.webkit.org/show_bug.cgi?id=241483 + +Reviewed by Adrian Perez de Castro. + +Set the include paths for the gstreamer components to the full path +using the find_path(). This function relies in CMAKE_FIND_ROOT_PATH to +find the right place where the includes they are. This fixes possible +warnings/errors on cross toolchains using -Wpoison-system-directories +and -Werror=poison-system-directories. + +* Source/cmake/FindGStreamer.cmake: + +Canonical link: https://commits.webkit.org/251895@main + +Upstream-Status: Backport [2.37.1 https://github.com/WebKit/WebKit/commit/25efd1478b48b5406fdab3b7b9c1f7e0ef95a7ed] +--- + Source/cmake/FindGStreamer.cmake | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/Source/cmake/FindGStreamer.cmake b/Source/cmake/FindGStreamer.cmake +index 3216f6974b53..b65a11f30871 100644 +--- a/Source/cmake/FindGStreamer.cmake ++++ b/Source/cmake/FindGStreamer.cmake +@@ -75,12 +75,20 @@ macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library) + # ${includedir}/gstreamer-1.0 which remains correct. The issue here is that + # we don't rely on the `Cflags`, cmake fails to generate a proper + # `.._INCLUDE_DIRS` variable in this case. So we need to do it here... ++ ++ # Populate the list initially from the _INCLUDE_DIRS result variable. ++ set(${_component_prefix}_INCLUDE_DIRS ${PC_${_component_prefix}_INCLUDE_DIRS}) ++ + set(_include_dir "${PC_${_component_prefix}_INCLUDEDIR}") + string(REGEX MATCH "(.*)/gstreamer-1.0" _dummy "${_include_dir}") ++ + if ("${CMAKE_MATCH_1}" STREQUAL "") +- set(${_component_prefix}_INCLUDE_DIRS "${_include_dir}/gstreamer-1.0;${PC_${_component_prefix}_INCLUDE_DIRS}") +- else () +- set(${_component_prefix}_INCLUDE_DIRS "${PC_${_component_prefix}_INCLUDE_DIRS}") ++ find_path(${_component_prefix}_RESOLVED_INCLUDEDIR NAMES "${_include_dir}/gstreamer-1.0") ++ # Only add the resolved path from `_INCLUDEDIR` if found. ++ if (${_component_prefix}_RESOLVED_INCLUDEDIR) ++ list(APPEND ${_component_prefix}_INCLUDE_DIRS ++ "${${_component_prefix}_RESOLVED_INCLUDEDIR}") ++ endif () + endif () + + find_library(${_component_prefix}_LIBRARIES diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.36.6.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.36.7.bb index 37b977f9ba..76b119c9c7 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.36.6.bb +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.36.7.bb @@ -15,9 +15,10 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://0001-Fix-build-without-opengl-or-es.patch \ file://reproducibility.patch \ file://0001-When-building-introspection-files-do-not-quote-CFLAG.patch \ + file://fix-gstreamer-include-paths.patch \ + file://0d3344e17d258106617b0e6d783d073b188a2548.patch \ " - -SRC_URI[sha256sum] = "1193bc821946336776f0dfa5e0dca5651f1e57157eda12da4721d2441f24a61a" +SRC_URI[sha256sum] = "0c260cf2b32f0481d017670dfed1b61e554967cd067195606c9f9eb5fe731743" inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc 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 d981dd0c3a..19bc81619f 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 @@ -12,16 +12,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" SECTION = "console/utils" -SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz" +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" SRC_URI[md5sum] = "2514c6772d0de6254758b98c53f91861" SRC_URI[sha256sum] = "73a8894bad94dee83ab468fa09f628daffd567e8bef1a24277f1e9a0daf911ac" -UPSTREAM_CHECK_REGEX = "bash-completion-(?P<pver>(?!2008).+)\.tar" -UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases" +GITHUB_BASE_URI = "https://github.com/scop/bash-completion/releases" PARALLEL_MAKE = "" -inherit autotools +inherit autotools github-releases do_install:append() { # compatdir diff --git a/poky/meta/recipes-support/boost/boost.inc b/poky/meta/recipes-support/boost/boost.inc index 402f1592cf..4263e645de 100644 --- a/poky/meta/recipes-support/boost/boost.inc +++ b/poky/meta/recipes-support/boost/boost.inc @@ -151,6 +151,7 @@ BOOST_PARALLEL_MAKE = "${@oe.utils.parallel_make_argument(d, '-j%d')}" BJAM_OPTS = '${BOOST_PARALLEL_MAKE} -d+2 -q \ ${BJAM_TOOLS} \ -sBOOST_BUILD_USER_CONFIG=${WORKDIR}/user-config.jam \ + -sICU_PATH=${STAGING_EXECPREFIXDIR} \ --build-dir=${B} \ --disable-icu \ ${BJAM_EXTRA}' diff --git a/poky/meta/recipes-support/curl/curl_7.85.0.bb b/poky/meta/recipes-support/curl/curl_7.85.0.bb index 3b55830415..ad6a5175bc 100644 --- a/poky/meta/recipes-support/curl/curl_7.85.0.bb +++ b/poky/meta/recipes-support/curl/curl_7.85.0.bb @@ -100,7 +100,8 @@ do_install_ptest() { cp -rf ${D}${bindir}/curl-config ${D}${PTEST_PATH} } -RDEPENDS:${PN}-ptest += "bash perl-modules" +RDEPENDS:${PN}-ptest += "bash perl-modules perl-module-time-hires perl-module-digest-md5 \ + perl-module-digest perl-module-ipc-open2" PACKAGES =+ "lib${BPN}" diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_220.bb b/poky/meta/recipes-support/diffoscope/diffoscope_221.bb index dc556477fa..c801200d7c 100644 --- a/poky/meta/recipes-support/diffoscope/diffoscope_220.bb +++ b/poky/meta/recipes-support/diffoscope/diffoscope_221.bb @@ -12,7 +12,7 @@ PYPI_PACKAGE = "diffoscope" inherit pypi setuptools3 -SRC_URI[sha256sum] = "7873e13ac8b11b634ee3490b70b056c6a6bae9cfb794d6ba7cb43e7797b2a829" +SRC_URI[sha256sum] = "7b1724e9b1e5ac6597cac07d0acd2661db1bcf0d6a9b2e87be21b5e3806be9f8" RDEPENDS:${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm" diff --git a/poky/meta/recipes-support/enchant/enchant2_2.3.3.bb b/poky/meta/recipes-support/enchant/enchant2_2.3.3.bb index 96d56c2ea4..c892f570c4 100644 --- a/poky/meta/recipes-support/enchant/enchant2_2.3.3.bb +++ b/poky/meta/recipes-support/enchant/enchant2_2.3.3.bb @@ -9,12 +9,12 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" DEPENDS = "glib-2.0" -inherit autotools pkgconfig +inherit autotools pkgconfig github-releases -SRC_URI = "https://github.com/AbiWord/enchant/releases/download/v${PV}/enchant-${PV}.tar.gz" +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/enchant-${PV}.tar.gz" SRC_URI[sha256sum] = "3da12103f11cf49c3cf2fd2ce3017575c5321a489e5b9bfa81dd91ec413f3891" -UPSTREAM_CHECK_URI = "https://github.com/AbiWord/enchant/releases" +GITHUB_BASE_URI = "https://github.com/AbiWord/enchant/releases" S = "${WORKDIR}/enchant-${PV}" diff --git a/poky/meta/recipes-support/fribidi/fribidi_1.0.12.bb b/poky/meta/recipes-support/fribidi/fribidi_1.0.12.bb index b29c47822f..9e46d958e9 100644 --- a/poky/meta/recipes-support/fribidi/fribidi_1.0.12.bb +++ b/poky/meta/recipes-support/fribidi/fribidi_1.0.12.bb @@ -9,13 +9,11 @@ BUGTRACKER = "https://github.com/fribidi/fribidi/issues" LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.xz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.xz \ " SRC_URI[sha256sum] = "0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495" -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" - -inherit meson lib_package pkgconfig +inherit meson lib_package pkgconfig github-releases CVE_PRODUCT = "gnu_fribidi fribidi" diff --git a/poky/meta/recipes-support/icu/icu_71.1.bb b/poky/meta/recipes-support/icu/icu_71.1.bb index b39633c203..df999dce3b 100644 --- a/poky/meta/recipes-support/icu/icu_71.1.bb +++ b/poky/meta/recipes-support/icu/icu_71.1.bb @@ -17,7 +17,7 @@ STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}" ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}" -inherit autotools pkgconfig +inherit autotools pkgconfig github-releases # ICU needs the native build directory as an argument to its --with-cross-build option when # cross-compiling. Taken the situation that different builds may share a common sstate-cache @@ -96,8 +96,8 @@ ICU_FOLDER = "${@icu_download_folder(d)}" ARM_INSTRUCTION_SET:armv4 = "arm" ARM_INSTRUCTION_SET:armv5 = "arm" -BASE_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-src.tgz" -DATA_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-data.zip" +BASE_SRC_URI = "${GITHUB_BASE_URI}/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-src.tgz" +DATA_SRC_URI = "${GITHUB_BASE_URI}/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-data.zip" SRC_URI = "${BASE_SRC_URI};name=code \ ${DATA_SRC_URI};name=data \ file://filter.json \ @@ -111,8 +111,8 @@ SRC_URI:append:class-target = "\ SRC_URI[code.sha256sum] = "67a7e6e51f61faf1306b6935333e13b2c48abd8da6d2f46ce6adca24b1e21ebf" SRC_URI[data.sha256sum] = "e3882b4fece6e5e039f22c3189b7ba224180fd26fdbfa9db284617455b93e804" -UPSTREAM_CHECK_REGEX = "icu4c-(?P<pver>\d+(_\d+)+)-src" -UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>(?!.+rc).+)" +GITHUB_BASE_URI = "https://github.com/unicode-org/icu/releases" EXTRA_OECONF:append:libc-musl = " ac_cv_func_strtod_l=no" diff --git a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.14.bb b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.14.bb index fad92df507..fbfbdacbdd 100644 --- a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.14.bb +++ b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.14.bb @@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://doc/LICENSING.txt;md5=dfc50c7cea7b66935844587a0f7389e7 \ " -SRC_URI = "https://github.com/ivmai/libatomic_ops/releases/download/v${PV}/libatomic_ops-${PV}.tar.gz" -UPSTREAM_CHECK_URI = "https://github.com/ivmai/libatomic_ops/releases" +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libatomic_ops-${PV}.tar.gz" +GITHUB_BASE_URI = "https://github.com/ivmai/libatomic_ops/releases" SRC_URI[sha256sum] = "390f244d424714735b7050d056567615b3b8f29008a663c262fb548f1802d292" @@ -17,6 +17,6 @@ S = "${WORKDIR}/libatomic_ops-${PV}" ALLOW_EMPTY:${PN} = "1" -inherit autotools pkgconfig +inherit autotools pkgconfig github-releases BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libcheck/libcheck_0.15.2.bb b/poky/meta/recipes-support/libcheck/libcheck_0.15.2.bb index 1393aa2a1c..83f3c3f46e 100644 --- a/poky/meta/recipes-support/libcheck/libcheck_0.15.2.bb +++ b/poky/meta/recipes-support/libcheck/libcheck_0.15.2.bb @@ -10,14 +10,14 @@ SECTION = "devel" LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=2d5025d4aa3495befef8f17206a5b0a1" -SRC_URI = "https://github.com/${BPN}/check/releases/download/${PV}/check-${PV}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/check-${PV}.tar.gz \ file://not-echo-compiler-info-to-check_stdint.h.patch" SRC_URI[sha256sum] = "a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a" -UPSTREAM_CHECK_URI = "https://github.com/libcheck/check/releases/" +GITHUB_BASE_URI = "https://github.com/libcheck/check/releases/" S = "${WORKDIR}/check-${PV}" -inherit autotools pkgconfig texinfo +inherit autotools pkgconfig texinfo github-releases CACHED_CONFIGUREVARS += "ac_cv_path_AWK_PATH=${bindir}/gawk" diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.12.bb b/poky/meta/recipes-support/libevent/libevent_2.1.12.bb index e26e8a9b57..55a65e6c08 100644 --- a/poky/meta/recipes-support/libevent/libevent_2.1.12.bb +++ b/poky/meta/recipes-support/libevent/libevent_2.1.12.bb @@ -11,7 +11,7 @@ SECTION = "libs" LICENSE = "BSD-3-Clause & MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=17f20574c0b154d12236d5fbe964f549" -SRC_URI = "https://github.com/libevent/libevent/releases/download/release-${PV}-stable/${BP}-stable.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/release-${PV}-stable/${BP}-stable.tar.gz \ file://Makefile-missing-test-dir.patch \ file://run-ptest \ file://0001-test-regress_dns.c-patch-out-tests-that-require-a-wo.patch \ @@ -21,15 +21,14 @@ SRC_URI = "https://github.com/libevent/libevent/releases/download/release-${PV}- " SRC_URI[sha256sum] = "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb" - -UPSTREAM_CHECK_URI = "http://libevent.org/" +UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>.+)-stable" S = "${WORKDIR}/${BPN}-${PV}-stable" PACKAGECONFIG ??= "" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" -inherit autotools +inherit autotools github-releases # Needed for Debian packaging LEAD_SONAME = "libevent-2.1.so" diff --git a/poky/meta/recipes-support/libexif/libexif_0.6.24.bb b/poky/meta/recipes-support/libexif/libexif_0.6.24.bb index 20ba0ef282..367f012f8c 100644 --- a/poky/meta/recipes-support/libexif/libexif_0.6.24.bb +++ b/poky/meta/recipes-support/libexif/libexif_0.6.24.bb @@ -10,14 +10,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad" def version_underscore(v): return "_".join(v.split(".")) -SRC_URI = "https://github.com/libexif/libexif/releases/download/v${PV}/libexif-${PV}.tar.bz2 \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libexif-${PV}.tar.bz2 \ " SRC_URI[sha256sum] = "d47564c433b733d83b6704c70477e0a4067811d184ec565258ac563d8223f6ae" -UPSTREAM_CHECK_URI = "https://github.com/libexif/libexif/releases/" - -inherit autotools gettext +inherit autotools gettext github-releases EXTRA_OECONF += "--disable-docs" diff --git a/poky/meta/recipes-support/libffi/libffi_3.4.2.bb b/poky/meta/recipes-support/libffi/libffi_3.4.2.bb index 71d9518baf..41c3cad586 100644 --- a/poky/meta/recipes-support/libffi/libffi_3.4.2.bb +++ b/poky/meta/recipes-support/libffi/libffi_3.4.2.bb @@ -10,18 +10,16 @@ A layer must exist above `libffi' that handles type conversions for values passe LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=679b5c9bdc79a2b93ee574e193e7a7bc" -SRC_URI = "https://github.com/libffi/libffi/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BPN}-${PV}.tar.gz \ file://not-win32.patch \ file://0001-arm-sysv-reverted-clang-VFP-mitigation.patch \ " SRC_URI[sha256sum] = "540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620" -UPSTREAM_CHECK_URI = "https://github.com/libffi/libffi/releases/" -UPSTREAM_CHECK_REGEX = "libffi-(?P<pver>\d+(\.\d+)+)\.tar" EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp" EXTRA_OECONF:class-native += "--with-gcc-arch=generic" EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" -inherit autotools texinfo multilib_header +inherit autotools texinfo multilib_header github-releases do_install:append() { oe_multilib_header ffi.h ffitarget.h diff --git a/poky/meta/recipes-support/libgcrypt/files/no-bench-slope.patch b/poky/meta/recipes-support/libgcrypt/files/no-bench-slope.patch new file mode 100644 index 0000000000..8de3c6713b --- /dev/null +++ b/poky/meta/recipes-support/libgcrypt/files/no-bench-slope.patch @@ -0,0 +1,20 @@ +The bench-slope test appears to be aborting fairly frequently, which causes +failures on the autobuilder. + +Until this has been root-caused, disable the test. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@arm.com> + +diff --git a/tests/testdrv.c b/tests/testdrv.c +index 0ccde326..d3455186 100644 +--- a/tests/testdrv.c ++++ b/tests/testdrv.c +@@ -77,7 +77,6 @@ static struct { + { "t-x448" }, + { "t-ed448" }, + { "benchmark" }, +- { "bench-slope" }, + { "hashtest-256g", "hashtest", "--gigs 256 SHA1 SHA256 SHA512 SM3", + LONG_RUNNING }, + { NULL } diff --git a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb index b0d88de3aa..bf9d7cbd10 100644 --- a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb +++ b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb @@ -24,6 +24,7 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \ file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \ file://no-native-gpg-error.patch \ + file://no-bench-slope.patch \ file://run-ptest \ " SRC_URI[sha256sum] = "ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de" diff --git a/poky/meta/recipes-support/libical/libical_3.0.14.bb b/poky/meta/recipes-support/libical/libical_3.0.14.bb index 58baf3f32f..44030fdc9f 100644 --- a/poky/meta/recipes-support/libical/libical_3.0.14.bb +++ b/poky/meta/recipes-support/libical/libical_3.0.14.bb @@ -12,13 +12,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \ " SECTION = "libs" -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ file://0001-cmake-Do-not-export-CC-into-gir-compiler.patch \ " SRC_URI[sha256sum] = "4284b780356f1dc6a01f16083e7b836e63d3815e27ed0eaaad684712357ccc8f" -UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases" -inherit cmake pkgconfig gobject-introspection vala +inherit cmake pkgconfig gobject-introspection vala github-releases DEPENDS += "libical-native" diff --git a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.0.bb b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.1.bb index 1d291cc357..3fb8c6b147 100644 --- a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.0.bb +++ b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.1.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=64a87180908540620ce364b5e69b3b03 \ file://LICENSE.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \ " SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git;branch=master;protocol=https" -SRCREV = "2e5019cfe63038faaa405ce53715effe4ea580e4" +SRCREV = "4544e11320138ac02797af81766f4476a71bb09f" S = "${WORKDIR}/git" # remove at next version upgrade or when output changes diff --git a/poky/meta/recipes-support/libnl/libnl_3.7.0.bb b/poky/meta/recipes-support/libnl/libnl_3.7.0.bb index ddcc83a039..ef286a6429 100644 --- a/poky/meta/recipes-support/libnl/libnl_3.7.0.bb +++ b/poky/meta/recipes-support/libnl/libnl_3.7.0.bb @@ -14,17 +14,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" DEPENDS = "flex-native bison-native" -SRC_URI = "https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz \ file://enable-serial-tests.patch \ file://run-ptest \ " SRC_URI[sha256sum] = "9fe43ccbeeea72c653bdcf8c93332583135cda46a79507bfd0a483bb57f65939" +GITHUB_BASE_URI = "https://github.com/thom311/${BPN}/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/libnl(?P<pver>.+)" -UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases" - -inherit autotools pkgconfig ptest +inherit autotools pkgconfig ptest github-releases FILES:${PN} = "${libdir}/libnl-3.so.* \ ${libdir}/libnl.so.* \ diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.40.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.40.bb index 8c2cadfe2b..13f7c8305f 100644 --- a/poky/meta/recipes-support/libpcre/libpcre2_10.40.bb +++ b/poky/meta/recipes-support/libpcre/libpcre2_10.40.bb @@ -10,9 +10,10 @@ SECTION = "devel" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENCE;md5=41bfb977e4933c506588724ce69bf5d2" -SRC_URI = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-${PV}/pcre2-${PV}.tar.bz2" +SRC_URI = "${GITHUB_BASE_URI}/download/pcre2-${PV}/pcre2-${PV}.tar.bz2" -UPSTREAM_CHECK_URI = "https://github.com/PhilipHazel/pcre2/releases" +GITHUB_BASE_URI = "https://github.com/PhilipHazel/pcre2/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/pcre2-(?P<pver>.+)" SRC_URI[sha256sum] = "14e4b83c4783933dc17e964318e6324f7cae1bc75d8f3c79bc6969f00c159d68" @@ -25,7 +26,7 @@ DEPENDS += "bzip2 zlib" BINCONFIG = "${bindir}/pcre2-config" -inherit autotools binconfig-disabled +inherit autotools binconfig-disabled github-releases EXTRA_OECONF = "\ --enable-newline-is-lf \ diff --git a/poky/meta/recipes-support/libproxy/libproxy_0.4.18.bb b/poky/meta/recipes-support/libproxy/libproxy_0.4.18.bb index a9f2bf6cae..01ba2a6fe9 100644 --- a/poky/meta/recipes-support/libproxy/libproxy_0.4.18.bb +++ b/poky/meta/recipes-support/libproxy/libproxy_0.4.18.bb @@ -12,13 +12,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ DEPENDS = "glib-2.0" -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz" +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz" SRC_URI[sha256sum] = "69b5856e9ea42c38ac77e6b8c92ffc86a71d341fef74e77bef85f9cc6c47a4b1" -UPSTREAM_CHECK_URI = "https://github.com/libproxy/libproxy/releases" -UPSTREAM_CHECK_REGEX = "libproxy-(?P<pver>.*)\.tar" - -inherit cmake pkgconfig +inherit cmake pkgconfig github-releases PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gnome', '', d)} gnome3" PACKAGECONFIG[gnome] = "-DWITH_GNOME=yes,-DWITH_GNOME=no,gconf" diff --git a/poky/meta/recipes-support/libpsl/libpsl_0.21.1.bb b/poky/meta/recipes-support/libpsl/libpsl_0.21.1.bb index 4fc0ad8acb..58f56c145e 100644 --- a/poky/meta/recipes-support/libpsl/libpsl_0.21.1.bb +++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.1.bb @@ -10,13 +10,13 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \ file://COPYING;md5=f41d10997a12da5ee3c24ceeb0148d18" -SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${PV}/${BP}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \ " SRC_URI[sha256sum] = "ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c" -UPSTREAM_CHECK_URI = "https://github.com/rockdaboot/libpsl/releases" +GITHUB_BASE_URI = "https://github.com/rockdaboot/libpsl/releases" -inherit autotools gettext gtk-doc manpages pkgconfig lib_package +inherit autotools gettext gtk-doc manpages pkgconfig lib_package github-releases PACKAGECONFIG ?= "icu" PACKAGECONFIG[manpages] = "--enable-man,--disable-man,libxslt-native" diff --git a/poky/meta/recipes-support/libusb/libusb1_1.0.26.bb b/poky/meta/recipes-support/libusb/libusb1_1.0.26.bb index fd63e7adc2..7371faf017 100644 --- a/poky/meta/recipes-support/libusb/libusb1_1.0.26.bb +++ b/poky/meta/recipes-support/libusb/libusb1_1.0.26.bb @@ -10,17 +10,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" BBCLASSEXTEND = "native nativesdk" -SRC_URI = "https://github.com/libusb/libusb/releases/download/v${PV}/libusb-${PV}.tar.bz2 \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libusb-${PV}.tar.bz2 \ file://run-ptest \ " -UPSTREAM_CHECK_URI = "https://github.com/libusb/libusb/releases" +GITHUB_BASE_URI = "https://github.com/libusb/libusb/releases" SRC_URI[sha256sum] = "12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5" S = "${WORKDIR}/libusb-${PV}" -inherit autotools pkgconfig ptest +inherit autotools pkgconfig ptest github-releases PACKAGECONFIG:class-target ??= "udev" PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" diff --git a/poky/meta/recipes-support/nghttp2/nghttp2_1.48.0.bb b/poky/meta/recipes-support/nghttp2/nghttp2_1.49.0.bb index 4ff3ab829b..6c3d543083 100644 --- a/poky/meta/recipes-support/nghttp2/nghttp2_1.48.0.bb +++ b/poky/meta/recipes-support/nghttp2/nghttp2_1.49.0.bb @@ -4,15 +4,13 @@ SECTION = "libs" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec" -UPSTREAM_CHECK_URI = "https://github.com/nghttp2/nghttp2/releases" - SRC_URI = "\ - https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz \ + ${GITHUB_BASE_URI}/download/v${PV}/nghttp2-${PV}.tar.xz \ file://0001-fetch-ocsp-response-use-python3.patch \ " -SRC_URI[sha256sum] = "47d8f30ee4f1bc621566d10362ca1b3ac83a335c63da7144947c806772d016e4" +SRC_URI[sha256sum] = "b0cfd492bbf0b131c472e8f6501c9f4ee82b51b68130f47b278c0b7c9848a66e" -inherit cmake manpages python3native +inherit cmake manpages python3native github-releases PACKAGECONFIG[manpages] = "" # examples are never installed, and don't need to be built in the diff --git a/poky/meta/recipes-support/numactl/numactl_git.bb b/poky/meta/recipes-support/numactl/numactl_git.bb index 93547ea239..712cf0203f 100644 --- a/poky/meta/recipes-support/numactl/numactl_git.bb +++ b/poky/meta/recipes-support/numactl/numactl_git.bb @@ -8,10 +8,10 @@ SECTION = "apps" inherit autotools-brokensep ptest -LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=f8ff2391624f28e481299f3f677b21bb" +LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=9f34c3af4ed6f3f5df0da5f3c0835a43" -SRCREV = "dd6de072c92c892a86e18c0fd0dfa1ba57a9a05d" -PV = "2.0.14" +SRCREV = "01a39cb4edc0dd0f4151b7ad11e0c56d2e612a02" +PV = "2.0.15" SRC_URI = "git://github.com/numactl/numactl;branch=master;protocol=https \ file://Fix-the-test-output-format.patch \ diff --git a/poky/meta/recipes-support/re2c/re2c_3.0.bb b/poky/meta/recipes-support/re2c/re2c_3.0.bb index ab047601ae..f8f85125a3 100644 --- a/poky/meta/recipes-support/re2c/re2c_3.0.bb +++ b/poky/meta/recipes-support/re2c/re2c_3.0.bb @@ -7,10 +7,10 @@ SECTION = "devel" LICENSE = "PD" LIC_FILES_CHKSUM = "file://LICENSE;md5=64eca4d8a3b67f9dc7656094731a2c8d" -SRC_URI = "https://github.com/skvadrik/re2c/releases/download/${PV}/${BPN}-${PV}.tar.xz" +SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" SRC_URI[sha256sum] = "b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b" -UPSTREAM_CHECK_URI = "https://github.com/skvadrik/re2c/releases" +GITHUB_BASE_URI = "https://github.com/skvadrik/re2c/releases" BBCLASSEXTEND = "native nativesdk" -inherit autotools +inherit autotools github-releases diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.39.2.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.39.3.bb index dfef480895..fce497e0e1 100644 --- a/poky/meta/recipes-support/sqlite/sqlite3_3.39.2.bb +++ b/poky/meta/recipes-support/sqlite/sqlite3_3.39.3.bb @@ -4,7 +4,7 @@ LICENSE = "PD" LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" SRC_URI = "http://www.sqlite.org/2022/sqlite-autoconf-${SQLITE_PV}.tar.gz" -SRC_URI[sha256sum] = "852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de" +SRC_URI[sha256sum] = "7868fb3082be3f2cf4491c6fba6de2bddcbc293a35fefb0624ee3c13f01422b9" # -19242 is only an issue in specific development branch commits CVE_CHECK_IGNORE += "CVE-2019-19242" diff --git a/poky/meta/recipes-support/taglib/taglib_1.12.bb b/poky/meta/recipes-support/taglib/taglib_1.12.bb index 47ad8aacb6..e6e3ef07ad 100644 --- a/poky/meta/recipes-support/taglib/taglib_1.12.bb +++ b/poky/meta/recipes-support/taglib/taglib_1.12.bb @@ -14,7 +14,7 @@ SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz" SRC_URI[md5sum] = "4313ed2671234e029b7af8f97c84e9af" SRC_URI[sha256sum] = "7fccd07669a523b07a15bd24c8da1bbb92206cb19e9366c3692af3d79253b703" -UPSTREAM_CHECK_URI = "http://github.com/taglib/taglib/releases/" +UPSTREAM_CHECK_URI = "https://taglib.org/" BINCONFIG = "${bindir}/taglib-config" diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc index 33a8299243..cbc370100b 100644 --- a/poky/meta/recipes-support/vim/vim.inc +++ b/poky/meta/recipes-support/vim/vim.inc @@ -20,8 +20,8 @@ SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \ file://no-path-adjust.patch \ " -PV .= ".0341" -SRCREV = "92a3d20682d46359bb50a452b4f831659e799155" +PV .= ".0598" +SRCREV = "8279af514ca7e5fd3c31cf13b0864163d1a0bfeb" # Remove when 8.3 is out UPSTREAM_VERSION_UNKNOWN = "1" |