All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] ecryptfs-utils: new package
@ 2013-05-31 15:49 Marcin Bis
  2013-05-31 16:11 ` Thomas Petazzoni
  0 siblings, 1 reply; 6+ messages in thread
From: Marcin Bis @ 2013-05-31 15:49 UTC (permalink / raw)
  To: buildroot

Hi

The following patch adds support for ecryptfs-utils.
http://ecryptfs.org/

Signed-off-by: Marcin Bis <marcin@bis.org.pl>
---
 package/Config.in                        |    1 +
 package/ecryptfs-utils/Config.in         |   18 ++++++++++++++++++
 package/ecryptfs-utils/ecryptfs-utils.mk |   25 +++++++++++++++++++++++++
 3 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/package/Config.in b/package/Config.in
index d980871..54711c8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -194,6 +194,7 @@ source "package/cramfs/Config.in"
 source "package/curlftpfs/Config.in"
 source "package/dosfstools/Config.in"
 source "package/e2fsprogs/Config.in"
+source "package/ecryptfs-utils/Config.in"
 source "package/exfat/Config.in"
 source "package/exfat-utils/Config.in"
 source "package/f2fs-tools/Config.in"
diff --git a/package/ecryptfs-utils/Config.in b/package/ecryptfs-utils/Config.in
new file mode 100644
index 0000000..b1b2ec0
--- /dev/null
+++ b/package/ecryptfs-utils/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_ECRYPTFS_UTILS
+    bool "ecryptfs-utils"
+    select BR2_PACKAGE_KEYUTILS
+    select BR2_PACKAGE_LIBNSS
+    help
+      eCryptfs is a POSIX-compliant enterprise cryptographic
+      filesystem for Linux. It is stacked on top of any other
+      Linux filesystem, it stores cryptographic metadata in the header
+      of each file written.
+
+      The eCryptfs kernel module is available in all Linux kernels
+      since version 2.6.19. This package provides userspace utilities
+      needed to mount eCryptfs.
+
+      Files are encrypted using a passphrase. Consider building openssl
+      for another method.
+
+      http://ecryptfs.org
diff --git a/package/ecryptfs-utils/ecryptfs-utils.mk
b/package/ecryptfs-utils/ecryptfs-utils.mk
new file mode 100644
index 0000000..8c656ba
--- /dev/null
+++ b/package/ecryptfs-utils/ecryptfs-utils.mk
@@ -0,0 +1,25 @@
+#############################################################
+#
+# ecryptfs-utils
+#
+##############################################################
+
+ECRYPTFS_UTILS_VERSION         = 103
+ECRYPTFS_UTILS_SOURCE          =
ecryptfs-utils_$(ECRYPTFS_UTILS_VERSION).orig.tar.gz
+ECRYPTFS_UTILS_SITE            =
https://launchpad.net/ecryptfs/trunk/$(ECRYPTFS_UTILS_VERSION)/+download
+ECRYPTFS_UTILS_LICENSE         = GPLv2+
+ECRYPTFS_UTILS_LICENSE_FILES   = COPYING
+
+ECRYPTFS_UTILS_DEPENDENCIES    = keyutils libnss
+ECRYPTFS_UTILS_CONF_OPT        += --disable-pywrap --disable-pam --disable-nls
+
+#Needed for build system to find pk11func.h and libnss3.so
+ECRYPTFS_UTILS_CONF_ENV +=
NSS_CFLAGS="-I$(STAGING_DIR)/usr/include/nss
-I$(STAGING_DIR)/usr/include/nspr" \
+    NSS_LIBS="-lnss3"
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+    #openssl will be found by configure
+    ECRYPTFS_UTILS_DEPENDENCIES += openssl
+endif
+
+$(eval $(autotools-package))

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH] ecryptfs-utils: new package
  2013-05-31 15:49 [Buildroot] [PATCH] ecryptfs-utils: new package Marcin Bis
@ 2013-05-31 16:11 ` Thomas Petazzoni
  2013-05-31 16:31   ` Marcin Bis
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2013-05-31 16:11 UTC (permalink / raw)
  To: buildroot

Dear Marcin Bis,

Thanks!

Your patch is line-wrapped, could you use 'git send-email' to send
patches? More comments below.

On Fri, 31 May 2013 17:49:15 +0200, Marcin Bis wrote:

> diff --git a/package/ecryptfs-utils/Config.in b/package/ecryptfs-utils/Config.in
> new file mode 100644
> index 0000000..b1b2ec0
> --- /dev/null
> +++ b/package/ecryptfs-utils/Config.in
> @@ -0,0 +1,18 @@
> +config BR2_PACKAGE_ECRYPTFS_UTILS
> +    bool "ecryptfs-utils"
> +    select BR2_PACKAGE_KEYUTILS
> +    select BR2_PACKAGE_LIBNSS

You need to propagate the dependencies of libnss and keyutils here, so:

	depends on BR2_USE_MMU # keyutils
	depends on !BR2_avr32 && !BR2_microblaze # keyutils
	depends on BR2_LARGEFILE # libnss
	depends on BR2_TOOLCHAIN_HAS_THREADS # libnss -> libnspr

and then, add a comment like:

comment "ecryptfs-utils requires a toolchain with largefile and thread support"
	depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS

> +    help

Indentation should be one tab here.

> +      eCryptfs is a POSIX-compliant enterprise cryptographic
> +      filesystem for Linux. It is stacked on top of any other
> +      Linux filesystem, it stores cryptographic metadata in the header
> +      of each file written.
> +
> +      The eCryptfs kernel module is available in all Linux kernels
> +      since version 2.6.19. This package provides userspace utilities
> +      needed to mount eCryptfs.
> +
> +      Files are encrypted using a passphrase. Consider building openssl
> +      for another method.
> +
> +      http://ecryptfs.org

And one tab + two spaces here.

> diff --git a/package/ecryptfs-utils/ecryptfs-utils.mk
> b/package/ecryptfs-utils/ecryptfs-utils.mk
> new file mode 100644
> index 0000000..8c656ba
> --- /dev/null
> +++ b/package/ecryptfs-utils/ecryptfs-utils.mk
> @@ -0,0 +1,25 @@
> +#############################################################
> +#
> +# ecryptfs-utils
> +#
> +##############################################################
> +
> +ECRYPTFS_UTILS_VERSION         = 103
> +ECRYPTFS_UTILS_SOURCE          =
> ecryptfs-utils_$(ECRYPTFS_UTILS_VERSION).orig.tar.gz
> +ECRYPTFS_UTILS_SITE            =
> https://launchpad.net/ecryptfs/trunk/$(ECRYPTFS_UTILS_VERSION)/+download
> +ECRYPTFS_UTILS_LICENSE         = GPLv2+
> +ECRYPTFS_UTILS_LICENSE_FILES   = COPYING
> +
> +ECRYPTFS_UTILS_DEPENDENCIES    = keyutils libnss

Apparently, ecryptfs-utils can be built without libnss, and use gcrypt
instead. Maybe it would be worth supporting this possibility. But it's
not mandatory to get your patch accepted.

> +ECRYPTFS_UTILS_CONF_OPT        += --disable-pywrap --disable-pam --disable-nls

No need for the += here.

Please don't pass --disable-nls. It will be passed automatically when
locale support is not enabled.

> +#Needed for build system to find pk11func.h and libnss3.so
> +ECRYPTFS_UTILS_CONF_ENV +=
> NSS_CFLAGS="-I$(STAGING_DIR)/usr/include/nss
> -I$(STAGING_DIR)/usr/include/nspr" \
> +    NSS_LIBS="-lnss3"
> +
> +ifeq ($(BR2_PACKAGE_OPENSSL),y)
> +    #openssl will be found by configure
> +    ECRYPTFS_UTILS_DEPENDENCIES += openssl
> +endif

Please disable explicitly openssl support when it's not available, to
make sure it doesn't mis-detect the OpenSSL for the host. So, something
like:

ifeq ($(BR2_PACKAGE_OPENSSL),y)
	ECRYPTFS_UTILS_CONF_OPT += --enable-openssl
	ECRYPTFS_UTILS_DEPENDENCIES += openssl
else
	ECRYPTFS_UTILS_CONF_OPT += --disable-openssl
endif

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH] ecryptfs-utils: new package
  2013-05-31 16:11 ` Thomas Petazzoni
