From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7352162563113615360 X-Forwarded-Encrypted: i=2; AJvYcCWEE2+81/dkGhV5w6Ce2Qunea7uOHqwJtzOvakiY6mC+XFvKxXP57A4X2gXOHkIXRQ917jwPrHCuo5zlq0LBszA5L490L4fBTHO06I= X-Received: by 2002:adf:f047:0:b0:341:6aa6:6985 with SMTP id t7-20020adff047000000b003416aa66985mr5179844wro.65.1711977239117; Mon, 01 Apr 2024 06:13:59 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6000:5c5:b0:33e:672d:d2db with SMTP id bh5-20020a05600005c500b0033e672dd2dbls1887338wrb.2.-pod-prod-02-eu; Mon, 01 Apr 2024 06:13:57 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV5rBKvmb0DHpFOpA7zC+PODldwrFyNirhHg/vpw+1FMf3GDYL3j8zT4r5fVK24GKC7pduFW7Jn7jzbKnZwM1ZonaLlKm7MAS82MuM= X-Google-Smtp-Source: AGHT+IEhku/XVZ+QvLOLouoNBSm7j6cW6dDGI3nxccBPsaETXybWXVX2sTpNRtouJ60f7kXPamQ9 X-Received: by 2002:a05:6000:cd2:b0:33e:b719:8bec with SMTP id dq18-20020a0560000cd200b0033eb7198becmr6230828wrb.24.1711977237175; Mon, 01 Apr 2024 06:13:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711977237; cv=none; d=google.com; s=arc-20160816; b=GhKMZ+c42V2IbI+F0WoHONaNctpaD7jRZY+cgyfqTfSvYFcb9t04uj0N5HZABkulMc 6cNbdit9/7eksHEkcsW0vT5nYdtABfDQYXNcLfCUiqu0BbuInFOi6pFdAARafNNDQXKZ ASdtVf9NeT6u6bp/lEzYHdPfTFtzTk0qY4KDSiFb+Eh2BdaY7zRViDXPQQQqREjU8WNY lD+tR7yC3Nw+SJBgknRzS/BL38xz5EAkmUSZMvpODaEL2fZhE6CWShxYhLrkfH1qxN/j 2LAwk9d2WCBW2l0/fnikxbRETksYwCYK/qMGhjRDj8WYVtD1yhtjqoVo2fU5o0jAs/xy LpgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=ui-outboundreport:content-transfer-encoding:in-reply-to:autocrypt :from:references:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=cUQETCfAJWIkjvydqzG4sFa/wcegnS6dwoUNQh6Mlh4=; fh=qYjLjom2XYK2EGXTfM32+e6Y5m6bxV+vwmPCS15rMNY=; b=Qw3puLeChuCfb8Luu3ujCZ++dzBya0FYGMouCodzF9cZ5bRU6u1sNNrJap6yDOx3XJ Ys17IJx+boQ2OXFHQrHNbbCwFTgnCTwOx/7E+eTDNzP6N5EBliZmfSaoznK7NQeLiVLA W93sOS7MpiNk6DSTEbaXKHYp+iSyG8Dc3bYa7xooO+U9w5sZpMJ9aZ/4E7dMgrAe4N+r v9/S2NpY+5VTC4e0zP2P+cVLQlVZ2Sxla2DGisoYQnJO9gV3+irswu+ifX0KC3wFoy8N Uzgikl4UK4FlC5Y8AQEbT7HCEg95PJ1ZuT62tDbBRcMdea3D85qzrC9n4rhch0xuwrMn xfCQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@web.de header.s=s29768273 header.b=e40igSGB; spf=pass (google.com: domain of jan.kiszka@web.de designates 217.72.192.78 as permitted sender) smtp.mailfrom=jan.kiszka@web.de; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=web.de Return-Path: Received: from mout.web.de (mout.web.de. [217.72.192.78]) by gmr-mx.google.com with ESMTPS id g6-20020a5d64e6000000b0033da656f9edsi225470wri.0.2024.04.01.06.13.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 06:13:57 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@web.de designates 217.72.192.78 as permitted sender) client-ip=217.72.192.78; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@web.de header.s=s29768273 header.b=e40igSGB; spf=pass (google.com: domain of jan.kiszka@web.de designates 217.72.192.78 as permitted sender) smtp.mailfrom=jan.kiszka@web.de; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=web.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1711977236; x=1712582036; i=jan.kiszka@web.de; bh=cUQETCfAJWIkjvydqzG4sFa/wcegnS6dwoUNQh6Mlh4=; h=X-UI-Sender-Class:Date:Subject:To:References:From:In-Reply-To; b=e40igSGBjXuQDfaC4RXF81AwS4/nogKPQHs8FZ6vyaCCQ3z3JOAMG/Wy4qCvDhEu MFD5No+yX0o7fpjtQlbsOiTaZvRMaNphbZ/ZU7SLx3ProE/nuWlPYptI+OFO5iR48 3J0vrEcNlTXA/ezVQkNakaxtX65cZE+ZEkZlYzWiEmNqlCPwKENyefNrKAcwriIK2 qfihnBMjYokIdUwnll9ePbULveKFXHg5PqgJR1ObFitz/fnWOWbwjsToYzce+v+C8 7lpwkrMG9hKlnaW4jvRuFjsNng8WAFWipDD/s9zcaVi0KP4h5v4xjaUrr+U8pKMqq 5y3zaKvKf6lImEsb/g== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from [192.168.178.31] ([88.70.124.107]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1M8T7K-1rvfCG2UqG-004UM5; Mon, 01 Apr 2024 15:13:56 +0200 Message-ID: <1540f14a-36b6-4f5a-b006-37673f1fc570@web.de> Date: Mon, 1 Apr 2024 15:13:56 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] multiarch: Fix PN-to-BPN massaging Content-Language: en-US To: Uladzimir Bely , isar-users References: <426c29dc-ab8d-45e8-83e8-70ddcb91efce@web.de> <5c7e3a6ac830450cea9b8380ce7fbe5853b3cc9f.camel@ilbers.de> From: Jan Kiszka Autocrypt: addr=jan.kiszka@web.de; keydata= xsDhBEq0i8QRBAD2wOxlC9m/8t/vqjm1U9yQCT6OJ2Wbv/qys9DYM0CvcOTDMWQwmV1/VsZj KR5YgB5NPt+To7X6x5cjz15AGnx5Fb8Wnrq8EF9ZfHMwb7YMx1LdPYPDnXr37wE3XupFmkHB Mes4htyX7Dz8LvKDLnli4IsAmWG+kV1JI6LWKXLpSwCg8JRq4SWoB4VCQxbH3GjntgvwNc8D /2q5Dj0urJ7s7sdXhrH0hcFkpSFRmU5Yd6MCwcbFHm2paL5gqVjNNUUwDBKAL9eZaQVIHKwC 44BvNGO2gcQ26R3AuCHUQ+pZHg34tok1JCNZ6IEZccb+33Qq0qbcDMJJiDYp7ppp6ozifvc4 YaqJECX48IydxfE9+41oV7T5vNAzA/QL/UMJyTnu5jiOXcyn5iFQw535lXkwKsqeXzCowLho HICZ2jITJPdTT/+9pGWwMQqST/SS35Tx4EnS3z2BWsNMCLuXCPkxF1elaMJqMfMJxFD8rAgS 9GK6zP6fJlsA1wq/UvKSL8v4QPOnTNCVOsyqJVasGV0ZPcDfcj+ClNO4zR5KYW4gS2lzemth IDxqYW4ua2lzemthQHdlYi5kZT7CYAQTEQIAIAUCSrSLxAIbIwYLCQgHAwIEFQIIAwQWAgMB Ah4BAheAAAoJEIrUrG965ecUhIMAnR6DDCW5cx+cVdYhydbhQXqeief6AJ4p+z4+nrmZLdfU 7V6nKqKeHeTtj87BTQRKtIvEEAgA2/PlX6oyi7dToH0CJCHq0eKmZaa7CmGaVnxyeepKvIfi M8n8Td76AbG64fjREMwgSpb4F/UytF3z/03tj4e49W/zKjbBRB2/wmFRlZBC9crg22Q+bgvM OsxnC6uHXaWN8fL+jVei/5OoHOoFqaMsX8EvploitlI/BPj+VgW26jksf3YZyk1hnclsZ/IY hXzgRmVJo4RiTW/YLQAkwndwc+fKPa/IYLEDW1Jc4kNLoK0P90b45zju0hpl0C00pVORTOtz FK9G5Ha7qOAWJfAVJORHKAkkvwftf3hkpPdLyvZUWRHXvUexmA61fLvDBAFhRxYGD8t5gz88 SF5Tzq+0ywADBQf/YSkaYrEslPWiCA2wU6EW0yaqBQAobFsOMvsufJ6o2ntq5Ncq37VI3KCT 67eHPE9x+zPcENoZWsRrC9S9PCf1LOsi7ybZsR13AJqDFlRzJZ4klh9QwgwFZxUBzOdIvttw zG1QkzHx06RKZluFYpPF3DRduSMukdIJ2wmWCU+ohB+mYefe65JGjYQfHVs8mgYVFOPxbRea 9VJACCMuspoZWpj43UdR1lLLyIUFYz+jqcPW7Hd/GTIw4N67pYl0dwPDmFd4ohJ5g4Zpq61t oNysBGEuEm5GCcn0VmGtQpSYnR5cVm5b2yPz4bIuFOSuZUo/l7vitdY0iy0/wvKbBC+NK8JJ BBgRAgAJBQJKtIvEAhsMAAoJEIrUrG965ecULvAAoKGvxs5T3IhyQT8I8sMsyAvCE4wHAJ46 S16yab+OxNkvOeoOEX0EnHVHaA== In-Reply-To: <5c7e3a6ac830450cea9b8380ce7fbe5853b3cc9f.camel@ilbers.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:HE5efRJtIGN22C7D7EOTXWi7cavD5/rW3b/e6xAtKBjxQsiLM3K ZvucI/99dbg7vJ5enfeVk44GSlO4Ew8/2EW7BzjQR05KyAGHu+qlQ3PA/gQa9KN1qGNozys +dpNHuFEtqv8RjtOzkFTHtoWhlqu5slCskHjd7yfUYO0arNLQ8cNH/rMCiY4JpqROK+Cc5y 7hhwGfwXxdWmDuc/r2bGQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:x2tZ1Qvq06A=;REIMZtwRbsLGXSQZAt3840qh0+w FlMBag4jJn8pdZOA3W+L/p0P6J3Rl4J1w0zSXEIAo9XMtx7JroKdj5GmtN/hXLwU1LDVk2MgN r52L6W1LovtQ8SNH2uqsk45Wj7w/Iz6GdyLwatXVFbHaOIemgs0kcBDgvA7RCvmfap7R94D5N P+5TcmffiHzF3ZH+rmjdnlcjyQLGaVuSbjPsAfddZTJkT1JVglV7DKyK6jIPAx35itNZUTdlc pZtJBgyy/mWM7wBdaXuwOd2vy3JFPLZQxsjqlMwkK+DaRtvT2x2WzE3MQevd+ofs5n84/+pCZ jx1MqyBmJnHx5Xg4TQ8SAAqNwXCxHPdO2WQ6YsJjVdUM27YiYJVzUYkPq1qoiE+swbrD+nOau fBGwmXF3gsDn2GgFtDEhgo9Z7Hk4jr5bRjKYGnklxJTvOZxVP1/JaMgoR8zD6i5LcDp0S7yo4 1Al3xQjQp+wAqBkBwa6oJKHXePGQPiv01AT/hl8fM4MXhNiBb6kxFmw3WnO8BOCc7INn+1p0j 5ezg6M3NyjhFXqX6nIvwhVlvHDfJH2hptMolf27X6vmw0Zvslw6HzAhen2VhTZOhz3JrajZPM EvIFsRn01FNtLnSG4zcQMJUnYYqlcTnORRi7sHv5HemtnAGNiHrAbPdLtm5zLGZKQQoa57LWF eHY8UEdSqVrgrPtxGuz/6heizCjdbYCk2z9CYFbNH1WEbVQMUqVQDDGlPru9WdCyINzZzUlvF 5nlizlNvxLUmeCBX79TsBBUBztay+v/gtqBb67Js0WPcjA7RGFh3rSjt8E53r+i3teOEx9AQk 2ipAgjnnoR9lEjcbUnS5hy5xyOuKMgaTKmkFKtm5IsIVo= X-TUID: zTWUanOOL0oM On 01.04.24 14:42, Uladzimir Bely wrote: > On Sat, 2024-03-30 at 15:25 +0100, 'Jan Kiszka' via isar-users wrote: >> From: Jan Kiszka >> >> SRC_URI and FILESPATH are differently built, thus can't be handled >> the >> same way when trying to translate PN to BPN. While entries in the >> former >> are space-separated, they are colon-separated in the latter. >> >> Furthermore, the existing logic didn't properly split the entries, >> rather >> processed the complete string. That was surely not desired as well. >> >> Account for all by handling the variables separately and by splitting >> them first. This fixes warnings like >> >> WARNING: /build/../repo/meta-isar/recipes-core/images/isar-image- >> installer.bb: Unable to get checksum for isar-image-installer-native >> SRC_URI entry debian-configscript.sh: file could not be found >> >> Signed-off-by: Jan Kiszka >> --- >> =C2=A0meta/classes/multiarch.bbclass | 16 ++++++++++------ >> =C2=A01 file changed, 10 insertions(+), 6 deletions(-) >> >> diff --git a/meta/classes/multiarch.bbclass >> b/meta/classes/multiarch.bbclass >> index 5783b0bf..3123045e 100644 >> --- a/meta/classes/multiarch.bbclass >> +++ b/meta/classes/multiarch.bbclass >> @@ -46,12 +46,16 @@ python multiarch_virtclass_handler() { >> =C2=A0=C2=A0=C2=A0=C2=A0 # parse time, and parsing always happens for a= ll build variants. >> So in those >> =C2=A0=C2=A0=C2=A0=C2=A0 # few variables, we automatically replace ${PN= } with ${BPN}. >> =C2=A0=C2=A0=C2=A0=C2=A0 def fixup_pn_in_vars(d): >> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vars =3D 'SRC_URI FILESPATH= '.split() >> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for var in vars: >> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 v = =3D d.getVar(var, expand=3DFalse) >> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if = v is not None and '${PN}' in v: >> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 d.setVar(var + ':remove', v) >> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 d.appendVar(var, ' ' + v.replace('${PN}', '${BPN}')) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 v =3D d.getVar('SRC_URI', e= xpand=3DFalse) or '' >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for uri in v.split(':'): >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if = '${PN}' in uri: >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 d.setVar('SRC_URI' + ':remove', uri) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 d.appendVar('SRC_URI', ' ' + uri.replace('${PN}', >> '${BPN}')) >> + >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 v =3D d.getVar('FILESPATH',= expand=3DFalse) or '' >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for path in v.split(':'): >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if = '${PN}' in path: >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 d.appendVar('FILESPATH', ':' + path.replace('${PN}', >> '${BPN}')) >> >> =C2=A0=C2=A0=C2=A0=C2=A0 # When building compat/native, the correspondi= ng suffix needs to >> be >> =C2=A0=C2=A0=C2=A0=C2=A0 # propagated to all bitbake dependency definit= ions. >> -- >> 2.35.3 >> > > Hello Jan. > > This patch seems to make all machines except qemuamd64 unbuildable. > Error happens on parsing recipe stage. > > Example of output when "qemuarm" is selected in kas menu: > > ``` > ERROR: ExpansionError during parsing /build/../repo/meta-isar/recipes- > app/hello/hello.bb############################ | > ETA: 0:00:00 > Traceback (most recent call last): > File "Var ", line 1, in > File "/repo/bitbake/lib/bb/fetch2/__init__.py", line 1226, in > get_checksum_file_list(d=3D 0x7f7217696390>): > """ > > fetch =3D Fetch([], d, cache =3D False, localonly =3D True) > > File "/repo/bitbake/lib/bb/fetch2/__init__.py", line 1684, in > Fetch.__init__(urls=3D['//hello'], d=3D 0x7f7217696390>, cache=3DFalse, localonly=3DTrue, connection_cache=3DNon= e): > try: > > self.ud[url] =3D FetchData(url, d, localonly) > except NonLocalMethod: > File "/repo/bitbake/lib/bb/fetch2/__init__.py", line 1271, in > FetchData.__init__(url=3D'//hello', d=3D 0x7f7217696390>, localonly=3DTrue): > self.basepath =3D None > > (self.type, self.host, self.path, self.user, self.pswd, > self.parm) =3D decodeurl(d.expand(url)) > self.date =3D self.getSRCDate(d) > File "/repo/bitbake/lib/bb/fetch2/__init__.py", line 357, in > decodeurl(url=3D'//hello'): > if not m: > > raise MalformedUrl(url) > > bb.data_smart.ExpansionError: Failure expanding variable do_fetch[file- > checksums], expression was ${@bb.fetch.get_checksum_file_list(d)} which > triggered exception MalformedUrl: The URL: '//hello' is invalid and > cannot be interpreted > The variable dependency chain for the failure is: do_fetch[file- > checksums] > ``` > Seems I shared a stale version. Jan