[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[coreutils] Re: [PATCH] build: speed up configure for releases
From: |
Bruno Haible |
Subject: |
[coreutils] Re: [PATCH] build: speed up configure for releases |
Date: |
Tue, 25 Jan 2011 01:51:48 +0100 |
User-agent: |
KMail/1.9.9 |
Hi Eric,
> What do you think of this patch?
>
> It speeds up ./configure of a release tarball (no time at all
> spent on any HAVE_RAW_DECL_* checks), while defaulting to
> leaving that in during development.
I think it's a bad idea to make release tarballs work differently than
the development environment and intermediate snapshots. For three reasons:
1) Freedom to modify a package. It is an excellent property of GNU software
that anyone can take a released tarball, make a small modification, do
"./configure; make; make dist", and get a tarball that works like the
original one, except for precisely the intended modification.
If people cannot do that any more, if people cannot tinker with packages
by themselves any more, then where is the freedom to modify gone?
2) For newbies to become contributors to a package easily, it's important
that the perspective of a tarball consumer and the perspective of a
developer are not too different. We have a README-HACKING which
explains a lot of the practical knowledge. But that does not mean that
adding more differences between these two perspectives is welcome.
3) Testability of the release process. If release tarballs are built
differently than snapshot tarballs, by Murphy's law, you will at some
point have a bug in the release tarball that was absent from all
snapshot tarballs.
> About the only other thing I could think of is adding a new
> ./configure option:
>
> ./configure --enable-posix-check
This is acceptable. But OTOH, why not just let the maintainer add
these two lines to configure.ac:
# Comment this out if you want to use -DGNULIB_POSIXCHECK.
gl_ASSERT_NO_GNULIB_POSIXCHECK
If it's rare enough for the maintainer to use -DGNULIB_POSIXCHECK,
he can tweak his configure.ac file and rerun configure and make.
Bruno