Re: [linux-yocto] [PATCH RFC 00/21] Git repository sharing for kernel (and other) repos

2021-04-02 Thread Paul Gortmaker
[Re: [PATCH RFC 00/21] Git repository sharing for kernel (and other) repos] On 02/04/2021 (Fri 23:14) Richard Purdie wrote: > On Fri, 2021-04-02 at 13:15 -0400, Paul Gortmaker wrote: > > Next Steps: > > --- > > With this being a functional implementation, it seems like a good time to > >

[yocto-announce] [ANNOUNCEMENT] Yocto Project 3.2.3 (gatesgarth-24.0.3) is Released

2021-04-02 Thread Vineela
Hello, We are pleased to announce the Yocto Project 3.2.3 (gatesgarth-24.0.3) Release is now available for download. http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.3/poky-gatesgarth-24.0.3.tar.bz2 http://mirrors.kernel.org/yocto/yocto/yocto-3.2.3/poky-gatesgarth-24.0.3.tar.bz2 A

[yocto] [ANNOUNCEMENT] Yocto Project 3.2.3 (gatesgarth-24.0.3) is Released

2021-04-02 Thread Vineela
Hello, We are pleased to announce the Yocto Project 3.2.3 (gatesgarth-24.0.3) Release is now available for download. http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.3/poky-gatesgarth-24.0.3.tar.bz2 http://mirrors.kernel.org/yocto/yocto/yocto-3.2.3/poky-gatesgarth-24.0.3.tar.bz2 A

Re: [linux-yocto] [PATCH RFC 00/21] Git repository sharing for kernel (and other) repos

2021-04-02 Thread Richard Purdie
On Fri, 2021-04-02 at 13:15 -0400, Paul Gortmaker wrote: > Next Steps: > --- > With this being a functional implementation, it seems like a good time to > get other people looking at it. Ideally step #1 will be getting general > agreement that this is something we need, something that is

[yocto] where is the definitive/canonical layer for TPM stuff?

2021-04-02 Thread Robert P. J. Day
i just noticed that both of the layers meta-secure-core and meta-security: https://github.com/jiazhang0/meta-secure-core https://git.yoctoproject.org/cgit/cgit.cgi/meta-security seem to include a good deal of TPM/TPM2 content ... is there a primary layer for that stuff? rday

Re: [linux-yocto] [PATCH 21/21] kernel: disable (pre)mirror for linux-yocto and linux-yocto-dev

2021-04-02 Thread Bruce Ashfield
On Fri, Apr 2, 2021 at 1:16 PM Paul Gortmaker wrote: > > As per the comment in the file itself, we have to explicitly disable > (pre)mirror support for both kernel repositories, or else the fetcher > will unhelpfully volunteer to wget gigs of what amounts to largely > useless content that we

Re: [linux-yocto] [PATCH 15/21] kernel: add recipe for linux-master (mainline latest)

2021-04-02 Thread Bruce Ashfield
On Fri, Apr 2, 2021 at 1:16 PM Paul Gortmaker wrote: > > The idea for this recipe is to have a name "linux-master" that people > can depend on as a reference for mainline; today and ideally for as long > as we are maintaining it. While the recipe is there for everybody, > the obvious user we are

Re: [linux-yocto] [PATCH 11/21] kernel: add a fetch-only recipe for mainline v5.10 source

2021-04-02 Thread Bruce Ashfield
On Fri, Apr 2, 2021 at 1:16 PM Paul Gortmaker wrote: > > With v5.10 being the newest baseline currently in use by linux-yocto and > with the download size being 1/2 the size of current linux-yocto itself, > the v5.10 makes a good initial line in the sand for blocking out the > source in a way to

[linux-yocto] [PATCH 15/21] kernel: add recipe for linux-master (mainline latest)

2021-04-02 Thread Paul Gortmaker
The idea for this recipe is to have a name "linux-master" that people can depend on as a reference for mainline; today and ideally for as long as we are maintaining it. While the recipe is there for everybody, the obvious user we are creating this for is the linux-yocto-dev repo. At some point

