Re: [bitbake-devel][PATCH] fetch2: give every FetchData a default unpack_tracer

Richard Purdie <[email protected]> Fri, 03 Jul 2026 13:30:46 +0100
Newsgroups org.openembedded.lists.bitbake-devel
Message-ID <ced86d752a6d62c374f8d2db03adc1787b4c79fa.camel@linuxfoundation.org>
On Fri, 2026-07-03 at 16:36 +0530, Siva Balasubramanian via lists.openembed=
ded.org wrote:
> Fetch() sets an unpack_tracer attribute on the FetchData objects it
> manages, but the per-mirror FetchData objects created in
> build_mirroruris() are constructed directly and never get one. When a
> mirror is used for a git recipe that needs Git LFS, git.py's download()
> performs a checkout (via Git.unpack()) on the mirror's FetchData to
> materialise the LFS objects, and that unpack path dereferences
> ud.unpack_tracer, failing with:
>=20
> =C2=A0=C2=A0=C2=A0 AttributeError: 'FetchData' object has no attribute 'u=
npack_tracer'
>=20
> so PREMIRRORS/MIRRORS fetching is broken for git-lfs sources.
>=20
> Fix this at the source by initialising unpack_tracer to a
> DummyUnpackTracer in FetchData.__init__(), so the attribute always
> exists. Fetch() still overrides it with the real (possibly
> user-configured via BB_UNPACK_TRACER_CLASS) tracer for the URLs it
> manages; the mirror FetchData objects only perform an internal,
> throwaway checkout that should not be traced anyway.
>=20
> Add a MirrorUriTest regression test asserting the mirror FetchData
> objects carry an unpack_tracer.
>=20
> Reported-by: Oliver Feilner <[email protected]>
>=20
> [YOCTO #15948]
>=20
> Signed-off-by: Siva Balasubramanian <[email protected]>

Wasn't this already fixed by:

https://git.openembedded.org/bitbake/commit/?id=3Df0c9cf8d3885c5b1c2ba448f0=
64421dae476fcd0

?

We don't want to add a dummy one everywhere, only add one when needed
as the patch avove does...

Cheers,

Richard