From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7280073785777061888 X-Received: by 2002:a1c:7211:0:b0:405:367d:4656 with SMTP id n17-20020a1c7211000000b00405367d4656mr4624274wmc.29.1696005408147; Fri, 29 Sep 2023 09:36:48 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:1c24:b0:406:3d91:85e7 with SMTP id j36-20020a05600c1c2400b004063d9185e7ls215264wms.2.-pod-prod-01-eu; Fri, 29 Sep 2023 09:36:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHDRfKKXqQVP4kRsyKQKYFGoANGE1ctMcNKyjBrczVMvFzHr6AW3VHlFgW74mmWq76FlAqk X-Received: by 2002:a05:600c:11cf:b0:401:b6f6:d90c with SMTP id b15-20020a05600c11cf00b00401b6f6d90cmr4207080wmi.35.1696005406041; Fri, 29 Sep 2023 09:36:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696005406; cv=none; d=google.com; s=arc-20160816; b=EefgGAem6idB/O/Se+3zd8pAulKJ+XDn2d2ass7JNEcev8lh9rP6AXkaxeIhPnn3Nz SnVf4jPD0heOhKKKFGC/yJOsIZiEh54jqn3wRIxmQHzEZsiA+ziXCCRvs0goAMn++ikY soHvYVmNDb+SVRtG6cMw+Ex1U7441aR7BvW7KL5IKWNDASh8CRitQmWWWKfyvNYMzfFM CHkix4Hlx5Dx8vO32TwpJlNj+DpZIqlbMh4kNryxeBqf1+N43ZcyozdBOyNFEkYeWbvz y548XA0Z8uCTg6JExaqIT/avRCsKC08JHj/QI1OEmsb4cjiLFGl0QuaOt/TSbfEbE0P3 jciw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id; bh=Qryx79ceWvB9YuB1Njc4f0pLKa4Tf+g0z5zGUoHou+A=; fh=IxbeHM4vWxalf1XNf2rnGcQL+r1v0Lr0C6ICsGNNkYw=; b=IU1RfFmdZhWW7CaLmVMMBkkm4yYu93F9+GPoqSPXP801GUGvG3o2vkRvlm6zxN1SOP /UjS3YfRF0K4+3fQpnMnfWmFXQsxvDIBHWsiDFaVDUdJ4VSJw4kiQFVoV/6a5Gj/ufqE fizgri9pKNl8VQTCKycMP6fKfmKkNGNEa+gGJkITP7qIWWhAOzqsWsH+roOmJq+IZ0vb GwGDoJmL/3NFspeXfKC8xfp8l/slEj1ih5J7iurZUHn0w8kd+WtUlJH2AhfrsAKS8PJQ fwtnqw/Z1j8uhQykM3NmrPq2bTEIeitBVoS3b/NWOzxwgVtglGLoucbAr3uiE5g1bKNW kT3w== 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 ay22-20020a05600c1e1600b00405c7dd428csi179463wmb.2.2023.09.29.09.36.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 29 Sep 2023 09:36:45 -0700 (PDT) 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 [127.0.0.1] (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 38TGainl000355 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 29 Sep 2023 18:36:45 +0200 Message-ID: <6c5308f8c43513ce66e462f6125d40009e5f7390.camel@ilbers.de> Subject: Re: [PATCH v2] base: Fix HOST_ARCH for native builds From: Uladzimir Bely To: Jan Kiszka , isar-users Date: Fri, 29 Sep 2023 19:36:47 +0300 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.4 (by Flathub.org) MIME-Version: 1.0 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: ZD0/71V583JD On Mon, 2023-09-25 at 13:41 +0200, Jan Kiszka wrote: > From: Jan Kiszka >=20 > HOST_ARCH must be DISTRO_ARCH when we are not cross-building. > Otherwise, > recipes that set PACKAGE_ARCH to it will fail in native builds. >=20 > Use late expansion for ISAR_CROSS_COMPILE to avoid recursion issues. >=20 > Signed-off-by: Jan Kiszka > --- >=20 > That "expand=3DFalse" seems to work fine, so let's move forward with > it. >=20 > =C2=A0meta/classes/base.bbclass | 6 ++++-- > =C2=A01 file changed, 4 insertions(+), 2 deletions(-) >=20 > diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass > index 88004120..8ca089a2 100644 > --- a/meta/classes/base.bbclass > +++ b/meta/classes/base.bbclass > @@ -49,13 +49,15 @@ def oe_import(d): > =C2=A0# We need the oe module name space early (before INHERITs get added= ) > =C2=A0OE_IMPORTED :=3D "${@oe_import(d)}" > =C2=A0 > -def get_deb_host_arch(): > +def get_deb_host_arch(d): > =C2=A0=C2=A0=C2=A0=C2=A0 import subprocess > +=C2=A0=C2=A0=C2=A0 if d.getVar("ISAR_CROSS_COMPILE", expand=3DFalse) != =3D "1": > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return d.getVar("DISTRO_ARCH"= ) > =C2=A0=C2=A0=C2=A0=C2=A0 host_arch =3D subprocess.check_output( > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ["dpkg", "--print-archit= ecture"] > =C2=A0=C2=A0=C2=A0=C2=A0 ).decode('utf-8').strip() > =C2=A0=C2=A0=C2=A0=C2=A0 return host_arch > -HOST_ARCH ??=3D "${@get_deb_host_arch()}" > +HOST_ARCH ??=3D "${@get_deb_host_arch(d)}" > =C2=A0HOST_DISTRO ??=3D "${DISTRO}" > =C2=A0 > =C2=A0die() { For some reason this doesn't properly work for some targets in case of cross-compile mode. Without patch (default local.conf with ISAR_CROSS_COMPILE set): ``` bitbake mc:qemuarm64-focal:isar-image-base -e | grep "^HOST_ARCH=3D" HOST_ARCH=3D"amd64" bitbake mc:rpi-arm64-v8-bullseye:isar-image-base -e | grep "^HOST_ARCH=3D" HOST_ARCH=3D"amd64" bitbake mc:rpi-arm-v7-bullseye:isar-image-base -e | grep "^HOST_ARCH=3D" HOST_ARCH=3D"amd64" bitbake mc:stm32mp15x-bullseye:isar-image-base -e | grep "^HOST_ARCH=3D" HOST_ARCH=3D"amd64" ``` With patch: ``` bitbake mc:qemuarm64-focal:isar-image-base -e | grep "^HOST_ARCH=3D" HOST_ARCH=3D"amd64" bitbake mc:rpi-arm64-v8-bullseye:isar-image-base -e | grep "^HOST_ARCH=3D" HOST_ARCH=3D"amd64" bitbake mc:rpi-arm-v7-bullseye:isar-image-base -e | grep "^HOST_ARCH=3D" HOST_ARCH=3D"armhf" bitbake mc:stm32mp15x-bullseye:isar-image-base -e | grep "^HOST_ARCH=3D" HOST_ARCH=3D"armhf" ``` For some reasons this affects only "armhf" targets... As a result, in case of rpi-arm-v7 ${DL_DIR}/deb/debian-bullseye/ has wrongly imported non-debian packages and second (cached from base-apt) build does not work since it can't resolve the dependencies.