Patchwork new package: gnome-keyring

login
register
mail settings
Submitter Stefan Fröberg
Date Feb. 21, 2013, 7:03 p.m.
Message ID <1361473406-5765-1-git-send-email-stefan.froberg@petroprogram.com>
Download mbox | patch
Permalink /patch/222402/
State Changes Requested
Headers show

Comments

Stefan Fröberg - Feb. 21, 2013, 7:03 p.m.
GNOME Keyring

GNOME Keyring is a collection of components in GNOME that store secrets,
passwords, keys, certificates and makes them available to applications.

GNOME Keyring is integrated with the user's login, so that their secret
storage can be unlocked when the user's logins into their session.

GNOME Keyring is based around a standard called PKCS#11 which is a standard
way for applications to manage certificates and keys on smart cards or secure
storage.

Signed-off-by: Stefan Fröberg <stefan.froberg@petroprogram.com>
---
 package/Config.in                      |    1 +
 package/gnome-keyring/Config.in        |   24 ++++++++++++++++++++++++
 package/gnome-keyring/gnome-keyring.mk |   22 ++++++++++++++++++++++
 3 files changed, 47 insertions(+), 0 deletions(-)
 create mode 100644 package/gnome-keyring/Config.in
 create mode 100644 package/gnome-keyring/gnome-keyring.mk
Yann E. MORIN - Feb. 21, 2013, 10:05 p.m.
Stefan, All,

On Thursday 21 February 2013 Stefan Fröberg wrote:
> GNOME Keyring
  ^^^
Useless line.

> GNOME Keyring is a collection of components in GNOME that store secrets,
> passwords, keys, certificates and makes them available to applications.
> 
> GNOME Keyring is integrated with the user's login, so that their secret
> storage can be unlocked when the user's logins into their session.
> 
> GNOME Keyring is based around a standard called PKCS#11 which is a standard
> way for applications to manage certificates and keys on smart cards or secure
> storage.
> 
> Signed-off-by: Stefan Fröberg <stefan.froberg@petroprogram.com>
[--SNIP--]
> diff --git a/package/gnome-keyring/Config.in b/package/gnome-keyring/Config.in
> new file mode 100644
> index 0000000..a29fa9f
> --- /dev/null
> +++ b/package/gnome-keyring/Config.in
> @@ -0,0 +1,24 @@
> +config BR2_PACKAGE_GNOME_KEYRING
> +	bool "gnome-keyring"
> +	select BR2_PACKAGE_LIBGLIB2
> +	select BR2_PACKAGE_LIBGTK2
> +	select BR2_PACKAGE_GCONF
> +	select BR2_PACKAGE_DBUS
> +	select BR2_PACKAGE_LINUX_PAM
> +	select BR2_PACKAGE_LIBTASN1
> +	select BR2_PACKAGE_LIBGCRYPT

Be careful to properly inherit all required dependencies of the packages
you 'select'.

> +	help
> +	  GNOME Keyring is a collection of components in GNOME that store 
> +	  secrets, passwords, kets, certificates  and make them available
                              ^^^^              ^^
keys, I presume?
Please, squash multiple spaces.

> +	  to applications.
> +
> +	  GNOME Keyring is integrated with the user's login, so that their
                                               ^^^^^^[1]
> +	  secret storage can be unlocked when the user logins into their
                                                       ^^^^^^[2]
I know you copied the text on the frontpage, but:
  [1] the users' login  (its a plural form because of the subsequent "their")
  [2] the user logs in  (the verb is: to log in)

> +	  session.
> +
> +	  GNOME Keyring is based around a standard called PKCS#11,
> +	  which is a standard way for applications to manage
> +	  certificates and keys on smart cards or secure storage

Missing trailing dot (yes, nit-picking here ;-) )

[--SNIP--]
> diff --git a/package/gnome-keyring/gnome-keyring.mk b/package/gnome-keyring/gnome-keyring.mk
> new file mode 100644
> index 0000000..4daa204
> --- /dev/null
> +++ b/package/gnome-keyring/gnome-keyring.mk
> @@ -0,0 +1,22 @@
> +#############################################################
> +#
> +# gnome-keyring
> +#
> +#############################################################
> +
> +GNOME_KEYRING_MAJOR_VERSION = 2.28
> +GNOME_KEYRING_MINOR_VERSION = 2
> +GNOME_KEYRING_VERSION = $(GNOME_KEYRING_MAJOR_VERSION).$(GNOME_KEYRING_MINOR_VERSION)
> +GNOME_KEYRING_SOURCE = gnome-keyring-$(GNOME_KEYRING_VERSION).tar.bz2
> +GNOME_KEYRING_SITE = http://ftp.gnome.org/pub/gnome/sources/gnome-keyring/$(GNOME_KEYRING_MAJOR_VERSION)
> +GNOME_KEYRING_DEPENDENCIES += dbus linux-pam libtasn1 libgcrypt gconf \
> +			      libglib2 libgtk2
> +GNOME_KEYRING_CONF_OPT += --with-pam-dir=/lib/security \
> +			  --with-root-certs=/etc/ssl/certs
> +GNOME_KEYRING_AUTORECONF = YES