@ 2013-05-31 16:31   ` Marcin Bis
  2013-05-31 18:26     ` Thomas Petazzoni
  0 siblings, 1 reply; 6+ messages in thread
From: Marcin Bis @ 2013-05-31 16:31 UTC (permalink / raw)
  To: buildroot

Thank you, I will fix it and resend.

On Fri, May 31, 2013 at 6:11 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
>> +ECRYPTFS_UTILS_DEPENDENCIES    = keyutils libnss
>
> Apparently, ecryptfs-utils can be built without libnss, and use gcrypt
> instead. Maybe it would be worth supporting this possibility. But it's
> not mandatory to get your patch accepted.

I have got a problem trying to build it with gcrypt instead of nss.

The dependencies seems to be hard-coded:
http://bazaar.launchpad.net/~ecryptfs/ecryptfs/trunk/view/head:/src/libecryptfs/main.c#L24
nss.h and pk11func.h are provided only by libnss.
(and libecryptfs is essential for mount.ecryptfs to work)

Foud this one too: https://bugs.launchpad.net/ecryptfs/+bug/1072643
--
 Marcin Bis

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH] ecryptfs-utils: new package
  2013-05-31 16:31   ` Marcin Bis
@ 2013-05-31 18:26     ` Thomas Petazzoni
  2013-05-31 20:12       ` [Buildroot] [PATCH v2] " Marcin Bis
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2013-05-31 18:26 UTC (permalink / raw)
  To: buildroot

Dear Marcin Bis,

On Fri, 31 May 2013 18:31:20 +0200, Marcin Bis wrote:

> > Apparently, ecryptfs-utils can be built without libnss, and use gcrypt
> > instead. Maybe it would be worth supporting this possibility. But it's
> > not mandatory to get your patch accepted.
> 
> I have got a problem trying to build it with gcrypt instead of nss.
> 
> The dependencies seems to be hard-coded:
> http://bazaar.launchpad.net/~ecryptfs/ecryptfs/trunk/view/head:/src/libecryptfs/main.c#L24
> nss.h and pk11func.h are provided only by libnss.
> (and libecryptfs is essential for mount.ecryptfs to work)
> 
> Foud this one too: https://bugs.launchpad.net/ecryptfs/+bug/1072643

Is this case, no problem, just submit something like you did, which
depends on NSS only. If someone cares enough to make it work with
gcrypt, this someone will fix it.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v2] ecryptfs-utils: new package
  2013-05-31 18:26     ` Thomas Petazzoni
