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

From: [email-masked] (Ludovic Courtès)
Date: Tue, 12 Jun 2018 22:33:17 +0200

George Clemmer <[email-masked]> skribis:

> 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'.

I’m not comfortable documenting this because it’s nothing specific to
Guix.

Besides, note that ~/.config/guix/latest no longer exists.

>>> 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.

The build changes them only if you start anew.  In normal circumstances
(meaning you didn’t run “distclean”), they remained unchanged if I’m not
mistaken.

So yeah, it’s occasionally annoying, but I’m not sure how to fix this.

Ludo’.