From patchwork Tue Sep 17 07:00:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cedric Hombourger X-Patchwork-Id: 3822 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 17 Sep 2024 09:01:22 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-qt1-f188.google.com (mail-qt1-f188.google.com [209.85.160.188]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 48H71JDN003910 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 17 Sep 2024 09:01:19 +0200 Received: by mail-qt1-f188.google.com with SMTP id d75a77b69052e-458432fe9basf83588801cf.1 for ; Tue, 17 Sep 2024 00:01:19 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1726556473; cv=pass; d=google.com; s=arc-20240605; b=SjTR4Sg8OynoZohK9ZhAWZQ/Q0/uVJG+pgFEl7IygRae/n8H/QBXNvx88YUKNKCTiO SFBGpSfqCi0VOoU3cfVhppY6jNW3+RwmI5+kYVi0OlKetVQHYHUWmMHWSMYQkfsFeHxE PvycSnRNFuBmOPfoslzyplyts/GVY/+YGw9FAGfp1o2hv3o49hPimYEfujWoacXJzjgU D/unGJFnDBRaXUJKmT/zNAcHdurE6SBIvAX83yiuH1bI510pVWESo+BNomjeqEK5o99t jAvDMkqNynpPaEUhjE2rsaoJS0F1Clis6SPyxIXQxfpVKhwS5ljEivtuWP9FTxh+3nMG zRbg== 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=akVSalM/V8cdZHyOnW3CbFNphVHS2PXRqX4B7O7ve2g=; fh=J9Hlw6j8GIBN/nu7KnTzPfxJIwcSZOaxEaB3xz0+DD4=; b=hP2iqlN/oFp+z51/QPlu3OVyCPWqcsfKzXjurD6WkpJ3+1eNRDf/Nw94dF7onfiIQE B54F2EMZYG2HIOe0vcDBx0fiJi8IgupZK7nyEZZy7kguM59VhEJo1UqbZFEnYA+4w/tP 71qz7C/YLZ7oCp/3TvF4bf6RwaSgUJ/SZXhxZDZzQMuc60XazBpfPMEBOB839MRvyKHA fdFUYWcCI+reVsPOc25Hd8iVI2a7EXyvAWA+fKLQd3/1hSZE2/ADmnpbCI4aLDRR4/0L oHp0sDcfsIhCiPMeG5EdoEBBn1zOWXBNVbGKV9RIgFN9NpL3mhjVomGxKXqOSpH2Njj1 5S2g==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=lUf1Zak5; spf=pass (google.com: domain of fm-1212295-20240917070111af319376ebae3a036f-f9xsxa@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1212295-20240917070111af319376ebae3a036f-F9XsXA@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=1726556473; x=1727161273; 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=akVSalM/V8cdZHyOnW3CbFNphVHS2PXRqX4B7O7ve2g=; b=gBuSxLWv80HAUS92deQHMLIeFUa5YiIH0pU6rD9lN55/D5zpxe6YSxtAr2j4EeCOu4 sBMDL1yQR/FC/8MkD0e1nuvpJfcfu3DCirGFV80zEWjnxuK3UVZtzz20CEI7Zbp2jtJm A4c1XK55YKcgJOtxjcOEFgAa4rTY+067spi/rdPbGVhc/6S5nCSbJn+R62Dd0gfEcePw j+4up8M8DPE/9NEUPr1URVzajSDyh3hIF7ZBoY24rEUgjtvmsWMPXxk2dc/ZvYsGQHkb VnzKaPp0C7mYMplVxcKOIq5H9GPl4Z76VsW33DrDyCN9rZ4lm6ZFeq/x3PNGiVKp1bof TzrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726556473; x=1727161273; 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=akVSalM/V8cdZHyOnW3CbFNphVHS2PXRqX4B7O7ve2g=; b=CWZT3p2uMvSdwx+I99GyAiZL+E8ye36SZT1Db8mODD0Ru2RviikFFW5jICXMKUF9ud jKtU95YS7TCDtblFpZqHUNZ+2an/MeyTEQ/BJGj3yGkQSPWxAdL16o+VlCWzJyM0WCCt 719pCBzhjHgaZYAQUOx1PgKHvTyjiCrErRb8IdFyJ3lvwuTNEkEQYgV5fQbYhc4VDw45 QL500r+ROAe5/t5ECIJ4JpKSI23hmUN5jHBW4uaL5y2d6WKKSKUNu+FJBUAwv0ENNLkQ DF/vJ/qeNX8pEsihR86fwHB/wIYoZJ3BAggV64nRvVCbTuhSgPgWWjRHfNHRfaEUf8CF OinQ== X-Forwarded-Encrypted: i=2; AJvYcCXM5odqki1jSdiAl9iYKDLNHfUyh3CMmxcHygy2YYj9JJCoUiBv8CGaDzHeFNUGqkqxeYcxTwU=@isar-build.org X-Gm-Message-State: AOJu0YwleZBJudXWZQWZgc6t1QGAK/i2C6Z/ShQGJA9kS7ioHc4UdeLw TG6L0OtaFYv9SxZqOBjrLiiFSywL1lkLprAoRJPJ5xqiZZBz5gT8 X-Google-Smtp-Source: AGHT+IF85ITCGbK8RYoBQLT6st62cG24mkKsVGXwXgPAQaQvQMaB+gACCfR47ir7e45hynhxTA3eEg== X-Received: by 2002:a05:622a:4d1:b0:458:5fd0:964c with SMTP id d75a77b69052e-45860420b84mr289698701cf.50.1726556473227; Tue, 17 Sep 2024 00:01:13 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:622a:148a:b0:458:59e4:61f4 with SMTP id d75a77b69052e-4585fb6bec8ls63317561cf.2.-pod-prod-01-us; Tue, 17 Sep 2024 00:01:12 -0700 (PDT) X-Received: by 2002:a05:620a:470e:b0:7a1:e4e4:3a9e with SMTP id af79cd13be357-7a9e5efa32bmr2434520085a.21.1726556472543; Tue, 17 Sep 2024 00:01:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726556472; cv=none; d=google.com; s=arc-20240605; b=UIhFBwvgbp8h6D6y1d66i8rfRvd0DiDimkEWHhOsZ/QhnvJacOPbCu6OlbYASlzMi1 asIn8sBP9+s9QumqN4V9HhJL9Hzw6Mr5/tzovghaYbFLodcD/AeS6x3irQb+sFxIQo5x haVpLKah0rKg31tEexKgwzU0aRvm8AKjtE0DWlvXJqUQsKz22vSXRq3xzBSXDIpTRDDT VwctSpxQcfVY3j5dbCa55MX7WkvNoMxSsyEvSQ2OsI4waY2R1gnpHiBhEmmMaYrlP7iv m/49lZgpn53BcN/ycE8zTB9YtvmUSMLxrf/tFwXjQPeXWelKm2VpmebGvZJ+jQtwF0lC nO8A== 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=o2YltarjE9LLn+V1PI8gauDcLdq+O3zsFwYzFV6VJiE=; fh=1z37pEVhqwMLlkT4FDzOga7XBsM6Rzv6sXOq0pipxqo=; b=PDjArEhdyign0K0xyQSa2RUgh0S5+ncP4GUmBHjyH3WuvB0qFDlgGV/WvEX1zDgBtc 67NbtWsukhuaOsGRsRHrQrhM4sPgPA/zaZyvmo69+gsBKM2WjK8UZf98+zzb9swDRF0Q RpmiGRbXBVDJZH/eUbMWi6sGW2xdRJ39EoI+y/dniwOKRLwXsfVynWcLGmD74xdOBSl2 AchYvK0OrHYRujzPFRRn1Tv/Z7j4U9VucaKE3nxtSJww9RAhd2/dSXUV8fp0WVTuOcNr 34yZ814ZL1K0lJhiAJp8hAhlblsZQzzBLx/cc42XMISaicGDL8ELxNJjhAYJtelbinaF bmRA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=lUf1Zak5; spf=pass (google.com: domain of fm-1212295-20240917070111af319376ebae3a036f-f9xsxa@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1212295-20240917070111af319376ebae3a036f-F9XsXA@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id af79cd13be357-7ab3eb80006si24840985a.7.2024.09.17.00.01.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Sep 2024 00:01:12 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1212295-20240917070111af319376ebae3a036f-f9xsxa@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20240917070111af319376ebae3a036f for ; Tue, 17 Sep 2024 09:01:11 +0200 X-Patchwork-Original-From: "'Cedric Hombourger' via isar-users" From: Cedric Hombourger To: isar-users@googlegroups.com Cc: Cedric Hombourger Subject: [PATCH v2 1/2] multiarch: avoid separate builds when DPKG_ARCH is all Date: Tue, 17 Sep 2024 09:00:47 +0200 Message-Id: <20240917070048.577-2-cedric.hombourger@siemens.com> In-Reply-To: <20240917070048.577-1-cedric.hombourger@siemens.com> References: <20240917070048.577-1-cedric.hombourger@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1212295:519-21489:flowmailer X-Original-Sender: cedric.hombourger@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=lUf1Zak5; spf=pass (google.com: domain of fm-1212295-20240917070111af319376ebae3a036f-f9xsxa@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1212295-20240917070111af319376ebae3a036f-F9XsXA@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Cedric Hombourger Reply-To: Cedric Hombourger 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_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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?= Binary-independent packages (DPKG_ARCH == all) do not require separate builds for our special -compat and -native targets: extend PROVIDES for these cases. It should be noted that DPKG_ARCH is always set for all dpkg variants and defaults to "any" (only recipes setting DPKG_ARCH to all explicitly will be impacted). Signed-off-by: Cedric Hombourger --- meta/classes/multiarch.bbclass | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/meta/classes/multiarch.bbclass b/meta/classes/multiarch.bbclass index bb0f7983..9df8eefd 100644 --- a/meta/classes/multiarch.bbclass +++ b/meta/classes/multiarch.bbclass @@ -5,25 +5,39 @@ inherit compat python() { + pn = d.getVar('PN') + archDiffers = d.getVar('HOST_ARCH') != d.getVar('DISTRO_ARCH') + archIsAll = d.getVar('DPKG_ARCH') == 'all' + + def pn_multiarch_target(pn): + return pn.endswith('-native') or pn.endswith('-compat') + + def extend_provides(pn, provides, d): + if not pn_multiarch_target(pn): + all_provides = (d.getVar('PROVIDES') or '').split() + for p in all_provides: + if not pn_multiarch_target(p): + d.appendVar('PROVIDES', f' {p}-{provides}') + d.appendVar('PROVIDES', f' {pn}-{provides}') + # provide compat only when we can build it if isar_can_build_compat(d): - d.appendVar('BBCLASSEXTEND', ' compat') + # but do not build separately if architecture-independent + if archIsAll: + extend_provides(pn, 'compat', d) + else: + d.appendVar('BBCLASSEXTEND', ' compat') # build native separately only when it differs from the target variant - if d.getVar('HOST_ARCH') == d.getVar('DISTRO_ARCH'): - pn = d.getVar('PN') - if not pn.endswith('-native') and not pn.endswith('-compat'): - provides = (d.getVar('PROVIDES') or '').split() - for p in provides: - d.appendVar('PROVIDES', f' {p}-native') - d.appendVar('PROVIDES', f' {pn}-native') - else: + if archIsAll is False and archDiffers: d.appendVar('BBCLASSEXTEND', ' native') + else: + extend_provides(pn, 'native', d) # drop own -native build dependencies at recipe level if building natively # and not for the builder architecture depends = d.getVar('DEPENDS') - if depends is not None and d.getVar('HOST_ARCH') != d.getVar('DISTRO_ARCH') \ + if depends is not None and archDiffers \ and not bb.utils.to_boolean(d.getVar('ISAR_CROSS_COMPILE')): new_deps = [] for dep in depends.split():