<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb, branch yocto-5.1</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-5.1</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-5.1'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2024-09-17T11:17:28+00:00</updated>
<entry>
<title>bitbake: fetch2/gomod: Support URIs with only a hostname</title>
<updated>2024-09-17T11:17:28+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>peter.kjellerstedt@axis.com</email>
</author>
<published>2024-09-12T21:06:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f29065127900568085746a4b2dff452a67abea7b'/>
<id>urn:sha1:f29065127900568085746a4b2dff452a67abea7b</id>
<content type='text'>
When calculating the module name for a gomod URI with only a hostname,
e.g.:

  gomod://go.opencensus.io;version=v0.24.0;sha256sum=203a767d7f8e7c1ebe5588220ad168d1e15b14ae70a636de7ca9a4a88a7e0d0c

the non-existing path would actually be treated as "/", which resulted
in a trailing slash being added to the module name preventing the unpack
method from correctly locating the go.mod file.

(Bitbake rev: f0e02e1de4d649e647e4ab61341042dd38d0eeb0)

Signed-off-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: Revert "fetch2/gitsm: use configparser to parse .gitmodules"</title>
<updated>2024-09-16T12:52:27+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2024-09-14T20:14:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1e6e8cb896934cf52e850ddd04be379ad5ad8a81'/>
<id>urn:sha1:1e6e8cb896934cf52e850ddd04be379ad5ad8a81</id>
<content type='text'>
This reverts commit a4f42e396e2942fde94b8b4944487c1c45f7a295.

Unfortunately configparser is a bit more strict and fails to parse e.g.:
https://github.com/espressif/esp-idf/blob/e104dd7f27d2e73ab0e9b614dd7b9295099069bf/.gitmodules

[submodule "components/bt/controller/lib_esp32"]
	path = components/bt/controller/lib_esp32
        url = ../../espressif/esp32-bt-lib.git

The url is using 8 spaces while path 1 tab causing:
Exception: configparser.NoOptionError: No option 'url' in section: 'submodule "components/bt/controller/lib_esp32"'

It was fixed in:
https://github.com/espressif/esp-idf/commit/62ca8e2fb478a1cdc0e47003025265cd0d840395#diff-fe7afb5c9c916e521401d3fcfb4277d5071798c3baf83baf11d6071742823584

but mcuboot is using a bit older esp-idf revision in:
https://github.com/ATmobica/mcuboot/blame/main/.gitmodules

and mcuboot is then used as submodule in:
https://github.com/project-chip/connectedhomeip/blob/master/.gitmodules

so it might take a while for the fix to be propagated everywhere.

