diff mbox series

image.bbclass: Exclude openssh complementary packages

Message ID 20220828193845.7141-1-pavel@zhukoff.net
State New
Headers show
Series image.bbclass: Exclude openssh complementary packages | expand

Commit Message

Pavel Zhukov Aug. 28, 2022, 7:38 p.m. UTC
Openssh (main) package may be marked for installation via complementary
packages mechanism as a dependency of openssh-ptest
and this causes conflict with dropbear [Yocto #14858] [1].
Excluding openssh complementary packages if ssh-server-dropbear is in
DISTRO_FEATURES fixes this issue.
To install openssh complementary packages in the images with
ssh-server-dropbear they may be added manually into the list because
they will be excluded from the installation even if corresonding class
(dev-pkg or dbg-pkgs) inherited.

[1]
Error:
 Problem: problem with installed package dropbear-2020.81-r0.core2_64
  - package dropbear-2020.81-r0.core2_64 conflicts with openssh provided by openssh-8.9p1-r0.core2_64
  - package openssh-8.9p1-r0.core2_64 conflicts with dropbear provided by dropbear-2020.81-r0.core2_64
  - package openssh-ptest-8.9p1-r0.core2_64 requires openssh, but none of the providers can be installed
  - conflicting requests
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages)

Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
---
 meta/classes-recipe/image.bbclass | 1 +
 1 file changed, 1 insertion(+)

Comments

Alexander Kanavin Aug. 28, 2022, 7:46 p.m. UTC | #1
On Sun, 28 Aug 2022 at 21:39, Pavel Zhukov <pavel@zhukoff.net> wrote:

> +++ b/meta/classes-recipe/image.bbclass
...
> +PACKAGE_EXCLUDE_COMPLEMENTARY:append = "{@ openssh if 'ssh-server-dropbear' in d.getVar('IMAGE_FEATURES')}"

I think core-image.bbclass is a far better location for this?

Alex
Pavel Zhukov Aug. 28, 2022, 7:55 p.m. UTC | #2
"Alexander Kanavin" <alex.kanavin@gmail.com> writes:

> On Sun, 28 Aug 2022 at 21:39, Pavel Zhukov <pavel@zhukoff.net> wrote:
>
>> +++ b/meta/classes-recipe/image.bbclass
> ...
>> +PACKAGE_EXCLUDE_COMPLEMENTARY:append = "{@ openssh if 'ssh-server-dropbear' in d.getVar('IMAGE_FEATURES')}"
>
> I think core-image.bbclass is a far better location for this?
I tried to choose between this two. Moved back to core-image.

>
> Alex
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#169999): https://lists.openembedded.org/g/openembedded-core/message/169999
> Mute This Topic: https://lists.openembedded.org/mt/93313259/6390638
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [pavel@zhukoff.net]
> -=-=-=-=-=-=-=-=-=-=-=-
diff mbox series

Patch

diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass
index e387645503a..f48d0afb9d6 100644
--- a/meta/classes-recipe/image.bbclass
+++ b/meta/classes-recipe/image.bbclass
@@ -63,6 +63,7 @@  SPLASH ?= "${@bb.utils.contains("MACHINE_FEATURES", "screen", "psplash", "", d)}
 FEATURE_PACKAGES_splash = "${SPLASH}"
 
 IMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("IMAGE_FEATURES", d)}'
+PACKAGE_EXCLUDE_COMPLEMENTARY:append = "{@ openssh if 'ssh-server-dropbear' in d.getVar('IMAGE_FEATURES')}"
 
 def check_image_features(d):
     valid_features = (d.getVarFlag('IMAGE_FEATURES', 'validitems') or "").split()