Accepting request 626735 from Base:System

- Don't require libopts-devel from autogen
- Rename libopts-devel to autoopts
- Move all autoopts related files to autoopts
- Don't run autoreconf
- Don't remove -Werror
- sprintf-overflow.patch: Fix sprintf overflow
- autogen-guile-2.2.patch: properly add support for guile 2.2
- autogen-constant-timeout.patch: remove, use --enable-timeout
  instead (forwarded request 626734 from Andreas_Schwab)

OBS-URL: https://build.opensuse.org/request/show/626735
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/autogen?expand=0&rev=46
This commit is contained in:
Dominique Leuenberger 2018-08-03 10:30:21 +00:00 committed by Git OBS Bridge
commit b7e5186363
13 changed files with 196 additions and 158 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:be3ba62e883185b6ee8475edae97d7197d701d6b9ad9c3d2df53697110c1bfd8
size 1018412

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAABAgAGBQJXxLkRAAoJEMnvdt63Tudium8H/i7And79qZhuq8Z+jagHPP61
3cLwOxVlhL8haPLS5Sj8uIG/eAt6SzW5Tg6+bwrsPQ6pq9yQL1xfDFMxr5JO4FCJ
97bdNUXkmnGadOGCRLP7Z3WRPmTEbWOxI3uTWmX8EQVMKpiIgQ5MghkyILNlgey3
wUlAgJ9lRO0PZnPSRBVSYiFoS8wIWsWsxjrZePlVO40Yo82FpXulPtAGU4DA2sK+
xCeE+pvhGwCTjRC6m372SNLKNPro6/YJRhS/QXmLTbh+aIeljJ3IA9daG2dfp8xS
wrF9TCdYCja3RX9tc7PZqieYvGCG96h+SBNtGTFl5m2mpnPow0OvI8Qm1yuXph0=
=lVeY
-----END PGP SIGNATURE-----

3
autogen-5.18.14.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ffc7ab99382116852fd4c73040c124799707b2d9b00a60b54e8b457daa7a06e4
size 1023324

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJbTSMkAAoJEMnvdt63TudiU2MH/1m9nCe4wB+C9S2nQG9mBqCz
SWDGh+zSD/JeRvSscfQji3CR8WJhcvld4XKi5/2TurDwZZCOd3gDzVJbv1C15dLU
6wT3WhavIsfIEd/l1aydE6YEBugdd6iSdnrGwXOt8vokLZVXAsYCI4r6Pyg0Bc+s
QofCgSMu/uMuBoUyyy+p9pcAiGzGwBgKzLkHzBkeGWFQr1jkQBrLyApbEEF+JHx5
69g43V5BaPayQA/v2PkRz9ZiBaMRSqYqsYUSifk+eZxxHS9TfauByu9ipLk/fy0+
zQlI5W7OP7iAl5Sls2S1/5okAlTEGiSku8Eh20j34YJoPVCDK8Hz9spL2eAa9QU=
=Lx4h
-----END PGP SIGNATURE-----

View File

@ -3,10 +3,10 @@
doc/mk-agen-texi.sh | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
Index: doc/mk-agen-texi.sh
Index: autogen-5.18.14/doc/mk-agen-texi.sh
===================================================================
--- doc/mk-agen-texi.sh.orig
+++ doc/mk-agen-texi.sh
--- autogen-5.18.14.orig/doc/mk-agen-texi.sh
+++ autogen-5.18.14/doc/mk-agen-texi.sh
@@ -93,9 +93,9 @@ setup_exports()
PATH=${top_builddir}/columns:${PATH}

View File

