diff --git a/fix_test_698.patch b/fix_test_698.patch new file mode 100644 index 0000000..bd2e679 --- /dev/null +++ b/fix_test_698.patch @@ -0,0 +1,13 @@ +Index: gnucobol-3.1.2/tests/testsuite.src/run_misc.at +=================================================================== +--- gnucobol-3.1.2.orig/tests/testsuite.src/run_misc.at ++++ gnucobol-3.1.2/tests/testsuite.src/run_misc.at +@@ -10402,7 +10402,7 @@ COB_EXT_EXPORT int + CAPI (void *p1, ...) + { + int k,nargs,type,digits,scale,size,sign,byvalue; +- cob_s64_t val; ++ cob_s64_t val = 0; + char *str; + char wrk[80],pic[30]; /* note: maxium _theoretical_ size */ + diff --git a/gnu-cobol.changes b/gnu-cobol.changes index 6c4b370..a0d90c5 100644 --- a/gnu-cobol.changes +++ b/gnu-cobol.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Dec 23 17:43:58 UTC 2020 - Luigi Baldoni + +- Update to version 3.1.2 (see NEWS or ChangeLog for details) +- Drop gnucobol-CFLAGS.patch (no longer needed) +- Add fix_test_698.patch and enable hardening +- Add buildtime requirements for libjson-c and libxml2 +- Disable lto to avoid test failure + ------------------------------------------------------------------- Fri Jul 27 09:14:34 UTC 2018 - jengelh@inai.de diff --git a/gnu-cobol.spec b/gnu-cobol.spec index 4b06f1a..fba34d2 100644 --- a/gnu-cobol.spec +++ b/gnu-cobol.spec @@ -1,7 +1,7 @@ # # spec file for package gnu-cobol # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,30 +12,33 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # +%define _lto_cflags %{nil} %define sover 4 -%define _mver 3.0 -%define _over 3.0-rc1 +%define _mver 3.1 Name: gnu-cobol -Version: 3.0rc1 +Version: 3.1.2 Release: 0 Summary: A COBOL compiler License: GPL-3.0-or-later AND LGPL-3.0-or-later Group: Development/Languages/Other -Url: https://savannah.gnu.org/projects/gnucobol -Source0: https://sourceforge.net/projects/open-cobol/files/gnu-cobol/%{_mver}/gnucobol-%{_over}.tar.xz -Source1: %{name}.changes -# PATCH-FIX-OPENSUSE gnucobol-CFLAGS.patch -- fixes overreaching regex -Patch2: gnucobol-CFLAGS.patch +URL: https://savannah.gnu.org/projects/gnucobol +Source0: https://sourceforge.net/projects/open-cobol/files/gnu-cobol/%{_mver}/gnucobol-%{version}.tar.xz +Source1: https://sourceforge.net/projects/open-cobol/files/gnu-cobol/%{_mver}/gnucobol-%{version}.tar.xz.sig +# PATCH-FIX-UPSTREAM fix_test_698.patch -- see https://sourceforge.net/p/gnucobol/bugs/695/ +Patch1: fix_test_698.patch +BuildRequires: autoconf BuildRequires: db-devel BuildRequires: dos2unix BuildRequires: gmp-devel BuildRequires: help2man BuildRequires: makeinfo -BuildRequires: ncurses-devel +BuildRequires: pkgconfig(json-c) >= 0.12 +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(ncurses) >= 5.4 Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} Provides: opencobol = %{version} @@ -67,31 +70,21 @@ cobc translates COBOL to executable using intermediate C sources, providing full access to nearly all C libraries. %prep -%setup -q -n gnucobol-%{_over} -%patch2 -p1 -# replace build date with date from changelog -modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{SOURCE1}")" -DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\"" -TIME="\"$(date -d "${modified}" "+%%R")\"" -find . -name '*.[ch]' |\ - xargs sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" -# fix EOL encoding -dos2unix ABOUT-NLS AUTHORS COPYING COPYING.DOC ChangeLog NEWS \ - README THANKS TODO COPYING.LESSER +%autosetup -p1 -n gnucobol-%{version} %build %configure \ - --enable-static=no -make %{?_smp_mflags} + --enable-hardening \ + --enable-static=no +%make_build %install %make_install -# do not ship these -rm %{buildroot}%{_libdir}/libcob.la %find_lang gnucobol +find %{buildroot} -type f -name "*.la" -delete -print %check -make %{?_smp_mflags} check +%make_build check %post %install_info --info-dir=%{_infodir} %{_infodir}/gnucobol.info.gz @@ -103,24 +96,23 @@ make %{?_smp_mflags} check %postun -n libcob%{sover} -p /sbin/ldconfig %files -f gnucobol.lang -%defattr(-,root,root) -%doc ABOUT-NLS AUTHORS COPYING COPYING.DOC ChangeLog NEWS README THANKS TODO +%license COPYING COPYING.DOC +%doc ABOUT-NLS AUTHORS ChangeLog NEWS README THANKS TODO %{_bindir}/cob-config %{_bindir}/cobc %{_bindir}/cobcrun %{_datadir}/gnucobol -%{_infodir}/gnucobol.info%{ext_info} +%{_infodir}/gnucobol.info%{?ext_info} %{_libdir}/gnucobol +%{_mandir}/man1/cob-config.1%{ext_info} %{_mandir}/man1/cobc.1%{ext_info} %{_mandir}/man1/cobcrun.1%{ext_info} %files -n libcob%{sover} -%defattr(-,root,root) -%doc COPYING.LESSER +%license COPYING.LESSER %{_libdir}/libcob.so.%{sover}* %files -n libcob-devel -%defattr(-,root,root) %{_includedir}/libcob.h %{_includedir}/libcob %{_libdir}/libcob.so diff --git a/gnucobol-3.0-rc1.tar.xz b/gnucobol-3.0-rc1.tar.xz deleted file mode 100644 index 17f9e8f..0000000 --- a/gnucobol-3.0-rc1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bf76441ee7f8dc9aeb78291231f32273eafc4ec827f26840846a257a04bbc594 -size 1825252 diff --git a/gnucobol-3.1.2.tar.xz b/gnucobol-3.1.2.tar.xz new file mode 100644 index 0000000..964b20c --- /dev/null +++ b/gnucobol-3.1.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:597005d71fd7d65b90cbe42bbfecd5a9ec0445388639404662e70d53ddf22574 +size 2198512 diff --git a/gnucobol-3.1.2.tar.xz.sig b/gnucobol-3.1.2.tar.xz.sig new file mode 100644 index 0000000..c80b261 Binary files /dev/null and b/gnucobol-3.1.2.tar.xz.sig differ diff --git a/gnucobol-CFLAGS.patch b/gnucobol-CFLAGS.patch deleted file mode 100644 index 7d338cc..0000000 --- a/gnucobol-CFLAGS.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: gnucobol-3.0-rc1/configure -=================================================================== ---- gnucobol-3.0-rc1.orig/configure -+++ gnucobol-3.0-rc1/configure -@@ -18460,7 +18460,7 @@ fi - unset enable_cflags_setting - - if test "$enable_debug" != "yes" -a "x$CFLAGS" != "x"; then -- CFLAGS=`echo "$CFLAGS" | sed -e 's/-g3//' -e 's/-g//' -e 's/^ //' -e 's/ $//'` -+ CFLAGS=`echo "$CFLAGS" | sed -e 's/-g3//' -e 's/-g //' -e 's/^ //' -e 's/ $//'` - fi - - if test "$COB_USES_GCC" = "yes"; then -@@ -18564,7 +18564,7 @@ if test "x$CPPFLAGS" != "x"; then - fi - fi - if test "x$cob_temp_flags" != "x"; then -- cob_temp_flags=`echo "$cob_temp_flags" | sed -e 's/-g3//' -e 's/-g//' -e 's/ $//' -e 's/^ //'` -+ cob_temp_flags=`echo "$cob_temp_flags" | sed -e 's/-g3//' -e 's/-g //' -e 's/ $//' -e 's/^ //'` - cob_temp_flags=`echo "$cob_temp_flags" | sed -e 's/[+-]O[0-9s]//' -e 's/ $//' -e 's/^ //'` - cob_temp_flags=`echo "$cob_temp_flags" | sed -e 's/-O//' -e 's/ $//' -e 's/^ //'` - cob_temp_flags=`echo "$cob_temp_flags" | sed -e 's/-fmessage-length=0//'`