[openwrt/openwrt] tools/automake: hardcode portable location for Perl

LEDE Commits lede-commits at lists.infradead.org
Sat Jul 26 05:38:25 PDT 2025


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/793be94a3ad8f1304dcd01f1535f1dc5af2eca1c

commit 793be94a3ad8f1304dcd01f1535f1dc5af2eca1c
Author: Michael Pratt <mcpratt at pm.me>
AuthorDate: Sun May 11 12:23:17 2025 -0400

    tools/automake: hardcode portable location for Perl
    
    The latest automake version 1.17 includes a restriction against whitespace
    for the configure variable $PERL, which is set to "/usr/bin/env perl"
    for portability reasons with products like the SDK.
    
    Instead of waiting until the next version of automake is released
    for this error to be converted to a warning,
    set the shebang of automake and aclocal manually with a patch.
    
    In past git history, these lines have been patched before,
    but only to remove the "-w" flag in favor of setting global warnings
    in the script itself so that env does not strip the option.
    
    The other purposes of Perl during building can use
    the static staging directory path without any limitations.
    
    Also, the configure variable "am_cv_prog_PERL_ithreads"
    for the detection of Perl threads support
    has been removed since 2013 in favor of dynamic runtime detection.
    Remove our manual setting of this variable value as it has no effect.
    
    Ref: 1ef07eee4 ("automake: forcibly disable perl ithreads support")
    Ref: 182626687 ("ithreads: use runtime (not configure time) detection of perl threads") # automake.git
    Ref: f6c581cc3 ("automake: portability fixes")
    Ref: 87f3365d9 ("Revert "tools/automake: bump to 1.17"")
    Signed-off-by: Michael Pratt <mcpratt at pm.me>
    Link: https://github.com/openwrt/openwrt/pull/16522
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 tools/automake/Makefile                      |  3 +--
 tools/automake/patches/000-relocatable.patch | 12 ++++++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/automake/Makefile b/tools/automake/Makefile
index 7f129c1d83..b698dd5a71 100644
--- a/tools/automake/Makefile
+++ b/tools/automake/Makefile
@@ -21,8 +21,7 @@ HOST_CONFIGURE_ARGS += \
 	--disable-silent-rules
 
 HOST_CONFIGURE_VARS += \
-	PERL="/usr/bin/env perl" \
-	am_cv_prog_PERL_ithreads=no
+	# temporary patch alternative for PERL="/usr/bin/env perl"
 
 define Host/Configure
 	(cd $(HOST_BUILD_DIR); $(AM_TOOL_PATHS) STAGING_DIR_HOST="" ./bootstrap)
diff --git a/tools/automake/patches/000-relocatable.patch b/tools/automake/patches/000-relocatable.patch
index 0b61eaeb45..7d62435cb2 100644
--- a/tools/automake/patches/000-relocatable.patch
+++ b/tools/automake/patches/000-relocatable.patch
@@ -11,6 +11,12 @@
  # We need at least this version for CLONE support.
 --- a/bin/aclocal.in
 +++ b/bin/aclocal.in
+@@ -1,4 +1,4 @@
+-#!@PERL@
++#!/usr/bin/env perl
+ # aclocal - create aclocal.m4 by scanning configure.ac      -*- perl -*-
+ # @configure_input@
+ # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 @@ -23,9 +23,11 @@ use 5.006;
  use strict;
  use warnings FATAL => 'all';
@@ -37,6 +43,12 @@
  my $install = 0;
 --- a/bin/automake.in
 +++ b/bin/automake.in
+@@ -1,4 +1,4 @@
+-#!@PERL@
++#!/usr/bin/env perl
+ # automake - create Makefile.in from Makefile.am            -*- perl -*-
+ # @configure_input@
+ # Copyright (C) 1994-2021 Free Software Foundation, Inc.
 @@ -26,9 +26,11 @@ use 5.006;
  use strict;
  use warnings FATAL => 'all';




More information about the lede-commits mailing list