Khem Raj <raj.khem <at> gmail.com> writes:

> 
> On 10/24/10, Chris Larson <clarson <at> kergoth.com> wrote:
> > On Sun, Oct 24, 2010 at 12:56 PM, Holger Freyther
> > <holger+oe <at> freyther.de<holger%2Boe <at> freyther.de>
> >> wrote:
> >
> >> On 10/24/2010 08:35 PM, Khem Raj wrote:
> >>
> >> >>
> >> >> this is used in all efl recipes and I've noticed it in elementary only
> >> >> because python-elementary depends on such new version.
> >> >
> >> > Do you have a list of recipes which use this ? I am sure with git it
> >> > will be hard to use such a thing
> >> > as the git revs are random and simlarily many other SCMs
> >>
> >>
> >> Speaking as upstream co-author of OpenBSC. We are using something like
> >> this
> >> to
> >> get the revision from the last tag of the repository. If someone is doing
> >> a
> >> make dist(check) we will copy a special version file into the tar.gz and
> >> use
> >> that instead.
> >>
> >> From an upstream point of view I think it is acceptable to say that the
> >> ones
> >> that build stuff from a SCM (in contrast to a tarball) should have the
> >> files
> >> of the SCM around...
> >>
> >> PS: I liked the --exclude patch a lot too...
> >
> >
> > I don't think its necessarily the fact that we're building from an SCM
> > that's the differentiating factor here, it's the build from a branch as
> > opposed to a tag.  The tagged sources in an scm may be (though aren't
> > always) exactly the same as the tarball contents, in which case the scm
> > files shouldn't be necessary.  Ideally, the buildsystems would work with or
> > without them, but I agree, I guess we may have to revert the patch :(
> 
> another option is a to add a qualifier to bitbake fetcher to tell it that
> we want to keep SCM metadata for a given fetch and keep the default
> to exclude it but enable it for such cases.

I have prepared a patch to do so for Git. I chose scmdata=keep, but any other
flag would be fine for me, too.

I can extend this patch to other SCMs, if this is desirable, basically by making
the --exclude option dependant on this flag.

Even before the introduction of --exclude .git, the .git directory hasn't been
in tarballs created by BitBake, because "git checkout-index
--prefix=$tarballdir" was used, which doesn't create a copy of .git.

We're extracting version information for our projects from Git, either during
build or on "make dist" (although we haven't ever had any tarballed releases for
most parts), and we even have a fallback to generate a dummy version.h, if no
Git repository is available. Still, it's very desireable for us to have exact
version information in OE builds to include them in crash reports or to display
them to the user, without having to rely on opkg's or another package manager's
internals.

I've also created patches for 1.10 and 1.8. I'll send the patch for master in a
few minutes.

Regards,
Andreas

_______________________________________________
Bitbake-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bitbake-dev

Reply via email to