[linux-yocto] [PATCH 20/21] kernel: make linux-yocto-dev recipe use shared source

2021-04-02 Thread Paul Gortmaker
At the moment, linux-yocto-dev is set up to reference v5.12-rt: mainline ---> stable-5.12 ---> linux-rt-5.12 ---> linux-yocto-dev We'll probably move to v5.13-rcN in late May and at that point we can point it at referencing mainline directly

[linux-yocto] [PATCH 18/21] kernel: make v5.4.x Yocto recipes use shared source

2021-04-02 Thread Paul Gortmaker
With all the heavy lifting done, all that is needed is to select the right endpoint for our reference, and the right fetch wildcards to ensure we only get what we need. We've got: linux-5.10 (superset contining v5.4) --> stable-5.4 --> linux-5.4-rt

[linux-yocto] [PATCH 19/21] kernel: make v5.10.x Yocto recipes use shared source

2021-04-02 Thread Paul Gortmaker
With all the heavy lifting done, all that is needed is to select the right endpoint for our reference, and the right fetch wildcards to ensure we only get what we need. We've got: linux-5.10 --> stable-5.10 --> linux-5.10-rt --> linux-yocto_5.10

[linux-yocto] [PATCH 21/21] kernel: disable (pre)mirror for linux-yocto and linux-yocto-dev

2021-04-02 Thread Paul Gortmaker
As per the comment in the file itself, we have to explicitly disable (pre)mirror support for both kernel repositories, or else the fetcher will unhelpfully volunteer to wget gigs of what amounts to largely useless content that we don't want. Signed-off-by: Paul Gortmaker ---

[linux-yocto] [PATCH 17/21] kernel: add preempt-rt fetch recipes for v5.4.x, v5.10.x and 5.12.x

2021-04-02 Thread Paul Gortmaker
Note that the v5.12 content currently is in the devel repo and will eventually get moved over to the stable-rt repo. When that move happens, we'll need to update the SRC_URI accordingly. [The v5.12-rt content itself will remain fast-forward with respect to that which is in devel currently.]

[linux-yocto] [PATCH 13/21] kernel: allow splitting mainline v5.10 source download in three

2021-04-02 Thread Paul Gortmaker
With a split in two done, extending to three is fairly trivial. The only difference is that the introduced "touch down" point of 4.12 has a fetch depend/ref itself to the other touch down point of 3.8. The parent repo (v5.10) has no need of knowledge of what happens prior to 4.12.

[linux-yocto] [PATCH 16/21] kernel: add stable fetch recipes for v5.4.x, v5.10.x and v5.12.x

2021-04-02 Thread Paul Gortmaker
One might wonder why there isn't just a stable-5.x to encompass all of these, but by having them separate, we can retire/EOL them individually without disruption. Note that references are a "round up" to the nearest kernel recipe containing the stable baseline - so stable-5.4 references

[linux-yocto] [PATCH 12/21] kernel: allow splitting mainline v5.10 source download in two

2021-04-02 Thread Paul Gortmaker
With support for sharing packs, we can now optionally split the larger mainline kernel content up to v5.10 (approx 1.5G) into two. This may be advantageous to people with release media constraints or unreliable connections. By setting "INITIAL_KERNEL_SPLIT = 1" in your configuration, you will

[linux-yocto] [PATCH 14/21] kernel: allow splitting mainline v5.10 source download in four

2021-04-02 Thread Paul Gortmaker
Extending from three to four roughly equal chunks introduces three new split boundaries - 3.3 4.3 and 4.18, but is trivial to hook in. This gets chunks down to roughly 1/2G and with the resulting loss of compression efficiency, it doesn't seem to make sense to support splitting things any

[linux-yocto] [PATCH 11/21] kernel: add a fetch-only recipe for mainline v5.10 source

2021-04-02 Thread Paul Gortmaker
With v5.10 being the newest baseline currently in use by linux-yocto and with the download size being 1/2 the size of current linux-yocto itself, the v5.10 makes a good initial line in the sand for blocking out the source in a way to optimize sharing. With this commit present, one can test via

