bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gcc -Wall vs. manywarnings, git checkout vs. tarball


From: Paul Eggert
Subject: Re: gcc -Wall vs. manywarnings, git checkout vs. tarball
Date: Tue, 20 Jun 2023 15:03:39 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0

On 2023-06-06 15:11, Bruno Haible wrote:

There are at least two problems here:

   * A logic that distinguishes two types of environments (e.g. git checkout
     vs. tarball) increases the test requirements....
     We need to support both environments. But the more similar they behave,
     the better (in order to minimize the required testing).

We need to test the two environments anyway, and we don't need much more testing if the environments diverge a bit more in this way.

As I see it the main problem with this sort of divergence is not that more testing is needed. It's that it's annoying when later tests find problems that should have been squashed by earlier tests. And in this particular case the annoyance is relatively small since the default git checkout warnings, which are tested earlier, should be a superset of the default tarball warnings.

Of course all bets are off if developers or builders use non-default options, but that's not something we necessarily need to worry about.


   * The heuristic in coreutils, grep, gzip, sed is wrong:

       gl_gcc_warnings=no
       gl_GCC_VERSION_IFELSE([4], [6],
                             [test -d "$srcdir"/.git \
                              && ! test -f "$srcdir"/.tarball-version \
                              && gl_gcc_warnings=yes])]

     means that a random user who uses the git checkout will get
     gl_gcc_warnings=yes, whereas a maintainer who happens to create a
     .tarball-version file and never removes it will get gl_gcc_warnings=no.

That's due to the first attached patch, a 2014 patch to coreutils. The heuristic could be improved, and someone who's bothered by it could take a crack at it. It doesn't bother me because I rarely have .tarball-version litter.


There are more and more random users, who are not experts and who try the
git checkout of a GNU package, rather than the newest release. And then
wonder, for example, why the INSTALL file suggests to run './configure'
although no 'configure' file is present. [1]
[1] https://savannah.gnu.org/bugs/?62196

Good point. And this is not the only reason INSTALL is out of date. I took a shot at fixing this by installing the second attached patch into Autoconf and propagating it into Gnulib. Comments welcome of course.

Attachment: 0001-build-be-more-specific-about-.git-repo-before-enabli.patch
Description: Text Data

Attachment: autoconf-install-doc.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]