+# TODO
+# Aug 14 13:19:00 haarber gnome-keyring-daemon[6524]: couldn't list keyrings at: /etc/certs: Error opening directory '/etc/certs': Permission denied
+#
+# Conditional build:
+%bcond_with p11_tests # PKCS#11 tests
+#
Summary: Keep passwords and other user's secrets
-Summary(pl): Przechowywanie hase³ i innych tajnych danych u¿ytkowników
+Summary(pl.UTF-8): Przechowywanie haseł i innych tajnych danych użytkowników
Name: gnome-keyring
-Version: 0.4.9
+Version: 3.28.0
Release: 1
-License: LGPL v2+/GPL v2+
+License: LGPL v2+ (library), GPL v2+ (programs)
Group: X11/Applications
-Source0: http://ftp.gnome.org/pub/gnome/sources/gnome-keyring/0.4/%{name}-%{version}.tar.bz2
-# Source0-md5: 9a90820acf11a66e4c3dd9e163231071
-URL: http://www.gnome.org/
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: glib2-devel >= 1:2.6.3
-BuildRequires: gtk+2-devel >= 2:2.6.3
+Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-keyring/3.28/%{name}-%{version}.tar.xz
+# Source0-md5: b7481514065872bd1845609a2ef576c6
+URL: http://live.gnome.org/GnomeKeyring
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake >= 1:1.12
+BuildRequires: docbook-dtd412-xml
+BuildRequires: gcr-devel >= 3.28.0
+BuildRequires: gettext-tools >= 0.19.8
+BuildRequires: glib2-devel >= 1:2.44.0
+BuildRequires: libcap-ng-devel
+BuildRequires: libgcrypt-devel >= 1.2.2
+BuildRequires: libselinux-devel
+# for some test only
+BuildRequires: libtasn1-devel >= 0.3.4
BuildRequires: libtool
-BuildRequires: rpmbuild(macros) >= 1.197
+BuildRequires: p11-kit-devel >= 0.16
+%{?with_p11_tests:BuildRequires: p11-tests-devel >= 0.1}
+BuildRequires: pam-devel
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.592
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+Requires(post,postun): glib2 >= 1:2.38.0
+Requires: filesystem >= 4.0-28
+Requires: gcr >= 3.28.0
+Requires: glib2 >= 1:2.44.0
+Requires: hicolor-icon-theme
+Requires: p11-kit >= 0.16
+Conflicts: rpm < 4.4.2-0.2
+# sr@Latn vs. sr@latin
+Conflicts: glibc-misc < 6:2.7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _libexecdir %{_libdir}/%{name}
+
%description
GNOME Keyring is a program that keeps password and other secrets for
users. It is run as a daemon in the session, similar to ssh-agent, and
other applications can locate it by an environment variable.
-The library libgnome-keyring is used by applications to integrate with
-the GNOME keyring system.
-
-%description -l pl
-GNOME Keyring to program do przechowywania hase³ i innych tajnych
-danych u¿ytkowników. Dzia³a jako demon w sesji, podobnie do
-ssh-agenta, a inne aplikacje mog± znale¼æ go poprzez zmienn±
-¶rodowiskow±.
+%description -l pl.UTF-8
+GNOME Keyring to program do przechowywania haseł i innych tajnych
+danych użytkowników. Działa jako demon w sesji, podobnie do
+ssh-agenta, a inne aplikacje mogą znaleźć go poprzez zmienną
+środowiskową.
-Biblioteka libgnome-keyring jest u¿ywana przez aplikacje do integracji
-z systemem kluczy GNOME.
-
-%package libs
-Summary: GNOME keyring library
-Summary(pl): Biblioteka GNOME keyring
+%package -n pam-pam_gnome_keyring
+Summary: A PAM module for unlocking keyrings at login time
+Summary(pl.UTF-8): Moduł PAM do odblokowywania zbiorów kluczy w czasie logowania
+License: LGPL v2+
Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Obsoletes: gnome-keyring-pam
-%description libs
-GNOME keyring library.
-
-%description libs -l pl
-Biblioteka GNOME keyring.
-
-%package devel
-Summary: Headers for GNOME keyring library
-Summary(pl): Pliki nag³ówkowe biblioteki GNOME keyring
-Group: Development/Libraries
-Requires: %{name}-libs = %{version}-%{release}
-Requires: glib2-devel >= 1:2.6.3
-
-%description devel
-Headers for GNOME keyring library.
-
-%description devel -l pl
-Pliki nag³ówkowe biblioteki GNOME keyring.
-
-%package static
-Summary: Static GNOME keyring libraries
-Summary(pl): Statyczne biblioteki GNOME keyring
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
+%description -n pam-pam_gnome_keyring
+A PAM module that can automatically unlock the "login" keyring when
+the user logs in and start the keyring daemon.
-%description static
-Static versions of GNOME keyring libraries.
-
-%description static -l pl
-Statyczne biblioteki GNOME keyring.
+%description -n pam-pam_gnome_keyring -l pl.UTF-8
+Moduł PAM, który może automatycznie odblokowywać zbiór kluczy "login"
+w czasie logowania użytkownika i uruchamiania demona keyring.
%prep
%setup -q
%{__libtoolize}
%{__aclocal}
%{__autoconf}
+%{__autoheader}
%{__automake}
%configure \
- --enable-static
-
+ --disable-silent-rules \
+ %{!?with_p11_tests:--disable-p11-tests} \
+ --with-pam-dir=/%{_lib}/security
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT \
- pkgconfigdir=%{_pkgconfigdir}
+%{__make} install install-pam \
+ DESTDIR=$RPM_BUILD_ROOT
-rm -r $RPM_BUILD_ROOT%{_datadir}/locale/no
+%{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_gnome_keyring.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/pkcs11/gnome-keyring-pkcs11.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/gnome-keyring/devel/*.la
-%find_lang %{name} --with-gnome --all-name
+%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
-%post libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
-
-%files -f %{name}.lang
-%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README TODO
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libexecdir}/%{name}-ask
+%post
+%glib_compile_schemas
-%files libs
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%postun
+%glib_compile_schemas
-%files devel
+%files -f %{name}.lang
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
-%{_pkgconfigdir}/*.pc
-%{_includedir}/*
-
-%files static
+%doc AUTHORS ChangeLog NEWS README
+%attr(755,root,root) %{_bindir}/gnome-keyring
+%attr(755,root,root) %{_bindir}/gnome-keyring-3
+%attr(755,root,root) %{_bindir}/gnome-keyring-daemon
+%attr(755,root,root) %{_libdir}/pkcs11/gnome-keyring-pkcs11.so
+%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/devel
+%attr(755,root,root) %{_libdir}/%{name}/devel/gkm-gnome2-store-standalone.so
+%attr(755,root,root) %{_libdir}/%{name}/devel/gkm-secret-store-standalone.so
+%attr(755,root,root) %{_libdir}/%{name}/devel/gkm-ssh-store-standalone.so
+%attr(755,root,root) %{_libdir}/%{name}/devel/gkm-xdg-store-standalone.so
+%{_sysconfdir}/xdg/autostart/gnome-keyring-pkcs11.desktop
+%{_sysconfdir}/xdg/autostart/gnome-keyring-secrets.desktop
+%{_sysconfdir}/xdg/autostart/gnome-keyring-ssh.desktop
+%{_datadir}/GConf/gsettings/org.gnome.crypto.cache.convert
+%{_datadir}/dbus-1/services/org.freedesktop.secrets.service
+%{_datadir}/dbus-1/services/org.gnome.keyring.service
+%{_datadir}/glib-2.0/schemas/org.gnome.crypto.cache.gschema.xml
+%{_mandir}/man1/gnome-keyring.1*
+%{_mandir}/man1/gnome-keyring-3.1*
+%{_mandir}/man1/gnome-keyring-daemon.1*
+
+%files -n pam-pam_gnome_keyring
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%attr(755,root,root) /%{_lib}/security/pam_gnome_keyring.so