[linux-yocto] [PATCH 10/21] kernel: add basic boilerplate for fetch-only recipes

2021-04-02 Thread Paul Gortmaker
With changes to the fetcher, we now have what we need to download kernel sources in a way that is forward thinking for sharing and growth and EOL of components. This will be achieved by "fetch-only" recipes that only exist to populate chunks of this "library" of source. We may wish to reconsider

[linux-yocto] [PATCH 02/21] bitbake: fetch2/git: allow limiting upstream fetch refs to a subset

2021-04-02 Thread Paul Gortmaker
If a clone in the download directory is not static, and was created with single-branch to avoid additonal unwanted content, then the fetcher will come along and spoil that effort by unconditonally getting refs/* from the server and downloading everything available at the server. To that end,

[linux-yocto] [PATCH 07/21] bitbake: fetch2/git: append new altref line if/when SRC_URI changed value

2021-04-02 Thread Paul Gortmaker
A new repository that is cloned with "--reference" in turn creates an objects/info/alternates file in the new repo containing the path back to the reference repo objects. This is normally a "one-and-done" type operation and the reference never changes. However we can envision where a package

[linux-yocto] [PATCH 08/21] bitbake: fetch2/git: allow pack references within download dir

2021-04-02 Thread Paul Gortmaker
Borrowing from "git pack-objects" manpage[1] we have: A packed archive is an efficient way to transfer a set of objects between two repositories as well as an access efficient archival format. In a packed archive, an object is either stored as a compressed whole or as a difference

[linux-yocto] [PATCH 03/21] bitbake: fetch2/git: allow optional git download name overrride

2021-04-02 Thread Paul Gortmaker
Single repositories containing multiple independent origin commits are becoming more common. For example the rt development repo has patches as "raw" format-patch output in a patch series, and also for ease of automated testing, them all pre-applied (ff and non-ff) to the original baseline

[linux-yocto] [PATCH 09/21] bitbake: fetch2/git: use constant names for packs in static repos

2021-04-02 Thread Paul Gortmaker
The "packref" support uses symlinks to "piggy-back" use of packs into the pack namespace of the consumer from the originator (reference repo). We use symlinks, so that mirror tarballs won't duplicate the referenced data, as hardlinks would do. However, that means we also assume that the pack

[linux-yocto] [PATCH 06/21] bitbake: fetch2/git: allow alt references within download dir

2021-04-02 Thread Paul Gortmaker
It is no secret that we've needed to formalize some kind of sensible sharing between git repos with common ancestry. The opportunity for sharing the mainline kernel base between linux-yocto and linux-yocto-dev is the main obvious candidate. Many of us have long been doing local hacks to

[linux-yocto] [PATCH 04/21] bitbake: fetch2/git: allow specifying repos as static/unchanging

2021-04-02 Thread Paul Gortmaker
If we know a repository content has what we need, we can flag it as static and then optimize accordingly for the future, by not trying to do any fetch operations against it. In a way, this can be thought of as the special case of GITFETCHREFS = None. There are multiple advantages to having this.

[linux-yocto] [PATCH RFC 00/21] Git repository sharing for kernel (and other) repos

2021-04-02 Thread Paul Gortmaker
It doesn't seem that long ago (kernel 3.x era) that the kernel repo was less than 1G in size, and while it wasn't actively shared, it was kind of one of those "we'll deal with that later" type things. But today, where more people care about CI/CD - if you make use of both linux-yocto and

[linux-yocto] [PATCH 05/21] bitbake: fetch2/git: ensure static repos have at least one refs/heads

2021-04-02 Thread Paul Gortmaker
When you clone with "--single-branch --branch foo" one of two things will happen: If foo is a branch upstream you will get a local branch foo and HEAD will contain "ref: refs/heads/foo". Output from "git branch" will be: * foo If foo is a tag upstream, you won't get any local branch,