Add a comment explaining why you need autoreconf.

> +GNOME_KEYRING_INSTALL_STAGING = YES
> +GNOME_KEYRING_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \

This should point to the host-variant of libgcrypt-config.

Regards,
Yann E. MORIN.
Arnout Vandecappelle - Feb. 23, 2013, 9:25 a.m.
On 21/02/13 23:05, Yann E. MORIN wrote:
>> >+GNOME_KEYRING_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \
> This should point to the host-variant of libgcrypt-config.

  Huh? There is no host-libgcrypt...

  Regards,
  Arnout
Thomas Petazzoni - Feb. 24, 2013, 3:42 a.m.
Dear Yann E. MORIN,

On Thu, 21 Feb 2013 23:05:27 +0100, Yann E. MORIN wrote:

> > +GNOME_KEYRING_INSTALL_STAGING = YES
> > +GNOME_KEYRING_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \
> 
> This should point to the host-variant of libgcrypt-config.

Hu? No, gnome-keyring is being built for the target here, and we
install the <foo>-config scripts in $(STAGING_DIR), even though they
are ultimately executed on the host.

Best regards,

Thomas
Yann E. MORIN - Feb. 24, 2013, 2:41 p.m.
Thomas, All,

On Sunday 24 February 2013 Thomas Petazzoni wrote:
> On Thu, 21 Feb 2013 23:05:27 +0100, Yann E. MORIN wrote:
> 
> > > +GNOME_KEYRING_INSTALL_STAGING = YES
> > > +GNOME_KEYRING_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \
> > 
> > This should point to the host-variant of libgcrypt-config.
> 
> Hu? No, gnome-keyring is being built for the target here, and we
> install the <foo>-config scripts in $(STAGING_DIR), even though they
> are ultimately executed on the host.

Yes, of course, I've completely busted that one. :-(

Regards,
Yann E. MORIN.

Patch

diff --git a/package/Config.in b/package/Config.in
index b2b580b..55c99bb 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -169,6 +169,7 @@  source "package/feh/Config.in"
 source "package/freerdp/Config.in"
 source "package/gqview/Config.in"
 source "package/gmpc/Config.in"
+source "package/gnome-keyring/Config.in"
 source "package/gob2/Config.in"
 source "package/gtkperf/Config.in"
 source "package/leafpad/Config.in"
diff --git a/package/gnome-keyring/Config.in b/package/gnome-keyring/Config.in
new file mode 100644
index 0000000..a29fa9f
--- /dev/null
+++ b/package/gnome-keyring/Config.in
@@ -0,0 +1,24 @@ 
+config BR2_PACKAGE_GNOME_KEYRING
+	bool "gnome-keyring"
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBGTK2
+	select BR2_PACKAGE_GCONF
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_LINUX_PAM
+	select BR2_PACKAGE_LIBTASN1
+	select BR2_PACKAGE_LIBGCRYPT
+	help
+	  GNOME Keyring is a collection of components in GNOME that store 
+	  secrets, passwords, kets, certificates  and make them available
+	  to applications.
+
+	  GNOME Keyring is integrated with the user's login, so that their
+	  secret storage can be unlocked when the user logins into their
+	  session.
+
+	  GNOME Keyring is based around a standard called PKCS#11,
+	  which is a standard way for applications to manage
+	  certificates and keys on smart cards or secure storage
+
+	  https://live.gnome.org/GnomeKeyring
+
diff --git a/package/gnome-keyring/gnome-keyring.mk b/package/gnome-keyring/gnome-keyring.mk
new file mode 100644
index 0000000..4daa204
--- /dev/null
+++ b/package/gnome-keyring/gnome-keyring.mk
@@ -0,0 +1,22 @@ 
+#############################################################
+#
+# gnome-keyring
+#
+#############################################################
+
+GNOME_KEYRING_MAJOR_VERSION = 2.28
+GNOME_KEYRING_MINOR_VERSION = 2
+GNOME_KEYRING_VERSION = $(GNOME_KEYRING_MAJOR_VERSION).$(GNOME_KEYRING_MINOR_VERSION)
+GNOME_KEYRING_SOURCE = gnome-keyring-$(GNOME_KEYRING_VERSION).tar.bz2
+GNOME_KEYRING_SITE = http://ftp.gnome.org/pub/gnome/sources/gnome-keyring/$(GNOME_KEYRING_MAJOR_VERSION)
+GNOME_KEYRING_DEPENDENCIES += dbus linux-pam libtasn1 libgcrypt gconf \
+			      libglib2 libgtk2
+GNOME_KEYRING_CONF_OPT += --with-pam-dir=/lib/security \
+			  --with-root-certs=/etc/ssl/certs
+GNOME_KEYRING_AUTORECONF = YES
+GNOME_KEYRING_INSTALL_STAGING = YES
+GNOME_KEYRING_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \
+			 ASN1PARSER=$(STAGING_DIR)/usr/bin/asn1Parser \
+			 ac_cv_file__dev_random=yes
+
+$(eval $(autotools-package))