2017-02-14 13:25:36 +00:00
|
|
|
# This spec file has been automatically updated
|
2022-04-19 11:47:15 +00:00
|
|
|
Version: 3.7.3
|
2022-04-25 11:48:23 +00:00
|
|
|
Release: %{?autorel}%{!?autorel:1}
|
2019-07-26 19:24:23 +00:00
|
|
|
Patch1: gnutls-3.6.7-no-now-guile.patch
|
|
|
|
Patch2: gnutls-3.2.7-rpath.patch
|
2021-03-02 08:20:21 +00:00
|
|
|
%bcond_with bootstrap
|
2013-02-06 20:41:29 +00:00
|
|
|
%bcond_without dane
|
2018-06-06 11:40:47 +00:00
|
|
|
%if 0%{?rhel}
|
|
|
|
%bcond_with guile
|
2018-06-13 07:42:39 +00:00
|
|
|
%bcond_without fips
|
2018-06-06 11:40:47 +00:00
|
|
|
%else
|
2015-01-05 11:05:26 +00:00
|
|
|
%bcond_without guile
|
2018-06-13 07:42:39 +00:00
|
|
|
%bcond_without fips
|
2018-06-06 11:40:47 +00:00
|
|
|
%endif
|
2022-01-18 08:40:12 +00:00
|
|
|
%bcond_with tpm12
|
2022-01-18 08:42:49 +00:00
|
|
|
%bcond_without gost
|
2018-06-06 11:40:47 +00:00
|
|
|
|
2007-04-10 16:14:48 +00:00
|
|
|
Summary: A TLS protocol implementation
|
2004-09-09 05:45:39 +00:00
|
|
|
Name: gnutls
|
2013-11-25 16:19:57 +00:00
|
|
|
# The libraries are LGPLv2.1+, utilities are GPLv3+
|
|
|
|
License: GPLv3+ and LGPLv2+
|
2015-05-04 11:01:32 +00:00
|
|
|
BuildRequires: p11-kit-devel >= 0.21.3, gettext-devel
|
2015-03-30 08:00:31 +00:00
|
|
|
BuildRequires: zlib-devel, readline-devel, libtasn1-devel >= 4.3
|
2021-03-02 08:20:21 +00:00
|
|
|
%if %{with bootstrap}
|
|
|
|
BuildRequires: automake, autoconf, gperf, libtool, texinfo
|
|
|
|
%endif
|
2019-07-16 11:06:24 +00:00
|
|
|
BuildRequires: nettle-devel >= 3.5.1
|
2022-01-18 08:40:12 +00:00
|
|
|
%if %{with tpm12}
|
2013-11-25 16:19:57 +00:00
|
|
|
BuildRequires: trousers-devel >= 0.3.11.2
|
2022-01-18 08:40:12 +00:00
|
|
|
%endif
|
2017-02-14 13:25:36 +00:00
|
|
|
BuildRequires: libidn2-devel
|
2016-12-08 07:49:16 +00:00
|
|
|
BuildRequires: libunistring-devel
|
2021-03-02 08:20:21 +00:00
|
|
|
BuildRequires: net-tools, datefudge, softhsm, gcc, gcc-c++
|
2019-07-15 13:05:54 +00:00
|
|
|
BuildRequires: gnupg2
|
2021-03-16 07:03:06 +00:00
|
|
|
%if %{with fips}
|
|
|
|
BuildRequires: fipscheck
|
|
|
|
%endif
|
2018-06-06 11:40:47 +00:00
|
|
|
|
2017-04-07 14:48:56 +00:00
|
|
|
# for a sanity check on cert loading
|
|
|
|
BuildRequires: p11-kit-trust, ca-certificates
|
2014-05-21 09:50:25 +00:00
|
|
|
Requires: crypto-policies
|
2017-05-11 16:25:46 +00:00
|
|
|
Requires: p11-kit-trust
|
2015-03-30 08:00:31 +00:00
|
|
|
Requires: libtasn1 >= 4.3
|
2019-01-11 16:36:37 +00:00
|
|
|
Requires: nettle >= 3.4.1
|
2022-01-18 08:40:12 +00:00
|
|
|
%if %{with tpm12}
|
2015-07-14 13:17:31 +00:00
|
|
|
Recommends: trousers >= 0.3.11.2
|
2022-01-18 08:40:12 +00:00
|
|
|
%endif
|
2014-05-21 09:50:25 +00:00
|
|
|
|
2013-02-06 20:41:29 +00:00
|
|
|
%if %{with dane}
|
2013-11-27 08:42:27 +00:00
|
|
|
BuildRequires: unbound-devel unbound-libs
|
2013-02-06 20:41:29 +00:00
|
|
|
%endif
|
2013-02-05 14:34:35 +00:00
|
|
|
%if %{with guile}
|
2019-07-15 12:22:00 +00:00
|
|
|
BuildRequires: guile22-devel
|
2013-02-05 14:34:35 +00:00
|
|
|
%endif
|
2021-01-05 05:13:32 +00:00
|
|
|
BuildRequires: make
|
2004-09-09 05:45:39 +00:00
|
|
|
URL: http://www.gnutls.org/
|
2022-04-25 11:48:23 +00:00
|
|
|
%define short_version %(echo %{version} | grep -m1 -o "[0-9]*\.[0-9]*" | head -1)
|
|
|
|
Source0: https://www.gnupg.org/ftp/gcrypt/gnutls/v%{short_version}/%{name}-%{version}.tar.xz
|
|
|
|
Source1: https://www.gnupg.org/ftp/gcrypt/gnutls/v%{short_version}/%{name}-%{version}.tar.xz.sig
|
2020-06-04 06:11:47 +00:00
|
|
|
Source2: gpgkey-462225C3B46F34879FC8496CD605848ED7E69871.gpg
|
2007-06-06 20:23:58 +00:00
|
|
|
|
2012-05-18 07:06:24 +00:00
|
|
|
# Wildcard bundling exception https://fedorahosted.org/fpc/ticket/174
|
2013-05-13 13:19:29 +00:00
|
|
|
Provides: bundled(gnulib) = 20130424
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2011-07-25 15:35:07 +00:00
|
|
|
%package c++
|
|
|
|
Summary: The C++ interface to GnuTLS
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
2004-09-09 05:45:39 +00:00
|
|
|
%package devel
|
2007-04-10 16:14:48 +00:00
|
|
|
Summary: Development files for the %{name} package
|
2011-07-25 15:35:07 +00:00
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
Requires: %{name}-c++%{?_isa} = %{version}-%{release}
|
2013-02-06 20:41:29 +00:00
|
|
|
%if %{with dane}
|
|
|
|
Requires: %{name}-dane%{?_isa} = %{version}-%{release}
|
|
|
|
%endif
|
2006-09-14 12:39:29 +00:00
|
|
|
Requires: pkgconfig
|
2005-01-04 13:56:10 +00:00
|
|
|
|
2005-07-04 22:10:55 +00:00
|
|
|
%package utils
|
2010-01-28 21:22:45 +00:00
|
|
|
License: GPLv3+
|
2007-04-10 16:14:48 +00:00
|
|
|
Summary: Command line tools for TLS protocol
|
2011-07-25 15:35:07 +00:00
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
2013-02-06 20:41:29 +00:00
|
|
|
%if %{with dane}
|
|
|
|
Requires: %{name}-dane%{?_isa} = %{version}-%{release}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{with dane}
|
|
|
|
%package dane
|
|
|
|
Summary: A DANE protocol implementation for GnuTLS
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%endif
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2013-02-05 14:34:35 +00:00
|
|
|
%if %{with guile}
|
2008-09-25 09:13:22 +00:00
|
|
|
%package guile
|
|
|
|
Summary: Guile bindings for the GNUTLS library
|
2011-07-25 15:35:07 +00:00
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
2019-07-16 12:15:18 +00:00
|
|
|
Requires: guile22
|
2013-02-05 14:34:35 +00:00
|
|
|
%endif
|
2008-09-25 09:13:22 +00:00
|
|
|
|
2004-09-09 05:45:39 +00:00
|
|
|
%description
|
2013-11-26 09:49:23 +00:00
|
|
|
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS
|
|
|
|
protocols and technologies around them. It provides a simple C language
|
|
|
|
application programming interface (API) to access the secure communications
|
|
|
|
protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and
|
|
|
|
other required structures.
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2011-07-25 15:35:07 +00:00
|
|
|
%description c++
|
2013-11-26 09:49:23 +00:00
|
|
|
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS
|
|
|
|
protocols and technologies around them. It provides a simple C language
|
|
|
|
application programming interface (API) to access the secure communications
|
|
|
|
protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and
|
|
|
|
other required structures.
|
2011-07-25 15:35:07 +00:00
|
|
|
|
2004-09-09 05:45:39 +00:00
|
|
|
%description devel
|
2013-11-26 09:49:23 +00:00
|
|
|
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS
|
|
|
|
protocols and technologies around them. It provides a simple C language
|
|
|
|
application programming interface (API) to access the secure communications
|
|
|
|
protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and
|
|
|
|
other required structures.
|
2005-06-06 19:36:11 +00:00
|
|
|
This package contains files needed for developing applications with
|
|
|
|
the GnuTLS library.
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2005-07-04 22:10:55 +00:00
|
|
|
%description utils
|
2013-11-26 09:49:23 +00:00
|
|
|
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS
|
|
|
|
protocols and technologies around them. It provides a simple C language
|
|
|
|
application programming interface (API) to access the secure communications
|
|
|
|
protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and
|
|
|
|
other required structures.
|
2005-07-04 22:10:55 +00:00
|
|
|
This package contains command line TLS client and server and certificate
|
|
|
|
manipulation tools.
|
|
|
|
|
2013-02-06 20:41:29 +00:00
|
|
|
%if %{with dane}
|
|
|
|
%description dane
|
2013-11-26 09:49:23 +00:00
|
|
|
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS
|
|
|
|
protocols and technologies around them. It provides a simple C language
|
|
|
|
application programming interface (API) to access the secure communications
|
|
|
|
protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and
|
|
|
|
other required structures.
|
2013-02-06 20:41:29 +00:00
|
|
|
This package contains library that implements the DANE protocol for verifying
|
|
|
|
TLS certificates through DNSSEC.
|
|
|
|
%endif
|
|
|
|
|
2013-02-05 14:34:35 +00:00
|
|
|
%if %{with guile}
|
2008-09-25 09:13:22 +00:00
|
|
|
%description guile
|
2013-11-26 09:49:23 +00:00
|
|
|
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS
|
|
|
|
protocols and technologies around them. It provides a simple C language
|
|
|
|
application programming interface (API) to access the secure communications
|
|
|
|
protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and
|
|
|
|
other required structures.
|
2008-09-25 09:13:22 +00:00
|
|
|
This package contains Guile bindings for the library.
|
2013-02-05 14:34:35 +00:00
|
|
|
%endif
|
2008-09-25 09:13:22 +00:00
|
|
|
|
2004-09-09 05:45:39 +00:00
|
|
|
%prep
|
2021-03-28 06:53:10 +00:00
|
|
|
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
2017-05-11 08:17:54 +00:00
|
|
|
|
2018-09-25 06:58:48 +00:00
|
|
|
%autosetup -p1
|
2021-03-02 08:20:21 +00:00
|
|
|
%if %{with bootstrap}
|
|
|
|
rm -f src/libopts/*.c src/libopts/*.h src/libopts/compat/*.c src/libopts/compat/*.h
|
|
|
|
autoreconf -fi
|
|
|
|
%endif
|
2015-06-18 13:54:56 +00:00
|
|
|
|
2015-07-14 13:17:31 +00:00
|
|
|
sed -i -e 's|sys_lib_dlsearch_path_spec="/lib /usr/lib|sys_lib_dlsearch_path_spec="/lib /usr/lib %{_libdir}|g' configure
|
2014-09-05 12:07:32 +00:00
|
|
|
rm -f lib/minitasn1/*.c lib/minitasn1/*.h
|
2015-07-14 13:17:31 +00:00
|
|
|
|
2017-01-09 10:23:49 +00:00
|
|
|
echo "SYSTEM=NORMAL" >> tests/system.prio
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2018-09-25 06:58:48 +00:00
|
|
|
# Note that we explicitly enable SHA1, as SHA1 deprecation is handled
|
|
|
|
# via the crypto policies
|
|
|
|
|
2004-09-09 05:45:39 +00:00
|
|
|
%build
|
2021-02-10 13:16:17 +00:00
|
|
|
%define _lto_cflags %{nil}
|
|
|
|
|
2018-10-16 14:55:23 +00:00
|
|
|
CCASFLAGS="$CCASFLAGS -Wa,--generate-missing-build-notes=yes"
|
|
|
|
export CCASFLAGS
|
2019-07-16 12:15:18 +00:00
|
|
|
|
2021-03-02 08:20:21 +00:00
|
|
|
%if %{with guile}
|
2019-07-16 12:15:18 +00:00
|
|
|
# These should be checked by m4/guile.m4 instead of configure.ac
|
|
|
|
# taking into account of _guile_suffix
|
|
|
|
guile_snarf=%{_bindir}/guile-snarf2.2
|
|
|
|
export guile_snarf
|
|
|
|
GUILD=%{_bindir}/guild2.2
|
|
|
|
export GUILD
|
2021-03-02 08:20:21 +00:00
|
|
|
%endif
|
2019-07-16 12:15:18 +00:00
|
|
|
|
2021-03-02 08:20:21 +00:00
|
|
|
%configure \
|
2018-06-06 11:40:47 +00:00
|
|
|
%if %{with fips}
|
|
|
|
--enable-fips140-mode \
|
2022-01-18 08:42:49 +00:00
|
|
|
%endif
|
|
|
|
%if %{with gost}
|
|
|
|
--enable-gost \
|
|
|
|
%else
|
|
|
|
--disable-gost \
|
2018-06-06 11:40:47 +00:00
|
|
|
%endif
|
2018-09-25 06:58:48 +00:00
|
|
|
--enable-sha1-support \
|
2010-01-18 08:55:59 +00:00
|
|
|
--disable-static \
|
2011-07-25 15:35:07 +00:00
|
|
|
--disable-openssl-compatibility \
|
2016-09-09 12:13:08 +00:00
|
|
|
--disable-non-suiteb-curves \
|
|
|
|
--with-system-priority-file=%{_sysconfdir}/crypto-policies/back-ends/gnutls.config \
|
2017-04-07 14:48:56 +00:00
|
|
|
--with-default-trust-store-pkcs11="pkcs11:" \
|
2022-01-18 08:40:12 +00:00
|
|
|
%if %{with tpm12}
|
2016-09-09 12:13:08 +00:00
|
|
|
--with-trousers-lib=%{_libdir}/libtspi.so.1 \
|
2022-01-18 08:40:12 +00:00
|
|
|
%else
|
|
|
|
--without-tpm \
|
|
|
|
%endif
|
2017-03-06 08:48:15 +00:00
|
|
|
--htmldir=%{_docdir}/manual \
|
2013-02-05 14:34:35 +00:00
|
|
|
%if %{with guile}
|
|
|
|
--enable-guile \
|
2019-07-16 12:15:18 +00:00
|
|
|
--with-guile-extension-dir=%{_libdir}/guile/2.2 \
|
2013-02-05 14:34:35 +00:00
|
|
|
%else
|
|
|
|
--disable-guile \
|
|
|
|
%endif
|
2013-02-06 20:41:29 +00:00
|
|
|
%if %{with dane}
|
2016-09-09 12:13:08 +00:00
|
|
|
--with-unbound-root-key-file=/var/lib/unbound/root.key \
|
2021-03-02 08:20:21 +00:00
|
|
|
--enable-libdane \
|
2013-02-06 20:41:29 +00:00
|
|
|
%else
|
2021-03-02 08:20:21 +00:00
|
|
|
--disable-libdane \
|
2012-02-03 22:49:13 +00:00
|
|
|
%endif
|
2017-01-09 10:23:49 +00:00
|
|
|
--disable-rpath \
|
|
|
|
--with-default-priority-string="@SYSTEM"
|
2017-02-14 13:25:36 +00:00
|
|
|
|
2015-02-22 14:22:42 +00:00
|
|
|
make %{?_smp_mflags} V=1
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2018-06-06 11:40:47 +00:00
|
|
|
%if %{with fips}
|
|
|
|
%define __spec_install_post \
|
|
|
|
%{?__debug_package:%{__debug_install_post}} \
|
|
|
|
%{__arch_install_post} \
|
|
|
|
%{__os_install_post} \
|
2021-03-16 07:03:06 +00:00
|
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/.libgnutls.so.*.hmac \
|
|
|
|
fipshmac -d $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_libdir}/libgnutls.so.30.*.* \
|
|
|
|
file=`basename $RPM_BUILD_ROOT%{_libdir}/libgnutls.so.30.*.hmac` && mv $RPM_BUILD_ROOT%{_libdir}/$file $RPM_BUILD_ROOT%{_libdir}/.$file && ln -s .$file $RPM_BUILD_ROOT%{_libdir}/.libgnutls.so.30.hmac \
|
2018-06-06 11:40:47 +00:00
|
|
|
%{nil}
|
|
|
|
%endif
|
|
|
|
|
2004-09-09 05:45:39 +00:00
|
|
|
%install
|
2011-04-19 10:19:54 +00:00
|
|
|
make install DESTDIR=$RPM_BUILD_ROOT
|
2017-03-06 08:48:15 +00:00
|
|
|
make -C doc install-html DESTDIR=$RPM_BUILD_ROOT
|
2005-12-09 14:41:58 +00:00
|
|
|
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
|
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
2019-07-16 12:15:18 +00:00
|
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/guile/2.2/guile-gnutls*.a
|
|
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/guile/2.2/guile-gnutls*.la
|
2013-02-06 20:41:29 +00:00
|
|
|
%if %{without dane}
|
|
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gnutls-dane.pc
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%find_lang gnutls
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2004-09-09 05:45:53 +00:00
|
|
|
%check
|
2019-12-02 07:05:30 +00:00
|
|
|
make check %{?_smp_mflags} GNUTLS_SYSTEM_PRIORITY_FILE=/dev/null
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2013-02-06 20:41:29 +00:00
|
|
|
%files -f gnutls.lang
|
2015-05-04 11:15:01 +00:00
|
|
|
%{_libdir}/libgnutls.so.30*
|
2018-06-06 11:40:47 +00:00
|
|
|
%if %{with fips}
|
|
|
|
%{_libdir}/.libgnutls.so.30*.hmac
|
|
|
|
%endif
|
2016-06-15 07:52:19 +00:00
|
|
|
%doc README.md AUTHORS NEWS THANKS
|
|
|
|
%license LICENSE doc/COPYING doc/COPYING.LESSER
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2011-07-25 15:35:07 +00:00
|
|
|
%files c++
|
|
|
|
%{_libdir}/libgnutlsxx.so.*
|
|
|
|
|
2004-09-09 05:45:39 +00:00
|
|
|
%files devel
|
|
|
|
%{_includedir}/*
|
2008-09-25 09:13:22 +00:00
|
|
|
%{_libdir}/libgnutls*.so
|
2018-06-06 11:40:47 +00:00
|
|
|
%if %{with fips}
|
|
|
|
%{_libdir}/.libgnutls.so.*.hmac
|
|
|
|
%endif
|
|
|
|
|
2005-04-22 13:12:08 +00:00
|
|
|
%{_libdir}/pkgconfig/*.pc
|
2005-08-07 19:12:26 +00:00
|
|
|
%{_mandir}/man3/*
|
|
|
|
%{_infodir}/gnutls*
|
2011-04-19 10:19:54 +00:00
|
|
|
%{_infodir}/pkcs11-vision*
|
2017-03-06 08:48:15 +00:00
|
|
|
%{_docdir}/manual/*
|
2004-09-09 05:45:39 +00:00
|
|
|
|
2005-07-04 22:10:55 +00:00
|
|
|
%files utils
|
|
|
|
%{_bindir}/certtool
|
2022-01-18 08:40:12 +00:00
|
|
|
%if %{with tpm12}
|
2013-11-25 16:19:57 +00:00
|
|
|
%{_bindir}/tpmtool
|
2022-01-18 08:40:12 +00:00
|
|
|
%endif
|
2013-02-06 20:41:29 +00:00
|
|
|
%{_bindir}/ocsptool
|
2006-06-14 12:43:43 +00:00
|
|
|
%{_bindir}/psktool
|
2011-04-19 10:19:54 +00:00
|
|
|
%{_bindir}/p11tool
|
2017-05-11 08:17:54 +00:00
|
|
|
%{_bindir}/srptool
|
2013-02-06 20:41:29 +00:00
|
|
|
%if %{with dane}
|
|
|
|
%{_bindir}/danetool
|
|
|
|
%endif
|
2005-07-04 22:10:55 +00:00
|
|
|
%{_bindir}/gnutls*
|
|
|
|
%{_mandir}/man1/*
|
2008-12-15 14:23:08 +00:00
|
|
|
%doc doc/certtool.cfg
|
2005-07-04 22:10:55 +00:00
|
|
|
|
2013-02-06 20:41:29 +00:00
|
|
|
%if %{with dane}
|
|
|
|
%files dane
|
|
|
|
%{_libdir}/libgnutls-dane.so.*
|
|
|
|
%endif
|
|
|
|
|
2013-02-05 14:34:35 +00:00
|
|
|
%if %{with guile}
|
2008-09-25 09:13:22 +00:00
|
|
|
%files guile
|
2019-07-16 12:15:18 +00:00
|
|
|
%{_libdir}/guile/2.2/guile-gnutls*.so*
|
|
|
|
%{_libdir}/guile/2.2/site-ccache/gnutls.go
|
|
|
|
%{_libdir}/guile/2.2/site-ccache/gnutls/extra.go
|
|
|
|
%{_datadir}/guile/site/2.2/gnutls.scm
|
|
|
|
%{_datadir}/guile/site/2.2/gnutls/extra.scm
|
2013-02-05 14:34:35 +00:00
|
|
|
%endif
|
2008-09-25 09:13:22 +00:00
|
|
|
|
2014-04-28 08:29:12 +00:00
|
|
|
%changelog
|
2022-04-19 11:47:15 +00:00
|
|
|
%autochangelog
|