File gnome-keyring.spec of Package gnome-keyring

#
# spec file for package gnome-keyring (Version 2.32.0)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# 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/
#

# norootforbuild


Name:           gnome-keyring
BuildRequires:  dbus-1-devel
BuildRequires:  fdupes
BuildRequires:  gtk2-devel
BuildRequires:  intltool
BuildRequires:  libgcrypt-devel
BuildRequires:  libtasn1-devel
BuildRequires:  pam-devel
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
Version:        2.32.0
Release:        1
Url:            http://www.gnome.org/
Group:          System/GUI/GNOME
License:        GPLv2+ ; LGPLv2.1+
Summary:        GNOME Keyring Password Manager
Source:         ftp://ftp.gnome.org/pub/GNOME/sources/%{name}/0.6/%{name}-%{version}.tar.bz2
Source99:       baselibs.conf
# PATCH-FEATURE-OPENSUSE gnome-keyring-check-session.patch vuntz@novell.com -- Only start gnome-keyring in the pam module if GNOME or LXDE is started
Patch4:         gnome-keyring-check-session.patch
# PATCH-FIX-OPENSUSE gnome-keyring-pam-auth-prompt-password.patch bnc466732 bgo560488 vuntz@novell.com -- Make the pam module prompt the password in auth, so we can use pam-config. This is a workaround until bnc#477488 is implemented.
Patch5:         gnome-keyring-pam-auth-prompt-password.patch
Requires:       %{name}-lang = %{version}
Requires:       libgp11-modules = %{version}
Recommends:     %{name}-pam
# bug437293
%ifarch ppc64
Obsoletes:      gnome-keyring-64bit
%endif
#
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%glib2_gsettings_schema_requires

%description
The GNOME Keyring is a daemon in the session, similar to ssh-agent,
and other applications can use it to store passwords and other
sensitive information.

The program can manage several keyrings, each with its own master
password, and there is also a session keyring which is never stored to
disk, but forgotten when the session ends.

%package -n libgcr0
License:        GPLv2+ ; LGPLv2.1+
Group:          System/GUI/GNOME
Summary:        Library for Crypto UI related task
Recommends:     %{name} = %{version}

%description -n libgcr0
GCR is a library for crypto UI and related tasks.

%package -n libgcr-devel
License:        GPLv2+ ; LGPLv2.1+
Group:          Development/Libraries/GNOME
Summary:        Library for Crypto UI related task - Development Files
Requires:       libgcr0 = %{version}
Requires:       glib2-devel
Requires:       gtk2-devel
Requires:       libgp11-devel
Requires:       libtasn1-devel

%description -n libgcr-devel
The GNOME Keyring is a daemon in the session, similar to ssh-agent,
and other applications can use it to store passwords and other
sensitive information.

The program can manage several keyrings, each with its own master
password, and there is also a session keyring which is never stored to
disk, but forgotten when the session ends.

%package -n libgp11-0
License:        GPLv2+ ; LGPLv2.1+
Group:          System/GUI/GNOME
Summary:        Glib wrapper library for PKCS#11
Recommends:     libgp11-modules = %{version}

%description -n libgp11-0
GP11 is a wrapper based on GLib implementing the PKCS#11 (Cryptoki)
interface.

%package -n libgp11-devel
License:        GPLv2+ ; LGPLv2.1+
Group:          Development/Libraries/GNOME
Summary:        Glib wrapper library for PKCS#11 - Development Files
Requires:       libgp11-0 = %{version}
Requires:       glib2-devel

%description -n libgp11-devel
The GNOME Keyring is a daemon in the session, similar to ssh-agent,
and other applications can use it to store passwords and other
sensitive information.

The program can manage several keyrings, each with its own master
password, and there is also a session keyring which is never stored to
disk, but forgotten when the session ends.

%package -n libgp11-modules
License:        GPLv2+ ; LGPLv2.1+
Group:          System/GUI/GNOME
Summary:        Glib wrapper library for PKCS#11 - Modules
Requires:       libgp11-0 = %{version}

%description -n libgp11-modules
GP11 is a wrapper based on GLib implementing the PKCS#11 (Cryptoki)
interface.

This package contains various PKCS#11 modules, to expose keys and
certificates from different sources.

%package pam
License:        GPLv2+ ; LGPLv2.1+
Group:          System/GUI/GNOME
Summary:        GNOME Keyring Password Manager - PAM module
Requires:       %{name} = %{version}
PreReq:         pam-config >= 0.72
PreReq:         sed
# Package was present in OpenSUSE 10.2 and 10.3:
Provides:       pam_keyring = 0.0.8
Obsoletes:      pam_keyring < 0.0.8

