Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-08 Thread Guy Harris via tcpdump-workers
--- Begin Message ---
On Jan 8, 2023, at 5:24 AM, Denis Ovsienko  wrote:

> Thank you for this information.  Let me add that Ubuntu 20.04 defaults
> to 2.69, but Ubuntu 22.04, FreeBSD, NetBSD, OpenBSD and OmniOS all
> currently default to Autoconf 2.71.

...and macOS doesn't ship with autoconf in the first place, so the user would 
have to install a third-party version.

The current GNU release is 2.71, and the current Homebrew release:

https://formulae.brew.sh/formula/autoconf#default

is 2.71, so...

> Would it make the most sense to make 2.71 the nominal version (especially for 
> releases), but to maintain
> backward compatibility with 2.69 for quite a while longer?

...yes.

That means people should be careful when updating the configure script, and 
might call for at least one part of the CI process involve testing, on a 
machine with 2.69 installed, both "does it work if you just use the packaged 
configure script?" and "does it work if you get rid of configure and 
config.h.in, run autoconf to generate the script with 2.69, and use the 
resulting configure script?", to catch cases where people aren't careful.--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-08 Thread Denis Ovsienko via tcpdump-workers
--- Begin Message ---
On Sat, 7 Jan 2023 18:47:37 -0800
Guy Harris  wrote:

> On Jan 7, 2023, at 8:51 AM, Denis Ovsienko 
> wrote:
> 
> > On Fri, 6 Jan 2023 17:13:20 -0800
> > Guy Harris  wrote:
> >   
> >> On Jan 6, 2023, at 3:31 PM, Denis Ovsienko 
> >> wrote:
> >>   
> >>> It is the latter, and a custom Autoconf seems an unreasonable
> >>> requirement for contributing.
> >> 
> >> Reasonable, or unreasonable?  
> > 
> > Unreasonable, if it is more complicated than installing an Autoconf
> > package using the package manager of the OS.  
> 
> Which it is likely to be.

Okay, let's not go out of the packaged Autoconf space then.

> >> (By the way, have other Linux distributions applied the same
> >> changes that Debian and its derivatives have?  If not, then users
> >> of those distributions would be in the same situation as macOS and
> >> FreeBSD users.)  
> > 
> > I do not remember to what extent these patches have propagated
> > beyond Debian and Ubuntu.  Maybe somebody else has other
> > distributions ready to check?  
> 
> Fedora 36 and later appear to ship autoconf 2.71; the Debian sid
> package for autoconf 2.71 applies no patches to it, as, I presume,
> all of the Debian packages are applied (the off_t patch is already
> incorporated in 2.71).  Debian's currently shipping 2.69, which
> requires their pile of patches.

Thank you for this information.  Let me add that Ubuntu 20.04 defaults
to 2.69, but Ubuntu 22.04, FreeBSD, NetBSD, OpenBSD and OmniOS all
currently default to Autoconf 2.71.  Would it make the most sense to
make 2.71 the nominal version (especially for releases), but to maintain
backward compatibility with 2.69 for quite a while longer?

> Fedora shipped autoconf 2.69, without a patch like the Debian off_t
> patch but with a patch like the Debian "add runstatedir" patch.  I
> don't know what RHEL has.
> 
> Looking at the Arch Linux repository, there doesn't appear to be a
> version of the off_t patch from when they shipped 2.69; they're
> currently shipping 2.71.  The same applies to Gentoo.
> 
> But at least some of them have 2.71 patches, so there's no guarantee
> that all the releases that have 2.71 will generate exactly the same
> script.

Identical behaviour everywhere would be unrealistic.  Minimizing the
average noise level in pull requests should be realistic, although not
critical, but nice to have.

-- 
Denis Ovsienko
--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-07 Thread Guy Harris via tcpdump-workers
--- Begin Message ---
On Jan 7, 2023, at 8:51 AM, Denis Ovsienko  wrote:

> On Fri, 6 Jan 2023 17:13:20 -0800
> Guy Harris  wrote:
> 
>> On Jan 6, 2023, at 3:31 PM, Denis Ovsienko 
>> wrote:
>> 
>>> It is the latter, and a custom Autoconf seems an unreasonable
>>> requirement for contributing.  
>> 
>> Reasonable, or unreasonable?
> 
> Unreasonable, if it is more complicated than installing an Autoconf
> package using the package manager of the OS.

