Subject: bug#31786: 'pre-inst-env guix --version' is not updated by new commits"

From: George Clemmer <[email-masked]>
Date: Tue, 12 Jun 2018 14:28:43 -0400

Ludovic Courtès <[email-masked]> writes:

> Hello George,
>
> George Clemmer <[email-masked]> skribis:
>
>> But with subsequent git commit/make cycles the version does not
>> change. It doesn't change when the guix package is updated either. For
>> example, after pulling and building the recent commit updating the guix
>> package ...
>
> Currently the version number is hardcoded in ‘configure.ac’, so the fact
> that running “git pull && make” doesn’t change it is expected.  So to
> me, it’s not a bug.
>
> We could improve on that (see for instance how Guile does it with
> build-aux/git-version-gen), but it still won’t be updated at each commit
> because that’d be inconvenient: ‘config.h’ would regenerated, so in turn
> we’d need to rebuild all of the C++ code.

Hi Ludo’,

Ok, cool. Thanks for the clarification. So... how about adding a
footnote to '(guix) Running Guix Before It Is Installed' something like
...

(3) The Guix version in the Guix build is set by './configure'. Thus,
when guix is run from the Git working tree by './pre-inst-env guix' or a
'~/.config/guix/latest’ symlink, the version reported by 'guix
--version' is not updated by subsequent 'git pull; make' steps. To
update the version (and rebuild everything), you may use 'git clean
-dfx; ./bootstrap; ./configure; make'.

Note: I also tried 'make distclean' and 'make maintainer-clean' which
didn't work.

> ‘guix pull’ does the right thing though, which I think is more important
> than the build tree.

Agreed.

>> Side questions:
>>
>> 1) why don't you gitignore "doc/stamp-1"?
>
> Good idea, done!  :-)

Thanks!

>> 2) why don't you gitignore .po files?
>
> Because they are checked in.

I guess I meant to say, why does the build change these checked-in
files? It seems like they should be ignored.

TIA - George