%description pam
The GNOME Keyring is a daemon in the session, similar to ssh-agent,
and other applications can use it to store passwords and other
sensitive information.

The program can manage several keyrings, each with its own master
password, and there is also a session keyring which is never stored to
disk, but forgotten when the session ends.

The PAM module can be used to unlock the keyring on login.

%lang_package
%prep
%setup -q
translation-update-upstream
%patch4 -p1
%patch5 -p1

%build
%configure\
	--libexecdir=%{_libexecdir}/gnome-keyring-1\
        --enable-pam \
        --with-pam-dir=/%{_lib}/security \
        --with-root-certs=%{_sysconfdir}/ssl/certs \
	--disable-acl-prompts \
        --with-gtk=2.0
make %{?jobs:-j%jobs}

%install
%makeinstall
%if 0%{?suse_version} <= 1120
%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif
find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{name}
%suse_update_desktop_file gnome-keyring-gpg
%suse_update_desktop_file gnome-keyring-pkcs11
%suse_update_desktop_file gnome-keyring-secrets
%suse_update_desktop_file gnome-keyring-ssh
%fdupes %{buildroot}

%clean
rm -rf %{buildroot}

%post
%glib2_gsettings_schema_post

%postun
%glib2_gsettings_schema_postun

%post -n libgcr0 -p /sbin/ldconfig

%postun -n libgcr0 -p /sbin/ldconfig

%post -n libgp11-0 -p /sbin/ldconfig

%postun -n libgp11-0 -p /sbin/ldconfig

%post pam
%{_sbindir}/pam-config -a --gnome_keyring --gnome_keyring-auto_start --gnome_keyring-only_if=gdm,lxdm || true
# Remove leftover from the old way, before we used pam-config. We start
# cleaning up in 11.2, so this can be removed in 12.2.
# Note: this can safely be done after pam-config, since pam-config doesn't
# touch /etc/pam.d/gdm
if test -f etc/pam.d/gdm; then
if fgrep -q pam_gnome_keyring.so etc/pam.d/gdm ; then
  sed -i '/ pam_gnome_keyring\.so/d' etc/pam.d/gdm
fi
fi

%postun pam
if [ "$1" == "0" ]; then
  %{_sbindir}/pam-config -d --gnome_keyring || true
fi

%files
%defattr (-, root, root)
%doc AUTHORS ChangeLog COPYING NEWS README
%{_bindir}/*
%{_libexecdir}/gnome-keyring-1/
%{_libdir}/gnome-keyring/gnome-keyring-pkcs11.so
%{_datadir}/dbus-1/services/org.freedesktop.secrets.service
%{_datadir}/dbus-1/services/org.gnome.keyring.service
%{_datadir}/GConf/gsettings/org.gnome.crypto.cache.convert
%{_datadir}/GConf/gsettings/org.gnome.crypto.pgp.convert
%{_datadir}/glib-2.0/schemas/org.gnome.crypto.cache.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.crypto.pgp.gschema.xml
%{_datadir}/gnome-keyring/
%{_sysconfdir}/xdg/autostart/*.desktop

%files lang -f %{name}.lang

%files -n libgcr0
%defattr (-, root, root)
%{_libdir}/libgcr.so.*
%{_datadir}/gcr/

%files -n libgcr-devel
%defattr (-, root, root)
%{_libdir}/libgcr.so
%{_libdir}/pkgconfig/gcr-0.pc
%{_includedir}/gcr
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/gcr-0/

%files -n libgp11-0
%defattr (-, root, root)
%{_libdir}/libgp11.so.*
%dir %{_libdir}/gnome-keyring
%dir %{_libdir}/gnome-keyring/devel
%dir %{_libdir}/gnome-keyring/standalone

%files -n libgp11-devel
%defattr (-, root, root)
%{_libdir}/libgp11.so
%{_libdir}/pkgconfig/gp11-0.pc
%{_includedir}/gp11
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/gp11/

%files -n libgp11-modules
%defattr (-, root, root)
%{_libdir}/gnome-keyring/devel/gkm-ssh-store-standalone.so
%{_libdir}/gnome-keyring/devel/gkm-user-store-standalone.so
%{_libdir}/gnome-keyring/standalone/gkm-roots-store-standalone.so
%{_libdir}/gnome-keyring/standalone/gkm-secret-store-standalone.so

%files pam
%defattr (-, root, root)
%attr(555,root,root) /%{_lib}/security/*.so

%changelog
openSUSE Build Service is sponsored by