b14578b4a814a2d8421c43157858dba689da0a35 — Zack Weinberg 3 years ago a6728dd
Add notes on several of the patches.
1 files changed, 66 insertions(+), 2 deletions(-)

M todo.org
M todo.org => todo.org +66 -2
@@ 28,12 28,22 @@ https://lists.gnu.org/archive/html/autoconf-patches/2008-08/msg00032.html
Reading the thread, I'm not seeing a categorical no to the patch. Mostly seems
like a probably not necessary but it's a bit safer. Might be worth another look.

[ZW: I read the thread myself, and I think we should probably do
*something* like this patch, but I see several problems with both
versions, and I want to check whether the problem has been obviated by
changes to the autom4te infrastructure since 2008.  Please file a bug
in savannah for this one, linking to the thread.]

** MERGED debian/avoid-undefined-behavior-for-32bit-off_t.patch

There are some small changes in the patch where some parenthesis were
removed. Nothing noteworthy though.

[ZW: I wish Paul hadn't felt the need to remove those parentheses,
I had to go double-check the freaking *C standard* to make sure it
didn't change the semantics.  But it's fine as is.]

** MERGED debian/mmap-leak-fix.patch

@@ 43,6 53,12 @@ b3eb40f9c9919e5c40762cab1196715bd8796af1
Some significant changes in the patch but the original is from 2003 and the
newer version is from 2020 so I'm guessing those changes were necessary.

[ZW: Looks like these changes were necessary to make the patch work in
the absence of Debian's build scripts.  With only the upstream build
machinery, the autom4te version number is available to autom4te.in but
not to Autom4te/Cache.pm, so Paul made 'save' and 'good_version' take
the version as an argument.]

** BACKPORT debian/texinfo.patch

@@ 74,6 90,13 @@ But also:
Need to dig through git/CVS history to find reason behind the patch but I'm
pretty sure we can safely ignore it.

[ZW: Concur.  @dircategory and @direntry...@end direntry markup
controls how individual .texi files are merged into the top-level
directory of all "Info" documentation on the system.  FreeBSD has made
different choices about this than GNU and that's their business but
not interesting to us right now (if it were going to change it would
be as part of a GNU Project-wide review of how this is done).]

** SKIP freebsd/patch-doc-Makefile.in
The makefile file it tries to patch has been removed prior to 2.69 (did not
track down exact commit). The change itself is removing 2 files from stages of

@@ 82,6 105,16 @@ the build which I don't think is something we want to do upstream.
Need to dig through git/CVS history to find reason behind the patch but I'm
pretty sure we can safely ignore it.

[ZW: Concur.  standards.texi is GNU Project-specific documentation
which FreeBSD doesn't want, and again that's their business but we
shouldn't follow suit.

For future reference, doc/Makefile.in is now doc/local.mk; at some
point each subdirectory's Makefile.in/am was converted to a fragment
included by the top-level Makefile.am, to eliminate recursive make
invocations.  (Have you read "Recursive Make Considered Harmful"?
It's like 25 years old and yet people are still Doing It Wrong.)]

* HARD netbsd
** HARD netbsd/patch-aa
`AC_FUNC_ALLOCA should never define a prototype on the BSDs. Bump revision.`

@@ 92,12 125,25 @@ added for BSD variance to redirect to `stdlib.h`. That check has been heavily
modified since, so requires careful analysis and the patch can't be merged as

[ZW: Upstream AC_FUNC_ALLOCA *unconditionally* includes stdlib.h,
which is what I was going to say we ought to do instead of this patch.
We should still verify that alloca is successfully detected on NetBSD.
Please file a bug for this one.]

** HARD netbsd/patch-lib_autoconf_fortran.m4
`Rpath is a linker option, so prefix it with -Wl. Bump revision.`

Patch can be merged as is but need to validate correctness.

[ZW: The macro being changed is quite hairy and I think this is
higher-risk than it looks.  -Wl, is a GCC feature (also supported by
LLVM).  It may be necessary to do something cleverer here to make sure
this still works with other Fortran compilers.  Please file a bug for
this one.  If you can dig up discussion of why the change was made on
the NetBSD mailing lists, commit history, etc. that would be really

* TODO oe
This repo has a big commit that touches just about every file so extracting the
original commits with a --depth=1 checkout is not feasible. Would need to spend

@@ 109,16 155,30 @@ e17a30e987d7ee695fb4294a82d987ec3dc9b974
** BACKPORT oe/add_musl_config.patch

** EASY oe/autoconf-replace-w-option-in-shebangs-with-modern-use-warnings.patch
** MERGED oe/autoconf-replace-w-option-in-shebangs-with-modern-use-warnings.patch

Pretty simple patch that does what the name says. Not familliar enough with perl
to make a judgment all here.

[ZW: The oldest version of Perl still supported by Autoconf is 5.6.0
aka 5.006, and that version does support 'use warnings', so I’ve gone
ahead and merged this patch.]

** HARD oe/autoreconf-exclude.patch
Adds an exclude option to the autoreconf util to skip some steps.

Need to dig up the commit for this one to get a description of use cases. Patch
file is lacking information.

[ZW: Do file a bug so this doesn’t get lost, but don't spend too much
time on researching it.  I’m not sure we want the new feature that it
adds; autoreconf is supposed to be smart enough to know when each tool
should or shouldn’t be run, and not need this kind of override.  We’d
want to know why that’s infeasible.  If we did decide to take the
patch, we would want more documentation.  In any case, new features
should wait for after 2.70.]

** QUESTION oe/autoreconf-gnuconfigize.patch
No idea what gnu-configize is and light research hasn't turned up anything. Need
to dig further.

@@ 126,8 186,12 @@ to dig further.
Patch has no information and it links to a dead link which doesn't help much

** TODO oe/autotest-automake-result-format.patch
[ZW: I've never heard of this tool either.  What I was able to find
online makes me think it might be an OE-specific tool, in which case
we wouldn't want this patch.  But all the links I'm turning up are
dead, so :shrug:]

** TODO oe/autotest-automake-result-format.patch
** TODO oe/check-automake-cross-warning.patch
** TODO oe/config_site.patch
** TODO oe/fix_path_xtra.patch