Re: autoreconf --force seemingly does not forcibly update everything

2024-04-10 Thread Bruno Haible
Nick Bowler wrote:
> Not including the scripts used to build configure in a source tarball
> is a mistake, particularly for a GPL-licensed package.  The configure
> script itself is clearly object code, and the GPL defines corresponding
> source to include any "scripts to control [its generation]".

But the GPL does not require that the corresponding sources be included
in the *same tarball*.

When a distro distributes binary packages, they don't include the source
code in the same binary .rpm or binary .tar.xz. All they do is to provide
the source code in a location that is straightforward to find.

The same rights hold for upstream package maintainers: When they produce
tarballs, that include a "binary" configure and generated .c files, it is
sufficient that the source code (*.m4 files and .y and .l files) are in
the git repository or submodules, and that the git repository is straight-
forward to find.

Bruno






Re: autoreconf --force seemingly does not forcibly update everything

2024-04-10 Thread Nick Bowler
On 2024-04-10 16:36, Simon Josefsson wrote:
> Is bootstrap intended to be reliable from within a tarball?  I thought
> the bootstrap script was not included in tarballs because it wasn't
> designed to be ran that way, and the way it is designed may not give
> expected results.  Has this changed, so we should recommend maintainers
> to 'EXTRA_DIST = bootstrap bootstrap-funclib.sh bootstrap.conf' so this
> is even possible?

Not including the scripts used to build configure in a source tarball
is a mistake, particularly for a GPL-licensed package.  The configure
script itself is clearly object code, and the GPL defines corresponding
source to include any "scripts to control [its generation]".

If you cannot successfully regenerate configure from a source tarball,
it is probably missing some of the source code for the configure script,
which is a problem if it was supposed to be a free software package.

Cheers,
  Nick



Re: autoreconf --force seemingly does not forcibly update everything

2024-04-10 Thread Jeffrey Walton
On Wed, Apr 10, 2024 at 5:44 PM Paul Eggert  wrote:
>
> On 4/10/24 13:36, Simon Josefsson via Gnulib discussion list wrote:
> > Is bootstrap intended to be reliable from within a tarball?  I thought
> > the bootstrap script was not included in tarballs because it wasn't
> > designed to be ran that way, and the way it is designed may not give
> > expected results.
>
> It's pretty routinely distributed, I expect under the theory that we're
> being transparent about what sources we use to generate the tarball.
>
> Whether it works from a tarball depends on one's definition of "works".
> Certainly more expertise and tools are needed to bootstrap than merely
> to configure + make.

Maybe the tarball should include a shell script that can achieve a
reproducible build, similar to what bootstrap does.

Jeff



Re: autoreconf --force seemingly does not forcibly update everything

2024-04-10 Thread Paul Eggert

On 4/10/24 13:36, Simon Josefsson via Gnulib discussion list wrote:

Is bootstrap intended to be reliable from within a tarball?  I thought
the bootstrap script was not included in tarballs because it wasn't
designed to be ran that way, and the way it is designed may not give
expected results.


It's pretty routinely distributed, I expect under the theory that we're 
being transparent about what sources we use to generate the tarball.


Whether it works from a tarball depends on one's definition of "works". 
Certainly more expertise and tools are needed to bootstrap than merely 
to configure + make.




Re: autoreconf --force seemingly does not forcibly update everything

2024-04-10 Thread Simon Josefsson via Bug reports for autoconf
Bruno Haible  writes:

> Bernhard Voelker wrote:
>>  > Last month, I spent 2 days on prerelease testing of coreutils. If, after
>>  > downloading the carefully prepared tarball from ftp.gnu.org, the first
>>  > thing a distro does is to throw away the *.m4 files and regenerate the
>>  > configure script with their own one,
>>  >* It shows [...]
>> 
>> FWIW: especially the downstream builds of the 'coreutils' package have been
>> using 'autoreconf -fi' for a long time, because the upstream tools do not
>> have full I18N support, and the large I18N patch is in use e.g. at Fedora,
>> openSUSE and Debian probably since >15 years.
>
> Sure, if downstream applies a patch that modifies bootstrap.conf, they need
> to rerun 'bootstrap'.

Is bootstrap intended to be reliable from within a tarball?  I thought
the bootstrap script was not included in tarballs because it wasn't
designed to be ran that way, and the way it is designed may not give
expected results.  Has this changed, so we should recommend maintainers
to 'EXTRA_DIST = bootstrap bootstrap-funclib.sh bootstrap.conf' so this
is even possible?  I recall some project already added something to that
effect, but I'm not sure if that is something gnulib supports?

/Simon


signature.asc
Description: PGP signature


Re: autoreconf --force seemingly does not forcibly update everything

2024-04-10 Thread Bernhard Voelker

On 4/10/24 4:22 PM, Bruno Haible wrote:

Sure, if downstream applies a patch that modifies bootstrap.conf, they need
to rerun 'bootstrap'. That goes without saying. I hope downstream then also
runs "make check".


Sure, full automated QA is in action on all supported platforms.

Have a nice day,
Berny



Re: autoreconf --force seemingly does not forcibly update everything

2024-04-10 Thread Bernhard Voelker

On 4/1/24 11:54 PM, Bruno Haible wrote:
> Last month, I spent 2 days on prerelease testing of coreutils. If, after
> downloading the carefully prepared tarball from ftp.gnu.org, the first
> thing a distro does is to throw away the *.m4 files and regenerate the
> configure script with their own one,
>* It shows [...]

FWIW: especially the downstream builds of the 'coreutils' package have been
using 'autoreconf -fi' for a long time, because the upstream tools do not
have full I18N support, and the large I18N patch is in use e.g. at Fedora,
openSUSE and Debian probably since >15 years.
Nowadays, the coreutils-i18n.patch [1][2] gets smaller and smaller because
upstream is adding I18N step by step in one tool or another.
But we're still not there yet, unfortunately.

[1]
https://src.fedoraproject.org/rpms/coreutils/blob/main/f/coreutils-i18n.patch
[2]
https://build.opensuse.org/projects/openSUSE:Factory/packages/coreutils/files/coreutils-i18n.patch?expand=1

Have a nice day,
Berny



Re: autoreconf --force seemingly does not forcibly update everything

2024-04-10 Thread Bruno Haible
Bernhard Voelker wrote:
>  > Last month, I spent 2 days on prerelease testing of coreutils. If, after
>  > downloading the carefully prepared tarball from ftp.gnu.org, the first
>  > thing a distro does is to throw away the *.m4 files and regenerate the
>  > configure script with their own one,
>  >* It shows [...]
> 
> FWIW: especially the downstream builds of the 'coreutils' package have been
> using 'autoreconf -fi' for a long time, because the upstream tools do not
> have full I18N support, and the large I18N patch is in use e.g. at Fedora,
> openSUSE and Debian probably since >15 years.

Sure, if downstream applies a patch that modifies bootstrap.conf, they need
to rerun 'bootstrap'. That goes without saying. I hope downstream then also
runs "make check".

Bruno