Re: [bitbake-devel] [2.16][PATCH] fetch2/git.py: fix update_mirror_links

Martin Jansa <[email protected]>
Newsgroups org.openembedded.lists.bitbake-devel
Message-ID <CA+chaQckrncteLLjpZNL4x=+=MBkYe_yajcigsY+dNaQzXndnw@mail.gmail.com>
I know that whinlatter is pretty much EOL already, but if there is a
reason to update 2.16 bitbake branch once more, then please consider
this one as well.

I've noticed today docker-compose from meta-virtualization failing in
do_fetch because of this ud.shallow and verified that this backport
from master fixes it.

Cheers,

On Tue, Apr 28, 2026 at 7:23 PM Martin Jansa via
lists.openembedded.org <[email protected]>
wrote:
>
> From: Chen Qi <[email protected]>
>
> We cannot assume ud has the same fetcher with origud. For example,
> if we set map git:// to file:// in PREMIRRORS, ud is using local fetcher
> and origud is using git fetcher. In such case, the ud does have the
> 'shallow' attribute. And we'll see the following error:
>
>   Exception: AttributeError: 'FetchData' object has no attribute 'shallow'
>
> Looking at the logic of this function, I think it's the origud's shallow
> that should be checked. So the logic becomes: if origud is using shallow
> and its full shallow tarball does not exist yet, symlink to ensure it
> exists. This should make more sense.
>
> Signed-off-by: Chen Qi <[email protected]>
> Signed-off-by: Mathieu Dubois-Briand <[email protected]>
> Signed-off-by: Richard Purdie <[email protected]>
> ---
>  lib/bb/fetch2/git.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py
> index 0fcdb19df..738174cd1 100644
> --- a/lib/bb/fetch2/git.py
> +++ b/lib/bb/fetch2/git.py
> @@ -356,7 +356,7 @@ class Git(FetchMethod):
>          super().update_mirror_links(ud, origud)
>          # When using shallow mode, add a symlink to the original fullshallow
>          # path to ensure a valid symlink even in the `PREMIRRORS` case
> -        if ud.shallow and not os.path.exists(origud.fullshallow):
> +        if origud.shallow and not os.path.exists(origud.fullshallow):
>              self.ensure_symlink(ud.localpath, origud.fullshallow)
>
>      def try_premirror(self, ud, d):
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#19404): https://lists.openembedded.org/g/bitbake-devel/message/19404
> Mute This Topic: https://lists.openembedded.org/mt/119051825/3617156
> Group Owner: [email protected]
> Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [[email protected]]
> -=-=-=-=-=-=-=-=-=-=-=-
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.