diff --git a/.gitignore b/.gitignore index e870292..f8ab332 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/gmp-5.1.1.tar.bz2 +SOURCES/gmp-6.0.0a.tar.bz2 diff --git a/.gmp.metadata b/.gmp.metadata index 1bb1947..5649849 100644 --- a/.gmp.metadata +++ b/.gmp.metadata @@ -1 +1 @@ -21d037f7fb32ae305a2e4157cff0c8caab06fe84 SOURCES/gmp-5.1.1.tar.bz2 +360802e3541a3da08ab4b55268c80f799939fddc SOURCES/gmp-6.0.0a.tar.bz2 diff --git a/SOURCES/gmp-4.0.1-s390.patch b/SOURCES/gmp-4.0.1-s390.patch deleted file mode 100644 index a446cc3..0000000 --- a/SOURCES/gmp-4.0.1-s390.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up gmp-5.0.4/mpn/s390x/gmp-mparam.h.s390 gmp-5.0.4/mpn/s390x/gmp-mparam.h ---- gmp-5.0.4/mpn/s390-64/gmp-mparam.h.s390 2012-04-18 12:44:04.482509106 +0200 -+++ gmp-5.0.4/mpn/s390-64/gmp-mparam.h 2012-04-18 12:44:04.482509106 +0200 -@@ -0,0 +1,26 @@ -+/* gmp-mparam.h -- Compiler/machine parameter header file. -+ -+Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -+2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -+ -+This file is part of the GNU MP Library. -+ -+The GNU MP Library is free software; you can redistribute it and/or modify -+it under the terms of the GNU Lesser General Public License as published by -+the Free Software Foundation; either version 3 of the License, or (at your -+option) any later version. -+ -+The GNU MP Library is distributed in the hope that it will be useful, but -+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -+or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -+License for more details. -+ -+You should have received a copy of the GNU Lesser General Public License -+along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ -+ -+#define BITS_PER_MP_LIMB 64 -+#define BYTES_PER_MP_LIMB 8 -+#define BITS_PER_LONGINT 64 -+#define BITS_PER_INT 32 -+#define BITS_PER_SHORTINT 16 -+#define BITS_PER_CHAR 8 diff --git a/SOURCES/gmp-6.0.0-ppc64.patch b/SOURCES/gmp-6.0.0-ppc64.patch new file mode 100644 index 0000000..3a24567 --- /dev/null +++ b/SOURCES/gmp-6.0.0-ppc64.patch @@ -0,0 +1,13 @@ +diff -up gmp-6.0.0/mpn/powerpc64/mode64/gcd_1.asm.rh1 gmp-6.0.0/mpn/powerpc64/mode64/gcd_1.asm +--- gmp-6.0.0/mpn/powerpc64/mode64/gcd_1.asm.rh1 2014-04-24 17:44:56.282296502 +0200 ++++ gmp-6.0.0/mpn/powerpc64/mode64/gcd_1.asm 2014-04-24 17:46:07.291786670 +0200 +@@ -43,6 +43,9 @@ define(`up', `r3') + define(`n', `r4') + define(`v0', `r5') + ++ifdef(`BMOD_1_TO_MOD_1_THRESHOLD',, ++ `define(`BMOD_1_TO_MOD_1_THRESHOLD',30)') ++ + EXTERN_FUNC(mpn_mod_1) + EXTERN_FUNC(mpn_modexact_1c_odd) + diff --git a/SOURCES/gmp-mparam.h b/SOURCES/gmp-mparam.h index 755efd8..5621f5d 100644 --- a/SOURCES/gmp-mparam.h +++ b/SOURCES/gmp-mparam.h @@ -40,9 +40,17 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #elif defined(__ia64__) #include "gmp-mparam-ia64.h" #elif defined(__powerpc64__) +# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #include "gmp-mparam-ppc64.h" +# else +#include "gmp-mparam-ppc64le.h" +# endif #elif defined(__powerpc__) +# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #include "gmp-mparam-ppc.h" +# else +#include "gmp-mparam-ppcle.h" +# endif #elif defined(__s390x__) #include "gmp-mparam-s390x.h" #elif defined(__s390__) diff --git a/SOURCES/gmp.h b/SOURCES/gmp.h index bdd236c..3e0381a 100644 --- a/SOURCES/gmp.h +++ b/SOURCES/gmp.h @@ -40,9 +40,17 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #elif defined(__ia64__) #include "gmp-ia64.h" #elif defined(__powerpc64__) +# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #include "gmp-ppc64.h" +# else +#include "gmp-ppc64le.h" +# endif #elif defined(__powerpc__) +# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #include "gmp-ppc.h" +# else +#include "gmp-ppcle.h" +# endif #elif defined(__s390x__) #include "gmp-s390x.h" #elif defined(__s390__) diff --git a/SPECS/gmp.spec b/SPECS/gmp.spec index 404cc74..5dfe0c6 100644 --- a/SPECS/gmp.spec +++ b/SPECS/gmp.spec @@ -5,19 +5,23 @@ Summary: A GNU arbitrary precision library Name: gmp -Version: 5.1.1 -Release: 5%{?dist} +Version: 6.0.0 +Release: 11%{?dist} Epoch: 1 URL: http://gmplib.org/ -Source0: ftp://ftp.gmplib.org/pub/gmp-%{version}/gmp-%{version}.tar.bz2 +Source0: ftp://ftp.gmplib.org/pub/gmp-%{version}/gmp-%{version}a.tar.bz2 # or ftp://ftp.gnu.org/pub/gnu/gmp/gmp-%{version}.tar.xz Source2: gmp.h Source3: gmp-mparam.h -Patch0: gmp-4.0.1-s390.patch -License: LGPLv3+ +Patch1: gmp-6.0.0-ppc64.patch + +License: LGPLv3+ or GPLv2+ Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: autoconf automake libtool +BuildRequires: fipscheck +#autoreconf on arm needs: +BuildRequires: perl-Carp %description The gmp package contains GNU MP, a library for arbitrary precision @@ -57,10 +61,15 @@ in applications. %prep %setup -q -%patch0 -p1 -b .s390 +%patch1 -p1 -b .ppc64 + +# switch the defaults to new cpus on s390x +%ifarch s390x +( cd mpn/s390_64; ln -s z10 s390x ) +%endif %build -autoreconf -if +autoreconf -ifv if as --help | grep -q execstack; then # the object files do not require an executable stack export CCAS="gcc -c -Wa,--noexecstack" @@ -86,7 +95,7 @@ export CFLAGS=$(echo $RPM_OPT_FLAGS | sed -e "s/-mtune=[^ ]*//g" | sed -e "s/-ma --sharedstatedir=%{_sharedstatedir} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ - --enable-cxx + --enable-cxx --enable-shared sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \ -e 's|-lstdc++ -lm|-lstdc++|' \ @@ -125,6 +134,17 @@ unset CFLAGS cd .. %endif +# Add generation of HMAC checksums of the final stripped binaries +# bz#1117188 +%define __spec_install_post \ + %{?__debug_package:%{__debug_install_post}} \ + %{__arch_install_post} \ + %{__os_install_post} \ + mkdir $RPM_BUILD_ROOT%{_libdir}/fipscheck \ + fipshmac -d $RPM_BUILD_ROOT%{_libdir}/fipscheck $RPM_BUILD_ROOT%{_libdir}/libgmp.so.10.2.0 \ + ln -s libgmp.so.10.2.0.hmac $RPM_BUILD_ROOT%{_libdir}/fipscheck/libgmp.so.10.hmac \ +%{nil} + %install cd base export LD_LIBRARY_PATH=`pwd`/.libs @@ -206,9 +226,13 @@ exit 0 %files %defattr(-,root,root,-) -%doc COPYING COPYING.LIB NEWS README +%{!?_licensedir:%global license %%doc} +%license COPYING COPYING.LESSERv3 COPYINGv2 COPYINGv3 +%doc NEWS README %{_libdir}/libgmp.so.* %{_libdir}/libgmpxx.so.* +%{_libdir}/fipscheck/libgmp.so.10.2.0.hmac +%{_libdir}/fipscheck/libgmp.so.10.hmac %ifarch %{ix86} %{_libdir}/sse2/* %endif @@ -227,6 +251,26 @@ exit 0 %changelog +* Tue Sep 09 2014 Frantisek Kluknavsky - 1:6.0.0-11 +- rebase to 6.0.0 (fixed) +- resolves:#1110689 + +* Tue Sep 09 2014 Frantisek Kluknavsky - 1:6.0.0-10 +- rebase to 6.0.0 (fixed) +- resolves:#1110689 + +* Mon Sep 08 2014 Frantisek Kluknavsky - 1:6.0.0-9 +- rebase to 6.0.0 +- resolves:#1110689 + +* Tue Sep 02 2014 Frantisek Kluknavsky - 1:5.1.1-9 +- added hmac checksums needed for fips +- resolves:#1117188 + +* Mon Aug 25 2014 Frantisek Kluknavsky - 1:5.1.1-8 +- ppc64le +- resolves:#1125516 + * Fri Jan 24 2014 Daniel Mach - 1:5.1.1-5 - Mass rebuild 2014-01-24