From: "Richard Purdie" <richard.purdie@linuxfoundation.org>
To: Paul Gortmaker <paul.gortmaker@windriver.com>,
Bruce Ashfield <bruce.ashfield@gmail.com>
Cc: linux-yocto@lists.yoctoproject.org, bitbake-devel@lists.openembedded.org
Subject: Re: [PATCH RFC 00/21] Git repository sharing for kernel (and other) repos
Date: Fri, 02 Apr 2021 23:14:31 +0100 [thread overview]
Message-ID: <929dcfb2b10aba2ca29d0b1cba44dbc148e0643a.camel@linuxfoundation.org> (raw)
In-Reply-To: <20210402171557.981599-1-paul.gortmaker@windriver.com>
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 overdue,
> and that the implementation as shown here makes sense in the absence of
> any similar effort from anyone that does the same but in a better way.
>
> From there, we'll want more people not just looking at it, but testing it
> as well. I know I want to write a commit (script?) that will avoid any
> "transition tax" by prepopulating new repos with "old" already downloaded
> git objects where we can. And to add/do tests with my own popluated mirror
> and NO_NETWORK, and also try to ensure nothing in BB_SHALLOW gets upset,
> but I wasn't going to hold up starting a review of this any longer.
>
> I suspect I can get some co-workers using/testing it too, but Yocto gets
> used in a bunch of different ways by different groups, so we'll no doubt
> have to do some additional fixups to ensure everybody gets the benefits of
> this sharing. But I'm hopeful that when people see the benefits above,
> they'll pitch in to help take this the final mile by ensuring it works for
> their use case as well.
>
> I'm not too worried about pontificating out beyond that until we get past
> the acceptance/testing hurdles outlined above. So, please do have a read
> of the commits, kick the tires, put on your bikeshedding clothes and grab
> a brush, and lets see where it goes from here...
>
> https://github.com/paulgortmaker/poky/compare/reference-RC1
I've only briefly looked through this but the more I look, the more worried
I'm getting which is never a good sign.
I totally agree with the use case and agree we need to do something in this
area. I'm not sure the implementation looks right though, its clever but I
don't think its very usable to end users.
The warning signs to me are:
a) Needing new/confusing "fetch only" recipes
b) A large number of new options and variables to the fetcher
c) Needing recipes to change and people to migrate, potentially with scripts
between old and new
d) Variable namespacing needs work
I'm very worried this confuses up the git fetcher code and nobody will be able
to tell what is going on any more :/.
What I'd envisaged was git urls having something like a "mainline-linux-kernel"
tag added in the url as a parameter and a table somewhere which meant the checkout
for this would share git objects in a common pool. There would be a variable
mapping that name to git.kernel.org/pub/scm/linux/kernel/git somewhere but that
should be all that is needed.
No, this wouldn't cover 100% of artefacts but it should cover a majority of them
and be much simpler for users to comprehend. I haven't gone into this in detail
and perhaps I'm missing some problem that prevents it? :/
The other issue here is there are no tests. The bitbake fetcher code is one of
the few pieces of the project where we do have a fairly complete test suite and
we don't add things there without tests (see bitbake-selftest and lib/bb/tests/).
Cheers,
Richard
next prev parent reply other threads:[~2021-04-02 22:14 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-02 17:15 [PATCH RFC 00/21] Git repository sharing for kernel (and other) repos Paul Gortmaker
2021-04-02 17:15 ` [PATCH 01/21] bitbake: fetch2/git: allow override of clone args with GITCLONEARGS Paul Gortmaker
2021-04-02 17:15 ` [PATCH 02/21] bitbake: fetch2/git: allow limiting upstream fetch refs to a subset Paul Gortmaker
2021-04-03 7:43 ` Richard Purdie
2021-04-02 17:15 ` [PATCH 03/21] bitbake: fetch2/git: allow optional git download name overrride Paul Gortmaker
2021-04-02 17:15 ` [PATCH 04/21] bitbake: fetch2/git: allow specifying repos as static/unchanging Paul Gortmaker
2021-04-02 17:15 ` [PATCH 05/21] bitbake: fetch2/git: ensure static repos have at least one refs/heads Paul Gortmaker
2021-04-02 17:15 ` [PATCH 06/21] bitbake: fetch2/git: allow alt references within download dir Paul Gortmaker
2021-04-02 17:15 ` [PATCH 07/21] bitbake: fetch2/git: append new altref line if/when SRC_URI changed value Paul Gortmaker
2021-04-02 17:15 ` [PATCH 08/21] bitbake: fetch2/git: allow pack references within download dir Paul Gortmaker
2021-04-02 17:15 ` [PATCH 09/21] bitbake: fetch2/git: use constant names for packs in static repos Paul Gortmaker
2021-04-02 17:15 ` [PATCH 10/21] kernel: add basic boilerplate for fetch-only recipes Paul Gortmaker
2021-04-02 17:15 ` [PATCH 11/21] kernel: add a fetch-only recipe for mainline v5.10 source Paul Gortmaker
2021-04-02 20:13 ` Bruce Ashfield
2021-04-02 17:15 ` [PATCH 12/21] kernel: allow splitting mainline v5.10 source download in two Paul Gortmaker
2021-04-02 17:15 ` [PATCH 13/21] kernel: allow splitting mainline v5.10 source download in three Paul Gortmaker
2021-04-02 17:15 ` [PATCH 14/21] kernel: allow splitting mainline v5.10 source download in four Paul Gortmaker
2021-04-02 17:15 ` [PATCH 15/21] kernel: add recipe for linux-master (mainline latest) Paul Gortmaker
2021-04-02 20:16 ` Bruce Ashfield
2021-04-02 17:15 ` [PATCH 16/21] kernel: add stable fetch recipes for v5.4.x, v5.10.x and v5.12.x Paul Gortmaker
2021-04-02 17:15 ` [PATCH 17/21] kernel: add preempt-rt fetch recipes for v5.4.x, v5.10.x and 5.12.x Paul Gortmaker
2021-04-02 17:15 ` [PATCH 18/21] kernel: make v5.4.x Yocto recipes use shared source Paul Gortmaker
2021-04-02 17:15 ` [PATCH 19/21] kernel: make v5.10.x " Paul Gortmaker
2021-04-02 17:15 ` [PATCH 20/21] kernel: make linux-yocto-dev recipe " Paul Gortmaker
2021-04-02 17:15 ` [PATCH 21/21] kernel: disable (pre)mirror for linux-yocto and linux-yocto-dev Paul Gortmaker
2021-04-02 20:19 ` Bruce Ashfield
2021-04-02 22:14 ` Richard Purdie [this message]
2021-04-03 1:44 ` [PATCH RFC 00/21] Git repository sharing for kernel (and other) repos Paul Gortmaker
2021-04-03 8:33 ` Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=929dcfb2b10aba2ca29d0b1cba44dbc148e0643a.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=bitbake-devel@lists.openembedded.org \
--cc=bruce.ashfield@gmail.com \
--cc=linux-yocto@lists.yoctoproject.org \
--cc=paul.gortmaker@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.