[OE-core] [PATCH] bitbake.conf: add git-lfs to HOSTTOOLS_NONFATAL

richard.purdie at linuxfoundation.org richard.purdie at linuxfoundation.org
Wed Apr 17 08:46:25 UTC 2019


On Wed, 2019-04-17 at 10:20 +0800, Saini, Naveen Kumar wrote:
> 
> On Selasa 16 Apr 2019 06:23 , Richard Purdie wrote:
> > On Tue, 2019-04-16 at 13:59 +0800, Naveen Saini wrote:
> > > This provides git large file storage (lfs) extension.
> > > 
> > > Include git-lfs conditionally. If git-lfs is present on host and
> > > repo
> > > has lfs pointers, then git-lfs will be used. If git-lfs is not
> > > present
> > > on host, it will be ignored.
> > > 
> > > [YOCTO #13198]
> > > 
> > > Signed-off-by: Naveen Saini <naveen.kumar.saini at intel.com>
> > > ---
> > >   meta/conf/bitbake.conf | 3 +++
> > >   1 file changed, 3 insertions(+)
> > 
> > This sounds like we swap the current situation where things are
> > deterministic for a situation where the situation is not
> > deterministic?
> > 
> > I'm not sure that is an improvement.
> 
> Currently, if host machine has git-lfs installed, build always fails
> and if host doesn't have git-lfs installed, build passes but
> does not download files pointed by lfs. So, the current behaviour
> depends on whether or not git-lfs is installed.

That is clearly a problem as the output is not deterministic (a given
sstate hash input does not guarantee a given output).

> With this patch, build will pass in both the cases and files stored
> using lfs will be fetched when git-lfs is present. So this is more
> deterministic than before? If git-lfs isn't present, then files won't
> be fetched as before.

So we swap one problem for a different one and its still not
deterministic.

> Should this be added to HOSTTOOLS instead so lfs files are always
> fetched for packages that use it?

No, that would mean everyone has to install it.

I'm ok with adding it to HOSTTOOLS_NONFATAL as soon as we have some
mechanism in the fetcher or in recipes which detects lfs usage and hard
errors if its present but git-lfs is not installed.

That way its deterministic - it builds with git-lfs installed and
errors if it is not.

Cheers,

Richard



More information about the Openembedded-core mailing list