From: "Antonin Godard" <antonin.godard@bootlin.com>
To: <quentin.schulz@cherry.de>, <docs@lists.yoctoproject.org>
Cc: "Thomas Petazzoni" <thomas.petazzoni@bootlin.com>
Subject: Re: [docs] [yocto-docs PATCH] ref-manual: classes: bin_package: fix SRC_URI example
Date: Tue, 19 Nov 2024 16:05:20 +0100 [thread overview]
Message-ID: <D5Q8XTH54W4A.227VGN0AOS29E@bootlin.com> (raw)
In-Reply-To: <5b61d56f-b04f-4fa0-8249-83c605036726@cherry.de>
Hi Quentin,
On Tue Nov 19, 2024 at 10:38 AM CET, Quentin Schulz via lists.yoctoproject.org wrote:
> Hi Antonin,
>
> On 11/18/24 9:46 AM, Antonin Godard via lists.yoctoproject.org wrote:
>> `subdir` is the correct attribute to use for extracting the package in
>> the correct directory.
>>
>> From the bitbake doc:
>>
>> subdir: Places the file (or extracts its contents) into the specified
>> subdirectory. This option is useful for unusual tarballs or other
>> archives that do not have their files already in a subdirectory within
>> the archive.
>> subpath: Limits the checkout to a specific subpath of the tree when
>> using the Git fetcher is used.
>>
>> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
>> ---
>> documentation/ref-manual/classes.rst | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
>> index b92f4e4f20ea8f702c90f4e3d29251b2461d07d0..2ac94630d80386cf613222b70f7bd6323b9948f2 100644
>> --- a/documentation/ref-manual/classes.rst
>> +++ b/documentation/ref-manual/classes.rst
>> @@ -176,7 +176,7 @@ example use for this class.
>> are extracted into the subdirectory expected by the default value of
>> :term:`S`::
>>
>> - SRC_URI = "git://example.com/downloads/somepackage.rpm;branch=main;subpath=${BP}"
>> + SRC_URI = "git://example.com/downloads/somepackage.rpm;branch=main;subdir=${BP}"
>>
>
> This is not enough, subpath is mentioned in the note admonition just
> above a few times, those need to be fixed as well.
>
> Additionally the wording is weird for the bin_package class.
>
> "class is a helper class for recipes that extract the contents of a
> binary package (e.g. an RPM)"
> [...]
> "For RPMs and other packages that do not contain a subdirectory,"
>
> Maybe we should use another example of a binary package (e.g. a .deb
> package) in the first sentence?
>
> Also I am not entirely sure what this example is supposed to show.
>
> SRC_URI =
> "git://example.com/downloads/somepackage.rpm;branch=main;subpath=${BP}"
>
> This is very confusing to me, is this really a somepackage.rpm **git**
> repo? or was this a mix between fetching via git and unpacking an RPM?
>
> I'm wondering what we were supposed to show with this example. Is it
> about fetching an RPM from a git repo and only extracting a part of that
> RPM? Is that even possible? If so, we probably want a combination of
> subpath and subdir? subdir for the path internal to the repo to the RPM
> and subpath for the path internal to the RPM to extract?
Actually I think I missed the point of the class description at first. It seems
to document how to fetch a subpath of a git repository containing rpm files…
Which makes me wonder: how often do you need to fetch binary from git
repositories? Probably not often.
I would have thought a more common case to be for extracting a local file, or
fetching a file over HTTP.
So I guess the description should be updated to give some more examples, yes. I
would even remove the git binary example, as it's bad practice to store binaries
in repos anyway… What do you think?
> Or, we should provide two examples, one for RPM downloaded from HTTP for
> example, using subpath, and one for a directory from a git repo, using
> subdir?
Actually: you'd use subpath for the git repo (to extract only a specific file
from the repo), and subdir for e.g. a tarball, to extract it in the right place.
The current description of the class is really confusing, I'll send a patch to
update it.
Antonin
--
Antonin Godard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2024-11-19 15:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-18 8:46 [yocto-docs PATCH] ref-manual: classes: bin_package: fix SRC_URI example Antonin Godard
2024-11-19 9:38 ` [docs] " Quentin Schulz
2024-11-19 15:05 ` Antonin Godard [this message]
2024-11-19 15:15 ` Quentin Schulz
2024-11-19 16:23 ` Antonin Godard
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=D5Q8XTH54W4A.227VGN0AOS29E@bootlin.com \
--to=antonin.godard@bootlin.com \
--cc=docs@lists.yoctoproject.org \
--cc=quentin.schulz@cherry.de \
--cc=thomas.petazzoni@bootlin.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox