From d0329d46a6ed048813580ea9dbd04926f67db373 Mon Sep 17 00:00:00 2001 From: wenyuzifangtest001 Date: Thu, 18 Sep 2025 11:28:11 +0800 Subject: [PATCH] Update code from upstream --- autogen-multilib.patch | 25 +++++++++++++++++++++++++ autogen-overlap.patch | 12 ++++++++++++ autogen.spec | 10 ++++++++-- 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 autogen-multilib.patch create mode 100644 autogen-overlap.patch diff --git a/autogen-multilib.patch b/autogen-multilib.patch new file mode 100644 index 0000000..4113b36 --- /dev/null +++ b/autogen-multilib.patch @@ -0,0 +1,25 @@ +diff -up autogen-5.18/autoopts/autoopts-config.in.multilib autogen-5.18/autoopts/autoopts-config.in +--- autogen-5.18/autoopts/autoopts-config.in.multilib 2013-07-15 02:37:20.000000000 +0200 ++++ autogen-5.18/autoopts/autoopts-config.in 2013-07-29 15:41:26.654229342 +0200 +@@ -17,17 +17,17 @@ + includedir="@includedir@" + exec_prefix="@exec_prefix@" + bindir="@bindir@" +- libdir="@libdir@" +- ldopts="@AG_LDFLAGS@" ++ libdir="" ++ ldopts="" + exeext="@EXEEXT@" + version="@AO_CURRENT@:@AO_REVISION@:@AO_AGE@" + dotver="@AO_CURRENT@.@AO_REVISION@.@AO_AGE@" + pkgdatadir="${datadir}/${package}" + autogen="${bindir}/autogen${exeext}" +- ldflags="-L${libdir} -lopts" ++ ldflags="-lopts" + libs="${ldflags}" + libsrc="${pkgdatadir}/libopts-${dotver}.tar.gz" +- static_libs="${libdir}/libopts.a" ++ static_libs="" + cflags="-I${includedir}" + test 'X@ENABLE_STATIC@' = Xno && static_libs='' + case "${libdir}" in diff --git a/autogen-overlap.patch b/autogen-overlap.patch new file mode 100644 index 0000000..37aefeb --- /dev/null +++ b/autogen-overlap.patch @@ -0,0 +1,12 @@ +diff -up autogen-5.18.16/compat/pathfind.c.orig autogen-5.18.16/compat/pathfind.c +--- autogen-5.18.16/compat/pathfind.c.orig 2018-07-25 21:44:31.000000000 +0200 ++++ autogen-5.18.16/compat/pathfind.c 2019-02-05 12:39:02.625001009 +0100 +@@ -211,7 +211,7 @@ canonicalize_pathname( char *path ) + (result[i + 2] == '/' || !result[i + 2])) { + while (--start > -1 && result[start] != '/') + ; +- strcpy( result + start + 1, result + i + 2 ); ++ memmove( result + start + 1, result + i + 2, strlen(result + i + 2) + 1 ); + i = (start < 0) ? 0 : start; + continue; + } diff --git a/autogen.spec b/autogen.spec index ecc36be..583a699 100644 --- a/autogen.spec +++ b/autogen.spec @@ -1,4 +1,4 @@ -%define anolis_release 3 +%define anolis_release 4 Name: autogen Version: 5.18.16 @@ -6,11 +6,13 @@ Release: %{anolis_release}%{?dist} Summary: Automated text file generator License: GPLv3+ URL: http://www.gnu.org/software/%{name}/ -Source0: ftp://ftp.gnu.org/gnu/%{name}/rel%{version}/%{name}-%{version}.tar.xz +Source0: ftp://ftp.gnu.org/gnu/autogen/rel5.18.16/autogen-5.18.16.tar.xz Patch1: 0001-guile-version.patch Patch2: 0002-remove-guile-version-check.patch Patch1000: 1000-fix-dangle-pointer.patch +Patch1001: autogen-multilib.patch +Patch1002: autogen-overlap.patch Requires: %{name}-libopts = %{version}-%{release} @@ -18,6 +20,7 @@ BuildRequires: gcc libtool make chrpath sed BuildRequires: perl-generators perl(Carp) perl(constant) perl(Exporter) perl(File::Basename) BuildRequires: perl(lib) perl(List::Util) perl(strict) perl(Text::ParseWords) perl(warnings) BuildRequires: guile-devel libxml2-devel gmp-devel gc-devel +BuildRequires: guile22-devel %description AutoGen is a tool designed to simplify the creation and maintenance of @@ -133,6 +136,9 @@ rm -f %{buildroot}%{_infodir}/dir %doc AUTHORS ChangeLog NEWS README THANKS TODO %changelog +* Thu Sep 18 2025 wenyuzifangtest001 - 5.18.16-4 +- Prevent incorrect library linking in multilib systems by removing hardcoded paths. +- Fix undefined behavior by safely handling overlapping memory during path simplification. * Mon Apr 10 2023 Jing Zhang - 5.18.16-3 - Refact spec -- Gitee