@ 2013-05-31 20:12       ` Marcin Bis
  2013-06-02 21:17         ` Peter Korsgaard
  0 siblings, 1 reply; 6+ messages in thread
From: Marcin Bis @ 2013-05-31 20:12 UTC (permalink / raw)
  To: buildroot

The following patch adds support for ecryptfs-utils.
http://ecryptfs.org/

Signed-off-by: Marcin Bis <marcin@bis.org.pl>
---
 package/Config.in                        |    1 +
 package/ecryptfs-utils/Config.in         |   22 ++++++++++++++++++++++
 package/ecryptfs-utils/ecryptfs-utils.mk |   28 ++++++++++++++++++++++++++++
 3 files changed, 51 insertions(+), 0 deletions(-)
 create mode 100644 package/ecryptfs-utils/Config.in
 create mode 100644 package/ecryptfs-utils/ecryptfs-utils.mk

diff --git a/package/Config.in b/package/Config.in
index d980871..54711c8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -194,6 +194,7 @@ source "package/cramfs/Config.in"
 source "package/curlftpfs/Config.in"
 source "package/dosfstools/Config.in"
 source "package/e2fsprogs/Config.in"
+source "package/ecryptfs-utils/Config.in"
 source "package/exfat/Config.in"
 source "package/exfat-utils/Config.in"
 source "package/f2fs-tools/Config.in"
