Patchwork [v2] libsecret: New package

login
register
mail settings
Submitter Markos Chandras
Date Aug. 15, 2013, 11:47 a.m.
Message ID <1376567256-13213-1-git-send-email-markos.chandras@imgtec.com>
Download mbox | patch
Permalink /patch/267358/
State Superseded
Headers show

Comments

Markos Chandras - Aug. 15, 2013, 11:47 a.m.
libsecret is a library for storing and retrieving passwords
and other secrets. It communicates with the "Secret Service"
using DBus. gnome-keyring and ksecretservice are both
implementations of a Secret Service.

libsecret replaces libgnome-keyring.

https://wiki.gnome.org/Libsecret

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
---
Changes since v1:
- depend on USE_WCHAR and TOOLCHAIN_HAS_THREADS which are required by libglib2
http://lists.busybox.net/pipermail/buildroot/2013-August/076565.html
---
 package/Config.in              |  1 +
 package/libsecret/Config.in    | 25 +++++++++++++++++++++++++
 package/libsecret/libsecret.mk | 24 ++++++++++++++++++++++++
 3 files changed, 50 insertions(+)
 create mode 100644 package/libsecret/Config.in
 create mode 100644 package/libsecret/libsecret.mk
Arnout Vandecappelle - Aug. 22, 2013, 8:26 p.m.
On 15/08/13 13:47, Markos Chandras wrote:
> libsecret is a library for storing and retrieving passwords
> and other secrets. It communicates with the "Secret Service"
> using DBus. gnome-keyring and ksecretservice are both
> implementations of a Secret Service.

  I'm surprised it doesn't require dbus if it uses dbus for communicating 
with the secret service...

>
> libsecret replaces libgnome-keyring.
>
> https://wiki.gnome.org/Libsecret
>
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> ---
> Changes since v1:
> - depend on USE_WCHAR and TOOLCHAIN_HAS_THREADS which are required by libglib2
> http://lists.busybox.net/pipermail/buildroot/2013-August/076565.html
> ---
>   package/Config.in              |  1 +
>   package/libsecret/Config.in    | 25 +++++++++++++++++++++++++
>   package/libsecret/libsecret.mk | 24 ++++++++++++++++++++++++
>   3 files changed, 50 insertions(+)
>   create mode 100644 package/libsecret/Config.in
>   create mode 100644 package/libsecret/libsecret.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 7069d77..93e280d 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -423,6 +423,7 @@ source "package/libassuan/Config.in"
>   source "package/libmcrypt/Config.in"
>   source "package/libmhash/Config.in"
>   source "package/libnss/Config.in"
> +source "package/libsecret/Config.in"
>   source "package/libsha1/Config.in"
>   source "package/nettle/Config.in"
>   source "package/openssl/Config.in"
> diff --git a/package/libsecret/Config.in b/package/libsecret/Config.in
> new file mode 100644
> index 0000000..aecd0f3
> --- /dev/null
> +++ b/package/libsecret/Config.in
> @@ -0,0 +1,25 @@
> +config BR2_PACKAGE_LIBSECRET
> +	bool "libsecret"
> +	select BR2_PACKAGE_LIBGLIB2
> +	depends on BR2_USE_WCHAR # gettext dep in libglib2
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
> +	help
> +	  libsecret is a library for storing and retrieving passwords and other
> +	  secrets. It communicates with the "Secret Service" using DBus.
> +	  gnome-keyring and ksecretservice are both implementations of a Secret
> +	  Service.
> +
> +	  https://wiki.gnome.org/Libsecret
> +
> +comment "libsecret requires a toolchain with WCHAR and threading support."
> +	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> +
> +if BR2_PACKAGE_LIBSECRET
> +
> +config BR2_PACKAGE_LIBSECRET_CRYPTO
> +	bool "Enable gcrypt and transport encryption"
> +	select BR2_PACKAGE_LIBGCRYPT

  Does the gcrypt support make a major difference for library size or 
compilation time? Otherwise, we usually include it automatically if 
libgcrypt is selected. I personally like to mention this in the help text 
in that case, i.e. something like

Select BR2_PACKAGE_LIBGCRYPT to enable transport encryption.


  But basically looks good to me. Untested though.

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>


  Regards,
  Arnout

> +	help
> +	  Enable gcrypt and transport encryption
> +
> +endif
> diff --git a/package/libsecret/libsecret.mk b/package/libsecret/libsecret.mk
> new file mode 100644
> index 0000000..32bcc17
> --- /dev/null
> +++ b/package/libsecret/libsecret.mk
> @@ -0,0 +1,24 @@
> +################################################################################
> +#
> +# libsecret
> +#
> +################################################################################
> +
> +LIBSECRET_VERSION = 0.15
> +LIBSECRET_SITE = http://ftp.gnome.org/pub/GNOME/sources/libsecret/$(LIBSECRET_VERSION)
> +LIBSECRET_SOURCE = libsecret-$(LIBSECRET_VERSION).tar.xz
> +LIBSECRET_LICENSE = LGPLv2.1+
> +LIBSECRET_LICENSE_FILES = COPYING
> +LIBSECRET_INSTALL_STAGING = YES
> +
> +LIBSECRET_DEPENDENCIES = libglib2
> +LIBSECRET_CONF_OPT = --disable-manpages --disable-strict --disable-coverage --enable-vala=no
> +
> +ifeq ($(BR2_PACKAGE_LIBSECRET_CRYPTO),y)
> +	LIBSECRET_DEPENDENCIES += libgcrypt
> +	LIBSECRET_CONF_OPT += --enable-gcrypt
> +else
> +	LIBSECRET_CONF_OPT += --disable-gcrypt
> +endif
> +
> +$(eval $(autotools-package))
>
Markos Chandras - Aug. 22, 2013, 8:45 p.m.
Hi Arnout,

On 22 August 2013 21:26, Arnout Vandecappelle <arnout@mind.be> wrote:
>
>
>  Does the gcrypt support make a major difference for library size or
> compilation time? Otherwise, we usually include it automatically if
> libgcrypt is selected. I personally like to mention this in the help text in
> that case, i.e. something like
>
> Select BR2_PACKAGE_LIBGCRYPT to enable transport encryption.

It does not make huge difference neither in compilation time nor in file size

The libsecret library with the gcrypt support is about 100K bigger in size

I don't mind submitting a new patch removing the
BR2_PACKAGE_LIBSECRET_CRYPTO option.
I sent this patch before seeing your comments on the harfbuzz patch I sent :)

>
>
>  But basically looks good to me. Untested though.
>
> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>
>

Thank you!

Patch

diff --git a/package/Config.in b/package/Config.in
index 7069d77..93e280d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -423,6 +423,7 @@  source "package/libassuan/Config.in"
 source "package/libmcrypt/Config.in"
 source "package/libmhash/Config.in"
 source "package/libnss/Config.in"
+source "package/libsecret/Config.in"
 source "package/libsha1/Config.in"
 source "package/nettle/Config.in"
 source "package/openssl/Config.in"
diff --git a/package/libsecret/Config.in b/package/libsecret/Config.in
new file mode 100644
index 0000000..aecd0f3
--- /dev/null
+++ b/package/libsecret/Config.in
@@ -0,0 +1,25 @@ 
+config BR2_PACKAGE_LIBSECRET
+	bool "libsecret"
+	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_USE_WCHAR # gettext dep in libglib2
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	help
+	  libsecret is a library for storing and retrieving passwords and other
+	  secrets. It communicates with the "Secret Service" using DBus.
+	  gnome-keyring and ksecretservice are both implementations of a Secret
+	  Service.
+
+	  https://wiki.gnome.org/Libsecret
+
+comment "libsecret requires a toolchain with WCHAR and threading support."
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+
+if BR2_PACKAGE_LIBSECRET
+
+config BR2_PACKAGE_LIBSECRET_CRYPTO
+	bool "Enable gcrypt and transport encryption"
+	select BR2_PACKAGE_LIBGCRYPT
+	help
+	  Enable gcrypt and transport encryption
+
+endif
diff --git a/package/libsecret/libsecret.mk b/package/libsecret/libsecret.mk
new file mode 100644
index 0000000..32bcc17
--- /dev/null
+++ b/package/libsecret/libsecret.mk
@@ -0,0 +1,24 @@ 
+################################################################################
+#
+# libsecret
+#
+################################################################################
+
+LIBSECRET_VERSION = 0.15
+LIBSECRET_SITE = http://ftp.gnome.org/pub/GNOME/sources/libsecret/$(LIBSECRET_VERSION)
+LIBSECRET_SOURCE = libsecret-$(LIBSECRET_VERSION).tar.xz
+LIBSECRET_LICENSE = LGPLv2.1+
+LIBSECRET_LICENSE_FILES = COPYING
+LIBSECRET_INSTALL_STAGING = YES
+
+LIBSECRET_DEPENDENCIES = libglib2
+LIBSECRET_CONF_OPT = --disable-manpages --disable-strict --disable-coverage --enable-vala=no
+
+ifeq ($(BR2_PACKAGE_LIBSECRET_CRYPTO),y)
+	LIBSECRET_DEPENDENCIES += libgcrypt
+	LIBSECRET_CONF_OPT += --enable-gcrypt
+else
+	LIBSECRET_CONF_OPT += --disable-gcrypt
+endif
+
+$(eval $(autotools-package))