Which it is likely to be.

>> (By the way, have other Linux distributions applied the same changes
>> that Debian and its derivatives have?  If not, then users of those
>> distributions would be in the same situation as macOS and FreeBSD
>> users.)
> 
> I do not remember to what extent these patches have propagated beyond
> Debian and Ubuntu.  Maybe somebody else has other distributions ready to
> check?

Fedora 36 and later appear to ship autoconf 2.71; the Debian sid package for 
autoconf 2.71 applies no patches to it, as, I presume, all of the Debian 
packages are applied (the off_t patch is already incorporated in 2.71).  
Debian's currently shipping 2.69, which requires their pile of patches.

Fedora shipped autoconf 2.69, without a patch like the Debian off_t patch but 
with a patch like the Debian "add runstatedir" patch.  I don't know what RHEL 
has.

Looking at the Arch Linux repository, there doesn't appear to be a version of 
the off_t patch from when they shipped 2.69; they're currently shipping 2.71.  
The same applies to Gentoo.

But at least some of them have 2.71 patches, so there's no guarantee that all 
the releases that have 2.71 will generate exactly the same script.--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-07 Thread Francois-Xavier Le Bail via tcpdump-workers
--- Begin Message ---
On 07/01/2023 20:13, Michael Richardson wrote:
> 
> Francois-Xavier Le Bail via tcpdump-workers wrote:
> > Or don't generate it and have the build process be:
> > ./autogen.sh && ./configure && ...
> 
> That just leads to non-deterministic builds for everyone :-(

Could you explain why?

My test with tcpslice on https://github.com/the-tcpdump-group/tcpslice/pull/16
gives "18 successful checks" on CI.
(Some tests are with autoconf 2.69, some with 2.71)
--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-07 Thread Francois-Xavier Le Bail via tcpdump-workers
--- Begin Message ---
On 06/01/2023 21:38, Francois-Xavier Le Bail via tcpdump-workers wrote:
>> As some have experienced before, attempts to regenerate the configure
>> script often result in two groups of unnecessary changes (runstatedir
>> and LARGE_OFF_T), both of which come from Debian-specific patches to
>> Autoconf because traditionally the configure scripts were generated
>> using non-Debian Autoconf.  In practice this means that a regenerated
>> revision of a configure script almost always requires "git add -p"
>> instead of "git add".
>>
>> This has been discussed in some detail in [1], and my understanding is
>> that making Debian Autoconf the new standard should make this problem
>> smaller (it certainly would in my development environment).  Would
>> anybody like to make their point for or against such a switch in one of
>> the next releases?
>>
>> 1: https://github.com/the-tcpdump-group/tcpslice/pull/12

> I agree to use Debian Autoconf 2.69.

Or, perhaps better, remove the generated configure script from the repository.
(See my previous message)
--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-07 Thread Denis Ovsienko via tcpdump-workers
--- Begin Message ---
On Fri, 6 Jan 2023 17:13:20 -0800
Guy Harris  wrote:

> On Jan 6, 2023, at 3:31 PM, Denis Ovsienko 
> wrote:
> 
> > It is the latter, and a custom Autoconf seems an unreasonable
> > requirement for contributing.  
> 
> Reasonable, or unreasonable?

Unreasonable, if it is more complicated than installing an Autoconf
package using the package manager of the OS.

> Whatever version is chosen as the standard autoconf, if the goal is
> to have the version of the configure script in the repository always
> be generated by the standard autoconf, some users will have to build
> and install that version if they will be changing the configure
> script, and, for other contributions, they'll either have to build or
> install that version or they will have to take care not to check in
> the configure script if they haven't changed configure.ac or
> aclocal.m4.
> 
> (By the way, have other Linux distributions applied the same changes
> that Debian and its derivatives have?  If not, then users of those
> distributions would be in the same situation as macOS and FreeBSD
> users.)

I do not remember to what extent these patches have propagated beyond
Debian and Ubuntu.  Maybe somebody else has other distributions ready to
check?

> > Or the --runstatedir and LARGE_OFF_T bits between releases could
> > appear and disappear at random  
> 
> Meaning we let users check in the configure script in whatever form
> it exists on their machine?

Yes.  The obvious drawbacks of that would be lowering signal-to-noise
ratio in the diffs and potentially making subsequent git-cherry-pick
more likely to fail due to merge conflicts.

> > until it is a release time, then the standard
> > could be enforced as and if necessary.  
> 
> I.e., part of the process of making a release would be regenerating
> the configuration file using Debian autoconf and checking in the
> regenerated version.?

Yes.  This bit looks relatively simple.

-- 
Denis Ovsienko
--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-07 Thread Francois-Xavier Le Bail via tcpdump-workers
--- Begin Message ---
On 06/01/2023 23:49, Guy Harris via tcpdump-workers wrote:
> An alternative would be *not* to keep the generated configure script in the 
> repository (that's what Wireshark ended up doing before it ceased to use 
> autoconf/automake), and generate it as part of the release-build process, 
> which we would do on a machine on which Debian autoconf was installed.

Or don't generate it and have the build process be:
./autogen.sh && ./configure && ...

> That requires that developers have autoconf installed if they're not going to 
> be using CMake, but there are already tools they need installed (a C 
> compiler, make, Flex, Bison/Berkeley YACC, ...) so I don't see that as a 
> problem.
> 
> It also means that configure.ac and aclocal.m4 would have to work with 
> various sufficiently-recent versions of autoconf.

FYI, test for tcpslice here:
https://github.com/the-tcpdump-group/tcpslice/pull/16
Some warnings like The macro `XXX' is obsolete.
(Some tests are with autoconf version 2.71)

--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-06 Thread Guy Harris via tcpdump-workers
--- Begin Message ---
On Jan 6, 2023, at 3:31 PM, Denis Ovsienko  wrote:

> It is the latter, and a custom Autoconf seems an unreasonable
> requirement for contributing.

Reasonable, or unreasonable?

Whatever version is chosen as the standard autoconf, if the goal is to have the 
version of the configure script in the repository always be generated by the 
standard autoconf, some users will have to build and install that version if 
they will be changing the configure script, and, for other contributions, 
they'll either have to build or install that version or they will have to take 
care not to check in the configure script if they haven't changed configure.ac 
or aclocal.m4.

(By the way, have other Linux distributions applied the same changes that 
Debian and its derivatives have?  If not, then users of those distributions 
would be in the same situation as macOS and FreeBSD users.)

> Or the --runstatedir and LARGE_OFF_T bits between releases could appear
> and disappear at random

Meaning we let users check in the configure script in whatever form it exists 
on their machine?

> until it is a release time, then the standard
> could be enforced as and if necessary.

I.e., part of the process of making a release would be regenerating the 
configuration file using Debian autoconf and checking in the regenerated 
version.?--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-06 Thread Denis Ovsienko via tcpdump-workers
--- Begin Message ---
On Fri, 6 Jan 2023 14:49:54 -0800
Guy Harris  wrote:

> On Jan 6, 2023, at 2:24 PM, Denis Ovsienko 
> wrote:
> 
> > On Fri, 6 Jan 2023 13:25:14 -0800
> > Guy Harris  wrote:
> >   
> >> If we switch to making Debian Autoconf the new standard and keeping
> >> the generated configure script in the repository, would that mean
> >> that developers working from the repository would either have to
> >> install Debian Autoconf or use "git add -p" instead of "git add"?  
> > 
> > Yes.  Right now it is the other way around (contributors that use
> > Debian or its derivatives have to filter their output).  So perhaps
> > this switch would not be convenient for macOS and FreeBSD users.  
> 
> If we go that way, we should document it when addressing developers.

Yes, and it would be nice to have this documented even if we don't
(currently the contribution guidelines do not discuss this).

> Is there a place where people can download a tarball for Debian
> autoconf and just do ./configure, make, and make install, or will
> they have to download the Debian package and apply the patches?  If
> the latter, we should, at minimum, give documentation on how to do
> that - or we could just do that ourselves and have a "Debian
> autoconf" source tarball to download.

It is the latter, and a custom Autoconf seems an unreasonable
requirement for contributing.

> An alternative would be *not* to keep the generated configure script
> in the repository (that's what Wireshark ended up doing before it
> ceased to use autoconf/automake), and generate it as part of the
> release-build process, which we would do on a machine on which Debian
> autoconf was installed.

Or the --runstatedir and LARGE_OFF_T bits between releases could appear
and disappear at random until it is a release time, then the standard
could be enforced as and if necessary.

> That requires that developers have autoconf installed if they're not
> going to be using CMake, but there are already tools they need
> installed (a C compiler, make, Flex, Bison/Berkeley YACC, ...) so I
> don't see that as a problem.
> 
> It also means that configure.ac and aclocal.m4 would have to work
> with various sufficiently-recent versions of autoconf.

-- 
Denis Ovsienko
--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-06 Thread Guy Harris via tcpdump-workers
--- Begin Message ---
On Jan 6, 2023, at 2:24 PM, Denis Ovsienko  wrote:

> On Fri, 6 Jan 2023 13:25:14 -0800
> Guy Harris  wrote:
> 
>> If we switch to making Debian Autoconf the new standard and keeping
>> the generated configure script in the repository, would that mean
>> that developers working from the repository would either have to
>> install Debian Autoconf or use "git add -p" instead of "git add"?
> 
> Yes.  Right now it is the other way around (contributors that use
> Debian or its derivatives have to filter their output).  So perhaps
> this switch would not be convenient for macOS and FreeBSD users.

If we go that way, we should document it when addressing developers.

Is there a place where people can download a tarball for Debian autoconf and 
just do ./configure, make, and make install, or will they have to download the 
Debian package and apply the patches?  If the latter, we should, at minimum, 
give documentation on how to do that - or we could just do that ourselves and 
have a "Debian autoconf" source tarball to download.

An alternative would be *not* to keep the generated configure script in the 
repository (that's what Wireshark ended up doing before it ceased to use 
autoconf/automake), and generate it as part of the release-build process, which 
we would do on a machine on which Debian autoconf was installed.

That requires that developers have autoconf installed if they're not going to 
be using CMake, but there are already tools they need installed (a C compiler, 
make, Flex, Bison/Berkeley YACC, ...) so I don't see that as a problem.

It also means that configure.ac and aclocal.m4 would have to work with various 
sufficiently-recent versions of autoconf.--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-06 Thread Denis Ovsienko via tcpdump-workers
--- Begin Message ---
On Fri, 6 Jan 2023 13:25:14 -0800
Guy Harris  wrote:

> If we switch to making Debian Autoconf the new standard and keeping
> the generated configure script in the repository, would that mean
> that developers working from the repository would either have to
> install Debian Autoconf or use "git add -p" instead of "git add"?

Yes.  Right now it is the other way around (contributors that use
Debian or its derivatives have to filter their output).  So perhaps
this switch would not be convenient for macOS and FreeBSD users.

-- 
Denis Ovsienko
--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-06 Thread Guy Harris via tcpdump-workers
--- Begin Message ---
On Jan 4, 2023, at 2:30 PM, Denis Ovsienko via tcpdump-workers 
 wrote:

> As some have experienced before, attempts to regenerate the configure
> script often result in two groups of unnecessary changes (runstatedir
> and LARGE_OFF_T), both of which come from Debian-specific patches to
> Autoconf because traditionally the configure scripts were generated
> using non-Debian Autoconf.  In practice this means that a regenerated
> revision of a configure script almost always requires "git add -p"
> instead of "git add".
> 
> This has been discussed in some detail in [1], and my understanding is
> that making Debian Autoconf the new standard should make this problem
> smaller (it certainly would in my development environment).  Would
> anybody like to make their point for or against such a switch in one of
> the next releases?

If we switch to making Debian Autoconf the new standard and keeping the 
generated configure script in the repository, would that mean that developers 
working from the repository would either have to install Debian Autoconf or use 
"git add -p" instead of "git add"?--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] Autoconf with Debian patches

2023-01-06 Thread Francois-Xavier Le Bail via tcpdump-workers
--- Begin Message ---
On 04/01/2023 23:30, Denis Ovsienko via tcpdump-workers wrote:
> As some have experienced before, attempts to regenerate the configure
> script often result in two groups of unnecessary changes (runstatedir
> and LARGE_OFF_T), both of which come from Debian-specific patches to
> Autoconf because traditionally the configure scripts were generated
> using non-Debian Autoconf.  In practice this means that a regenerated
> revision of a configure script almost always requires "git add -p"
> instead of "git add".
> 
> This has been discussed in some detail in [1], and my understanding is
> that making Debian Autoconf the new standard should make this problem
> smaller (it certainly would in my development environment).  Would
> anybody like to make their point for or against such a switch in one of
> the next releases?
> 
> 1: https://github.com/the-tcpdump-group/tcpslice/pull/12

I agree to use Debian Autoconf 2.69.
--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers