From patchwork Fri Oct 17 08:53:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 4420 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 17 Oct 2025 10:54:24 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-il1-f186.google.com (mail-il1-f186.google.com [209.85.166.186]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 59H8sMXC023994 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 17 Oct 2025 10:54:23 +0200 Received: by mail-il1-f186.google.com with SMTP id e9e14a558f8ab-42f71a09b2csf20456625ab.1 for ; Fri, 17 Oct 2025 01:54:23 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1760691257; cv=pass; d=google.com; s=arc-20240605; b=agcLxsxzYel/ckWgsOUZx0mVWMNK7lQRyzpDNQMqaWiGQXH4UYt3GHil41Tl52ffgH oS6ROSQ4sPYCfVrxfBXiyV5fPzSUtJc7GvKBvFIfsC3EmFY9y5cHzD60JSQRmaiPsutZ gOD6CCykG6D58b2LGHJkVeellzvYF4x44hwwwtaWxZOq4x0/Dh+yDNryevVbcGhRDFZv ytWKPDul9xmZFVqU/jliLhEEOduoQcaTDtT9sDFkv0xgoeElR5A4PSln1ex6h1I9owvv hWCkKmsHxId3mKJ5/frB28qguhXXewdPSXH9HzQgNCtmk/6dot839BKveep5zTMIFzqv rpnw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=2sQxAJ5ELAq6LGgfd+I9cwtlKJY3RTNLFCBc88cgGmw=; fh=C6Q34DmRKkPQ8jO7I/BnwkFyn32hyPVetozmBSDBCbo=; b=LXEGMxj9z1PfL4CX2RzL3+cmIzLsMLdztfM6RsVtYFX63F8lICNYBs3scYpo4q132l B9KqHHb+Gv4n9JYaxDGAUJOPWE7ZfTMTfhZ1binX32Wk0eGDH+lDPtFuL++2NFcXBuw4 lebd5xdo+8aRr85adE+Gez7KA0WTHfTonfSGAxF1S/k/6+hS1Lsldqgc6aYUS0GNF+h2 mCAmfMc9eGQB2T4eV8BNrLwtbrnmI4Yx2zIr2fwxfjCXXnRb28gTLO0XU60oGFPQvPhp yiaUaUywCUFBYHoq51Sg8V8ywkedoQ2ej1jqH7vjrlOzt1jTY3FsAwx32uDjGtg93eKU H2Gw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b="cR0gE/Ld"; spf=pass (google.com: domain of fm-1321639-20251017085410772e6378a90002073c-mcdo6p@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1321639-20251017085410772e6378a90002073c-MCDO6P@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1760691257; x=1761296057; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=2sQxAJ5ELAq6LGgfd+I9cwtlKJY3RTNLFCBc88cgGmw=; b=MJCLYRTRUkdxhQNnX2hwODqnFwPGHkZu3W2DHE8w2uisepMxDXBNYJaJzvwCRVGOxL 5w21dpSZdXwB7dUYiOUFtVyYy7kpnW60iYQ7+Gdt4rUy1WKPbyJBUU5ZKxDNknk04vbG 8BWoY9L33D7mqpC17Vzu2SHZEBSaxOPAcO/JmvpMpCGjJgPNXJ9UoG/jbL57ECbMQ6TW Sa4fF/hHRcCtNk6KKYeoFrglArj8DefFUi/jra22a2+Khq3q5qhLtDiKBj1VFC92coF2 Nh8mUhf0r5GjyGvP6CrHlF4IW9xj1eAQh7SU1L9nodoI3tT/DZ3ZnoMv81U0k6wiyicR pouw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691257; x=1761296057; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2sQxAJ5ELAq6LGgfd+I9cwtlKJY3RTNLFCBc88cgGmw=; b=pepfzaStGIq5VIfeEUqEA8xkURhz76Kr1AMT1FiFjOzwratjq08TNZaCiC6XyILMF+ KOnVHl0dxwk34ulFTTi+m5t/madG7SEz2Te3st4YIZfkbjdxacvw/zNTnPBsixNPlRAC vY9qLCrrVZBdux9Rim6anrKihNG3j0JwRYcask7D6h4HSKDVoedgBfv4e6p7NN70Ytda etH+BeuV1DGTogu+K/bBIW3lzmnN91CX5sqsU8n4w8iMmaukxzyckJKqhf8ynMVVRRYq 4Z1yfxxbmEGmeJeVQ2lOv9tx8GdzR6DAfpJa4dg4fI4oNSLBTZ6il2QwQ8ixS5sPGGU2 r3Cg== X-Forwarded-Encrypted: i=2; AJvYcCU/apGaw7/HmjVgQBuGd4kjnauSUazATkWtgEi9qkXlEQ8bd9ha9De2yqLs73HbgQiHF1lZvAI=@isar-build.org X-Gm-Message-State: AOJu0YwMHzY29EEO2BBhxx4a0p9R7yqwx2HUvlZ403AcJyzSSrsE5Ih7 qTr6lmJx4vDPAo0QMHnqhhvwtaf/x6m5/vBurq4N0SUC5z+GTNqqF+xA X-Google-Smtp-Source: AGHT+IH8xGL8vdVl+2envDmfxQlVxhHpMTqXX+MoihviPJ0xhEKevNPztmnBTwZrHZ6R3jhLQsiU/w== X-Received: by 2002:a05:6e02:2165:b0:42f:9847:15bd with SMTP id e9e14a558f8ab-430c528f4e3mr36889505ab.26.1760691256804; Fri, 17 Oct 2025 01:54:16 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ARHlJd7DW1zZwWbIiv/5jKvxW6XXiqn8jKX2Lh4o+AGFUM8UuA==" Received: by 2002:a92:c704:0:b0:430:b5ef:868d with SMTP id e9e14a558f8ab-430b76faaafls13011725ab.2.-pod-prod-03-us; Fri, 17 Oct 2025 01:54:15 -0700 (PDT) X-Received: by 2002:a05:6e02:b43:b0:42e:72ee:4164 with SMTP id e9e14a558f8ab-430c528d9b2mr40874945ab.23.1760691255568; Fri, 17 Oct 2025 01:54:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1760691255; cv=none; d=google.com; s=arc-20240605; b=A1RkYAoa5sAQb/575z6csc65NpfXtUny5Oppft78p6pLOWBaY7rKBU9LmkjqMu30lT YtWniiD/SgAmHlwShwByTTYpHsMYTG9VQLGbJxBCjDMEE5OmMHdEsJOoe3gcM/O9YITs 9OWz68ffSVIZLe2HfGlHQDXrjE8kjLrNrCxM5bBg/Jt8aO9bgOxW3A3Ycha/R0wT4m0+ ybJfwnIrs/IpmmabXjtQCroOhQexlZPW7QxzyEPDuzqgv3VZrlV9FIHtbcPO1WFbkDik oC4M06EH8JjlWrChYwS2S6z+z+qAF39Th5ulMVki4ag/1oiDtJDjWq+MFZR+NXogV4ZP 400A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=vBu6H8MlIgA4tgKB38QZEGL7IL1rCLD86hZ83ZV4GX8=; fh=890XSSSpwYHpVjbQ/n/d2o+ja4PwdUXp2c8RTPP1fOw=; b=iQ4fBd0Ge0CJFBCkoBth9z4cF3WR9/JXOkTw2KuyGZrjpDueD51sXFbpJPnhiZH0G0 RMBZ2bBDFne2Zx8nJeYnFQT/27bo12O2wQW8B9TmZ/fX5IouT+8iM0hM2A19tG/qJl0D IiTbrQXKys8hb5zua5jLV8vcX0AQ6F2pI0N96mv5X+eHOWbWxJZZy/Z31eLM1ebLzDpL tvwa+83Gcl9Lxs6f8tfMx4hBwaPmMfq8L1UN+rRn686VVnx+rgvg5pmziC9OwGI77Vj5 KV1phwJA04wq9bwns0XZmyD/ke5JefojkMljAU3BugZUAL93HEijIf1Wf+PZjDPJXXYZ wNyw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b="cR0gE/Ld"; spf=pass (google.com: domain of fm-1321639-20251017085410772e6378a90002073c-mcdo6p@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1321639-20251017085410772e6378a90002073c-MCDO6P@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id 8926c6da1cb9f-5a76f5ede84si47810173.2.2025.10.17.01.54.15 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 17 Oct 2025 01:54:15 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1321639-20251017085410772e6378a90002073c-mcdo6p@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20251017085410772e6378a90002073c for ; Fri, 17 Oct 2025 10:54:11 +0200 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: adriaan.schmidt@siemens.com, Felix Moessbauer , Jan Kiszka Subject: [PATCH 1/1] multiarch: inject native variants of preferred providers Date: Fri, 17 Oct 2025 10:53:44 +0200 Message-ID: <20251017085344.2647058-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b="cR0gE/Ld"; spf=pass (google.com: domain of fm-1321639-20251017085410772e6378a90002073c-mcdo6p@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1321639-20251017085410772e6378a90002073c-MCDO6P@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= We already create multiarch variants of our recipes in case the host and target arch are not the same. However, this currently breaks when combining with PREFERRED_PROVIDERS, as no entries for the -native variantes are created. By that, bitbake bails out with the following error: Multiple .bb files are due to be built which each provide -native. We fix this by injecting the -native variants for all preferred providers as well (but only in case no explicit one is provided for the -native variant). This needs to be done after config parsing (hence in base.bblcass), as the PREFERRED_PROVIDERS are already used at recipe parsing time (where multiarch.bbclass is loaded). Fixes: 5a7c2f70 ("handle DPKG_ARCH=all case for transitive deps") Reported-by: Jan Kiszka Signed-off-by: Felix Moessbauer Tested-by: Jan Kiszka --- Note, that this can be tested on isar-cip-core, but requires the other fix in "image: Fix construction of do_image_tools dependencies" as well. meta/classes/base.bbclass | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 90fd570c..471442e5 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -62,6 +62,30 @@ def get_deb_host_arch(): HOST_ARCH ??= "${@get_deb_host_arch()}" HOST_DISTRO ??= "${DISTRO}" +# Inject the PREFERRED_PROVIDERs for multiarch variants. This corresponds to +# the multiarch_virtclass_handler logic in multiarch.bbclass, but needs to be +# done prior to recipe parsing. +def inject_preferred_providers(provider, suffix, d): + PP_PREFIX = 'PREFERRED_PROVIDER_' + if provider.endswith(suffix): + return + prefp_value = d.getVar(PP_PREFIX + provider) + if prefp_value and not d.getVar(PP_PREFIX + provider + suffix): + d.setVar(PP_PREFIX + provider + suffix, prefp_value + suffix) + +python multiarch_preferred_providers_handler() { + if d.getVar('HOST_ARCH') == d.getVar('DISTRO_ARCH'): + return + + pref_vars = {var: e.data.getVar(var) + for var in e.data.keys() + if var.startswith('PREFERRED_PROVIDER_')} + for p in pref_vars: + inject_preferred_providers(p.replace('PREFERRED_PROVIDER_', ''), '-native', e.data) +} +addhandler multiarch_preferred_providers_handler +multiarch_preferred_providers_handler[eventmask] = "bb.event.ConfigParsed" + die() { bbfatal "$*" }