X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=gnupg2.spec;h=cd9926304455220abaf095975a3c04e1033b6c24;hb=51f704bad8331ecd33e2b709e668d9d7ea745812;hp=5ccc5492623339cb57429bcd3fed2bb575833dac;hpb=71f1668a6962bcf43ae15d8c16da176965883322;p=packages%2Fgnupg2.git diff --git a/gnupg2.spec b/gnupg2.spec index 5ccc549..cd99263 100644 --- a/gnupg2.spec +++ b/gnupg2.spec @@ -1,46 +1,59 @@ # # Conditional build: -%bcond_without pth # without pth-based based version of gnupg -%bcond_without tests # testsuite on build +%bcond_without tests # testsuite on build +%bcond_without dirmngr # dirmngr packages build +%bcond_without default_gpg # install as gpg/gpgv instead of gpg2/gpgv2 +%bcond_with gnutls # GnuTLS instead of NTBTLS +%bcond_with selinux # "SELinux hacks" # Summary: GNU Privacy Guard - tool for secure communication and data storage - enhanced version Summary(pl.UTF-8): GnuPG - narzędzie do bezpiecznej komunikacji i bezpiecznego przechowywania danych - wersja rozszerzona Name: gnupg2 -Version: 2.0.27 -Release: 1 +Version: 2.2.9 +Release: 2 License: GPL v3+ Group: Applications/File Source0: ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-%{version}.tar.bz2 -# Source0-md5: b35df68881a5ae432b0391b73773c698 +# Source0-md5: 52c895a81f514a65e08923736c38654a Source1: gnupg-agent.sh Patch0: %{name}-info.patch -Patch1: %{name}-pth.patch +Patch1: %{name}-nogit.patch Patch2: %{name}-disable_tests.patch Patch3: %{name}-pl.po-update.patch -Patch4: %{name}-am.patch +# Patch3-md5: e7c132eb8e8228ee301bf46af839dfbd URL: http://www.gnupg.org/ -BuildRequires: adns-devel BuildRequires: autoconf >= 2.61 -BuildRequires: automake >= 1:1.10 +BuildRequires: automake >= 1:1.14 BuildRequires: bzip2-devel BuildRequires: curl-devel >= 7.10 -BuildRequires: gettext-devel >= 0.17 -BuildRequires: libassuan-devel >= 1:2.0.0 -BuildRequires: libgcrypt-devel >= 1.4.0 -BuildRequires: libgpg-error-devel >= 1.7 -BuildRequires: libksba-devel >= 1.0.7 -BuildRequires: libusb-compat-devel -BuildRequires: openldap-devel -BuildRequires: pcsc-lite-devel -%{?with_pth:BuildRequires: pth-devel >= 2.0.0} +BuildRequires: gettext-tools >= 0.17 +%{?with_gnutls:BuildRequires: gnutls-devel >= 3.0} +BuildRequires: libassuan-devel >= 1:2.5.0 +BuildRequires: libgcrypt-devel >= 1.7.0 +BuildRequires: libgpg-error-devel >= 1.24 +BuildRequires: libksba-devel >= 1.3.4 +BuildRequires: libusb-devel >= 1.0 +BuildRequires: npth-devel >= 1.2 +%{!?with_gnutls:BuildRequires: ntbtls-devel >= 0.1.0} +%{?with_dirmngr:BuildRequires: openldap-devel >= 2.4.6} +BuildRequires: pkgconfig +BuildRequires: readline-devel BuildRequires: rpmbuild(macros) >= 1.177 +BuildRequires: sqlite3-devel >= 3.7 BuildRequires: texinfo BuildRequires: zlib-devel Requires: gnupg2-common = %{version}-%{release} +Requires: sqlite3 >= 3.7 +%if %{with default_gpg} +Obsoletes: gnupg < 2 +Obsoletes: gnupg-plugin-keys_curl < 2 +Obsoletes: gnupg-plugin-keys_hkp < 2 +Provides: gnupg = %{version}-%{release} +%endif Suggests: gnupg-agent BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _libexecdir %{_libdir}/gnupg2 +%define pkglibexecdir %{_libexecdir}/gnupg2 %description GnuPG is GNU's tool for secure communication and data storage. It can @@ -63,10 +76,17 @@ To jest wersja rozszerzona. Summary: GnuPG - common files Summary(pl.UTF-8): GnuPG - pliki wspólne Group: Applications/File -Requires: libassuan >= 1:2.0.0 -Requires: libgcrypt >= 1.4.0 -Requires: libgpg-error >= 1.7 -Requires: libksba >= 1.0.7 +Requires: libassuan >= 1:2.5.0 +Requires: libgcrypt >= 1.7.0 +Requires: libgpg-error >= 1.24 +Requires: libksba >= 1.3.4 +Requires: npth >= 1.2 +Obsoletes: gnupg2-plugin-keys_curl +Obsoletes: gnupg2-plugin-keys_finger +Obsoletes: gnupg2-plugin-keys_hkp +Obsoletes: gnupg2-plugin-keys_kdns +Obsoletes: gnupg2-plugin-keys_ldap +Conflicts: gnupg < 1.4.18-2 Conflicts: gnupg-agent < 1.9.14-2 %description common @@ -75,68 +95,6 @@ Common files used by tools from GnuPG project. %description common -l pl.UTF-8 Pliki wspólne używane przez różne narzędzia z projektu GnuPG. -%package plugin-keys_curl -Summary: GnuPG 2 plugin for allow talk to a HTTP/FTP keyserver -Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy HTTP/FTP -Group: Applications/File -Requires: %{name}-common = %{version}-%{release} -Requires: curl-libs >= 7.10 - -%description plugin-keys_curl -GnuPG 2 plugin for allow talk to a HTTP(S)/FTP(S) keyserver. - -%description plugin-keys_curl -l pl.UTF-8 -Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy -HTTP(S)/FTP(S). - -%package plugin-keys_finger -Summary: GnuPG 2 plugin for allow talk to a FINGER keyserver -Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy FINGER -Group: Applications/File -Requires: %{name}-common = %{version}-%{release} - -%description plugin-keys_finger -GnuPG 2 plugin for allow talk to a FINGER keyserver. - -%description plugin-keys_finger -l pl.UTF-8 -Wtyczka 2 GnuPG pozwalająca komunikować się z serwerem kluczy FINGER. - -%package plugin-keys_hkp -Summary: GnuPG 2 plugin for allow talk to a HKP keyserver -Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy HKP -Group: Applications/File -Requires: %{name}-common = %{version}-%{release} - -%description plugin-keys_hkp -GnuPG 2 plugin for allow talk to a HKP keyserver. - -%description plugin-keys_hkp -l pl.UTF-8 -Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy HKP. - -%package plugin-keys_kdns -Summary: GnuPG 2 plugin for allow talk to a KDNS keyserver -Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy KDNS -Group: Applications/File -Requires: %{name}-common = %{version}-%{release} - -%description plugin-keys_kdns -GnuPG 2 plugin for allow talk to a KDNS keyserver. - -%description plugin-keys_kdns -l pl.UTF-8 -Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy KDNS. - -%package plugin-keys_ldap -Summary: GnuPG 2 plugin for allow talk to a LDAP keyserver -Summary(pl.UTF-8): Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy LDAP -Group: Applications/File -Requires: %{name}-common = %{version}-%{release} - -%description plugin-keys_ldap -GnuPG 2 plugin for allow talk to a LDAP keyserver. - -%description plugin-keys_ldap -l pl.UTF-8 -Wtyczka GnuPG 2 pozwalająca komunikować się z serwerem kluczy LDAP. - %package -n gnupg-agent Summary: GnuPG extension - agent Summary(pl.UTF-8): Rozszerzenie GnuPG - agent @@ -189,30 +147,61 @@ GnuPG extension - S/MIME support. %description -n gnupg-smime -l pl.UTF-8 Rozszerzenie GnuPG - obsługa S/MIME. +%package -n dirmngr +Summary: X509/LDAP certificate and revocation list client +Summary(pl.UTF-8): Klient certyfikatów i list anulujących X509/LDAP +Group: Applications +Requires: %{name}-common = %{version}-%{release} + +%description -n dirmngr +DirMngr is a client for managing and downloading certificate +revocation lists (CRLs) for X509 certificates and for downloading the +certificates themselves. DirMngr is usually invoked by gpgsm and in +general not used directly. + +%description -n dirmngr -l pl.UTF-8 +DirMngr to klient do zarządzania i pobierania list anulujących +certyfikaty (CRLs - certificate revocation lists) dla certyfikatów +X509 oraz do pobierania samych certyfikatów. DirMngr jest zwykle +wywoływany przez gpgsm i nie używany bezpośrednio. + %prep %setup -q -n gnupg-%{version} %patch0 -p1 %patch1 -p1 %{!?with_tests:%patch2 -p1} %patch3 -p1 -%patch4 -p1 %{__rm} po/stamp-po %build %{__gettextize} -%{__aclocal} -I m4 -I gl/m4 +%{__aclocal} -I m4 %{__autoconf} %{__autoheader} %{__automake} +if (grep -q ^development_version=yes configure); then + echo "configure incorrectly rebuild with messed up development status and likely version and revision." >&2 + echo "Consider fixing nogit.patch" >&2 + exit 1 +fi + %configure \ - %{!?with_pth:--disable-threads} \ - --enable-gpg \ + --libexecdir=%{pkglibexecdir} \ + %{!?with_dirmngr:--disable-dirmngr} \ + --enable-g13 \ + %{!?with_default_gpg:--enable-gpg-is-gpg2} \ + %{?with_gnutls:--disable-ntbtls} \ + %{?with_selinux:--enable-selinux-support} \ --enable-symcryptrun \ + --enable-wks-tools \ --with-capabilities \ --with-pinentry-pgm=%{_bindir}/pinentry \ --with-mailprog=/usr/lib/sendmail +# required for info rebuild +%{__make} -C doc defs.inc + %{__make} %install @@ -225,16 +214,24 @@ rm -rf $RPM_BUILD_ROOT install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/profile.d/gnupg-agent.sh install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/gnupg-agent.sh +%if %{without dirmngr} +%{__rm} $RPM_BUILD_ROOT%{_mandir}/{man1/dirmngr-client.1,man8/dirmngr.8} +%endif + +%{__rm} -f $RPM_BUILD_ROOT%{_datadir}/info/dir + +# files useful for users packaged as %doc +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/gnupg + %find_lang gnupg2 -rm -f $RPM_BUILD_ROOT%{_datadir}/info/dir %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/postshell +%post common -p /sbin/postshell -/usr/sbin/fix-info-dir -c %{_infodir} -%postun -p /sbin/postshell +%postun common -p /sbin/postshell -/usr/sbin/fix-info-dir -c %{_infodir} %triggerpostun -n gnupg-agent -- gnupg-agent < 1.9.16-2 @@ -245,71 +242,64 @@ EOF %files %defattr(644,root,root,755) -%doc g10/options.skel +%if %{with default_gpg} +%attr(755,root,root) %{_bindir}/gpg +%attr(755,root,root) %{_bindir}/gpgv +%{_mandir}/man1/gpg.1* +%{_mandir}/man1/gpgv.1* +%else %attr(755,root,root) %{_bindir}/gpg2 %attr(755,root,root) %{_bindir}/gpgv2 %{_mandir}/man1/gpg2.1* %{_mandir}/man1/gpgv2.1* +%endif %files common -f gnupg2.lang %defattr(644,root,root,755) -%doc AUTHORS ChangeLog ChangeLog-2011 NEWS README THANKS TODO +%doc AUTHORS ChangeLog ChangeLog-2011 NEWS README THANKS TODO doc/{DETAILS,FAQ,KEYSERVER,OpenPGP} doc/examples +%attr(755,root,root) %{_bindir}/g13 %attr(755,root,root) %{_bindir}/gpg-connect-agent %attr(755,root,root) %{_bindir}/gpgconf -%attr(755,root,root) %{_bindir}/gpgkey2ssh %attr(755,root,root) %{_bindir}/gpgparsemail +%attr(755,root,root) %{_bindir}/gpgscm +%attr(755,root,root) %{_bindir}/gpgtar %attr(755,root,root) %{_bindir}/kbxutil %attr(755,root,root) %{_bindir}/watchgnupg %attr(755,root,root) %{_sbindir}/addgnupghome %attr(755,root,root) %{_sbindir}/applygnupgdefaults -%dir %{_libexecdir} +%attr(755,root,root) %{_sbindir}/g13-syshelp +%dir %{pkglibexecdir} + %{_datadir}/gnupg %{_mandir}/man1/gpg-connect-agent.1* %{_mandir}/man1/gpgconf.1* %{_mandir}/man1/gpgparsemail.1* +%{_mandir}/man1/gpgtar.1* %{_mandir}/man1/watchgnupg.1* +%{_mandir}/man7/gnupg.7* %{_mandir}/man8/addgnupghome.8* %{_mandir}/man8/applygnupgdefaults.8* %{_infodir}/gnupg.info* -%files plugin-keys_curl -%defattr(644,root,root,755) -%attr(755,root,root) %{_libexecdir}/gpg2keys_curl - -%files plugin-keys_finger -%defattr(644,root,root,755) -%attr(755,root,root) %{_libexecdir}/gpg2keys_finger - -%files plugin-keys_hkp -%defattr(644,root,root,755) -%attr(755,root,root) %{_libexecdir}/gpg2keys_hkp - -%files plugin-keys_kdns -%defattr(644,root,root,755) -%attr(755,root,root) %{_libexecdir}/gpg2keys_kdns - -%files plugin-keys_ldap -%defattr(644,root,root,755) -%attr(755,root,root) %{_libexecdir}/gpg2keys_ldap - %files -n gnupg-smime %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/gpgsm -%attr(755,root,root) %{_bindir}/gpgsm-gencert.sh %{_mandir}/man1/gpgsm.1* -%{_mandir}/man1/gpgsm-gencert.sh.1* %files -n gnupg-agent %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/gpg-agent +%attr(755,root,root) %{_bindir}/gpg-wks-server %attr(755,root,root) %{_bindir}/symcryptrun -%attr(755,root,root) %{_libexecdir}/gnupg-pcsc-wrapper -%attr(755,root,root) %{_libexecdir}/gpg-check-pattern -%attr(755,root,root) %{_libexecdir}/gpg-protect-tool -%attr(755,root,root) %{_libexecdir}/gpg-preset-passphrase -%attr(755,root,root) %{_libexecdir}/scdaemon +%attr(755,root,root) %{pkglibexecdir}/gpg-check-pattern +%attr(755,root,root) %{pkglibexecdir}/gpg-protect-tool +%attr(755,root,root) %{pkglibexecdir}/gpg-preset-passphrase +%attr(755,root,root) %{pkglibexecdir}/gpg-wks-client +%attr(755,root,root) %{pkglibexecdir}/scdaemon %{_mandir}/man1/gpg-agent.1* %{_mandir}/man1/gpg-preset-passphrase.1* +%{_mandir}/man1/gpg-wks-client.1* +%{_mandir}/man1/gpg-wks-server.1* %{_mandir}/man1/scdaemon.1* %{_mandir}/man1/symcryptrun.1* @@ -320,3 +310,13 @@ EOF %files -n gnupg-agent-xinitrc %defattr(644,root,root,755) %attr(755,root,root) /etc/X11/xinit/xinitrc.d/gnupg-agent.sh + +%if %{with dirmngr} +%files -n dirmngr +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/dirmngr +%attr(755,root,root) %{_bindir}/dirmngr-client +%attr(755,root,root) %{pkglibexecdir}/dirmngr_ldap +%{_mandir}/man1/dirmngr-client.1* +%{_mandir}/man8/dirmngr.8* +%endif