@ -3,10 +3,10 @@ instead of producing missing and incorrect files
https://bugzilla.opensuse.org/show_bug.cgi?id=1021353
Index: autogen-5.18.12/agen5/agDep.c
Index: autogen-5.18.14/agen5/agDep.c
===================================================================
--- autogen-5.18.12.orig/agen5/agDep.c
+++ autogen-5.18.12/agen5/agDep.c
--- autogen-5.18.14.orig/agen5/agDep.c
+++ autogen-5.18.14/agen5/agDep.c
@@ -303,7 +303,7 @@ tidy_dep_file(void)
pzn[len] = NUL;
@ -16,10 +16,10 @@ Index: autogen-5.18.12/agen5/agDep.c
AGFREE(dep_file);
dep_file = pzn;
} while (false);
Index: autogen-5.18.12/agen5/expOutput.c
Index: autogen-5.18.14/agen5/expOutput.c
===================================================================
--- autogen-5.18.12.orig/agen5/expOutput.c
+++ autogen-5.18.12/agen5/expOutput.c
--- autogen-5.18.14.orig/agen5/expOutput.c
+++ autogen-5.18.14/agen5/expOutput.c
@@ -251,7 +251,7 @@ ag_scm_out_move(SCM new_file)
if (strcmp(pz, cur_fpstack->stk_fname) != 0) {

View File

@ -1,32 +0,0 @@
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2018-03-09
avoid using benchmarks from the build system
that sometimes return 7 or 9
Index: autogen-5.18.12/configure
===================================================================
--- autogen-5.18.12.orig/configure
+++ autogen-5.18.12/configure
@@ -17770,6 +17770,7 @@ then
AG_TIMEOUT=${time_delta}
fi
+AG_TIMEOUT=12
cat >>confdefs.h <<_ACEOF
Index: autogen-5.18.12/configure.ac
===================================================================
--- autogen-5.18.12.orig/configure.ac
+++ autogen-5.18.12/configure.ac
@@ -191,6 +191,7 @@ then
AG_TIMEOUT=${time_delta}
fi
+AG_TIMEOUT=12
]
AC_DEFINE_UNQUOTED(AG_DEFAULT_TIMEOUT, ${AG_TIMEOUT},
[define to suitable timeout limit for shell command])

View File

@ -1,42 +1,61 @@
Index: autogen-5.18.12/agen5/guile-iface.h
Index: autogen-5.18.14/agen5/guile-iface.def
===================================================================
--- autogen-5.18.12.orig/agen5/guile-iface.h
+++ autogen-5.18.12/agen5/guile-iface.h
@@ -9,16 +9,13 @@
--- autogen-5.18.14.orig/agen5/guile-iface.def
+++ autogen-5.18.14/agen5/guile-iface.def
@@ -35,31 +35,31 @@ invalid = '200000-200003',
iface = {
i-name = is_proc;
i-args = '_p';
- i-impl = { i-end = '201'; i-code = 'scm_is_true( scm_procedure_p(_p))'; };
+ i-impl = { i-end = '202'; i-code = 'scm_is_true( scm_procedure_p(_p))'; };
};
iface = {
i-name = list_p;
i-args = '_l';
- i-impl = { i-end = '201'; i-code = 'scm_is_true( scm_list_p(_l))'; };
+ i-impl = { i-end = '202'; i-code = 'scm_is_true( scm_list_p(_l))'; };
};
iface = {
i-name = pair_p;
i-args = '_p';
- i-impl = { i-end = '201'; i-code = 'scm_is_true( scm_pair_p(_p))'; };
+ i-impl = { i-end = '202'; i-code = 'scm_is_true( scm_pair_p(_p))'; };
};
iface = {
i-name = to_long;
i-args = '_v';
- i-impl = { i-end = '201'; i-code = 'scm_to_long(_v)'; };
+ i-impl = { i-end = '202'; i-code = 'scm_to_long(_v)'; };
};
iface = {
i-name = to_ulong;
i-args = '_v';
- i-impl = { i-end = '201'; i-code = '((unsigned long)scm_to_ulong(_v))'; };
+ i-impl = { i-end = '202'; i-code = '((unsigned long)scm_to_ulong(_v))'; };
};
/* end of guile-iface.def */
Index: autogen-5.18.14/agen5/guile-iface.h
===================================================================
--- autogen-5.18.14.orig/agen5/guile-iface.h
+++ autogen-5.18.14/agen5/guile-iface.h
@@ -9,7 +9,7 @@
# error AutoGen does not work with this version of Guile
choke me.
-#elif GUILE_VERSION < 201000
+#else
+#elif GUILE_VERSION < 202000
# 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))
# define AG_SCM_TO_LONG(_v) scm_to_long(_v)
# define AG_SCM_TO_ULONG(_v) ((unsigned long)scm_to_ulong(_v))
-#else
-# error unknown GUILE_VERSION
- choke me.
#endif
#endif /* MUTATING_GUILE_IFACE_H_GUARD */
Index: autogen-5.18.12/configure
Index: autogen-5.18.14/config/guile.m4
===================================================================
--- autogen-5.18.12.orig/configure
+++ autogen-5.18.12/configure
@@ -14198,7 +14198,7 @@ $as_echo "no" >&6; }
PKG_CONFIG=""
fi
fi
- _guile_versions_to_search="2.0 1.8"
+ _guile_versions_to_search="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.12/config/guile.m4
===================================================================
--- autogen-5.18.12.orig/config/guile.m4
+++ autogen-5.18.12/config/guile.m4
--- autogen-5.18.14.orig/config/guile.m4
+++ autogen-5.18.14/config/guile.m4
@@ -61,7 +61,7 @@
#
AC_DEFUN([GUILE_PKG],
@ -46,3 +65,16 @@ Index: autogen-5.18.12/config/guile.m4
if test -n "$GUILE_EFFECTIVE_VERSION"; then
_guile_tmp=""
for v in $_guile_versions_to_search; do
Index: autogen-5.18.14/configure
===================================================================
--- autogen-5.18.14.orig/configure
+++ autogen-5.18.14/configure
@@ -14734,7 +14734,7 @@ $as_echo "no" >&6; }
PKG_CONFIG=""
fi
fi
- _guile_versions_to_search="2.0 1.8"
+ _guile_versions_to_search="2.2 2.0 1.8"
if test -n "$GUILE_EFFECTIVE_VERSION"; then
_guile_tmp=""
for v in $_guile_versions_to_search; do

