Accepting request 626730 from home:Andreas_Schwab:Factory
- 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, pass AG_TIMEOUT to configure instead OBS-URL: https://build.opensuse.org/request/show/626730 OBS-URL: https://build.opensuse.org/package/show/Base:System/autogen?expand=0&rev=61
This commit is contained in:
parent
372e9bdc88
commit
a73b500c4d
@ -1,31 +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.14/configure
|
|
||||||
===================================================================
|
|
||||||
--- autogen-5.18.14.orig/configure
|
|
||||||
+++ autogen-5.18.14/configure
|
|
||||||
@@ -18336,6 +18336,7 @@ then
|
|
||||||
|
|
||||||
AG_TIMEOUT=${time_delta}
|
|
||||||
fi
|
|
||||||
+AG_TIMEOUT=12
|
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
|
||||||
Index: autogen-5.18.14/configure.ac
|
|
||||||
===================================================================
|
|
||||||
--- autogen-5.18.14.orig/configure.ac
|
|
||||||
+++ autogen-5.18.14/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])
|
|
@ -1,38 +1,57 @@
|
|||||||
|
Index: autogen-5.18.14/agen5/guile-iface.def
|
||||||
|
===================================================================
|
||||||
|
--- 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
|
Index: autogen-5.18.14/agen5/guile-iface.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- autogen-5.18.14.orig/agen5/guile-iface.h
|
--- autogen-5.18.14.orig/agen5/guile-iface.h
|
||||||
+++ autogen-5.18.14/agen5/guile-iface.h
|
+++ autogen-5.18.14/agen5/guile-iface.h
|
||||||
@@ -9,16 +9,13 @@
|
@@ -9,7 +9,7 @@
|
||||||
# error AutoGen does not work with this version of Guile
|
# error AutoGen does not work with this version of Guile
|
||||||
choke me.
|
choke me.
|
||||||
|
|
||||||
-#elif GUILE_VERSION < 201000
|
-#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_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_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_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.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
|
|
||||||
Index: autogen-5.18.14/config/guile.m4
|
Index: autogen-5.18.14/config/guile.m4
|
||||||
===================================================================
|
===================================================================
|
||||||
--- autogen-5.18.14.orig/config/guile.m4
|
--- autogen-5.18.14.orig/config/guile.m4
|
||||||
@ -46,3 +65,16 @@ Index: autogen-5.18.14/config/guile.m4
|
|||||||
if test -n "$GUILE_EFFECTIVE_VERSION"; then
|
if test -n "$GUILE_EFFECTIVE_VERSION"; then
|
||||||
_guile_tmp=""
|
_guile_tmp=""
|
||||||
for v in $_guile_versions_to_search; do
|
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
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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, pass AG_TIMEOUT to configure
|
||||||
|
instead
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jul 20 08:28:31 UTC 2018 - mpluskal@suse.com
|
Fri Jul 20 08:28:31 UTC 2018 - mpluskal@suse.com
|
||||||
|
|
||||||
|
80
autogen.spec
80
autogen.spec
@ -32,17 +32,13 @@ Patch1: autogen-build_ldpath.patch
|
|||||||
Patch2: autogen-catch-race-error.patch
|
Patch2: autogen-catch-race-error.patch
|
||||||
# PATCH-FIX-UPSTREAM -- guile 2.2 support
|
# PATCH-FIX-UPSTREAM -- guile 2.2 support
|
||||||
Patch3: autogen-guile-2.2.patch
|
Patch3: autogen-guile-2.2.patch
|
||||||
# PATCH-FIX-OPENSUSE
|
# PATCH-FIX-UPSTREAM
|
||||||
Patch5: autogen-constant-timeout.patch
|
Patch4: sprintf-overflow.patch
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: libtool
|
|
||||||
BuildRequires: makeinfo
|
BuildRequires: makeinfo
|
||||||
BuildRequires: pkgconfig >= 0.9.0
|
BuildRequires: pkgconfig >= 0.9.0
|
||||||
BuildRequires: pkgconfig(guile-2.0)
|
BuildRequires: pkgconfig(guile-2.0)
|
||||||
BuildRequires: pkgconfig(libxml-2.0)
|
BuildRequires: pkgconfig(libxml-2.0)
|
||||||
# Since shared library and devel package were split, we need to require
|
|
||||||
# libopts-devel untill all depending packages have fixed buildrequires
|
|
||||||
Requires: pkgconfig(autoopts)
|
|
||||||
Requires(post): %{install_info_prereq}
|
Requires(post): %{install_info_prereq}
|
||||||
Requires(preun): %{install_info_prereq}
|
Requires(preun): %{install_info_prereq}
|
||||||
|
|
||||||
@ -58,41 +54,47 @@ Summary: Shared library libopts
|
|||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
|
||||||
%description -n %{libname}
|
%description -n %{libname}
|
||||||
AutoGen is a tool designed for generating program files that contain
|
AutoOpts is a tool that virtually eliminates the hassle of processing
|
||||||
repetitive text with varied substitutions. Its goal is to simplify the
|
options and keeping man pages, info docs and usage text up to date. This
|
||||||
maintenance of programs that contain large amounts of repetitious text.
|
package allows you to specify several program attributes, thousands of
|
||||||
This is especially valuable if there are several blocks of such text that
|
option types and many option attributes. From this, it then produces all
|
||||||
must be kept synchronized in parallel tables.
|
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
|
This package contains shared library libopts
|
||||||
|
|
||||||
%package -n libopts-devel
|
%package -n autoopts
|
||||||
Summary: Development files for libopts
|
Summary: Automated Option Processing
|
||||||
Group: Development/Languages/C and C++
|
Group: Development/Languages/C and C++
|
||||||
Requires: %{libname} = %{version}-%{release}
|
Requires: %{libname} = %{version}-%{release}
|
||||||
|
Requires: autogen
|
||||||
Obsoletes: %{libname}-devel < %{version}-%{release}
|
Obsoletes: %{libname}-devel < %{version}-%{release}
|
||||||
|
Provides: autogen:/usr/bin/autoopts-config
|
||||||
|
Provides: libopts-devel
|
||||||
|
|
||||||
%description -n libopts-devel
|
%description -n autoopts
|
||||||
AutoGen is a tool designed for generating program files that contain
|
AutoOpts is a tool that virtually eliminates the hassle of processing
|
||||||
repetitive text with varied substitutions. Its goal is to simplify the
|
options and keeping man pages, info docs and usage text up to date. This
|
||||||
maintenance of programs that contain large amounts of repetitious text.
|
package allows you to specify several program attributes, thousands of
|
||||||
This is especially valuable if there are several blocks of such text that
|
option types and many option attributes. From this, it then produces all
|
||||||
must be kept synchronized in parallel tables.
|
the code necessary to parse and handle the command line and configuration
|
||||||
|
file options, and the documentation that should go with your program as
|
||||||
This package contains devel files for libopts
|
well.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch5 -p1
|
%patch4 -p1
|
||||||
|
|
||||||
|
touch aclocal.m4 configure Makefile.in config-h.in
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Don't build with -Werror
|
|
||||||
sed -i "s|-Werror||g" configure.ac
|
|
||||||
autoreconf -fiv
|
|
||||||
%configure \
|
%configure \
|
||||||
|
CFLAGS="%optflags -Wno-error=implicit-fallthrough" \
|
||||||
|
AG_TIMEOUT=20 \
|
||||||
--disable-static \
|
--disable-static \
|
||||||
--with-pic
|
--with-pic
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -103,7 +105,15 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
|||||||
%fdupes -s %{buildroot}%{_datadir}
|
%fdupes -s %{buildroot}%{_datadir}
|
||||||
|
|
||||||
%check
|
%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
|
%post
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/autogen.info%{ext_info}
|
%install_info --info-dir=%{_infodir} %{_infodir}/autogen.info%{ext_info}
|
||||||
@ -115,25 +125,33 @@ make %{?_smp_mflags} check
|
|||||||
%postun -n %{libname} -p /sbin/ldconfig
|
%postun -n %{libname} -p /sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc NEWS ChangeLog
|
%doc NEWS
|
||||||
|
%license COPYING
|
||||||
%{_bindir}/autogen
|
%{_bindir}/autogen
|
||||||
%{_bindir}/autoopts-config
|
|
||||||
%{_bindir}/columns
|
%{_bindir}/columns
|
||||||
%{_bindir}/getdefs
|
%{_bindir}/getdefs
|
||||||
%{_bindir}/xml2ag
|
%{_bindir}/xml2ag
|
||||||
%{_libdir}/autogen
|
|
||||||
%{_mandir}/man1/*%{ext_man}
|
%{_mandir}/man1/*%{ext_man}
|
||||||
|
%exclude %{_mandir}/man1/autoopts-config.1%{ext_man}
|
||||||
%{_infodir}/*%{ext_info}
|
%{_infodir}/*%{ext_info}
|
||||||
%{_datadir}/autogen
|
%dir %{_datadir}/autogen
|
||||||
|
%{_datadir}/autogen/fsm-trans.tlib
|
||||||
|
%{_datadir}/autogen/fsm-macro.tlib
|
||||||
|
|
||||||
%files -n %{libname}
|
%files -n %{libname}
|
||||||
%{_libdir}/libopts.so.*
|
%{_libdir}/libopts.so.*
|
||||||
|
|
||||||
%files -n libopts-devel
|
%files -n autoopts
|
||||||
|
%{_bindir}/autoopts-config
|
||||||
%{_libdir}/libopts.so
|
%{_libdir}/libopts.so
|
||||||
%{_includedir}/*
|
%{_includedir}/*
|
||||||
|
%{_mandir}/man1/autoopts-config.1%{ext_man}
|
||||||
%{_mandir}/man3/*%{ext_man}
|
%{_mandir}/man3/*%{ext_man}
|
||||||
|
%{_libdir}/autogen
|
||||||
%{_datadir}/aclocal/*
|
%{_datadir}/aclocal/*
|
||||||
|
%{_datadir}/autogen
|
||||||
|
%exclude %{_datadir}/autogen/fsm-trans.tlib
|
||||||
|
%exclude %{_datadir}/autogen/fsm-macro.tlib
|
||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
26
sprintf-overflow.patch
Normal file
26
sprintf-overflow.patch
Normal 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;
|
Loading…
x
Reference in New Issue
Block a user