From: Petr Vorel <petr.vorel@gmail.com>
To: Arnout Vandecappelle <arnout@mind.be>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>,
"Yann E. MORIN" <yann.morin.1998@free.fr>,
Buildroot Mailing List <buildroot@buildroot.org>,
Dagg Stompler <daggs@gmx.com>,
Fabrice Fontaine <fontaine.fabrice@gmail.com>
Subject: Re: [Buildroot] [RFC] iputils (meson build system) has git version from buildroot instead of iputils
Date: Sun, 15 May 2022 07:42:53 +0200 [thread overview]
Message-ID: <YoCS3bhGjo3juytd@pevik> (raw)
In-Reply-To: <891d79c1-531b-7a95-7739-a19e634a318d@mind.be>
Hi Fabrice, Arnout,
thanks a lot for a valuable info.
...
> > > meson.build [1] uses git-version.h.meson [2] to produce BUILD_DIRECTORY/git-version.h.
> > > Building from sources (not in Buildroot) it works:
> > > $ head -1 builddir/git-version.h
> > > #define PACKAGE_VERSION "20211215-15-g309f285"
> > > But building in Buildroot it gets git version from Buildroot:
> > > $ head -1 output/build/iputils-20211215/build/git-version.h
> > > #define PACKAGE_VERSION "2022.02-876-g3ef096786a"
> > > Is it a bug in iputils or in Buildroot meson?
> > This issue is raised because, in the context of buildroot, iputils is
> > retrieved as a tarball, not a git clone.
> This would be the case even if we take it from a it clone, because we first
> archive the tree in a tarball and then extract the tarball in the build
> directory (i.e. without the .git directory).
> Note also that this only happens if your output directory is below the
> Buildroot tree. On the other hand, if you put your output directory, for
> example, under a BR2_EXTERNAL repository (which is what I usually do), then
> it will take the version from that repo.
Right, I'll usually keep the default BR2_EXTERNAL.
> > So meson's vcs_tag will retrieve the git information from buildroot
> > and will not use its fallback (i.e. meson.project_version()).
> > To fix it, there is three "simple" options:
> > - allow buildroot to configure the version (as already done in
> > open62541 package)
> > - don't use vcs_tag and always set package_version to
> > meson.project_version() outside of a "devel" mode as done for example
> > in gnome console [1]
> > - override the default vcs command in vcs_tag call (e.g. command:
> > 'git --git-dir=.git describe --dirty=+')
> This is a problem for all packages, not just iputils.
> I think a solution could be to
> export GIT_CEILING_DIRECTORIES = $(OUTPUT_DIR)
> That way, git won't travel up to the buildroot directory. Should be tested
> with putting the output directory in various places, and also with putting
> DL_DIR below OUTPUT_DIR or equal to OUTPUT_DIR and downloading git packages.
I'll try to do some testing soon. Obviously I prefer general solution,
fixing by setting variable would be easier than trying to merge anything in
meson upstream (if needed I'd open PR in upstream, just for a record of the
problem).
Kind regards,
Petr
> Regards,
> Arnout
> > Another option would be to patch meson so vcs_tag is always run with
> > "--git-dir=.git".
> > This is probably the more correct option as this issue is probably
> > affecting other packages than iputils.
> > However, from my experience in meson, getting something merged
> > upstream can take a very very long time (e.g. more than two years for
> > a prefer_static option [2])
> > I don't know if this is completely related but this issue on vcs_tag
> > is opened for more than one year [3] ...
> > > Any idea how to fix it?
> > > Kind regards,
> > > Petr
> > > [1] https://github.com/iputils/iputils/blob/master/meson.build#L14
> > > [2] https://github.com/iputils/iputils/blob/master/git-version.h.meson
> > Best Regards,
> > Fabrice
> > [1] https://gitlab.gnome.org/GNOME/console/-/blob/main/meson.build#L35
> > [2] https://github.com/mesonbuild/meson/pull/6629
> > [3] https://github.com/mesonbuild/meson/issues/8567
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2022-05-15 5:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-10 20:15 [Buildroot] [RFC] iputils (meson build system) has git version from buildroot instead of iputils Petr Vorel
2022-05-10 21:47 ` Fabrice Fontaine
2022-05-11 6:42 ` Arnout Vandecappelle
2022-05-15 5:42 ` Petr Vorel [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YoCS3bhGjo3juytd@pevik \
--to=petr.vorel@gmail.com \
--cc=arnout@mind.be \
--cc=buildroot@buildroot.org \
--cc=daggs@gmx.com \
--cc=eric.le.bihan.dev@free.fr \
--cc=fontaine.fabrice@gmail.com \
--cc=yann.morin.1998@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.