View File

@ -1,32 +0,0 @@
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2018-03-09
https://sourceforge.net/p/autogen/bugs/182/
libopts-41.1.16.tar.gz contained timestamps from build
and indeterminism from filesystem readdir order.
See https://reproducible-builds.org/ for why this matters.
Index: autogen-5.18.12/pkg/libopts/mklibsrc.sh
===================================================================
--- autogen-5.18.12.orig/pkg/libopts/mklibsrc.sh
+++ autogen-5.18.12/pkg/libopts/mklibsrc.sh
@@ -107,13 +107,15 @@ EOMakefile
| ${CLexe} -I4 --spread=1 --line-sep=" \\"
} > Makefile.am
-gz='gzip --best'
+gz='gzip --best -n'
sfx=tar.gz
cd ..
echo ! cd `pwd`
echo ! tar cvf ${tag}.${sfx} ${tag}
-tar cvf - ${tag} | $gz > ${top_builddir}/autoopts/${tag}.${sfx}
+rbopts=""
+[ -z "$SOURCE_DATE_EPOCH" ] || ! tar --help|grep -q sort= || rbopts="--sort=name --format=gnu --clamp-mtime --mtime @$SOURCE_DATE_EPOCH"
+tar cvf - $rbopts ${tag} | $gz > ${top_builddir}/autoopts/${tag}.${sfx}
rm -rf ${tag}
## Local Variables:

View File

@ -1,3 +1,35 @@
-------------------------------------------------------------------
Tue Jul 31 08:50:01 UTC 2018 - schwab@suse.de
- Don't require libopts-devel from autogen
- Rename libopts-devel to autoopts
- Move all autoopts related files to autoopts
- Don't run autoreconf
- Don't remove -Werror
- sprintf-overflow.patch: Fix sprintf overflow
- autogen-guile-2.2.patch: properly add support for guile 2.2
- autogen-constant-timeout.patch: remove, use --enable-timeout
instead
-------------------------------------------------------------------
Fri Jul 20 08:28:31 UTC 2018 - mpluskal@suse.com
- Update to version 5.8.14:
* several configury fixes to enable cross platform building.
* fompletion of a change in "char-mapper" to enable bootstrapping
* Guile 1.8 support was removed
* Replace AG_SCM_STR02SCM with scm_from_latin1_string this breaks
Guile 1.8.
* adaptations for cross compiling
* no more generating autoconf macros
* fix internal implementation of forking off autogen in xml2ag
* when calling abort() causes problems, exit() can now be called
(via an option) instead.
* add support for nanosecond precision in file times
* suppress dumb warnings about embedded NUL bytes in formats.
- Refresh patches
- Drop not applying autogen-reproducible-tar.patch
-------------------------------------------------------------------
Tue Mar 27 12:16:08 UTC 2018 - dimstar@opensuse.org

Binary file not shown.

View File