diff --git a/package/ecryptfs-utils/Config.in b/package/ecryptfs-utils/Config.in
new file mode 100644
index 0000000..8f89e75
--- /dev/null
+++ b/package/ecryptfs-utils/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_ECRYPTFS_UTILS
+	bool "ecryptfs-utils"
+	select BR2_PACKAGE_KEYUTILS
+	select BR2_PACKAGE_LIBNSS
+	depends on BR2_USE_MMU # keyutils
+	depends on !BR2_avr32 && !BR2_microblaze # keyutils
+	depends on BR2_LARGEFILE # libnss
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libnss -> libnspr
+	help
+	  eCryptfs is a POSIX-compliant enterprise cryptographic
+	  filesystem for Linux. It is stacked on top of any other
+	  Linux filesystem, it stores cryptographic metadata in the header
+	  of each file written.
+	  
+	  The eCryptfs kernel module is available in all Linux kernels
+	  since version 2.6.19. This package provides userspace utilities
+	  needed to mount eCryptfs.
+	  
+	  Files are encrypted using a passpthase. Consider building openssl
+	  for another method.
+	  
+	  http://ecryptfs.org
diff --git a/package/ecryptfs-utils/ecryptfs-utils.mk b/package/ecryptfs-utils/ecryptfs-utils.mk
new file mode 100644
index 0000000..32b509f
--- /dev/null
+++ b/package/ecryptfs-utils/ecryptfs-utils.mk
@@ -0,0 +1,28 @@
+#############################################################
+#
+# ecryptfs-utils
+#
+##############################################################
+
+ECRYPTFS_UTILS_VERSION         = 103
+ECRYPTFS_UTILS_SOURCE          = ecryptfs-utils_$(ECRYPTFS_UTILS_VERSION).orig.tar.gz
+ECRYPTFS_UTILS_SITE            = https://launchpad.net/ecryptfs/trunk/$(ECRYPTFS_UTILS_VERSION)/+download
+ECRYPTFS_UTILS_LICENSE         = GPLv2+
+ECRYPTFS_UTILS_LICENSE_FILES   = COPYING
+
+ECRYPTFS_UTILS_DEPENDENCIES    = keyutils libnss
+ECRYPTFS_UTILS_CONF_OPT        = --disable-pywrap --disable-pam
+
+#Needed for build system to find pk11func.h and libnss3.so
+ECRYPTFS_UTILS_CONF_ENV = \
+  NSS_CFLAGS="-I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr" \
+  NSS_LIBS="-lnss3"
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+	ECRYPTFS_UTILS_CONF_OPT += --enable-openssl
+	ECRYPTFS_UTILS_DEPENDENCIES += openssl
+else
+	ECRYPTFS_UTILS_CONF_OPT += --disable-openssl
+endif
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v2] ecryptfs-utils: new package
  2013-05-31 20:12       ` [Buildroot] [PATCH v2] " Marcin Bis
@ 2013-06-02 21:17         ` Peter Korsgaard
  0 siblings, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2013-06-02 21:17 UTC (permalink / raw)
  To: buildroot