Not sure how common these issues are, but configparser parses
"url = ../../espressif/esp32-bt-lib.git" as 2nd line of "path"
value (because it's indented differently) while git submodule
and old gitsm implementation parses it as separate path and
url keys.

(Bitbake rev: d9eb2650256292a524a0c0bb1c0562d87bedcbc4)

Signed-off-by: Martin Jansa &lt;martin.jansa@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/gitsm: use configparser to parse .gitmodules</title>
<updated>2024-09-12T15:17:20+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@arm.com</email>
</author>
<published>2024-09-10T16:58:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d016d18a9f14871c444a13305f4040f28000a21f'/>
<id>urn:sha1:d016d18a9f14871c444a13305f4040f28000a21f</id>
<content type='text'>
.gitmodules is basically ini-style, so use configparser instead of manually
parsing by hand.

(Bitbake rev: a4f42e396e2942fde94b8b4944487c1c45f7a295)

Signed-off-by: Ross Burton &lt;ross.burton@arm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2: Add gomodgit fetcher</title>
<updated>2024-09-10T12:05:00+00:00</updated>
<author>
<name>Christian Lindeberg</name>
<email>christian.lindeberg@axis.com</email>
</author>
<published>2024-09-06T09:27:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=87c29b5a947956ab64c3fe881dfbc7eee5fef9e4'/>
<id>urn:sha1:87c29b5a947956ab64c3fe881dfbc7eee5fef9e4</id>
<content type='text'>
Add a go module fetcher for downloading module dependencies to the
module cache directly from a git repository. The fetcher can be used
with the go-mod class in OE-Core.

A module dependency can be specified with:

  SRC_URI += "gomodgit://golang.org/x/net;version=v0.9.0;srcrev=..."

(Bitbake rev: 29ff38ccf0d5389a5bee81e252a78548361a9d7c)

Signed-off-by: Christian Lindeberg &lt;christian.lindeberg@axis.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2: Add gomod fetcher</title>
<updated>2024-09-10T12:05:00+00:00</updated>
<author>
<name>Christian Lindeberg</name>
<email>christian.lindeberg@axis.com</email>
</author>
<published>2024-09-06T09:27:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dd7631426c1a7d0e6777540c81646777e712be26'/>
<id>urn:sha1:dd7631426c1a7d0e6777540c81646777e712be26</id>
<content type='text'>
Add a go module fetcher for downloading module dependencies to the
module cache from a module proxy. The fetcher can be used with the
go-mod class in OE-Core.

A module dependency can be specified with:

  SRC_URI += "gomod://golang.org/x/net;version=v0.9.0;sha256sum=..."

(Bitbake rev: 5ff4694bf305e266ebf0abab5d9745c6b6d07d67)

Signed-off-by: Christian Lindeberg &lt;christian.lindeberg@axis.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: siggen: Fix rare file-checksum hash issue</title>
<updated>2024-09-05T20:49:17+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2024-09-04T18:33:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c6b883106bc414312e58fe8c682b3ccc1257f114'/>
<id>urn:sha1:c6b883106bc414312e58fe8c682b3ccc1257f114</id>
<content type='text'>
There is a subtle issue with full pathnames being included in the
file checksums since the sorting might be different depending upon
how layers are being setup causing hash mismatches for recipes appeneded
from other layers with differing directory layouts.

Avoid this by filtering out to the path basename which is what is written
into the sig data anyway later in the code.

(Bitbake rev: 83acc21cdfdb410082c0871ac7693d29a7c5627d)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: codeparser: Allow code visitor expressions to be declared in metadata</title>
<updated>2024-08-29T20:58:19+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2024-08-28T11:54:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9a25a38ffe4acb374312ea86fdb0587bcc0f5f57'/>
<id>urn:sha1:9a25a38ffe4acb374312ea86fdb0587bcc0f5f57</id>
<content type='text'>
Allow the metadata to define code visitor expressions which mean that
custom dependencies can be handled in function libraries.

An example is the qa.handle_error function in OE which can set something
like:

"""
def handle_error_visitorcode(name, args):
    execs = set()
    contains = {}
    warn = None
    if isinstance(args[0], ast.Constant) and isinstance(args[0].value, str):
        for i in ["ERROR_QA", "WARN_QA"]:
            if i not in contains:
                contains[i] = set()
        contains[i].add(args[0].value)
    else:
        warn = args[0]
        execs.add(name)
    return contains, execs, warn

handle_error.visitorcode = handle_error_visitorcode
"""

Meaning that it can have contains optimisations on ERROR and WARN_QA
instead of hard dependencies.

One drawback to this solution is the parsing order. Functions with
visitorcode need to be defined before anything else references them
or the visitor code will not function for the earlier references.

(Bitbake rev: 5bd0c65c217394cde4c8e382eba6cf7f4b909c97)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/npm: allow the '@' character in package names</title>
<updated>2024-08-25T14:37:02+00:00</updated>
<author>
<name>Leonard Göhrs</name>
<email>l.goehrs@pengutronix.de</email>
</author>
<published>2024-08-23T05:46:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ee6bf285d7ca35ab0f76c151a36e888ad1e41c40'/>
<id>urn:sha1:ee6bf285d7ca35ab0f76c151a36e888ad1e41c40</id>
<content type='text'>
The '@types/ramda' [1] npm package has recently gained a dependency on
the 'types-ramda' [2] npm package. Both have the same version number.

The name mangling results in the tarballs of both packages sharing the same
name, but different contents.

Fix that by accepting '@' as valid character in the package name,
resulting in one package named @types-ramda and one called types-ramda.

[1]: https://www.npmjs.com/package/@types/ramda
[2]: https://www.npmjs.com/package/types-ramda

(Bitbake rev: 7c9573cb6ea2081bc585eb65267f3124fd4d7e43)

Signed-off-by: Leonard Göhrs &lt;l.goehrs@pengutronix.de&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: gcp.py: remove slow calls to gsutil stat</title>
<updated>2024-08-25T14:37:02+00:00</updated>
<author>
<name>Etienne Cordonnier</name>
<email>ecordonnier@snap.com</email>
</author>
<published>2024-08-23T08:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=58414305b289ae725f99c09bbfc74e9e162b4a4d'/>
<id>urn:sha1:58414305b289ae725f99c09bbfc74e9e162b4a4d</id>
<content type='text'>
The changes of 1ab1d36c0af6fc58a974106b61ff4d37da6cb229 added calls to "gsutil stat" to avoid unhandled exceptions, however:
- in the case of checkstatus() this is redundant with the call to self.gcp_client.bucket(ud.host).blob(path).exists() which already returns True/False
 and does not throw an exception in case the file does not exist.
- Also the call to gsutil stat is much slower than using the python client to call exists() so we should not replace the call to exists() with a call to gsutil stat.
- I think the intent of calling check_network_access in checkstatus() was to error-out in case the error is disabled. We can rather change the string "gsutil stat" to something else to make the code more readable.
- add a try/except block in download() instead of the extra call to gsutil

[RP: Tweak to avoid import until needed so google module isn't required for everyone]
(Bitbake rev: dd120f630e9ddadad95fe83728418335a14d3c3b)

Signed-off-by: Etienne Cordonnier &lt;ecordonnier@snap.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/npmsw: allow packages not declaring a registry version</title>
<updated>2024-08-23T08:48:48+00:00</updated>
<author>
<name>Enguerrand de Ribaucourt</name>
<email>enguerrand.de-ribaucourt@savoirfairelinux.com</email>
</author>
<published>2024-08-22T07:53:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ec86853a2691dd903428e484d0ae3f321734f60d'/>
<id>urn:sha1:ec86853a2691dd903428e484d0ae3f321734f60d</id>
<content type='text'>
We fetch npm dependencies from the npm-shrinkwrap.json file. They can
point to a package on the NPM registry with a version field, or to a
git/http/file URL with the resolved field. Such packages are allowed not
to declare a registry version field because they may not have been
published to the NPM registry. The previous implementation refuses to
fetch such packages and throws an error.

The resolved field contains the exact source, including the revision,
wich we can use to pass as SRC_URI to the git/http/file fetcher. The
integrity field is also mandatory for HTTP tarballs which will ensure
reproducibility. So even if the version field is not present, we are
still fetching a precise revision of the package.

Another commit published along this stack is also required in the npm
class to support these packages.

v5:
 - improve commit message
v3:
 - Split bitbake npmsw.py modification in another commit

Co-authored-by: Tanguy Raufflet &lt;tanguy.raufflet@savoirfairelinux.com&gt;
(Bitbake rev: 209982b5a3efc8081e65b4326bf9b64eef7f0ba0)

Signed-off-by: Tanguy Raufflet &lt;tanguy.raufflet@savoirfairelinux.com&gt;
Signed-off-by: Enguerrand de Ribaucourt &lt;enguerrand.de-ribaucourt@savoirfairelinux.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