@ -18,7 +18,7 @@
%define libname libopts25
Name: autogen
Version: 5.18.12
Version: 5.18.14
Release: 0
Summary: Automated Text File Generator
License: GPL-3.0-or-later
@ -32,20 +32,13 @@ Patch1: autogen-build_ldpath.patch
Patch2: autogen-catch-race-error.patch
# PATCH-FIX-UPSTREAM -- guile 2.2 support
Patch3: autogen-guile-2.2.patch
# PATCH-FIX-UPSTREAM -- https://sourceforge.net/p/autogen/bugs/182/
Patch4: autogen-reproducible-tar.patch
# PATCH-FIX-OPENSUSE
Patch5: autogen-constant-timeout.patch
# PATCH-FIX-UPSTREAM
Patch4: sprintf-overflow.patch
BuildRequires: fdupes
BuildRequires: guile-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: makeinfo
BuildRequires: pkgconfig
BuildRequires: xz
# Since shared library and devel package were split, we need to require
# libopts-devel untill all depending packages have fixed buildrequires
Requires: libopts-devel
BuildRequires: pkgconfig >= 0.9.0
BuildRequires: pkgconfig(guile-2.0)
BuildRequires: pkgconfig(libxml-2.0)
Requires(post): %{install_info_prereq}
Requires(preun): %{install_info_prereq}
@ -61,52 +54,66 @@ Summary: Shared library libopts
Group: System/Libraries
%description -n %{libname}
AutoGen is a tool designed for generating program files that contain
repetitive text with varied substitutions. Its goal is to simplify the
maintenance of programs that contain large amounts of repetitious text.
This is especially valuable if there are several blocks of such text that
must be kept synchronized in parallel tables.
AutoOpts is a tool that virtually eliminates the hassle of processing
options and keeping man pages, info docs and usage text up to date. This
package allows you to specify several program attributes, thousands of
option types and many option attributes. From this, it then produces all
the code necessary to parse and handle the command line and configuration
file options, and the documentation that should go with your program as
well.
This package contains shared library libopts
%package -n libopts-devel
Summary: Development files for libopts
%package -n autoopts
Summary: Automated Option Processing
Group: Development/Languages/C and C++
Requires: %{libname} = %{version}-%{release}
Requires: autogen
Obsoletes: %{libname}-devel < %{version}-%{release}
Provides: autogen:/usr/bin/autoopts-config
Provides: libopts-devel
%description -n libopts-devel
AutoGen is a tool designed for generating program files that contain
repetitive text with varied substitutions. Its goal is to simplify the
maintenance of programs that contain large amounts of repetitious text.
This is especially valuable if there are several blocks of such text that
must be kept synchronized in parallel tables.
This package contains devel files for libopts
%description -n autoopts
AutoOpts is a tool that virtually eliminates the hassle of processing
options and keeping man pages, info docs and usage text up to date. This
package allows you to specify several program attributes, thousands of
option types and many option attributes. From this, it then produces all
the code necessary to parse and handle the command line and configuration
file options, and the documentation that should go with your program as
well.
%prep
%setup -q
%patch1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
touch aclocal.m4 configure Makefile.in config-h.in
%build
autoreconf -fiv
%configure \
CFLAGS="%optflags -Wno-error=implicit-fallthrough" \
--enable-timeout=20 \
--disable-static \
--with-pic
make %{?_smp_mflags}
%install
export MAN_PAGE_DATE=$(date -u -r ChangeLog -I)
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%fdupes -s %{buildroot}%{_datadir}
%check
make %{?_smp_mflags} check
make %{?_smp_mflags} check || {
for f in */test/test-suite.log; do
if test -f "$f"; then
echo "======== $f ========"
cat "$f"
fi
done
exit 1
}
%post
%install_info --info-dir=%{_infodir} %{_infodir}/autogen.info%{ext_info}
@ -118,28 +125,33 @@ make %{?_smp_mflags} check
%postun -n %{libname} -p /sbin/ldconfig
%files
%defattr(-, root, root)
%doc NEWS ChangeLog
%doc NEWS
%license COPYING
%{_bindir}/autogen
%{_bindir}/autoopts-config
%{_bindir}/columns
%{_bindir}/getdefs
%{_bindir}/xml2ag
%{_libdir}/autogen
%{_mandir}/man1/*%{ext_man}
%exclude %{_mandir}/man1/autoopts-config.1%{ext_man}
%{_infodir}/*%{ext_info}
%{_datadir}/autogen
%dir %{_datadir}/autogen
%{_datadir}/autogen/fsm-trans.tlib
%{_datadir}/autogen/fsm-macro.tlib
%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/libopts.so.*
%files -n libopts-devel
%defattr(-,root,root)
%files -n autoopts
%{_bindir}/autoopts-config
%{_libdir}/libopts.so
%{_includedir}/*
%{_mandir}/man1/autoopts-config.1%{ext_man}
%{_mandir}/man3/*%{ext_man}
%{_libdir}/autogen
%{_datadir}/aclocal/*
%{_datadir}/autogen
%exclude %{_datadir}/autogen/fsm-trans.tlib
%exclude %{_datadir}/autogen/fsm-macro.tlib
%{_libdir}/pkgconfig/*.pc
%changelog

26
sprintf-overflow.patch Normal file
View File

@ -0,0 +1,26 @@
Index: autogen-5.18.14/autoopts/usage.c
===================================================================
--- autogen-5.18.14.orig/autoopts/usage.c
+++ autogen-5.18.14/autoopts/usage.c
@@ -765,7 +765,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.14/getdefs/getdefs.c
===================================================================
--- autogen-5.18.14.orig/getdefs/getdefs.c
+++ autogen-5.18.14/getdefs/getdefs.c
@@ -421,7 +421,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;