| Message ID | 20260403024300.1195438-1-khem.raj@oss.qualcomm.com |
|---|---|
| State | Under Review |
| Headers | show |
| Series | autoconf: Raise line length limit for sed/awk | expand |
On Thu, 2026-04-02 at 19:43 -0700, Khem Raj via lists.openembedded.org wrote: > From: Khem Raj <raj.khem@gmail.com> > > Latest autoconf is splitting long cmd lines in config.status > it generates using sed/awk to have compatibility with > platform like HPUX,Solaris,AIX which is understandable given > autotools try to achieve wider portability, however, this does > mean that in OE builds we might get these newlines added in > places dividing commands including buildpaths in them and the > methods deployed to scrub them from output artifacts will fail > since the string is now on two lines resulting in build QA to > pass but the strings do sneak in affecting reproducibility > one such example is e2tools recipe in meta-filesystems and there > perhaps are more > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > ...-command-limit-to-prevent-line-wrapp.patch | 41 +++++++++++++++++++ > .../autoconf/autoconf_2.72.bb | 1 + > 2 files changed, 42 insertions(+) > create mode 100644 meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch > > diff --git a/meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch b/meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch > new file mode 100644 > index 0000000000..0713af6d7d > --- /dev/null > +++ b/meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch > @@ -0,0 +1,41 @@ > +From 139f757a6244d3b1e07f7fddc6d07d9c17f45313 Mon Sep 17 00:00:00 2001 > +From: Khem Raj <raj.khem@gmail.com> > +Date: Tue, 25 Nov 2025 21:03:38 -0800 > +Subject: [PATCH] Increase awk/sed command limit to prevent line wrapping > + > +Autoconf 2.70+ wraps long variable assignments in config.status > +using backslash-newline continuations. This breaks when LDFLAGS > +or other variables contain special characters. > + > +Increase _AC_SED_CMD_LIMIT from 99 and _AC_AWK_LITERAL_LIMIT > +from 148 to 4000 to prevent wrapping. The commit message explains why this is needed but the patch needs to as well (buildpaths being linewrapped and then not being correctly updated as they're over multiple lines). Cheers, Richard
On Fri, Apr 3, 2026 at 1:53 AM Richard Purdie < richard.purdie@linuxfoundation.org> wrote: > On Thu, 2026-04-02 at 19:43 -0700, Khem Raj via lists.openembedded.org > wrote: > > From: Khem Raj <raj.khem@gmail.com> > > > > Latest autoconf is splitting long cmd lines in config.status > > it generates using sed/awk to have compatibility with > > platform like HPUX,Solaris,AIX which is understandable given > > autotools try to achieve wider portability, however, this does > > mean that in OE builds we might get these newlines added in > > places dividing commands including buildpaths in them and the > > methods deployed to scrub them from output artifacts will fail > > since the string is now on two lines resulting in build QA to > > pass but the strings do sneak in affecting reproducibility > > one such example is e2tools recipe in meta-filesystems and there > > perhaps are more > > > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > > --- > > ...-command-limit-to-prevent-line-wrapp.patch | 41 +++++++++++++++++++ > > .../autoconf/autoconf_2.72.bb | 1 + > > 2 files changed, 42 insertions(+) > > create mode 100644 > meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch > > > > diff --git > a/meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch > b/meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch > > new file mode 100644 > > index 0000000000..0713af6d7d > > --- /dev/null > > +++ > b/meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch > > @@ -0,0 +1,41 @@ > > +From 139f757a6244d3b1e07f7fddc6d07d9c17f45313 Mon Sep 17 00:00:00 2001 > > +From: Khem Raj <raj.khem@gmail.com> > > +Date: Tue, 25 Nov 2025 21:03:38 -0800 > > +Subject: [PATCH] Increase awk/sed command limit to prevent line wrapping > > + > > +Autoconf 2.70+ wraps long variable assignments in config.status > > +using backslash-newline continuations. This breaks when LDFLAGS > > +or other variables contain special characters. > > + > > +Increase _AC_SED_CMD_LIMIT from 99 and _AC_AWK_LITERAL_LIMIT > > +from 148 to 4000 to prevent wrapping. > > The commit message explains why this is needed but the patch needs to > as well (buildpaths being linewrapped and then not being correctly > updated as they're over multiple lines). > makes sense, I have sent v2 > > Cheers, > > Richard >
diff --git a/meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch b/meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch new file mode 100644 index 0000000000..0713af6d7d --- /dev/null +++ b/meta/recipes-devtools/autoconf/autoconf/0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch @@ -0,0 +1,41 @@ +From 139f757a6244d3b1e07f7fddc6d07d9c17f45313 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 25 Nov 2025 21:03:38 -0800 +Subject: [PATCH] Increase awk/sed command limit to prevent line wrapping + +Autoconf 2.70+ wraps long variable assignments in config.status +using backslash-newline continuations. This breaks when LDFLAGS +or other variables contain special characters. + +Increase _AC_SED_CMD_LIMIT from 99 and _AC_AWK_LITERAL_LIMIT +from 148 to 4000 to prevent wrapping. + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + lib/autoconf/status.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/autoconf/status.m4 b/lib/autoconf/status.m4 +index 2bfaf32..be444b2 100644 +--- a/lib/autoconf/status.m4 ++++ b/lib/autoconf/status.m4 +@@ -297,7 +297,7 @@ AC_DEFUN([AC_CONFIG_FILES], [_AC_CONFIG_FOOS([FILES], $@)]) + # Some seds have small command number limits, like on Digital OSF/1 and HP-UX. + m4_define([_AC_SED_CMD_LIMIT], + dnl One cannot portably go further than 99 commands because of HP-UX. +-[99]) ++[4000]) + + + # _AC_AWK_LITERAL_LIMIT +@@ -307,7 +307,7 @@ dnl One cannot portably go further than 99 commands because of HP-UX. + # + # Some awk's have small limits, such as Solaris and AIX awk. + m4_define([_AC_AWK_LITERAL_LIMIT], +-[148]) ++[4000]) + + + # _AC_OUTPUT_FILES_PREPARE diff --git a/meta/recipes-devtools/autoconf/autoconf_2.72.bb b/meta/recipes-devtools/autoconf/autoconf_2.72.bb index b599f270c7..605d287e9a 100644 --- a/meta/recipes-devtools/autoconf/autoconf_2.72.bb +++ b/meta/recipes-devtools/autoconf/autoconf_2.72.bb @@ -19,6 +19,7 @@ SRC_URI = " \ file://preferbash.patch \ file://autotest-automake-result-format.patch \ file://man-host-perl.patch \ + file://0001-Increase-awk-sed-command-limit-to-prevent-line-wrapp.patch \ " SRC_URI:append:class-native = " file://no-man.patch"