From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7197016923412889600 X-Received: by 2002:a05:6808:11cd:b0:37d:7bc3:b425 with SMTP id p13-20020a05680811cd00b0037d7bc3b425mr926125oiv.145.1677088913737; Wed, 22 Feb 2023 10:01:53 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6830:309a:b0:690:d198:4d74 with SMTP id g26-20020a056830309a00b00690d1984d74ls933341ots.2.-pod-prod-gmail; Wed, 22 Feb 2023 10:01:53 -0800 (PST) X-Google-Smtp-Source: AK7set/yQEt1hWRLcRI4kORdFbkzlBLe9quoZV22L3lw/MLgdAUtfmOCLzLcYm8C0tYHNrkLmVbX X-Received: by 2002:a05:6830:44a8:b0:68d:53d5:f7d2 with SMTP id r40-20020a05683044a800b0068d53d5f7d2mr309095otv.31.1677088912970; Wed, 22 Feb 2023 10:01:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677088912; cv=none; d=google.com; s=arc-20160816; b=EYMB8lgsyLnPYogjFLu2NXOrbyPitshRFDy6LiOFR/UFcDrQrEUXSy3OOK1h1wGeIJ 6z+K/3xEYxUuVLb4GdUu244LIdcuzhfUkv43u6qRCOSWKQTdiGowFZVLEe/t9VhOHCLb MnmsaglG4RkKf+V9BYDE21cRT7u6hZD2Cb5zfpAle0PJ8Jua0o2mDUcnmAX01J1rJVET KSpN6Ba2qcsmkFJARcP/+IvRVqfD/nNoJcyKP3yX0nLPctcBVCMI/z6s2x3I3SSkcz5N dxL/AvAhlOTfCrm0k0b3kX62w6k67fyyVT4wM2knknbUIPWM65ezZoV7RhkivQFp7Hhi fzmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=pRurrWXouymyVF81wkq3C+N+fGFYKQMKwY10F0sVFUM=; b=tMrR9Ylj+EMisQIq6OaU9cXCsNweTvDAmN5wfZ2rcHfRQ/6RRLO1wqEeFSggID/Xvo SqlA5ZjHJD9qYsF1EIIKcGHkKE5cO7R/yPW4cp7GQldziWaW0Zi5DOyOGL3nbWq8Vvqw AkKBsyn3XoLzcxwZCimK03RZT1Js+VyC4Ja4342sr0SE5NHFH7oRnJiKEJ1ww0BRNmu6 /mRh0XwRyT4pUn2sVme52Gtz4VCgrNjPB9hH/fedrIN3wp2pLO+RD6PKfd1yRGty9YXH 0eBslq9g66LwdEXlm3La7BD2aPT3JMim9alfTLyDaumrlsOt/ccHpxAKb5qyJOB8g1k5 tXXw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id e24-20020a05610211f800b00414920ce3d2si639973vsg.2.2023.02.22.10.01.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 22 Feb 2023 10:01:52 -0800 (PST) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from home.localnet (44-208-124-178-static.mgts.by [178.124.208.44] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 31MI1ohI017035 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 22 Feb 2023 19:01:50 +0100 From: Uladzimir Bely To: "isar-users@googlegroups.com" , "Schmidt, Adriaan" Subject: Re: [PATCH v2 0/4] multiarch support Date: Wed, 22 Feb 2023 21:01:51 +0300 Message-ID: <5500067.IbC2pHGDlb@home> In-Reply-To: References: <20230220090511.2524881-1-adriaan.schmidt@siemens.com> <2086448.9o76ZdvQCi@home> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED 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-TUID: 4Rnr7Pr80kv0 In the email from Wednesday, 22 February 2023 20:27:28 +03 user Schmidt, Adriaan wrote: > Uladzimir Bely , Mittwoch, 22. Februar 2023 14:41 > > In the email from Monday, 20 February 2023 12:05:07 +03 user Adriaan Schmidt > > wrote: > > > This adds `-compat` and `-native` bitbake > > > targets to all recipes inheriting dpkg-base. > > > > > > The new -compat build variant replaces the old compat mechanism. > > > Note that `ISAR_ENABLE_COMPAT_ARCH="1"` is still required to > > > ensure that the bootstrap and buildchroot is prepared correctly. > > > > > > Adriaan > > > > > > changes since v1: > > > - fixed an issue that prevented arch overrides of > > > ISAR_ENABLE_COMPAT_ARCH, which is used in testsuite > > > - added `-native` expansion to contents of IMAGE_INSTALL > > > - documentation in user_manual > > > > > > Adriaan Schmidt (4): > > > bitbake.conf: use PACKAGE_ARCH in overrides > > > add multiarch support > > > remove obsolete compat-arch override > > > doc: add compat/native targets to user manual > > > > > > doc/user_manual.md | 19 +++-- > > > .../recipes-app/hello-isar/hello-isar.bb | 3 - > > > meta-isar/recipes-app/libhello/libhello.bb | 3 - > > > .../recipes-app/samefile/samefile_2.14.bb | 2 +- > > > meta/classes/compat.bbclass | 46 ++++++++++++ > > > meta/classes/debianize.bbclass | 2 +- > > > meta/classes/dpkg-base.bbclass | 1 + > > > meta/classes/image.bbclass | 4 +- > > > meta/classes/multiarch.bbclass | 71 +++++++++++++++++++ > > > meta/classes/native.bbclass | 10 +++ > > > meta/conf/bitbake.conf | 6 +- > > > .../isar-bootstrap/isar-bootstrap.inc | 2 + > > > .../sbuild-chroot/sbuild-chroot.inc | 14 ++-- > > > testsuite/cibuilder.py | 2 + > > > 14 files changed, 160 insertions(+), 25 deletions(-) > > > create mode 100644 meta/classes/compat.bbclass > > > create mode 100644 meta/classes/multiarch.bbclass > > > create mode 100644 meta/classes/native.bbclass > > > > Didn't look too deeply into the problem, but CI completely fails with the > > patchset, producing multiple errors like: > > > > 16:29:04 ERROR: /workspace/build/isar_ub_devel_2_fast/125/meta-isar/recipes- > > app/cowsay/cowsay_git.bb: armhf does not have a compat arch > > 16:29:04 ERROR: /workspace/build/isar_ub_devel_2_fast/125/meta/recipes- > > support/sshd-regen-keys/sshd-regen-keys_0.4.bb: i386 does not have a compat > > arch > > Ah yes, of course I only tested the cases where a compat arch exists... > > I looked into this, and this error (or the check that prints it) happens at > parse time. That's not good, because `*-compat` variants of recipes are > always parsed, whether someone wants to build them or not. > > I have found two ways of solving this: > > 1. If compat cannot be built (either because ISAR_ENABLE_COMPAT_ARCH is not set, > or because there is no COMPAT_DISTRO_ARCH), don't provide the `*-compat` build targets. > Then a `bitbake hello-compat` would fail with: > === > builder@022f45995a49:/build$ bitbake hello-compat > Loading cache: 100% |####################################################################################| Time: 0:00:00 > Loaded 113 entries from dependency cache. > Parsing recipes: 100% |##################################################################################| Time: 0:00:00 > Parsing of 45 .bb files complete (6 cached, 39 parsed). 80 targets, 0 skipped, 0 masked, 0 errors. > ERROR: Nothing PROVIDES 'hello-compat' > === > > 2. Alternatively, I can check when actually starting the build. The best I could find > is prepending `do_fetch`, and then we would fail like this: > === > builder@022f45995a49:/build$ bitbake hello-compat > Loading cache: 100% |####################################################################################| Time: 0:00:00 > Loaded 113 entries from dependency cache. > Parsing recipes: 100% |##################################################################################| Time: 0:00:00 > Parsing of 45 .bb files complete (8 cached, 37 parsed). 113 targets, 0 skipped, 0 masked, 0 errors. > NOTE: Resolving any missing task queue dependencies > Initialising tasks: 100% |###############################################################################| Time: 0:00:00 > Sstate summary: Wanted 1 Local 0 Mirrors 0 Missed 1 Current 2 (0% match, 66% complete) > NOTE: Executing Tasks > ERROR: hello-compat-1.0-r0 do_fetch: i386 does not have a compat arch > ERROR: Logfile of failure stored in: /build/tmp/work/debian-bullseye-i386/hello-compat/1.0-r0/temp/log.do_fetch.83315 > ERROR: Task (virtual:compat:/build/../repo/meta-isar/recipes-app/hello/hello.bb:do_fetch) failed with exit code '1' > NOTE: Tasks Summary: Attempted 21 tasks of which 19 didn't need to be rerun and 1 failed. > > Summary: 1 task failed: > virtual:compat:/build/../repo/meta-isar/recipes-app/hello/hello.bb:do_fetch > Summary: There was 1 ERROR message, returning a non-zero exit code. > === > > I strongly prefer (1.) because it fails earlier, before any tasks start running. > The downside is that we can't give a more detailed explanation why we're failing. > > Any preferences? > > Adriaan > It seems (2.) also fails early enough, but we have to wait for debootstrap parallel tasks finished. So I'm for (1.).