Re: Please test autoreconf from zack/autoreconf-exclude branch

Bruno Haible via Discussion list for the autoconf build system <[email protected]> Tue, 17 Mar 2026 22:53:49 +0100
Newsgroups gmane.comp.sysutils.autoconf.general
Organization GNU
Message-ID <2105761.XtZrkuRnFY@nimes>
This is a multi-part message in MIME format.

--nextPart2255116.0P5a06LPOY
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Hi Zack,

> Fixed in commit 52888c93.  I plan to merge the branch to master in the next few days.

Thanks. I'm testing the current 'master' (commit 9af20f0af70061f633aa50294ed74fd93210e307)
with various versions of 'autopoint'.

My test case is
  $ PATH=<directory containing autopoint of the given version>:$PATH
  $ tar xf gnujump_1.0.8.orig.tar.gz
  $ cd gnujump-1.0.8
  $ autoreconf -f -i -v

> >> The autopoint versions that should match are:
> >>   - 0.23.x with x >= 2
> >>   - 0.24.x with x >= 2
> >>   - 0.25.x with x >= 1
> >>   - 0.26 and newer.

Good:
  - With 0.23, 0.23.1, autoreconf reports "not running autopoint because it is too old"
  - With 0.23.2, autoreconf reports "running: autopoint --force"
  - With 0.24, 0.24.1, autoreconf reports "not running autopoint because it is too old"
  - With 0.24.2, autoreconf reports "running: autopoint --force"
  - With 0.25, autoreconf reports "not running autopoint because it is too old"
  - With 0.25.1, autoreconf reports "running: autopoint --force"

BROKEN:
  - With 0.26, autoreconf reports "not running autopoint because it is too old"
  - With 1.0, autoreconf reports "not running autopoint because it is too old"

The reason is that the line
    if ($ap_ver[0] =~ /^ .*?\) \s+ (\d+) \. (\d+) (?:\.(\d+)) /x)
apparently matches
    "PROGRAM_NAME (GNU PACKAGE_NAME) MAJ.MIN.PTC"
but it does not match
    "PROGRAM_NAME (GNU PACKAGE_NAME) MAJ.MIN"

The attached patch fixes it.


--nextPart2255116.0P5a06LPOY
Content-Disposition: attachment;
 filename="0001-autoreconf-Fix-recognition-of-autopoint-versions-0.2.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="x-UTF_8J";
 name="0001-autoreconf-Fix-recognition-of-autopoint-versions-0.2.patch"

From 0148f0772537943abdb9e8eba5ac65a13aaae9c0 Mon Sep 17 00:00:00 2001
From: Bruno Haible <[email protected]>
Date: Tue, 17 Mar 2026 22:48:47 +0100
Subject: [PATCH] autoreconf: Fix recognition of autopoint versions 0.26 or
 newer.

* bin/autoreconf.in (autoreconf_current_directory): In the regex that
extracts the version number components from `autopoint --version`, mark
the third component as optional.
---
 bin/autoreconf.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bin/autoreconf.in b/bin/autoreconf.in
index b703dd02..65570cf8 100644
--- a/bin/autoreconf.in
+++ b/bin/autoreconf.in
@@ -601,7 +601,7 @@ sub autoreconf_current_directory ($)
               # "PROGRAM_NAME (GNU PACKAGE_NAME) MAJ.MIN[.PTC][ETC]"
               # where MAJ, MIN, and PTC are sequences of digits,
               # and [...] indicates an optional component.
-              if ($ap_ver[0] =~ /^ .*?\) \s+ (\d+) \. (\d+) (?:\.(\d+)) /x)
+              if ($ap_ver[0] =~ /^ .*?\) \s+ (\d+) \. (\d+) (?:\.(\d+))? /x)
                 {
                   my $maj = $1;
                   my $min = $2;
-- 
2.52.0


--nextPart2255116.0P5a06LPOY--