>>>>> "Marcin" == Marcin Bis <marcin@bis.org.pl> writes:

 Marcin> The following patch adds support for ecryptfs-utils.
 Marcin> http://ecryptfs.org/

 Marcin> Signed-off-by: Marcin Bis <marcin@bis.org.pl>
 Marcin> ---
 Marcin>  package/Config.in                        |    1 +
 Marcin>  package/ecryptfs-utils/Config.in         |   22 ++++++++++++++++++++++
 Marcin>  package/ecryptfs-utils/ecryptfs-utils.mk |   28 ++++++++++++++++++++++++++++
 Marcin>  3 files changed, 51 insertions(+), 0 deletions(-)
 Marcin>  create mode 100644 package/ecryptfs-utils/Config.in
 Marcin>  create mode 100644 package/ecryptfs-utils/ecryptfs-utils.mk

 Marcin> diff --git a/package/Config.in b/package/Config.in
 Marcin> index d980871..54711c8 100644
 Marcin> --- a/package/Config.in
 Marcin> +++ b/package/Config.in
 Marcin> @@ -194,6 +194,7 @@ source "package/cramfs/Config.in"
 Marcin>  source "package/curlftpfs/Config.in"
 Marcin>  source "package/dosfstools/Config.in"
 Marcin>  source "package/e2fsprogs/Config.in"
 Marcin> +source "package/ecryptfs-utils/Config.in"
 Marcin>  source "package/exfat/Config.in"
 Marcin>  source "package/exfat-utils/Config.in"
 Marcin>  source "package/f2fs-tools/Config.in"
 Marcin> diff --git a/package/ecryptfs-utils/Config.in b/package/ecryptfs-utils/Config.in
 Marcin> new file mode 100644
 Marcin> index 0000000..8f89e75
 Marcin> --- /dev/null
 Marcin> +++ b/package/ecryptfs-utils/Config.in
 Marcin> @@ -0,0 +1,22 @@
 Marcin> +config BR2_PACKAGE_ECRYPTFS_UTILS
 Marcin> +	bool "ecryptfs-utils"
 Marcin> +	select BR2_PACKAGE_KEYUTILS
 Marcin> +	select BR2_PACKAGE_LIBNSS
 Marcin> +	depends on BR2_USE_MMU # keyutils
 Marcin> +	depends on !BR2_avr32 && !BR2_microblaze # keyutils
 Marcin> +	depends on BR2_LARGEFILE # libnss
 Marcin> +	depends on BR2_TOOLCHAIN_HAS_THREADS # libnss -> libnspr
 Marcin> +	help
 Marcin> +	  eCryptfs is a POSIX-compliant enterprise cryptographic
 Marcin> +	  filesystem for Linux. It is stacked on top of any other
 Marcin> +	  Linux filesystem, it stores cryptographic metadata in the header
 Marcin> +	  of each file written.
 Marcin> +	  
 Marcin> +	  The eCryptfs kernel module is available in all Linux kernels
 Marcin> +	  since version 2.6.19. This package provides userspace utilities
 Marcin> +	  needed to mount eCryptfs.
 Marcin> +	  
 Marcin> +	  Files are encrypted using a passpthase. Consider building openssl

s/passthase/passphrase/

 Marcin> +	  for another method.
 Marcin> +	  
 Marcin> +	  http://ecryptfs.org
 Marcin> diff --git a/package/ecryptfs-utils/ecryptfs-utils.mk b/package/ecryptfs-utils/ecryptfs-utils.mk
 Marcin> new file mode 100644
 Marcin> index 0000000..32b509f
 Marcin> --- /dev/null
 Marcin> +++ b/package/ecryptfs-utils/ecryptfs-utils.mk
 Marcin> @@ -0,0 +1,28 @@
 Marcin> +#############################################################
 Marcin> +#
 Marcin> +# ecryptfs-utils
 Marcin> +#
 Marcin> +##############################################################
 Marcin> +
 Marcin> +ECRYPTFS_UTILS_VERSION         = 103
 Marcin> +ECRYPTFS_UTILS_SOURCE          = ecryptfs-utils_$(ECRYPTFS_UTILS_VERSION).orig.tar.gz
 Marcin> +ECRYPTFS_UTILS_SITE            = https://launchpad.net/ecryptfs/trunk/$(ECRYPTFS_UTILS_VERSION)/+download
 Marcin> +ECRYPTFS_UTILS_LICENSE         = GPLv2+
 Marcin> +ECRYPTFS_UTILS_LICENSE_FILES   = COPYING
 Marcin> +
 Marcin> +ECRYPTFS_UTILS_DEPENDENCIES    = keyutils libnss

It also needs host-intltool, and >= 0.41, so I had to bump our intltool
package.

Committed with these fixes, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-06-02 21:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-31 15:49 [Buildroot] [PATCH] ecryptfs-utils: new package Marcin Bis
2013-05-31 16:11 ` Thomas Petazzoni
2013-05-31 16:31   ` Marcin Bis
2013-05-31 18:26     ` Thomas Petazzoni
2013-05-31 20:12       ` [Buildroot] [PATCH v2] " Marcin Bis
2013-06-02 21:17         ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.