summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-06 04:42:21 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-06 04:42:21 +0000
commit90e2665fab71dcfbf5451b8d371429dd3638b5e3 (patch)
tree4dc63221d5727640917fd5e1d92afef4e15526c1
parent98578c46dbdc3a1434790e8fb6e5bdf5da1eb9bd (diff)
automatic import of autogenopeneuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--autogen-avoid-GCC-code-analysis-bug.patch103
-rw-r--r--autogen-catch-race-error.patch33
-rw-r--r--autogen-gcc9-fix-wrestrict.patch56
-rw-r--r--autogen-guile-version.patch45
-rw-r--r--autogen-installable-programs.patch96
-rw-r--r--autogen-sprintf-overflow.patch30
-rw-r--r--autogen.spec118
-rw-r--r--backport-fix-stray-blanking-of-config-file-char.patch38
-rw-r--r--sources1
10 files changed, 521 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..feb5dae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/autogen-5.18.16.tar.xz
diff --git a/autogen-avoid-GCC-code-analysis-bug.patch b/autogen-avoid-GCC-code-analysis-bug.patch
new file mode 100644
index 0000000..55b75c3
--- /dev/null
+++ b/autogen-avoid-GCC-code-analysis-bug.patch
@@ -0,0 +1,103 @@
+From 65163ab8c318a501f019c64490aea188e258b954 Mon Sep 17 00:00:00 2001
+From: Bruce Korb <bruce.korb+GIT@gmail.com>
+Date: Tue, 19 Apr 2022 09:10:37 -0700
+Subject: [PATCH] avoid GCC code analysis bug
+Origin: https://build.opensuse.org/package/show/openSUSE:Factory/autogen
+ Cherrypicked from upstream GIT
+
+---
+ agen5/defLoad.c | 47 ++++++++++++++++++++++++++---------------------
+ 1 file changed, 26 insertions(+), 21 deletions(-)
+
+diff --git a/agen5/defLoad.c b/agen5/defLoad.c
+index e40f2e80..99258cd6 100644
+--- a/agen5/defLoad.c
++++ b/agen5/defLoad.c
+@@ -453,17 +453,28 @@ read_defs(void)
+ FILE * fp;
+ def_input_mode_t in_mode = ready_def_input(&def_fname, &data_sz);
+
++ /*
++ * "ready_def_input" has a lot of side effects. It's possible that
++ * there are no definitions, so "in_mode" is set to DONE and there's
++ * nothing to do.
++ */
+ if (in_mode == INPUT_DONE)
+ return;
+
+ /*
+ * Allocate the space we need for our definitions.
++ * "data_sz" was set by read_def_input to the size of the
++ * definitions file (or 4096 if we're reading from a fifo file).
++ * In that alternate case, we'll start the input size at 4096 bytes.
++ * The allocation includes space for context and a NUL byte or two
+ */
+- rem_sz = data_sz+4+sizeof(*base_ctx);
+- base_ctx = (scan_ctx_t *)AGALOC(rem_sz, "file buf");
+- memset(VOIDP(base_ctx), 0, rem_sz);
++ {
++ size_t sz = data_sz + sizeof(long) + sizeof(*base_ctx);
++ base_ctx = (scan_ctx_t *)AGALOC(sz, "file buf");
++ memset(VOIDP(base_ctx), 0, sz);
++ }
+ base_ctx->scx_line = 1;
+- rem_sz = data_sz;
++ rem_sz = data_sz; // size available for storing def text
+
+ /*
+ * Our base context will have its currency pointer set to this
+@@ -487,6 +498,9 @@ read_defs(void)
+ if (fp == NULL)
+ AG_CANT(READ_DEF_OPEN, def_fname);
+
++ /*
++ * If we're emitting dependency information, then do so.
++ */
+ if (dep_fp != NULL)
+ add_source_file(def_fname);
+ }
+@@ -521,8 +535,7 @@ read_defs(void)
+ * See if there is any space left
+ */
+ if (rem_sz == 0) {
+- scan_ctx_t * p;
+- off_t dataOff;
++ off_t scan_off;
+
+ /*
+ * IF it is a regular file, then we are done
+@@ -532,24 +545,16 @@ read_defs(void)
+
+ /*
+ * We have more data and we are out of space.
+- * Try to reallocate our input buffer.
++ * AGREALOC will succeed or not return.
+ */
+ data_sz += (rem_sz = 0x1000);
+- dataOff = data - base_ctx->scx_data;
+- p = AGREALOC(VOIDP(base_ctx), data_sz + 4 + sizeof(*base_ctx),
+- "expand f buf");
++ scan_off = data - base_ctx->scx_data;
++ base_ctx = AGREALOC(VOIDP(base_ctx), data_sz + 4 + sizeof(*base_ctx),
++ "expand f buf");
+
+- /*
+- * The buffer may have moved. Set the data pointer at an
+- * offset within the new buffer and make sure our base pointer
+- * has been corrected as well.
+- */
+- if (p != base_ctx) {
+- p->scx_scan = \
+- p->scx_data = (char *)(p + 1);
+- data = p->scx_data + dataOff;
+- base_ctx = p;
+- }
++ base_ctx->scx_scan = \
++ base_ctx->scx_data = (char *)(base_ctx + 1);
++ data = base_ctx->scx_data + scan_off;
+ }
+ }
+
+--
+2.35.3
+
diff --git a/autogen-catch-race-error.patch b/autogen-catch-race-error.patch
new file mode 100644
index 0000000..be76e2f
--- /dev/null
+++ b/autogen-catch-race-error.patch
@@ -0,0 +1,33 @@
+Origin: https://build.opensuse.org/package/show/openSUSE:Factory/autogen
+Bug: https://bugzilla.opensuse.org/show_bug.cgi?id=1021353
+Forwarded: https://savannah.gnu.org/support/index.php?109234
+Description: This would have made the racy build fail
+ instead of producing missing and incorrect files
+Author: Bernhard Wiedemann <bwiedemann@suse.com>
+
+Index: autogen-5.18.16/agen5/agDep.c
+===================================================================
+--- autogen-5.18.16.orig/agen5/agDep.c
++++ autogen-5.18.16/agen5/agDep.c
+@@ -308,7 +308,7 @@ tidy_dep_file(void)
+ pzn[len] = NUL;
+
+ unlink(pzn);
+- rename(dep_file, pzn);
++ if (rename(dep_file, pzn)) { exit(95); }
+ AGFREE(dep_file);
+ dep_file = pzn;
+ } while (false);
+Index: autogen-5.18.16/agen5/expOutput.c
+===================================================================
+--- autogen-5.18.16.orig/agen5/expOutput.c
++++ autogen-5.18.16/agen5/expOutput.c
+@@ -251,7 +251,7 @@ ag_scm_out_move(SCM new_file)
+
+ if (strcmp(pz, cur_fpstack->stk_fname) != 0) {
+
+- rename(cur_fpstack->stk_fname, pz);
++ if (rename(cur_fpstack->stk_fname, pz)) { exit(94); }
+
+ if (dep_fp != NULL) {
+ rm_target_file(cur_fpstack->stk_fname);
diff --git a/autogen-gcc9-fix-wrestrict.patch b/autogen-gcc9-fix-wrestrict.patch
new file mode 100644
index 0000000..09220e8
--- /dev/null
+++ b/autogen-gcc9-fix-wrestrict.patch
@@ -0,0 +1,56 @@
+Origin: https://build.opensuse.org/package/show/openSUSE:Factory/autogen
+Author: Martin Liška <mliska@suse.cz>
+Bug-Suse: https://bugzilla.suse.com/show_bug.cgi?id=1125772
+Forwarded: https://sourceforge.net/p/autogen/bugs/193/
+Comment: Superseded by 132576313e66ee270ebb70f82afdaeacec1f2fc1
+
+diff --git a/compat/pathfind.c b/compat/pathfind.c
+index 5c477ca..6a4eeb5 100644
+--- a/compat/pathfind.c
++++ b/compat/pathfind.c
+@@ -136,6 +136,18 @@ make_absolute( char const * string, char const * dot_path )
+ return result;
+ }
+
++/*
++ * Proccess strcpy for overlapping memory locations.
++ */
++static char*
++strcpy_overlapping ( char *d, const char *s)
++{
++ unsigned n = strlen ( s );
++ memmove ( d, s, n + 1 );
++ return d;
++}
++
++
+ /*
+ * Canonicalize PATH, and return a new path. The new path differs from
+ * PATH in that:
+@@ -182,7 +194,7 @@ canonicalize_pathname( char *path )
+ if ((start + 1) != i && (start != 0 || i != 2))
+ #endif /* apollo */
+ {
+- strcpy( result + start + 1, result + i );
++ strcpy_overlapping( result + start + 1, result + i );
+ i = start + 1;
+ }
+
+@@ -201,7 +213,7 @@ canonicalize_pathname( char *path )
+ if (result[i] == '.') {
+ /* Handle `./'. */
+ if (result[i + 1] == '/') {
+- strcpy( result + i, result + i + 1 );
++ strcpy_overlapping( result + i, result + i + 1 );
+ i = (start < 0) ? 0 : start;
+ continue;
+ }
+@@ -211,7 +223,7 @@ canonicalize_pathname( char *path )
+ (result[i + 2] == '/' || !result[i + 2])) {
+ while (--start > -1 && result[start] != '/')
+ ;
+- strcpy( result + start + 1, result + i + 2 );
++ strcpy_overlapping( result + start + 1, result + i + 2 );
+ i = (start < 0) ? 0 : start;
+ continue;
+ }
diff --git a/autogen-guile-version.patch b/autogen-guile-version.patch
new file mode 100644
index 0000000..0431755
--- /dev/null
+++ b/autogen-guile-version.patch
@@ -0,0 +1,45 @@
+Origin: https://build.opensuse.org/package/show/openSUSE:Factory/autogen
+Description: Allow building with guile 3.0.x
+Author: Andreas Schwab <schwab@suse.de>
+Bug-Debian: https://bugs.debian.org/969697
+Bug: https://sourceforge.net/p/autogen/bugs/196/
+
+Index: autogen-5.18.16/agen5/guile-iface.h
+===================================================================
+--- autogen-5.18.16.orig/agen5/guile-iface.h
++++ autogen-5.18.16/agen5/guile-iface.h
+@@ -9,7 +9,7 @@
+ # error AutoGen does not work with this version of Guile
+ choke me.
+
+-#elif GUILE_VERSION < 203000
++#elif GUILE_VERSION < 301000
+ # define AG_SCM_IS_PROC(_p) scm_is_true( scm_procedure_p(_p))
+ # define AG_SCM_LIST_P(_l) scm_is_true( scm_list_p(_l))
+ # define AG_SCM_PAIR_P(_p) scm_is_true( scm_pair_p(_p))
+Index: autogen-5.18.16/config/guile.m4
+===================================================================
+--- autogen-5.18.16.orig/config/guile.m4
++++ autogen-5.18.16/config/guile.m4
+@@ -61,7 +61,7 @@
+ #
+ AC_DEFUN([GUILE_PKG],
+ [PKG_PROG_PKG_CONFIG
+- _guile_versions_to_search="m4_default([$1], [2.2 2.0 1.8])"
++ _guile_versions_to_search="m4_default([$1], [3.0 2.2 2.0 1.8])"
+ if test -n "$GUILE_EFFECTIVE_VERSION"; then
+ _guile_tmp=""
+ for v in $_guile_versions_to_search; do
+Index: autogen-5.18.16/configure
+===================================================================
+--- autogen-5.18.16.orig/configure
++++ autogen-5.18.16/configure
+@@ -14799,7 +14799,7 @@ $as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+ fi
+- _guile_versions_to_search="2.2 2.0 1.8"
++ _guile_versions_to_search="3.0 2.2 2.0 1.8"
+ if test -n "$GUILE_EFFECTIVE_VERSION"; then
+ _guile_tmp=""
+ for v in $_guile_versions_to_search; do
diff --git a/autogen-installable-programs.patch b/autogen-installable-programs.patch
new file mode 100644
index 0000000..abdb763
--- /dev/null
+++ b/autogen-installable-programs.patch
@@ -0,0 +1,96 @@
+Origin: https://build.opensuse.org/package/show/openSUSE:Factory/autogen
+Comment: don't make programs uninstallable
+Author: Andreas Schwab <schwab@suse.de>
+
+Index: autogen-5.18.16/agen5/Makefile.am
+===================================================================
+--- autogen-5.18.16.orig/agen5/Makefile.am
++++ autogen-5.18.16/agen5/Makefile.am
+@@ -63,7 +63,7 @@ SNV_LIB = $(top_builddir)/snprin
+ nodist_autogen_SOURCES = ag.c
+ autogen_SOURCES = $(gen_csrc)
+ autogen_LDADD = $(LO_LIB) $(SNV_LIB) $(GUILE_LIBS)
+-autogen_LDFLAGS = $(DYNAMIC_AG) $(AG_STATIC_AUTOGEN) -no-install
++autogen_LDFLAGS = $(DYNAMIC_AG) $(AG_STATIC_AUTOGEN)
+ autogen_CFLAGS = $(GUILE_CFLAGS)
+ stamp_script = $(srcdir)/mk-stamps.sh
+
+Index: autogen-5.18.16/agen5/Makefile.in
+===================================================================
+--- autogen-5.18.16.orig/agen5/Makefile.in
++++ autogen-5.18.16/agen5/Makefile.in
+@@ -482,7 +482,7 @@ SNV_LIB = $(top_builddir)/snprintfv/libs
+ nodist_autogen_SOURCES = ag.c
+ autogen_SOURCES = $(gen_csrc)
+ autogen_LDADD = $(LO_LIB) $(SNV_LIB) $(GUILE_LIBS)
+-autogen_LDFLAGS = $(DYNAMIC_AG) $(AG_STATIC_AUTOGEN) -no-install
++autogen_LDFLAGS = $(DYNAMIC_AG) $(AG_STATIC_AUTOGEN)
+ autogen_CFLAGS = $(GUILE_CFLAGS)
+ stamp_script = $(srcdir)/mk-stamps.sh
+ AM_YFLAGS = -d
+Index: autogen-5.18.16/columns/Makefile.am
+===================================================================
+--- autogen-5.18.16.orig/columns/Makefile.am
++++ autogen-5.18.16/columns/Makefile.am
+@@ -20,7 +20,6 @@
+ ## with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ bin_PROGRAMS = columns
+-columns_LDFLAGS = -no-install
+ csrc = opts.h columns.c opts.c
+ nodist_columns_SOURCES = cols.c
+
+Index: autogen-5.18.16/columns/Makefile.in
+===================================================================
+--- autogen-5.18.16.orig/columns/Makefile.in
++++ autogen-5.18.16/columns/Makefile.in
+@@ -128,7 +128,7 @@ am__v_lt_0 = --silent
+ am__v_lt_1 =
+ columns_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(columns_LDFLAGS) $(LDFLAGS) -o $@
++ $(LDFLAGS) -o $@
+ AM_V_P = $(am__v_P_@AM_V@)
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+ am__v_P_0 = false
+@@ -389,7 +389,6 @@ target_vendor = @target_vendor@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-columns_LDFLAGS = -no-install
+ csrc = opts.h columns.c opts.c
+ nodist_columns_SOURCES = cols.c
+ LO_LIB = $(top_builddir)/autoopts/libopts.la
+Index: autogen-5.18.16/getdefs/Makefile.am
+===================================================================
+--- autogen-5.18.16.orig/getdefs/Makefile.am
++++ autogen-5.18.16/getdefs/Makefile.am
+@@ -23,7 +23,6 @@
+ TARG = getdefs
+
+ bin_PROGRAMS = getdefs
+-getdefs_LDFLAGS = -no-install
+ gdsrcs = getdefs.h proto.h gdemit.c gdinit.c getdefs.c
+ getdefs_SOURCES = proto.h
+ BUILT_SOURCES = gd.c
+Index: autogen-5.18.16/getdefs/Makefile.in
+===================================================================
+--- autogen-5.18.16.orig/getdefs/Makefile.in
++++ autogen-5.18.16/getdefs/Makefile.in
+@@ -130,7 +130,7 @@ am__v_lt_0 = --silent
+ am__v_lt_1 =
+ getdefs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(getdefs_LDFLAGS) $(LDFLAGS) -o $@
++ $(LDFLAGS) -o $@
+ AM_V_P = $(am__v_P_@AM_V@)
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+ am__v_P_0 = false
+@@ -434,7 +434,6 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ TARG = getdefs
+-getdefs_LDFLAGS = -no-install
+ gdsrcs = getdefs.h proto.h gdemit.c gdinit.c getdefs.c
+ getdefs_SOURCES = proto.h
+ BUILT_SOURCES = gd.c
diff --git a/autogen-sprintf-overflow.patch b/autogen-sprintf-overflow.patch
new file mode 100644
index 0000000..c336f5c
--- /dev/null
+++ b/autogen-sprintf-overflow.patch
@@ -0,0 +1,30 @@
+Origin: https://build.opensuse.org/package/show/openSUSE:Factory/autogen
+Author: Andreas Schwab <schwab@suse.de>
+Description: Fix sprintf overflow
+
+Index: autogen-5.18.16/autoopts/usage.c
+===================================================================
+--- autogen-5.18.16.orig/autoopts/usage.c
++++ autogen-5.18.16/autoopts/usage.c
+@@ -711,7 +711,7 @@ prt_vendor_opts(tOptions * opts, char co
+ OPTST_NO_USAGE_MASK | OPTST_DOCUMENT;
+
+ static char const vfmtfmt[] = "%%-%us %%s\n";
+- char vfmt[sizeof(vfmtfmt)];
++ char vfmt[sizeof(vfmtfmt) + 9];
+
+ /*
+ * Only handle client specified options. The "vendor option" follows
+Index: autogen-5.18.16/getdefs/getdefs.c
+===================================================================
+--- autogen-5.18.16.orig/getdefs/getdefs.c
++++ autogen-5.18.16/getdefs/getdefs.c
+@@ -374,7 +374,7 @@ buildPreamble(char ** ppzDef, char ** pp
+ char * pzDef = *ppzDef;
+ char * pzOut = *ppzOut;
+
+- char def_bf[ MAXNAMELEN ];
++ char def_bf[ 2 * MAXNAMELEN + 4 ];
+ char name_bf[ MAXNAMELEN ];
+ char * def_str = def_bf;
+ char * pzIfText = NULL;
diff --git a/autogen.spec b/autogen.spec
new file mode 100644
index 0000000..60af504
--- /dev/null
+++ b/autogen.spec
@@ -0,0 +1,118 @@
+Name: autogen
+Version: 5.18.16
+Release: 6
+License: GPL-3.0-or-later
+Summary: Automated text file generator
+URL: https://www.gnu.org/software/autogen/
+Provides: autogen-libopts = %{version}-%{release}
+Obsoletes: autogen-libopts < %{version}-%{release}
+Source0: https://ftp.gnu.org/gnu/autogen/rel%{version}/%{name}-%{version}.tar.xz
+
+Patch0: backport-fix-stray-blanking-of-config-file-char.patch
+# PATCH-FIX-UPSTREAM -- https://savannah.gnu.org/support/index.php?109234 boo#1021353
+Patch2: autogen-catch-race-error.patch
+# PATCH-FIX-UPSTREAM don't make programs uninstallable
+Patch3: autogen-installable-programs.patch
+# PATCH-FIX-UPSTREAM
+Patch4: autogen-sprintf-overflow.patch
+# PATCH-FIX-UPSTREAM -- https://sourceforge.net/p/autogen/bugs/193/#5844
+Patch5: autogen-gcc9-fix-wrestrict.patch
+# PATCH-FIX-UPSTREAM Allow building with guile 3.0
+Patch6: autogen-guile-version.patch
+Patch7: autogen-avoid-GCC-code-analysis-bug.patch
+
+BuildRequires: gcc libtool autoconf automake
+BuildRequires: guile-devel libxml2-devel
+BuildRequires: perl-generators
+BuildRequires: chrpath
+
+%description
+AutoGen is a tool designed to simplify the creation and maintenance of
+programs that contain large amounts of repetitious text. It is especially
+valuable in programs that have several blocks of text that must be kept
+synchronised.
+
+%package devel
+Summary: Development files for autogen
+Requires: %{name} = %{version}-%{release}
+Provides: autogen-libopts-devel = %{version}-%{release}
+Obsoletes: autogen-libopts-devel < %{version}-%{release}
+
+%description devel
+This package contains development files for autogen.
+
+%package_help
+
+%prep
+%autosetup -n %{name}-%{version} -p1
+
+%build
+# Static libraries are needed to run test-suite.
+CFLAGS="$RPM_OPT_FLAGS -Wno-implicit-fallthrough -Wno-format-overflow \
+ -Wno-format-truncation"
+%if "%toolchain" == "clang"
+CFLAGS+=" -Wno-missing-field-initializers -Wno-format "
+%endif
+export CFLAGS
+
+autoreconf -f
+%configure --disable-static
+%make_build
+
+%check
+%make_build check
+
+%install
+%make_install
+%delete_la
+rm -f %{buildroot}%{_infodir}/dir
+
+#Remove rpath
+chrpath --delete $RPM_BUILD_ROOT%{_bindir}/{columns,getdefs,%{name},xml2ag}
+
+%files
+%license COPYING pkg/libopts/COPYING*
+%doc AUTHORS ChangeLog NEWS README THANKS TODO
+%{_bindir}/columns
+%{_bindir}/getdefs
+%{_bindir}/%{name}
+%{_bindir}/xml2ag
+%{_datadir}/%{name}
+%{_libdir}/%{name}
+%{_libdir}/libopts.so.25*
+
+%files devel
+%{_bindir}/autoopts-config
+%{_datadir}/aclocal/autoopts.m4
+%{_libdir}/libopts.so
+%{_libdir}/pkgconfig/autoopts.pc
+%{_includedir}/autoopts
+
+%files help
+%{_mandir}/man?/*
+%{_infodir}/%{name}.info*
+
+%changelog
+* Tue Aug 06 2024 Funda Wang <fundawang@yeah.net> - 5.18.16-6
+- Add patches fixed upstream
+
+* Thu Jul 11 2024 huyubiao <huyubiao@huawei.com> - 5.18.16-5
+- Add version number for Obsoletes
+
+* Thu Feb 1 2024 liyunfei<liyunfei33@huawei.com> - 5.18.16-4
+- add additional warning options for clang
+
+* Tue Oct 18 2022 zhangruifang <zhangruifang1@h-partners.com> - 5.18.16-3
+- fix stray blanking of config file char
+
+* Thu Jul 28 2022 zoulin <zoulin13@h-partners.com> - 5.18.16-2
+- remove rpath and runpath of exec files and libraries
+
+* Thu Jul 16 2020 wangchen <wangchen137@huawei.com> - 5.18.16-1
+- Update to 5.18.16
+
+* Mon Dec 30 2019 openEuler Buildteam <buildteam@openeuler.org> - 5.18.14-4
+- Modify Source
+
+* Thu Aug 29 2019 hexiaowen <hexiaowen@huawei.com> - 5.18.14-3
+- Package init
diff --git a/backport-fix-stray-blanking-of-config-file-char.patch b/backport-fix-stray-blanking-of-config-file-char.patch
new file mode 100644
index 0000000..50a956e
--- /dev/null
+++ b/backport-fix-stray-blanking-of-config-file-char.patch
@@ -0,0 +1,38 @@
+From 3b33eb2fc09a2d7221da6bc7159f374fdef8906a Mon Sep 17 00:00:00 2001
+From: Bruce Korb <bkorb@gnu.org>
+Date: Fri, 6 Sep 2019 08:28:00 -0700
+Subject: [PATCH] fix stray blanking of config file char
+
+* autoopts/configfile.c (trim_xml_text): remove unnecessary and
+ occasionally destructive blanking of first character.
+---
+ autoopts/configfile.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/autoopts/configfile.c b/autoopts/configfile.c
+index 783a9d8a..e8f557ad 100644
+--- a/autoopts/configfile.c
++++ b/autoopts/configfile.c
+@@ -802,10 +802,9 @@ trim_xml_text(char * intxt, char const * pznm, tOptionLoadMode mode)
+ pz[1] = '/';
+ memcpy(pz+2, pznm, nm_len);
+ nm_len += 2;
+- pz[nm_len++] = '>';
++ pz[nm_len++] = '>'; // nm_len is now length of end mark
+ pz[nm_len] = NUL;
+
+- *intxt = ' ';
+ etext = strstr(intxt, pz);
+ if (pz != z) AGFREE(pz);
+ }
+@@ -825,6 +824,7 @@ trim_xml_text(char * intxt, char const * pznm, tOptionLoadMode mode)
+ }
+
+ /**
++ * process hex and amphersand encoded characters.
+ */
+ static void
+ cook_xml_text(char * pzData)
+--
+2.27.0
+
diff --git a/sources b/sources
new file mode 100644
index 0000000..3d56e0d
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+27c28df902a9fdb2b64f008a0a49fd05 autogen-5.18.16.tar.xz