From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7197016923412889600 X-Received: by 2002:a17:90a:ec14:b0:231:1da0:dfce with SMTP id l20-20020a17090aec1400b002311da0dfcemr244878pjy.3.1677828669502; Thu, 02 Mar 2023 23:31:09 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:902:f7c2:b0:19c:b41a:3d75 with SMTP id h2-20020a170902f7c200b0019cb41a3d75ls2232106plw.7.-pod-prod-gmail; Thu, 02 Mar 2023 23:31:08 -0800 (PST) X-Google-Smtp-Source: AK7set//ZZUr+rOUrLxvu21i5mOEYRWqvnEEFnpoDSdGoogppmTLf0vvsC2nYY6jI884vjrJli8Q X-Received: by 2002:a17:90b:3886:b0:234:1645:5266 with SMTP id mu6-20020a17090b388600b0023416455266mr713740pjb.30.1677828668261; Thu, 02 Mar 2023 23:31:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677828668; cv=none; d=google.com; s=arc-20160816; b=N6b6EOmL1enElOjVSiv44oHPOBX7ObUQv30PlEFNq95Dyi0RWPxsCFNMRLLMzKnTbg 1rw1cPziM2fVXkErmf4BUfcT8RwqagzLomjCXSeg1wxyt8W4mPv4IKA1VOAStJ0YbVPH iYoeBiscbuV5m/r6x0vLuhVWXqp3/RQN7nc32CIZVjQmDb9MRVRVAg3tSb2/EjliWQaK hkfAYScrOLSxg3zYRxsqhJdv5UlXg/ZEi8+pQFqCSimLv/+pp6zpl0Ze84WzkqikTF6v WjWXBaAOYpBn3FS6wk9Ahb4IGWPBTlsz8yhUs2bCHELLumERZQ9bNklf5GdW2xMJHvQ3 YEAg== 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:cc:to:from; bh=liPvzIWeiQE3rgr9QuQJJo9CknEMhMz4JKN24ItP4GM=; b=E5kOoadAVSGRmsSmloDzknYOiF1wCTVbQ5yTdWn9cbzqtU5rtSqbY6WU/vZjXjnVDS dEAAbAdgZCGA2Bd3S2VJe7irvO2D4QZnGJmZa1O7VGcGxUyVw2J5PyaoY3pJI4SY4yVc y9OYPlIrsRHPfklOmYVeL7jg9m7sLY0wdBpBZLoIDXrONVxmqNEqtEG+ASnJM58HDjak 9BFNKdUT0M4FSKV0ibVN2SKs2SOnGSponM9xl9xLx/0XLM3rUP1NPvxclfYkRmUaKr1t lDaXytoNhC2qvfFv+eYvdp37NoOn+ftBjfG+A59o5CtZJM7jY2Uc0k46H1MOv0QW94r5 KfJw== 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 k36-20020a17090a3ea700b002347fe543c0si311529pjc.1.2023.03.02.23.31.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 02 Mar 2023 23:31:08 -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 hp.localnet (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 3237V12d027689 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 3 Mar 2023 08:31:03 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com, jan.kiszka@siemens.com Cc: Adriaan Schmidt Subject: Re: [PATCH v3 0/4] multiarch support Date: Fri, 03 Mar 2023 10:31:02 +0300 Message-ID: <5512759.ZASKD2KPVS@hp> In-Reply-To: <20230224142432.3767746-1-adriaan.schmidt@siemens.com> References: <20230224142432.3767746-1-adriaan.schmidt@siemens.com> 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: fbdXKzG/9lOs In mail from Friday, 24 February 2023 17:24:28 +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. > > Regarding testing of the new features: > - we have (limited) testing of compat, by adding `hello-isar-compat` to > amd64 and arm64 builds. > - currently no testing of native. There are two main use cases for the > feature: - SDK that needs `-native`. This could be turned into a > test easily, by setting/appending SDK_INSTALL. Would require a new option > in testsuite, similar to `image_install` introduced in 57a0ade9a. - A build > tool that is provided by a recipe, when using it in cross compilation. E.g. > if someone needed a patched cmake, they would write cmake.bb, and > applications that need it would (in case cross compilation is enabled) > DEPEND+="cmake-native". Or, another real-world example from a downstream > layer: packaging applications with goreleaser, which is not found in the > Debian apt repos. Instead, I'm fetching it via a dpkg-prebuilt recipe, > written to support multiple architectures (architecture is part of the > download URL). Now if I want to cross compile go applications, they > DEPEND+="goreleaser-native", and DEBIAN_BUILD_DEPENDS_append=", > goreleaser:native". > These cases are more complex, but maybe we can find an example along > those lines and add it to meta-isar. > > As testing of the native feature would (in the simple case) need an > extension of the test classes (for SDK_INSTALL), or introduce something > completely new into meta-isar, I'd like to do that after discussion, in > a later series. > > Adriaan > > changes since v2: > - fixed a bug that completely broke things for targets without a compat > arch (e.g., i386). The compat variant of packages is now only available > when it can actually be built. > - the native variant is only generated if it differs from the target. > If DISTRO_ARCH==HOST_ARCH, then `-native` is automatically > provided by the target package. > - also do the bitbake-target->debian-package transformation on SDK_INSTALL > - fix compat packages in testsuite: when we add hello-isar-compat, we > need to remove hello-isar. > > 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 | 40 +++++++++ > meta/classes/debianize.bbclass | 2 +- > meta/classes/dpkg-base.bbclass | 1 + > meta/classes/image.bbclass | 4 +- > meta/classes/multiarch.bbclass | 88 +++++++++++++++++++ > meta/classes/native.bbclass | 10 +++ > meta/classes/sdk.bbclass | 2 +- > meta/conf/bitbake.conf | 6 +- > .../isar-bootstrap/isar-bootstrap.inc | 2 + > .../sbuild-chroot/sbuild-chroot.inc | 14 +-- > testsuite/cibuilder.py | 4 + > 15 files changed, 174 insertions(+), 26 deletions(-) > create mode 100644 meta/classes/compat.bbclass > create mode 100644 meta/classes/multiarch.bbclass > create mode 100644 meta/classes/native.bbclass The patchset passes CI (there was a delay in testing due to internal problems with it) and is ready for merge. I'd like just to remind that Jan requested mentioning changes in RECIPE-API- CHANGELOG, not only in user_manual. If this point is still valid, we need v4; if not, we could proceed with patchset merge.