From patchwork Wed Aug 20 12:41:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4299 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 20 Aug 2025 14:42:13 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f59.google.com (mail-lf1-f59.google.com [209.85.167.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 57KCgDKI030249 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 20 Aug 2025 14:42:13 +0200 Received: by mail-lf1-f59.google.com with SMTP id 2adb3069b0e04-55ce5255696sf2352971e87.2 for ; Wed, 20 Aug 2025 05:42:13 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1755693728; cv=pass; d=google.com; s=arc-20240605; b=e4ll0XRIN9YK/bpFqoWU9yrdVsv4Y4Kr7z6gk6jInpxxPT5DM7sKmtj7XsBfv8jGPn 75DutBqNO+Fij1j0fMmsZb07IVWyAm4cRAsWygCiMU5MhV4XyjNqb9WtAW80ILV3x1pQ 8DH8uPqKXizZ2mx/J+Q0ByKOJ6EhFYmsUFevkaht8KR5C4ZHRUOo9tGVAamllgPTYFjv ACEwIHSzC+peO8IlVqBunEkOCd03aVZsBciXlNr3QCz8JEjDTchgldzOdYXwyGYQBI4L N9Rbeyf34P+WOnx/S2szL4opcYaLYB6DO3SRpn4d96uX3aQczWsq817CJ/f0GX4YVzVY R6UA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ub87eTgQIJktMdK9yD0YmwvKgpOfdV+PiUHFgS6ezqQ=; fh=6EUQYut45emLICHk/VATR00KiXr/vXtPfRzLllpN2wI=; b=Pq4Wb+Ra3UhGZPW51BQSjHzRvvElq/1EVdmza/2wP2w1YTpfv9l8x88qPxtj0E9PGQ wGsSdyAlPWmvKZCXr/NQ6feUv+iL87225OKev7dLNWakXWLtkskMBbLQP33sb2n9mggz vs1PfAQheyb2miXw1RMzfYHTOPmZMdv/mMQoQOthrUN/Ct8r7fmRIN0zR/jW+4V/CBlH UDfrRn6KO5BWCnxSlcKpAuJ2maiHHhMv6LSjSc2AqXbsTpBSrFnaV7jRVUeMTU/d5EbZ abMJCJnBd6JXusSPPXgFikN/55cCa/EnzlDYILmG03r7+ikdNYfpylWkSmy3JkE3G1JJ p/lA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=a+q1jVp+; spf=pass (google.com: domain of fm-1321639-2025082012420189e0e330f2f82afc06-oxxehb@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-2025082012420189e0e330f2f82afc06-OXXehb@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=1755693728; x=1756298528; 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:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=ub87eTgQIJktMdK9yD0YmwvKgpOfdV+PiUHFgS6ezqQ=; b=FycdbeAcrmPRJMaWnEpJ94IPGxKPNiq4y3c5CQyuB671esguHaHWAy2iqIG1G4eWp+ x7MwLrdmevSVbFfhod0EsvdUyFdtbBn7Sk/Il5Lws4izu2twf0cnxsmZHKOkfyIimU7l j7dPE2ZhGltkk7pE9ghJpwqWqZ/hPpv3ZdoszRw3r76i2xkYOCpVh30r8GbcTunei5r3 9On0k2RSpLBvHdj2HCZ+J/zQ308iiKzOGKzS0n+eck7xBDejLBanKd6ADBu9PwSFxD7A 80Wt+f30ZpqCXJ73jJ99rqX8JZh1T52D9gsDO5ebHluWgp9J+6uQ+eYwWgMm5qz9Kg/n GzXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755693728; x=1756298528; 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:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ub87eTgQIJktMdK9yD0YmwvKgpOfdV+PiUHFgS6ezqQ=; b=FWwIeDI1xlie6TOn9rbrR44DTpMAuHwmolalVYYL7JQA9cKOOWGSFlPmaUBca+x/s7 xCyNQvptCnhyHXSi50NfAjqpMJOFauBmNKVrIE10PPX9+ZB9Yq0qAMy7xUaMTmTe9FC/ rrBLWAz+lICY3oMIQJKydHAbBYDCRhG2JocJ4OqMZe8KnBuDsH0y3fQNP/2EzC9SzC9R R7UZdl/fX8z7O5mersCUXdZMzH6HaPUEBaxz6vtSGPpu4rNy5wmELAH5018t64YahRhr rvkkcxF5oNEyUS7VaMLMH2XuSPBnVLbWkBW3JaAJXPP7HgW68ycd4wOHl4CfQnB3pSaO XH9w== X-Forwarded-Encrypted: i=2; AJvYcCWopwKBFNGKh/T1lLcw9yUmWeWzcftOmX2LCNr7SXJmhaDxwzkQl54IYT4pLFgsdosE3dSRWL4=@isar-build.org X-Gm-Message-State: AOJu0YyISnnYReeQEAXdkw73Za7Xdv3jBoEQF2vueJ7AIEgfwxxH0vDE OMDJRcX9oXjT5ZHhn/eBub5k+yacKr40eD8oham3iy8FBGyXVo6ilhhE X-Google-Smtp-Source: AGHT+IFAaNGiCHw2sJ5hSB3d7z2OjYIgNMUUuxNn7GSNGiX+QDVTezlGJrtyCX5MdXnwL1QA31cRmg== X-Received: by 2002:ac2:4cb1:0:b0:55b:760d:c2f5 with SMTP id 2adb3069b0e04-55e06bd3618mr640509e87.33.1755693727153; Wed, 20 Aug 2025 05:42:07 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=AZMbMZctvPrA5YlZH/2+WKyOSfFqOaPfuasQz/sZ6NGoMpTpEw== Received: by 2002:a05:6512:b8d:b0:553:d125:e081 with SMTP id 2adb3069b0e04-55ce4b34b69ls2111798e87.2.-pod-prod-03-eu; Wed, 20 Aug 2025 05:42:03 -0700 (PDT) X-Received: by 2002:a05:6512:6ca:b0:55b:81cb:9e5d with SMTP id 2adb3069b0e04-55e06c210c0mr771871e87.52.1755693722848; Wed, 20 Aug 2025 05:42:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1755693722; cv=none; d=google.com; s=arc-20240605; b=bTSx+ldO1ZK5IGIyzkAEYgUFtw75A07ONkuV4ma4igxa/N+6Ry50a4FQn6x9Gwwaeo fW1dMFdEzj7CkdRNezr9CfHyWK98sqcsKDT+kLKeQzfdDKW9mAxFYMOMtFcAdRpPlNpO nZjVmjLL0yPB/0LyEfE2uTKVqLHEDw6d6o9kQQT1nen80s+fDna+R+XHxHSF9qdR3iO3 y05Xrh8kJ80EcNvjxk7KV3XBLzBy4bUoSBVwzmefC2n4rgvkM82+Ujm7bqJrGbBc0R/q 3/dYg1wpBWny22bRts4H2nHCHf2gCdZYIKSAwf2n1ahmqzyd0FpA1KzsqwkTyINEfNEL PecA== 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:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=5PWWcyG+0NPK7I1rF9dK5uV4fADyqmdwuy2XT4rc0Tg=; fh=9W54SAuVNVfrUAv2wiLSiKfHy84Glsc+UnTBkn/gxws=; b=clwz400RksaPxQs4BvC+CXSJf1AWOu6BpE0TxPFartDwrGLc7TI3XYREEJG81RicIt ycqkDbrLtFD1t8ZfjYhB3/ObCEboDZ+y8R3l6FqOgE/A+mcAL0RyylSDJG0aP+dii2ZB kRhhXFhZPjd9feEZycP8GMTsxPCOhewmiHp3T+OAnEy/wolEB4BDRLKpyJWWMtZAidQ0 h5KvLRnUrcJ5D7K5ekvjoi7FcxZNZPZsSbvMZL3XGHoDh8Vps13N83ymmJc9HjEyHxqF rNGEXa9nHiu2Txj2LnYswM3blrOWGICdh7BlOG1O+EknudBLamV84mDYEFxOiqmAQEqW xPIw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=a+q1jVp+; spf=pass (google.com: domain of fm-1321639-2025082012420189e0e330f2f82afc06-oxxehb@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-2025082012420189e0e330f2f82afc06-OXXehb@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-3340a383a53si2785341fa.1.2025.08.20.05.42.02 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Aug 2025 05:42:02 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1321639-2025082012420189e0e330f2f82afc06-oxxehb@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 2025082012420189e0e330f2f82afc06 for ; Wed, 20 Aug 2025 14:42:01 +0200 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, cedric.hombourger@siemens.com, adriaan.schmidt@siemens.com, christoph.steiger@siemens.com, Felix Moessbauer Subject: [PATCH 2/2] handle DPKG_ARCH=all case for transitive deps Date: Wed, 20 Aug 2025 14:41:40 +0200 Message-ID: <20250820124140.281190-3-felix.moessbauer@siemens.com> In-Reply-To: <20250820124140.281190-1-felix.moessbauer@siemens.com> References: <20250820124140.281190-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=a+q1jVp+; spf=pass (google.com: domain of fm-1321639-2025082012420189e0e330f2f82afc06-oxxehb@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-2025082012420189e0e330f2f82afc06-OXXehb@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?= Arch=all packages might build depend on other arch=all packages, hence we need to correctly model the dependency chain. Otherwise the transitive dependencies are built for the distro arch instead of the native arch. We implement this by dispatching the non-native variant of DPKG_ARCH=all packages to the -native variant by adding a dependency. We further replace the non-native do_deploy_dep task with a noop to preserve the dependency chain. Co-developed-by: Adriaan Schmidt Signed-off-by: Felix Moessbauer --- meta/classes/multiarch.bbclass | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/meta/classes/multiarch.bbclass b/meta/classes/multiarch.bbclass index babdfbd4..c2bba21f 100644 --- a/meta/classes/multiarch.bbclass +++ b/meta/classes/multiarch.bbclass @@ -29,7 +29,11 @@ python() { d.appendVar('BBCLASSEXTEND', ' compat') # build native separately only when it differs from the target variant - if not archIsAll and archDiffers: + # We must not short-circuit for DPKG_ARCH=all packages, as they might + # have transitive dependencies which need to be built for -native. + # This special handling for DPKG_ARCH=all packages is left to the + # multiarch_virtclass_handler + if archDiffers: d.appendVar('BBCLASSEXTEND', ' native') else: extend_provides(pn, 'native', d) @@ -86,6 +90,8 @@ python multiarch_virtclass_handler() { d.setVar(var, ' '.join(multiarch_var)) pn = e.data.getVar('PN') + archDiffers = d.getVar('HOST_ARCH') != d.getVar('DISTRO_ARCH') + archIsAll = d.getVar('DPKG_ARCH') == 'all' if pn.endswith('-compat'): e.data.setVar('BPN', pn[:-len('-compat')]) e.data.appendVar('OVERRIDES', ':class-compat') @@ -96,6 +102,16 @@ python multiarch_virtclass_handler() { e.data.appendVar('OVERRIDES', ':class-native') fixup_pn_in_vars(e.data) fixup_depends('-native', e.data) + elif archIsAll and archDiffers: + # Arch=all packages might build depend on other arch=all packages, + # hence we need to correctly model the dependency chain. + # We implement this by dispatching the non-native variant to the -native + # variant by adding a dependency. We further replace the non-native + # do_deploy_dep task with a noop to preserve the dependency chain. + e.data.setVar('do_deploy_deb', '') + bb.build.deltask('deploy_deb', e.data) + bb.build.addtask('deploy_deb', 'do_build', '', e.data) + e.data.setVarFlag('do_deploy_deb', 'depends', f'{pn}-native:do_deploy_deb') } addhandler multiarch_virtclass_handler multiarch_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise"