From patchwork Sun Jun 26 09:45:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 9575 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88981CCA47E for ; Sun, 26 Jun 2022 09:45:20 +0000 (UTC) Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by mx.groups.io with SMTP id smtpd.web09.28510.1656236710569288406 for ; Sun, 26 Jun 2022 02:45:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=X4bkUcRg; spf=pass (domain: linuxfoundation.org, ip: 209.85.128.45, mailfrom: richard.purdie@linuxfoundation.org) Received: by mail-wm1-f45.google.com with SMTP id u12-20020a05600c210c00b003a02b16d2b8so3892648wml.2 for ; Sun, 26 Jun 2022 02:45:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cqtsOSodEiF17P/liDvoKDu2XOdNE9Sk6cqx3wwfLZQ=; b=X4bkUcRggKdHxMdv7tp2dfFJ1CIv9IQBvokMGLQT1m+UrIhtt51k8iIqg+pf4Gqmwe X3LesPhIKItXi3bhdmDbLO2wnyuXQNP94ADKl3VWdkyL7v1jFCKYlnm0/nWZt5wEXWTD kA0B3sGOyX1MayvRWv89uRbGSr3JzkNLlCjtc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cqtsOSodEiF17P/liDvoKDu2XOdNE9Sk6cqx3wwfLZQ=; b=ViEfSIKGx+zbuXEnHKdDi6Ns0idGpqH/SELgVdVJrP+TW/DgUP5dBeyf0QXMCMcW30 N665IVT+iHaN5er2ge1R/VJAo5HR29yanRx5Pz3wYJD8tas99Zdpks++UO7/Oe7HD7nC uMF9XhKseHsYIt/4Ux24y8SvtUb2GSt93if9uyvnfhzyKrPaQQyDSORTKTFnVsiH3lil 9XIW5G6g32fSsgTN8iSu2yK3KnX+06UcbQoeqUOefhw06/ud3lAp283FOOrHRgzaVOFB a0xckzrUBsBLwsDV2qP8XJvfyoFGtiNmTDlvGU98JPjkBuGua8HgXffa0eyaXMCaguMu ckoQ== X-Gm-Message-State: AJIora98xwfOpdn9vyL8gfnNp43QP8mytXYCrX5OERypVmBP95DpumIH CD/APrW00EXfID1WLNp7Rai0CN3sypMbDg== X-Google-Smtp-Source: AGRyM1udun6RtsF4PjCQZd/EE2bcQUPjWA/MacnbMtPmDOgOsSsX3spDG/nWezMOCCeTTpWQMxHMPA== X-Received: by 2002:a05:600c:1554:b0:39c:858f:6273 with SMTP id f20-20020a05600c155400b0039c858f6273mr8407838wmg.16.1656236708360; Sun, 26 Jun 2022 02:45:08 -0700 (PDT) Received: from max.int.rpsys.net ([2001:8b0:aba:5f3c:2873:558:fe47:ee6f]) by smtp.gmail.com with ESMTPSA id e9-20020a5d4e89000000b0021a3a87fda9sm7305018wru.47.2022.06.26.02.45.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Jun 2022 02:45:07 -0700 (PDT) From: Richard Purdie To: openembedded-core@lists.openembedded.org Cc: Ross Burton Subject: [PATCH 1/4] package_manager: Change complementary package handling to not include soft dependencies Date: Sun, 26 Jun 2022 10:45:03 +0100 Message-Id: <20220626094506.352336-1-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 26 Jun 2022 09:45:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/167303 From: Ross Burton We've some long standing bugs where the RDEPENDS from -dev packages causes problems, e.g. dropbear and openssh components on an image working fine together but then the SDK failing to build as the main openssh and dropbear packages conflict with each other (pulled in by openssh-dev and dropbear-dev). We propose changing the behavour of complementary package installation to ignore RRECOMMENDS. If we then change the ${PN}-dev dependency on ${PN} to a RRECOMMENDS, we can avoid many of the issues people run into yet still have the desired behaviour of ${PN}-dev pulling in ${PN}. This therefore changes the package manager code so that it doesn't follow RRECOMMENDS for completementary package globs. [RP: Added deb support] Signed-off-by: Richard Purdie --- meta/lib/oe/package_manager/__init__.py | 4 ++-- meta/lib/oe/package_manager/deb/__init__.py | 10 +++++++--- meta/lib/oe/package_manager/ipk/__init__.py | 4 +++- meta/lib/oe/package_manager/rpm/__init__.py | 4 ++-- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/meta/lib/oe/package_manager/__init__.py b/meta/lib/oe/package_manager/__init__.py index 80bc1a6bc6a..d3b45705ec4 100644 --- a/meta/lib/oe/package_manager/__init__.py +++ b/meta/lib/oe/package_manager/__init__.py @@ -266,7 +266,7 @@ class PackageManager(object, metaclass=ABCMeta): pass @abstractmethod - def install(self, pkgs, attempt_only=False): + def install(self, pkgs, attempt_only=False, hard_depends_only=False): """ Install a list of packages. 'pkgs' is a list object. If 'attempt_only' is True, installation failures are ignored. @@ -396,7 +396,7 @@ class PackageManager(object, metaclass=ABCMeta): bb.note("Installing complementary packages ... %s (skipped already provided packages %s)" % ( ' '.join(install_pkgs), ' '.join(skip_pkgs))) - self.install(install_pkgs) + self.install(install_pkgs, hard_depends_only=True) except subprocess.CalledProcessError as e: bb.fatal("Could not compute complementary packages list. Command " "'%s' returned %d:\n%s" % diff --git a/meta/lib/oe/package_manager/deb/__init__.py b/meta/lib/oe/package_manager/deb/__init__.py index 86ddb130adf..b96ea0bad46 100644 --- a/meta/lib/oe/package_manager/deb/__init__.py +++ b/meta/lib/oe/package_manager/deb/__init__.py @@ -289,14 +289,18 @@ class DpkgPM(OpkgDpkgPM): self.deploy_dir_unlock() - def install(self, pkgs, attempt_only=False): + def install(self, pkgs, attempt_only=False, hard_depends_only=False): if attempt_only and len(pkgs) == 0: return os.environ['APT_CONFIG'] = self.apt_conf_file - cmd = "%s %s install --allow-downgrades --allow-remove-essential --allow-change-held-packages --allow-unauthenticated --no-remove %s" % \ - (self.apt_get_cmd, self.apt_args, ' '.join(pkgs)) + extra_args = "" + if hard_depends_only: + extra_args = "--no-install-recommends" + + cmd = "%s %s install --allow-downgrades --allow-remove-essential --allow-change-held-packages --allow-unauthenticated --no-remove %s %s" % \ + (self.apt_get_cmd, self.apt_args, extra_args, ' '.join(pkgs)) try: bb.note("Installing the following packages: %s" % ' '.join(pkgs)) diff --git a/meta/lib/oe/package_manager/ipk/__init__.py b/meta/lib/oe/package_manager/ipk/__init__.py index 4cd3963111c..6fd2f021b68 100644 --- a/meta/lib/oe/package_manager/ipk/__init__.py +++ b/meta/lib/oe/package_manager/ipk/__init__.py @@ -337,7 +337,7 @@ class OpkgPM(OpkgDpkgPM): self.deploy_dir_unlock() - def install(self, pkgs, attempt_only=False): + def install(self, pkgs, attempt_only=False, hard_depends_only=False): if not pkgs: return @@ -346,6 +346,8 @@ class OpkgPM(OpkgDpkgPM): cmd += " --add-exclude %s" % exclude for bad_recommendation in (self.d.getVar("BAD_RECOMMENDATIONS") or "").split(): cmd += " --add-ignore-recommends %s" % bad_recommendation + if hard_depends_only: + cmd += " --no-install-recommends" cmd += " install " cmd += " ".join(pkgs) diff --git a/meta/lib/oe/package_manager/rpm/__init__.py b/meta/lib/oe/package_manager/rpm/__init__.py index b392581069c..d97dab32938 100644 --- a/meta/lib/oe/package_manager/rpm/__init__.py +++ b/meta/lib/oe/package_manager/rpm/__init__.py @@ -181,7 +181,7 @@ class RpmPM(PackageManager): os.environ['NATIVE_ROOT'] = self.d.getVar('STAGING_DIR_NATIVE') - def install(self, pkgs, attempt_only = False): + def install(self, pkgs, attempt_only=False, hard_depends_only=False): if len(pkgs) == 0: return self._prepare_pkg_transaction() @@ -192,7 +192,7 @@ class RpmPM(PackageManager): output = self._invoke_dnf((["--skip-broken"] if attempt_only else []) + (["-x", ",".join(exclude_pkgs)] if len(exclude_pkgs) > 0 else []) + - (["--setopt=install_weak_deps=False"] if self.d.getVar('NO_RECOMMENDATIONS') == "1" else []) + + (["--setopt=install_weak_deps=False"] if (hard_depends_only or self.d.getVar('NO_RECOMMENDATIONS') == "1") else []) + (["--nogpgcheck"] if self.d.getVar('RPM_SIGN_PACKAGES') != '1' else ["--setopt=gpgcheck=True"]) + ["install"] + pkgs) From patchwork Sun Jun 26 09:45:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 9578 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 934BACCA47C for ; Sun, 26 Jun 2022 09:45:20 +0000 (UTC) Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.groups.io with SMTP id smtpd.web09.28511.1656236710898312073 for ; Sun, 26 Jun 2022 02:45:11 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=OQ7nR444; spf=pass (domain: linuxfoundation.org, ip: 209.85.128.49, mailfrom: richard.purdie@linuxfoundation.org) Received: by mail-wm1-f49.google.com with SMTP id l126-20020a1c2584000000b0039c1a10507fso3893383wml.1 for ; Sun, 26 Jun 2022 02:45:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=6o8xb8js0R7ZP8xQHJCQcJzIB1Gfgstc8TMF4Gh7aDg=; b=OQ7nR444XBejc94F9Gkch1KsBAIYV8Q32q1Wizo+a3e0Mgesbo/yBYAhkOjaULkxK4 ZrfyKL5wRRJkrZWRxUNLdaXu6qOqr0e1pvk3w4DEzsAXcc26qk0sAj3JZroV2LFFwXF4 00Xg35JCgcPgVY+1FSv4xssGgSwEg27e5ob4g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6o8xb8js0R7ZP8xQHJCQcJzIB1Gfgstc8TMF4Gh7aDg=; b=g7rS5ENqWYA9DUrbade3T9CIPrUS9RXkBtbgvBklToGuU//ikovOYs/a82Zjy3/CLx ywiMIiC7qeUIcznr2pEdbMwV1L96w25mPNNMr+IyBfDyyFngfiM3Y+i7vr81crTqCtdA 7RSiWcBq257r4O9ZzEdKoCcOgBsOEY582wkSGfgC0DJ9d4jFUduo7GMIlitHjrp0SjWh XEud26oqqo9pVYe1oYJblBtPAdhDfzjiOUE42Rd1ruGgNg/6ZmotxbykE1yAvQiyKGt9 lhqDOFE2rYeSAUfY72Dke5Vh7Ax9QPGWAbh/hPtXApn7LwdECAgmZSEWbspG36u2CyBo rAmw== X-Gm-Message-State: AJIora+Foddvh5oHKQi2BuSkI8xRe8+AHYIgMcKRmfcGqUMASmgdFh3S nGHiN4IjNbhYSdupzYTGVH0ItGGE1Ply1w== X-Google-Smtp-Source: AGRyM1vgWudjobEVybO3E9GW6+dt7fVKGoIHovc0Ag1ZGMemutHRSSwN4mF/rqtE3oz34gdWeH0Hgw== X-Received: by 2002:a05:600c:19d4:b0:39c:7ec6:c7cc with SMTP id u20-20020a05600c19d400b0039c7ec6c7ccmr13281157wmq.141.1656236709088; Sun, 26 Jun 2022 02:45:09 -0700 (PDT) Received: from max.int.rpsys.net ([2001:8b0:aba:5f3c:2873:558:fe47:ee6f]) by smtp.gmail.com with ESMTPSA id e9-20020a5d4e89000000b0021a3a87fda9sm7305018wru.47.2022.06.26.02.45.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Jun 2022 02:45:08 -0700 (PDT) From: Richard Purdie To: openembedded-core@lists.openembedded.org Subject: [PATCH 2/4] bitbake.conf/recipes: Introduce add DEV_PKG_DEPENDENCY to change RDEPENDS:${PN}-dev Date: Sun, 26 Jun 2022 10:45:04 +0100 Message-Id: <20220626094506.352336-2-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220626094506.352336-1-richard.purdie@linuxfoundation.org> References: <20220626094506.352336-1-richard.purdie@linuxfoundation.org> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 26 Jun 2022 09:45:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/167304 There is a pattern that several recipes need to break the dependency of ${PN}-dev on ${PN}, most often as ${PN} may be be empty. Add a new variable to parameterise this and allow it to be changed more easily. Signed-off-by: Richard Purdie --- meta/conf/bitbake.conf | 3 ++- meta/recipes-connectivity/avahi/avahi_0.8.bb | 4 ++-- meta/recipes-connectivity/bind/bind_9.18.4.bb | 2 +- meta/recipes-core/glibc/glibc-package.inc | 2 +- meta/recipes-core/musl/bsd-headers.bb | 2 +- meta/recipes-core/musl/libssp-nonshared.bb | 2 +- meta/recipes-core/newlib/newlib_4.2.0.bb | 2 +- meta/recipes-devtools/gcc/libgcc-common.inc | 4 ++-- meta/recipes-devtools/python/python3_3.10.5.bb | 2 +- meta/recipes-graphics/mesa/libglu_9.0.2.bb | 2 +- meta/recipes-graphics/mesa/mesa.inc | 2 +- meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb | 2 +- meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb | 2 +- meta/recipes-graphics/xorg-proto/xcb-proto_1.15.bb | 2 +- meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb | 2 +- meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb | 2 +- meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc | 2 +- meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb | 2 +- meta/recipes-support/argp-standalone/argp-standalone_1.3.bb | 2 +- 19 files changed, 22 insertions(+), 21 deletions(-) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 2a3cf6f8aa4..40a893fe1c6 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -349,7 +349,8 @@ FILES:${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \ ${libdir}/cmake ${datadir}/cmake" SECTION:${PN}-dev = "devel" ALLOW_EMPTY:${PN}-dev = "1" -RDEPENDS:${PN}-dev = "${PN} (= ${EXTENDPKGV})" +DEV_PKG_DEPENDENCY = "${PN} (= ${EXTENDPKGV})" +RDEPENDS:${PN}-dev = "${DEV_PKG_DEPENDENCY}" FILES:${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a" SECTION:${PN}-staticdev = "devel" diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb index 9bb5e5861ed..a2efe7e80ab 100644 --- a/meta/recipes-connectivity/avahi/avahi_0.8.bb +++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb @@ -147,8 +147,8 @@ FILES:libavahi-glib = "${libdir}/libavahi-glib.so.*" FILES:libavahi-gobject = "${libdir}/libavahi-gobject.so.* ${libdir}/girepository-1.0/Avahi*.typelib" FILES:avahi-utils = "${bindir}/avahi-* ${bindir}/b* ${datadir}/applications/b*" -RDEPENDS:${PN}-dev = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV})" -RDEPENDS:${PN}-dev += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}" +DEV_PKG_DEPENDENCY = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV})" +DEV_PKG_DEPENDENCY += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}" RDEPENDS:${PN}-dnsconfd = "${PN}-daemon" RRECOMMENDS:avahi-daemon:append:libc-glibc = " libnss-mdns" diff --git a/meta/recipes-connectivity/bind/bind_9.18.4.bb b/meta/recipes-connectivity/bind/bind_9.18.4.bb index 5af20221296..c68816c06ec 100644 --- a/meta/recipes-connectivity/bind/bind_9.18.4.bb +++ b/meta/recipes-connectivity/bind/bind_9.18.4.bb @@ -123,5 +123,5 @@ PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3- FILES:python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \ ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RDEPENDS:python3-bind = "python3-core python3-ply" diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 7f9e7503a1c..278e1b7cc12 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -40,7 +40,7 @@ FILES:${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o" FILES:libsotruss = "${libdir}/audit/sotruss-lib.so" FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}" FILES:${PN}-dev += "${libdir}/libpthread.a ${libdir}/libdl.a ${libdir}/libutil.a ${libdir}/libanl.a ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" -RDEPENDS:${PN}-dev = "linux-libc-headers-dev" +DEV_PKG_DEPENDENCY = "linux-libc-headers-dev" FILES:${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a" FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_system_unitdir}/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \ ${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd" diff --git a/meta/recipes-core/musl/bsd-headers.bb b/meta/recipes-core/musl/bsd-headers.bb index cf8af0da3cd..887a8160313 100644 --- a/meta/recipes-core/musl/bsd-headers.bb +++ b/meta/recipes-core/musl/bsd-headers.bb @@ -27,5 +27,5 @@ do_install() { # COMPATIBLE_HOST = ".*-musl.*" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb index 748dacf3126..3faf8f00c3c 100644 --- a/meta/recipes-core/musl/libssp-nonshared.bb +++ b/meta/recipes-core/musl/libssp-nonshared.bb @@ -31,5 +31,5 @@ do_install() { # COMPATIBLE_HOST = ".*-musl.*" RDEPENDS:${PN}-staticdev = "" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RRECOMMENDS:${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})" diff --git a/meta/recipes-core/newlib/newlib_4.2.0.bb b/meta/recipes-core/newlib/newlib_4.2.0.bb index 0542c596bad..fb922d65d1d 100644 --- a/meta/recipes-core/newlib/newlib_4.2.0.bb +++ b/meta/recipes-core/newlib/newlib_4.2.0.bb @@ -17,4 +17,4 @@ do_install:append() { } # No rpm package is actually created but -dev depends on it, avoid dnf error -RDEPENDS:${PN}-dev:libc-newlib = "" +DEV_PKG_DEPENDENCY:libc-newlib = "" diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc index d48dc8b8230..fbeb43d7186 100644 --- a/meta/recipes-devtools/gcc/libgcc-common.inc +++ b/meta/recipes-devtools/gcc/libgcc-common.inc @@ -52,8 +52,8 @@ do_install:append:libc-newlib () { } # No rpm package is actually created but -dev depends on it, avoid dnf error -RDEPENDS:${PN}-dev:libc-baremetal = "" -RDEPENDS:${PN}-dev:libc-newlib = "" +DEV_PKG_DEPENDENCY:libc-baremetal = "" +DEV_PKG_DEPENDENCY:libc-newlib = "" BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-devtools/python/python3_3.10.5.bb b/meta/recipes-devtools/python/python3_3.10.5.bb index 599a1884b42..b237c487358 100644 --- a/meta/recipes-devtools/python/python3_3.10.5.bb +++ b/meta/recipes-devtools/python/python3_3.10.5.bb @@ -416,7 +416,7 @@ RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 libgcc t RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr.iso-8859-9" RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}" RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RDEPENDS:${PN}-pydoc += "${PN}-io" RDEPENDS:${PN}-tests:append:class-target = " ${MLPREFIX}bash" diff --git a/meta/recipes-graphics/mesa/libglu_9.0.2.bb b/meta/recipes-graphics/mesa/libglu_9.0.2.bb index 64fa82e5a80..0d27dd116b0 100644 --- a/meta/recipes-graphics/mesa/libglu_9.0.2.bb +++ b/meta/recipes-graphics/mesa/libglu_9.0.2.bb @@ -25,4 +25,4 @@ inherit autotools pkgconfig features_check REQUIRED_DISTRO_FEATURES = "x11 opengl" # Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 83705fc34df..bb39e2f369c 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -183,7 +183,7 @@ CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS" CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS" # Remove the mesa dependency on mesa-dev, as mesa is empty -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" # Khronos documentation says that include/GLES2/gl2ext.h can be used for # OpenGL ES 3 specification as well as for OpenGL ES 2. diff --git a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb index b398e8b626c..7bf702076d7 100644 --- a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb +++ b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb @@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78 inherit autotools -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb b/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb index 08773c8ccc5..83f11769f5a 100644 --- a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb +++ b/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb @@ -16,7 +16,7 @@ SRC_URI += "file://multilibfix.patch" PE = "1" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" inherit gettext diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.bb b/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.bb index f050ed366cf..070fb624558 100644 --- a/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.bb +++ b/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.bb @@ -22,7 +22,7 @@ FILES:${PN} = "" FILES:${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd" FILES:python-xcbgen = "${PYTHON_SITEPACKAGES_DIR}" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb b/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb index 7786318476c..a1e852b9eb1 100644 --- a/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb +++ b/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb @@ -19,7 +19,7 @@ PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false" # Datadir only used to install pc files, $datadir/pkgconfig datadir="${libdir}" # ${PN} is empty so we need to tweak -dev and -dbg package dependencies -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb b/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb index 0164256eb46..13d8ce22dfe 100644 --- a/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb +++ b/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb @@ -13,7 +13,7 @@ SRC_URI[md5sum] = "66cb74d4a0120a06e32c3b01c29417d8" SRC_URI[sha256sum] = "624bb6c3a4613d18114a7e3849a3d70f2d7af9dc6eabeaba98060d87e3aef35b" # ${PN} is empty so we need to tweak -dev and -dbg package dependencies -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc index 47f09952de6..71778bb4e36 100644 --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc @@ -103,7 +103,7 @@ do_install_armmultilib () { BBCLASSEXTEND = "nativesdk" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" INHIBIT_DEFAULT_DEPS = "1" diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb index 0e420a25d91..9afd6714f0d 100644 --- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb +++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb @@ -13,7 +13,7 @@ S = "${WORKDIR}" do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" DEPENDS += "bc-native bison-native" DEPENDS += "gmp-native" diff --git a/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb b/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb index e7599d69d62..8d8122612a2 100644 --- a/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb +++ b/meta/recipes-support/argp-standalone/argp-standalone_1.3.bb @@ -20,7 +20,7 @@ inherit autotools CFLAGS += "-fPIC -U__OPTIMIZE__" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RDEPENDS:${PN}-staticdev = "" do_install() { From patchwork Sun Jun 26 09:45:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 9576 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8726DC43334 for ; Sun, 26 Jun 2022 09:45:20 +0000 (UTC) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mx.groups.io with SMTP id smtpd.web09.28512.1656236712028218058 for ; Sun, 26 Jun 2022 02:45:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=iTpt1zUx; spf=pass (domain: linuxfoundation.org, ip: 209.85.128.42, mailfrom: richard.purdie@linuxfoundation.org) Received: by mail-wm1-f42.google.com with SMTP id k129so2264738wme.0 for ; Sun, 26 Jun 2022 02:45:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=cQpvyQ5LZPCBF6phB1WznzDEpCBFzdaJPz7JXWytWDk=; b=iTpt1zUx/vK5n9m7i64Vzy3oImAOga3aQ7f/r6ggcOsmh1ug4JISwV9GD24VgyKN/b 3kSR06loMWlEDpkdpaQsB4X+KDC0veRYMinhYPFJIoy9nyQmN9UtT7WlNhHLwSqwWJI1 PS70xzuEZHaS0yQkGLWjJY0FiXulyNEntNiqo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cQpvyQ5LZPCBF6phB1WznzDEpCBFzdaJPz7JXWytWDk=; b=yShreYmEVmIQMsYjJ1Yqt9vtBz6AOX63D4CPciFxtsn1AgplR2kV238g+/LN5k1xN6 XDyQrOu+wT+/3/ulVQoyVgKiX4JSTWHaxSulcadXL6s5OMV6zXWl0K6ybUHu+y/HPn3l 8dwN+stQFvPO/6bnIEycNzHCN5c1pEZYV9TT0XdeOwZKa/sxs2u91GavqY9soJEa081F N1udolIWhEde60NJnM3Ywe+MgkgiRu2P02VhuSb3YllPqMFzJ4pNbJJ18tFaDDmf4NmM kWWtyUIu977/EVXikM+YAUnJhPs1snEiDw7fYayk38i6W7khWu465KmmWquKTiCyJDLH 0W6w== X-Gm-Message-State: AJIora9b+3ljAZlVipSWi7A42oUl3l/ZXfEXWEh/YRFAt4ByWSUqR4bi ZJQ7XBY0Uhq/vFHbkefTrhPVwQYIuCOxqA== X-Google-Smtp-Source: AGRyM1tKtS/9ZBcYEMUmruPIlT29iqsIOwOjjoXfeUAMX7OdWgkuWWfIvAMmbRUw6UiX2+DlnlKTBw== X-Received: by 2002:a05:600c:17cf:b0:39c:4b79:78c9 with SMTP id y15-20020a05600c17cf00b0039c4b7978c9mr8601406wmo.96.1656236710239; Sun, 26 Jun 2022 02:45:10 -0700 (PDT) Received: from max.int.rpsys.net ([2001:8b0:aba:5f3c:2873:558:fe47:ee6f]) by smtp.gmail.com with ESMTPSA id e9-20020a5d4e89000000b0021a3a87fda9sm7305018wru.47.2022.06.26.02.45.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Jun 2022 02:45:09 -0700 (PDT) From: Richard Purdie To: openembedded-core@lists.openembedded.org Subject: [PATCH 3/4] bitbake.conf: Change -dev RDEPENDS to RRECOMMENDS Date: Sun, 26 Jun 2022 10:45:05 +0100 Message-Id: <20220626094506.352336-3-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220626094506.352336-1-richard.purdie@linuxfoundation.org> References: <20220626094506.352336-1-richard.purdie@linuxfoundation.org> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 26 Jun 2022 09:45:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/167305 Switch the default DEPENDS for ${PN}-dev to be a RRECOMMENDS instead. This takes advantage of a change to complmentary package globbing to not follow RRECOMMENDS and means and SDK for an image with both openssh and dropbear compoments will now build successfully. Signed-off-by: Richard Purdie --- meta/conf/bitbake.conf | 2 +- meta/lib/oeqa/selftest/cases/oescripts.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 40a893fe1c6..1d36aae8b35 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -350,7 +350,7 @@ FILES:${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \ SECTION:${PN}-dev = "devel" ALLOW_EMPTY:${PN}-dev = "1" DEV_PKG_DEPENDENCY = "${PN} (= ${EXTENDPKGV})" -RDEPENDS:${PN}-dev = "${DEV_PKG_DEPENDENCY}" +RRECOMMENDS:${PN}-dev = "${DEV_PKG_DEPENDENCY}" FILES:${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a" SECTION:${PN}-staticdev = "devel" diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py index bd84f151cb3..d3a789a6a77 100644 --- a/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/meta/lib/oeqa/selftest/cases/oescripts.py @@ -21,7 +21,7 @@ class BuildhistoryDiffTests(BuildhistoryBase): pkgv = result.output.rstrip() result = runCmd("buildhistory-diff -p %s" % get_bb_var('BUILDHISTORY_DIR')) expected_endlines = [ - "xcursor-transparent-theme-dev: RDEPENDS: removed \"xcursor-transparent-theme (['= %s-r1'])\", added \"xcursor-transparent-theme (['= %s-r0'])\"" % (pkgv, pkgv), + "xcursor-transparent-theme-dev: RRECOMMENDS: removed \"xcursor-transparent-theme (['= %s-r1'])\", added \"xcursor-transparent-theme (['= %s-r0'])\"" % (pkgv, pkgv), "xcursor-transparent-theme-staticdev: RDEPENDS: removed \"xcursor-transparent-theme-dev (['= %s-r1'])\", added \"xcursor-transparent-theme-dev (['= %s-r0'])\"" % (pkgv, pkgv) ] for line in result.output.splitlines(): From patchwork Sun Jun 26 09:45:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 9577 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 87EC8C433EF for ; Sun, 26 Jun 2022 09:45:20 +0000 (UTC) Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by mx.groups.io with SMTP id smtpd.web08.28864.1656236713100267396 for ; Sun, 26 Jun 2022 02:45:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=E8e5gpRB; spf=pass (domain: linuxfoundation.org, ip: 209.85.221.52, mailfrom: richard.purdie@linuxfoundation.org) Received: by mail-wr1-f52.google.com with SMTP id q9so8978256wrd.8 for ; Sun, 26 Jun 2022 02:45:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=eU6Uo4AKLVOpWWxfA4CkeEVHsUmSUXq2thl2LkV8pJg=; b=E8e5gpRBJAdXLGX8h0Pi57jBVmELuBS6VuYes+Wk5ikiFiYEt9X8l4nezy+tyB/ZNR W2hbRo1gdo/ac9nTRt4HncaPyWpm2Eci8u53Ku9SSy4R3qJqcvzqs33Z6sAiMX6V2dIP Ttke+WZ13xnUgGpyRHk22byLUb1TvhyOXRjrE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eU6Uo4AKLVOpWWxfA4CkeEVHsUmSUXq2thl2LkV8pJg=; b=xjvRiz924vsdVt6jw7BGL+bpSuCVLrBpwqdbVGZHbIx9ZaofjGCJ3PppDsbTDZTH49 YUuOYxY/JskA0p/ZTiDQWSriAHz+5iyzpMxbABD76Rgb0itmLhkeQA6zs0T+996s5coS Xn9PWSjQvvIDM9z4FWBGowMbhG+CmvhEK2CgElg5uyEhCrxO+gvJ2ZzzbSH/yJ/SA2pG 8J2OnGLAox2jlgYyZAyUQhAFOYKXkXnwKhiBkWHx4PSGlNd/NMeh1tWVRZZeg110uPU3 Y0uJkK0GCWgnO/z+la0W1p4E9WbeTCbxOutzrE49yv+bVQ2g4wUHpvFLbZRJC+TU+5i+ LVHA== X-Gm-Message-State: AJIora8tVyNnB6CnxxfFXRmnvRBQQl4paclrUTGsGoUp9/D4bxkGR9rp jPdxAEmlDAYCBDd6O9UhJ4SZZ8W5SHfXfg== X-Google-Smtp-Source: AGRyM1uJPL+d98vz9t5EuhyRBh+kaspt2JmgC2IeyJTc5/GcSir/fUUFLjoPDfNgwtTaD5t7ZNhxTw== X-Received: by 2002:a5d:64c1:0:b0:21b:981a:594e with SMTP id f1-20020a5d64c1000000b0021b981a594emr7046935wri.171.1656236711243; Sun, 26 Jun 2022 02:45:11 -0700 (PDT) Received: from max.int.rpsys.net ([2001:8b0:aba:5f3c:2873:558:fe47:ee6f]) by smtp.gmail.com with ESMTPSA id e9-20020a5d4e89000000b0021a3a87fda9sm7305018wru.47.2022.06.26.02.45.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Jun 2022 02:45:10 -0700 (PDT) From: Richard Purdie To: openembedded-core@lists.openembedded.org Subject: [PATCH 4/4] coreutils: Tweak packaging variable names for coreutils-dev Date: Sun, 26 Jun 2022 10:45:06 +0100 Message-Id: <20220626094506.352336-4-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220626094506.352336-1-richard.purdie@linuxfoundation.org> References: <20220626094506.352336-1-richard.purdie@linuxfoundation.org> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 26 Jun 2022 09:45:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/167306 PACKAGES uses ${PN}-dev so be consistent with the addition to the variable to avoid weird variable conflicts. Signed-off-by: Richard Purdie --- meta/recipes-core/coreutils/coreutils_9.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/coreutils/coreutils_9.1.bb b/meta/recipes-core/coreutils/coreutils_9.1.bb index d57e147a7e0..0f57372369d 100644 --- a/meta/recipes-core/coreutils/coreutils_9.1.bb +++ b/meta/recipes-core/coreutils/coreutils_9.1.bb @@ -171,8 +171,8 @@ RDEPENDS:${PN}-ptest += "bash findutils gawk liberror-perl make perl perl-module # -dev automatic dependencies fails as we don't want libmodule-build-perl-dev, its too heavy # may need tweaking if DEPENDS changes -RRECOMMENDS:coreutils-dev[nodeprrecs] = "1" -RRECOMMENDS:coreutils-dev = "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev" +RRECOMMENDS:${PN}-dev[nodeprrecs] = "1" +RRECOMMENDS:${PN}-dev += "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev" do_install_ptest () { install -d ${D}${PTEST_PATH}/tests