From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6868613252732944384 X-Received: by 2002:a19:e54:: with SMTP id 81mr3960726lfo.178.1599734054122; Thu, 10 Sep 2020 03:34:14 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ac2:5c44:: with SMTP id s4ls947740lfp.3.gmail; Thu, 10 Sep 2020 03:34:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwaKiyl5FPXgIxpoTFqjZTAee00JVounQGxFnysZMbZzdbr9D7E5QvgGu5MsFiyQzNH5AdQ X-Received: by 2002:ac2:48b2:: with SMTP id u18mr3856987lfg.185.1599734052986; Thu, 10 Sep 2020 03:34:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599734052; cv=none; d=google.com; s=arc-20160816; b=q3f7AdJHQgmeGboboFsqgxEJCvRxyWeGVee0inltwo6kzAO2qgmB4013Ns15Upg027 9ilpy3Mbr6iWp8IBgKbXicH4jD2Lc7dMN0rRYT+Jf5FzRw88EUltWPZCFqpPz+1imfuF Q3PSekckdqxMTg0xWPblPevHXMT+qrN12o1gqQ1S3PxfxfE5gfTcpx6LOhiTcBZ1fFsX 0XPgramM8UufpvVOX4QPWyGFYpw3/KU9y+gQwjrLazmQVHixtetAM/JhQ4XcGncuq+ys 3RHPa6/7FX9VwAyGNfi3sgzWt0rl5LpLo5ELE0jc08BGyPcovUiSd0DKRNMVWlIlzbMN pVyw== 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:subject:cc:to:from:date; bh=W9bAYoRpFrLAg4kpcQCr8rTGjS5yxxw9ONZcMqN+OO4=; b=y3gE2bJDTSiFLzL+hZzPON4dpaacYbxp5rBI9Lauq/FtzhFbWz/LaMkICkOArZpmNS 9I/beNCE+zO7Ft5xmT0RHYG2JcZRDkpVap1dARNAhj4OGPpCrx2NmiS5NIn6mEV6hF4S ZAr6eRTgzvqSYjFfo3LR5CBFYVqeYW4vsMybug5hWdCqkfr04RuJd/wCsVkHmvREAEAp XATEft0JHOSLkSlaYhu5TTbwcj1eZsdBZdM1Lb2WlUPnrIbzwCSs9416+NLRSZUI0+l+ Zrb2d1jj4+PX2NANvPj3aYyfTTpzmXtVHD4uaTJkASLKisgx8tKEuGHZ7lcsraw3Y74n l5/A== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id k10si243409ljj.0.2020.09.10.03.34.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 Sep 2020 03:34:12 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id 08AAYCgX001385 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 10 Sep 2020 12:34:12 +0200 Received: from md1za8fc.ad001.siemens.net ([139.22.35.97]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 08AAYBki022053; Thu, 10 Sep 2020 12:34:11 +0200 Date: Thu, 10 Sep 2020 12:34:11 +0200 From: Henning Schild To: Jan Kiszka Cc: isar-users Subject: Re: [PATCH 2/2] ci: Add compat arch support Message-ID: <20200910123411.541e518e@md1za8fc.ad001.siemens.net> In-Reply-To: References: <64fa79e829f2b29553b2baedabc766f7ec3ef230.1599223641.git.jan.kiszka@siemens.com> <20200909154442.1241936f@md1za8fc.ad001.siemens.net> <141bba40-5a5e-dda8-87b1-979a735b9d5d@siemens.com> X-Mailer: Claws Mail 3.17.6 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: i9a2DWFEaK5k Am Thu, 10 Sep 2020 08:54:00 +0200 schrieb Jan Kiszka : > On 10.09.20 08:51, [ext] Jan Kiszka wrote: > > On 09.09.20 15:44, Henning Schild wrote: > >> On Tue, 8 Sep 2020 10:53:58 +0200 > >> "[ext] Jan Kiszka" wrote: > >> > >>> On 04.09.20 14:47, [ext] Jan Kiszka wrote: > >>>> From: Jan Kiszka > >>>> > >>>> Build hello-isar and libisar for the compat arch if that is > >>>> enabled. Set ISAR_ENABLE_COMPAT_ARCH for all supported > >>>> combinations in CI. > >>>> > >>>> Signed-off-by: Jan Kiszka > >>>> --- > >>>> meta-isar/recipes-app/hello-isar/hello-isar.bb | 3 +++ > >>>> meta-isar/recipes-app/libhello/libhello.bb | 3 +++ > >>>> scripts/ci_build.sh | 6 ++++++ > >>>> 3 files changed, 12 insertions(+) > >>>> > >>>> diff --git a/meta-isar/recipes-app/hello-isar/hello-isar.bb > >>>> b/meta-isar/recipes-app/hello-isar/hello-isar.bb index > >>>> 144a433e..8c3ba8b2 100644 --- > >>>> a/meta-isar/recipes-app/hello-isar/hello-isar.bb +++ > >>>> b/meta-isar/recipes-app/hello-isar/hello-isar.bb @@ -20,4 +20,7 > >>>> @@ SRC_URI = " \ > >>>> file://yet-another-change.txt;apply=yes;striplevel=0" SRCREV = > >>>> "a18c14cc11ce6b003f3469e89223cffb4016861d" > >>>> +# NOTE: This is just to test 32-bit building on 64-bit archs. > >>>> +PACKAGE_ARCH_compat-arch = "${COMPAT_DISTRO_ARCH}" > >>>> + > >>>> inherit dpkg > >>>> diff --git a/meta-isar/recipes-app/libhello/libhello.bb > >>>> b/meta-isar/recipes-app/libhello/libhello.bb index > >>>> ab271b58..5c44de50 100644 --- > >>>> a/meta-isar/recipes-app/libhello/libhello.bb +++ > >>>> b/meta-isar/recipes-app/libhello/libhello.bb @@ -13,4 +13,7 @@ > >>>> PV = "0.1-98f2e41" SRC_URI = > >>>> "git://github.com/ilbers/libhello.git;protocol=https;destsuffix=${P}" > >>>> SRCREV = "98f2e41e7d05ab8d19b0c5d160b104b725c8fd93" > >>>> +# NOTE: This is just to test 32-bit building on 64-bit archs. > >>>> +PACKAGE_ARCH_compat-arch = "${COMPAT_DISTRO_ARCH}" > >>>> + > >>>> inherit dpkg > >>>> diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh > >>>> index d2c707b8..461fd5cc 100755 > >>>> --- a/scripts/ci_build.sh > >>>> +++ b/scripts/ci_build.sh > >>>> @@ -139,6 +139,12 @@ if [ ! -d "$BUILD_DIR" ]; then > >>>> fi > >>>> source isar-init-build-env "$BUILD_DIR" > >>>> > >>>> +cat >>conf/local.conf < >>>> +ISAR_ENABLE_COMPAT_ARCH_amd64 = "1" > >>>> +ISAR_ENABLE_COMPAT_ARCH_arm64 = "1" > >>>> +ISAR_ENABLE_COMPAT_ARCH_debian-stretch_amd64 = "0" > >>>> +EOF > >>>> + > >>>> if [ -n "$CROSS_BUILD" ]; then > >>>> sed -i -e 's/ISAR_CROSS_COMPILE ?= "0"/ISAR_CROSS_COMPILE ?= > >>>> "1"/g' conf/local.conf fi > >>>> > >>> > >>> This triggers a problem: > >>> > >>> In a multiconfig setup like our CI, building the 32-bit package > >>> from both the native 32-bit arch as well as the 64-bit arch now > >>> races. If the 64-bit arch tries to install its self-built compat > >>> package, that may just be under re-deployment by the 32-bit arch, > >>> and the build fails. > >>> > >>> Options: > >>> - somehow express that both archs provide the same package > >>> (though that may defeat the purpose of testing the compat build) > >> > >> The purpose is that people want to use compat because they have > >> just one image. > > > > Well, one could imagine building a legacy application for both an > > old ARMv7 device as well as for a new ARMv8 design. All that in one > > build run (mc:...). Then the user would have to express that > > my_beloved_legacy_app is actually a dependency that only needs to be > > built once, and it would not matter if that is done by the armhf > > buildchroot or via compat by the arm64 one. > > > > I think I know the answer for our testing scenario: call the the > compat-variant of hello-isar "hello-isar-compat" and request that > package in the 64-bit image. Then both build paths are stressed, and > everyone gets what is desired. If you manage to just rename it on the bitbake side ... maybe. Think about a compat rebuild of a lib where you want to keep using debian packages using that shared lib and not mess with all deps. You would also create conflicting packages if you rename in debian. Henning > Let me try that later... > > Jan > > >> > >>> - split isar-apt per arch, not just per distro > >> > >> But would the compat not need to include both now, and the mc enemy > >> would still mess with one of them? > > > > We would have isar-apt/apt/debian-buster-armhf, debian-buster-arm64 > > etc., but all of them able to carry packages for any arch. > > > >> > >> - better/more locking around isar-apt readers and writers > >> > > > > Nope, that would only paper over the fact that a package is built > > twice and the one to be used would be chosen by chance. Bad for > > reliable testing. > > > > Jan > > > >>> Suggestions? > >> > >> Well one thing ... but i do not want to repeat myself ... > >> > >> Henning > >> > >>> Jan > >>> > >> > > >