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