From ebb2a8edca0993eac54a7a438976c30d4de07d4f Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Mon, 30 Dec 2013 10:32:43 +0100 Subject: [PATCH] - new - doc patch fixes docs generation - names patch fixes headers installation and .pc files --- mate-keyring-doc.patch | 93 ++++++++++++++++ mate-keyring-names.patch | 31 ++++++ mate-keyring.spec | 224 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 348 insertions(+) create mode 100644 mate-keyring-doc.patch create mode 100644 mate-keyring-names.patch create mode 100644 mate-keyring.spec diff --git a/mate-keyring-doc.patch b/mate-keyring-doc.patch new file mode 100644 index 0000000..a3df4b8 --- /dev/null +++ b/mate-keyring-doc.patch @@ -0,0 +1,93 @@ +--- mate-keyring-1.6.0/docs/reference/gcr/Makefile.am.orig 2013-03-31 12:28:51.000000000 +0200 ++++ mate-keyring-1.6.0/docs/reference/gcr/Makefile.am 2013-12-29 21:42:28.555880022 +0100 +@@ -21,7 +21,7 @@ + # gtk-doc will search all .c & .h files beneath here for inline comments + # documenting the functions and macros. + # e.g. DOC_SOURCE_DIR=../../../gtk +-DOC_SOURCE_DIR=../../../$(DOC_MODULE) ++DOC_SOURCE_DIR=../../../gcr + + # Extra options to pass to gtkdoc-scangobj. Not normally needed. + SCANGOBJ_OPTIONS= +@@ -48,8 +48,8 @@ + # Used for dependencies. The docs will be rebuilt if any of these change. + # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h + # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c +-HFILE_GLOB=$(top_srcdir)/$(DOC_MODULE)/*.h +-CFILE_GLOB=$(top_srcdir)/$(DOC_MODULE)/*.c ++HFILE_GLOB=$(top_srcdir)/gcr/*.h ++CFILE_GLOB=$(top_srcdir)/gcr/*.c + + # Extra header to include when scanning, which are not under DOC_SOURCE_DIR + # e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h +@@ -79,7 +79,7 @@ + # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) + GTKDOC_CFLAGS= -I$(top_srcdir) -I$(top_builddir) $(GOBJECT_CFLAGS) -Wno-error + GTKDOC_LIBS= $(GOBJECT_LIBS) \ +- $(top_builddir)/$(DOC_MODULE)/lib$(DOC_MODULE)@GCR_VERSION_SUFFIX@.la \ ++ $(top_builddir)/gcr/libmategcr@GCR_VERSION_SUFFIX@.la \ + $(top_builddir)/gck/libmategck.la + + # This includes the standard gtk-doc make rules, copied by gtkdocize. +--- mate-keyring-1.6.0/gcr/gcr-certificate-basics-widget.h.orig 2013-03-31 12:28:51.000000000 +0200 ++++ mate-keyring-1.6.0/gcr/gcr-certificate-basics-widget.h 2013-12-30 07:45:35.904361382 +0100 +@@ -36,7 +36,7 @@ + + G_BEGIN_DECLS + +-#define GCR_TYPE_CERTIFICATE_BASICS_WIDGET (gcr_certificate_basics_widget_get_type ()) ++#define GCR_TYPE_CERTIFICATE_BASICS_WIDGET (gcr_certificate_widget_get_type ()) + #define GCR_CERTIFICATE_BASICS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCR_TYPE_CERTIFICATE_BASICS_WIDGET, GcrCertificateBasicsWidget)) + #define GCR_CERTIFICATE_BASICS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCR_TYPE_CERTIFICATE_BASICS_WIDGET, GcrCertificateBasicsWidgetClass)) + #define GCR_IS_CERTIFICATE_BASICS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCR_TYPE_CERTIFICATE_BASICS_WIDGET)) +@@ -46,8 +46,6 @@ G_BEGIN_DECLS + typedef GcrCertificateWidget GcrCertificateBasicsWidget; + typedef GcrCertificateWidgetClass GcrCertificateBasicsWidgetClass; + +-GType gcr_certificate_basics_widget_get_type (void); +- + GcrCertificateBasicsWidget* gcr_certificate_basics_widget_new (GcrCertificate *cert); + + GcrCertificate* gcr_certificate_basics_widget_get_certificate (GcrCertificateBasicsWidget *basics); +--- mate-keyring-1.6.0/gcr/gcr-certificate-details-widget.h.orig 2013-03-31 12:28:51.000000000 +0200 ++++ mate-keyring-1.6.0/gcr/gcr-certificate-details-widget.h 2013-12-30 07:46:38.854358741 +0100 +@@ -35,7 +35,7 @@ + + G_BEGIN_DECLS + +-#define GCR_TYPE_CERTIFICATE_DETAILS_WIDGET (gcr_certificate_details_widget_get_type ()) ++#define GCR_TYPE_CERTIFICATE_DETAILS_WIDGET (gcr_certificate_widget_get_type ()) + #define GCR_CERTIFICATE_DETAILS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCR_TYPE_CERTIFICATE_DETAILS_WIDGET, GcrCertificateDetailsWidget)) + #define GCR_CERTIFICATE_DETAILS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCR_TYPE_CERTIFICATE_DETAILS_WIDGET, GcrCertificateDetailsWidgetClass)) + #define GCR_IS_CERTIFICATE_DETAILS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCR_TYPE_CERTIFICATE_DETAILS_WIDGET)) +@@ -45,8 +45,6 @@ G_BEGIN_DECLS + typedef GcrCertificateWidget GcrCertificateDetailsWidget; + typedef GcrCertificateWidgetClass GcrCertificateDetailsWidgetClass; + +-GType gcr_certificate_details_widget_get_type (void); +- + GcrCertificateDetailsWidget* gcr_certificate_details_widget_new (GcrCertificate *cert); + + GcrCertificate* gcr_certificate_details_widget_get_certificate (GcrCertificateDetailsWidget *details); +--- mate-keyring-1.6.0/docs/reference/gck/Makefile.am.orig 2013-03-31 12:28:51.000000000 +0200 ++++ mate-keyring-1.6.0/docs/reference/gck/Makefile.am 2013-12-30 08:01:43.787654100 +0100 +@@ -49,8 +49,8 @@ + # Used for dependencies. The docs will be rebuilt if any of these change. + # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h + # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c +-HFILE_GLOB=$(top_srcdir)/$(DOC_MODULE)/*.h +-CFILE_GLOB=$(top_srcdir)/$(DOC_MODULE)/*.c ++HFILE_GLOB=$(top_srcdir)/gck/*.h ++CFILE_GLOB=$(top_srcdir)/gck/*.c + + # Extra header to include when scanning, which are not under DOC_SOURCE_DIR + # e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h +@@ -79,7 +79,7 @@ + # e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) + # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) + GTKDOC_CFLAGS= -I$(top_srcdir) -I$(top_builddir) $(GOBJECT_CFLAGS) -Wno-error +-GTKDOC_LIBS= $(GOBJECT_LIBS) $(top_builddir)/$(DOC_MODULE)/lib$(DOC_MODULE).la ++GTKDOC_LIBS= $(GOBJECT_LIBS) $(top_builddir)/gck/libmategck.la + + # This includes the standard gtk-doc make rules, copied by gtkdocize. + include $(top_srcdir)/gtk-doc.make diff --git a/mate-keyring-names.patch b/mate-keyring-names.patch new file mode 100644 index 0000000..9d55cef --- /dev/null +++ b/mate-keyring-names.patch @@ -0,0 +1,31 @@ +--- mate-keyring-1.6.0/gck/mate-gck.pc.in.orig 2013-03-31 12:28:51.000000000 +0200 ++++ mate-keyring-1.6.0/gck/mate-gck.pc.in 2013-12-30 10:08:23.320668507 +0100 +@@ -10,5 +10,5 @@ Name: mate-gck + Description: GObject bindings for PKCS#11 + Version: @VERSION@ + Requires: glib-2.0 +-Libs: -L${libdir} -lmate-gck ++Libs: -L${libdir} -lmategck + Cflags: -I${includedir}/mate-gck +--- mate-keyring-1.6.0/gcr/mate-gcr.pc.in.orig 2013-03-31 12:28:51.000000000 +0200 ++++ mate-keyring-1.6.0/gcr/mate-gcr.pc.in 2013-12-30 10:09:27.003999169 +0100 +@@ -11,6 +11,6 @@ pkcs11standalonedir=@pkcs11standalonedir + Name: gcr@GCR_VERSION_SUFFIX@ + Description: GObject and GUI library for high level crypto parsing and display + Version: @VERSION@ +-Requires: glib-2.0 gtk+-@GTK_API_VERSION@ libtasn1 gck-0 +-Libs: -L${libdir} -lgcr@GCR_VERSION_SUFFIX@ +-Cflags: -I${includedir}/gcr@GCR_VERSION_SUFFIX@ ++Requires: glib-2.0 gtk+-@GTK_API_VERSION@ mate-gck-@GCK_MAJOR@ ++Libs: -L${libdir} -lmategcr@GCR_VERSION_SUFFIX@ ++Cflags: -I${includedir}/mategcr@GCR_VERSION_SUFFIX@ +--- mate-keyring-1.6.0/pkcs11/Makefile.am.orig 2013-03-31 12:28:51.000000000 +0200 ++++ mate-keyring-1.6.0/pkcs11/Makefile.am 2013-12-30 10:11:19.893994435 +0100 +@@ -1,6 +1,6 @@ + + # TODO: Are we sure this is the best location for these headers? +-incdir = $(includedir)/gck ++incdir = $(includedir)/mate-gck + + inc_HEADERS = \ + pkcs11.h \ diff --git a/mate-keyring.spec b/mate-keyring.spec new file mode 100644 index 0000000..b99a32b --- /dev/null +++ b/mate-keyring.spec @@ -0,0 +1,224 @@ +# +# Conditional build: +%bcond_with gtk3 # use GTK+ 3.x instead of 2.x +%bcond_with p11_tests # PKCS#11 tests +# +Summary: Keep passwords and other user's secrets +Summary(pl.UTF-8): Przechowywanie haseł i innych tajnych danych użytkowników +Name: mate-keyring +Version: 1.6.0 +Release: 1 +License: LGPL v2+ (library), GPL v2+ (programs) +Group: X11/Applications +Source0: http://pub.mate-desktop.org/releases/1.6/%{name}-%{version}.tar.xz +# Source0-md5: 46aebb2d0c612f9281e48ce874109871 +Patch0: %{name}-doc.patch +Patch1: %{name}-names.patch +URL: http://mate-desktop.org/ +BuildRequires: autoconf >= 2.53 +BuildRequires: automake >= 1:1.9 +BuildRequires: dbus-devel >= 1.0 +BuildRequires: docbook-dtd412-xml +BuildRequires: gettext-devel >= 0.10.40 +BuildRequires: glib2-devel >= 1:2.26.0 +%{!?with_gtk3:BuildRequires: gtk+2-devel >= 2:2.20.0} +%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.0.0} +BuildRequires: gtk-doc >= 1.9 +BuildRequires: intltool >= 0.35.0 +BuildRequires: libcap-devel >= 2 +BuildRequires: libgcrypt-devel >= 1.2.2 +# actually not used, only checks and includes exist +BuildRequires: libtasn1-devel >= 0.3.4 +BuildRequires: libtool >= 1:1.4.3 +%{?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.26.0 +Requires: dbus >= 1.0 +Requires: filesystem >= 4.0-28 +Requires: libgcrypt >= 1.2.2 +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%define _libexecdir %{_libdir}/%{name} + +%description +mate-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 or DBus. + +%description -l pl.UTF-8 +mate-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ą lub DBus. + +%package libs +Summary: MATE keyring libraries +Summary(pl.UTF-8): Biblioteki MATE keyring +License: LGPL v2+ +Group: X11/Libraries +Requires: glib2 >= 1:2.26.0 +%{!?with_gtk3:Requires: gtk+2 >= 2:2.20.0} +%{?with_gtk3:Requires: gtk+3 >= 3.0.0} +Requires: libtasn1 >= 0.3.4 + +%description libs +MATE keyring library. + +%description libs -l pl.UTF-8 +Biblioteka MATE keyring. + +%package devel +Summary: Header files for MATE keyring libraries +Summary(pl.UTF-8): Pliki nagłówkowe bibliotek MATE keyring +License: LGPL v2+ +Group: X11/Development/Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: glib2-devel >= 1:2.26.0 +%{!?with_gtk3:Requires: gtk+2-devel >= 2:2.20.0} +%{?with_gtk3:Requires: gtk+3-devel >= 3.0.0} +Requires: libtasn1-devel >= 0.3.4 + +%description devel +Header files for MATE keyring libraries. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe bibliotek MATE keyring. + +%package apidocs +Summary: MATE keyring API documentation +Summary(pl.UTF-8): Dokumentacja API MATE keyring +License: LGPL v2+ +Group: Documentation +Requires: gtk-doc-common + +%description apidocs +MATE keyring API documentation. + +%description apidocs -l pl.UTF-8 +Dokumentacja API MATE keyring. + +%package -n pam-pam_mate_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: mate-keyring-pam + +%description -n pam-pam_mate_keyring +A PAM module that can automatically unlock the "login" keyring when +the user logs in and start the keyring daemon. + +%description -n pam-pam_mate_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 +%patch0 -p1 +%patch1 -p1 + +%build +%{__gtkdocize} +%{__glib_gettextize} +%{__intltoolize} +%{__libtoolize} +%{__aclocal} +%{__autoconf} +%{__autoheader} +%{__automake} +%configure \ + --disable-silent-rules \ + --enable-gtk-doc \ + %{!?with_p11_tests:--disable-p11-tests} \ + %{?with_gtk3:--with-gtk=3.0} \ + --with-html-dir=%{_gtkdocdir} \ + --with-pam-dir=/%{_lib}/security \ + --with-root-certs=%{_sysconfdir}/certs +%{__make} + +%install +rm -rf $RPM_BUILD_ROOT + +%{__make} install install-pam \ + DESTDIR=$RPM_BUILD_ROOT + +# obsoleted by pkg-config +%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la +# dlopened modules +%{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_mate_keyring.la +%{__rm} $RPM_BUILD_ROOT%{_libdir}/mate-keyring/{devel,standalone}/*.la +%{__rm} $RPM_BUILD_ROOT%{_libdir}/pkcs11/mate-keyring-pkcs11.la + +# mate < 1.5 did not exist in pld, avoid dependency on mate-conf +%{__rm} $RPM_BUILD_ROOT%{_datadir}/MateConf/gsettings/org.mate.crypto.*.convert + +%find_lang %{name} + +%clean +rm -rf $RPM_BUILD_ROOT + +%posttrans +%glib_compile_schemas + +%postun +if [ "$1" = "0" ]; then + %glib_compile_schemas +fi + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%files -f %{name}.lang +%defattr(644,root,root,755) +%doc AUTHORS ChangeLog NEWS README +%attr(755,root,root) %{_bindir}/mate-keyring +%attr(755,root,root) %{_bindir}/mate-keyring-daemon +%dir %{_libdir}/%{name} +%attr(755,root,root) %{_libexecdir}/mate-keyring-prompt +%dir %{_libdir}/%{name}/devel +%attr(755,root,root) %{_libdir}/%{name}/devel/gkm-mate2-store-standalone.so +%attr(755,root,root) %{_libdir}/%{name}/devel/gkm-roots-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 +%dir %{_libdir}/%{name}/standalone +%attr(755,root,root) %{_libdir}/%{name}/standalone/gkm-secret-store-standalone.so +%attr(755,root,root) %{_libdir}/pkcs11/mate-keyring-pkcs11.so +%{_sysconfdir}/xdg/autostart/mate-keyring-gpg.desktop +%{_sysconfdir}/xdg/autostart/mate-keyring-pkcs11.desktop +%{_sysconfdir}/xdg/autostart/mate-keyring-secrets.desktop +%{_sysconfdir}/xdg/autostart/mate-keyring-ssh.desktop +%{_datadir}/dbus-1/services/org.mate-freedesktop.secrets.service +%{_datadir}/dbus-1/services/org.mate.keyring.service +%{_datadir}/glib-2.0/schemas/org.mate.crypto.*.gschema.xml +%{_datadir}/mate-keyring +%{_datadir}/mategcr + +%files libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libmategck.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libmategck.so.0 +%attr(755,root,root) %{_libdir}/libmategcr.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libmategcr.so.0 + +%files devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libmategck.so +%attr(755,root,root) %{_libdir}/libmategcr.so +%{_includedir}/mate-gck +%{_includedir}/mategcr +%{_pkgconfigdir}/mate-gck-0.pc +%{_pkgconfigdir}/mate-gcr-0.pc + +%files apidocs +%defattr(644,root,root,755) +%{_gtkdocdir}/mate-gck +%{_gtkdocdir}/mate-gcr-0 + +%files -n pam-pam_mate_keyring +%defattr(644,root,root,755) +%attr(755,root,root) /%{_lib}/security/pam_mate_keyring.so -- 2.44.0