Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt
@ 2015-02-04 18:33 Floris Bos
  2015-02-04 18:33 ` [Buildroot] [PATCH v2] dropbear: add extra build customization options Floris Bos
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Floris Bos @ 2015-02-04 18:33 UTC (permalink / raw)
  To: buildroot

- Add support for the alternative OpenSSL and Linux kernel crypto backends.
The latter does require that additional kernel modules (like algif_hash)
are present and loaded before invoking cryptsetup, so is used as last choice.

- Removes CRYPTSETUP_AUTORECONF as it is redundant, and reconf does
create a dependency on libgcrypt for the m4 macros used.

Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
---
 package/cryptsetup/Config.in     |  1 -
 package/cryptsetup/cryptsetup.mk | 17 +++++++++++++----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in
index 353420f..7f672f9 100644
--- a/package/cryptsetup/Config.in
+++ b/package/cryptsetup/Config.in
@@ -1,6 +1,5 @@
 config BR2_PACKAGE_CRYPTSETUP
 	bool "cryptsetup"
-	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_POPT
 	select BR2_PACKAGE_LVM2
 	select BR2_PACKAGE_E2FSPROGS
diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk
index f43bbca..0ececa9 100644
--- a/package/cryptsetup/cryptsetup.mk
+++ b/package/cryptsetup/cryptsetup.mk
@@ -8,16 +8,25 @@ CRYPTSETUP_VERSION_MAJOR = 1.6
 CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).6
 CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz
 CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR)
-CRYPTSETUP_CONF_ENV += LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config
-CRYPTSETUP_DEPENDENCIES = lvm2 popt e2fsprogs libgcrypt host-pkgconf \
+CRYPTSETUP_DEPENDENCIES = lvm2 popt e2fsprogs host-pkgconf \
 	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 CRYPTSETUP_LICENSE = GPLv2+ (programs), LGPLv2.1+ (library)
 CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL
 
-CRYPTSETUP_AUTORECONF = YES
-
 ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
 CRYPTSETUP_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lintl"
 endif
 
+# cryptsetup uses libgcrypt by default, but can be configured to use OpenSSL
+# or kernel crypto modules instead
+ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
+CRYPTSETUP_DEPENDENCIES += libgcrypt
+CRYPTSETUP_CONF_ENV += LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config
+else ifeq ($(BR2_PACKAGE_OPENSSL),y)
+CRYPTSETUP_DEPENDENCIES += openssl
+CRYPTSETUP_CONF_OPTS += --with-crypto_backend=openssl
+else
+CRYPTSETUP_CONF_OPTS += --with-crypto_backend=kernel
+endif
+
 $(eval $(autotools-package))
-- 
1.9.1

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

* [Buildroot] [PATCH v2] dropbear: add extra build customization options
  2015-02-04 18:33 [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt Floris Bos
@ 2015-02-04 18:33 ` Floris Bos
  2015-02-07 12:00   ` Peter Korsgaard
  2015-02-04 19:56 ` [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt Thomas Petazzoni
  2015-03-08 21:16 ` Thomas Petazzoni
  2 siblings, 1 reply; 7+ messages in thread
From: Floris Bos @ 2015-02-04 18:33 UTC (permalink / raw)
  To: buildroot

v2: only offer option to disable building SSH client.
    do not offer options to disable password authentication and TCP forwarding.

Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
---
 package/dropbear/Config.in   | 10 ++++++++++
 package/dropbear/dropbear.mk | 17 ++++++++++++-----
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/package/dropbear/Config.in b/package/dropbear/Config.in
index 68c3b71..c14c654 100644
--- a/package/dropbear/Config.in
+++ b/package/dropbear/Config.in
@@ -8,6 +8,16 @@ config BR2_PACKAGE_DROPBEAR
 
 if BR2_PACKAGE_DROPBEAR
 
+config BR2_PACKAGE_DROPBEAR_CLIENT
+	bool "client programs"
+	default y
+	help
+	  Provides the programs: dbclient, ssh
+
+	  Note that the following programs are also used server-side
+	  and are therefore always build regardless this setting:
+	  dropbear, dropbearkey, dropbearconvert, scp
+
 config BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS
 	bool "disable reverse DNS lookups"
 	help
diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk
index 6e020c2..e063b10 100644
--- a/package/dropbear/dropbear.mk
+++ b/package/dropbear/dropbear.mk
@@ -7,13 +7,20 @@
 DROPBEAR_VERSION = 2015.67
 DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases
 DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2
-DROPBEAR_TARGET_BINS = dbclient dropbearkey dropbearconvert scp ssh
-DROPBEAR_MAKE = \
-	$(MAKE) MULTI=1 SCPPROGRESS=1 \
-	PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
-
 DROPBEAR_LICENSE = MIT, BSD-2c-like, BSD-2c
 DROPBEAR_LICENSE_FILES = LICENSE
+DROPBEAR_TARGET_BINS = dropbearkey dropbearconvert scp
+DROPBEAR_PROGRAMS = dropbear $(DROPBEAR_TARGET_BINS)
+
+ifeq ($(BR2_PACKAGE_DROPBEAR_CLIENT),y)
+# Build dbclient, and create a convenience symlink named ssh
+DROPBEAR_PROGRAMS += dbclient
+DROPBEAR_TARGET_BINS += dbclient ssh
+endif
+
+DROPBEAR_MAKE = \
+	$(MAKE) MULTI=1 SCPPROGRESS=1 \
+	PROGRAMS="$(DROPBEAR_PROGRAMS)"
 
 ifeq ($(BR2_STATIC_LIBS),y)
 DROPBEAR_MAKE += STATIC=1
-- 
1.9.1

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

* [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt
  2015-02-04 18:33 [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt Floris Bos
  2015-02-04 18:33 ` [Buildroot] [PATCH v2] dropbear: add extra build customization options Floris Bos
@ 2015-02-04 19:56 ` Thomas Petazzoni
  2015-02-04 20:23   ` Floris Bos
  2015-03-08 21:16 ` Thomas Petazzoni
  2 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2015-02-04 19:56 UTC (permalink / raw)
  To: buildroot

Dear Floris Bos,

On Wed,  4 Feb 2015 19:33:28 +0100, Floris Bos wrote:

> - Removes CRYPTSETUP_AUTORECONF as it is redundant, and reconf does
> create a dependency on libgcrypt for the m4 macros used.

This essentially reverts commit
d66c981aaa2248b7e20a4f802f3643435a1761ca, which was made to fix
http://autobuild.buildroot.net/results/9ca/9cad1cf49ee6b5c58d8260ee33beef2e6c1ada4d/.

Can you rebuild the same configuration and see if with your patch it
builds fine?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt
  2015-02-04 19:56 ` [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt Thomas Petazzoni
@ 2015-02-04 20:23   ` Floris Bos
  2015-02-05  7:57     ` Thomas Petazzoni
  0 siblings, 1 reply; 7+ messages in thread
From: Floris Bos @ 2015-02-04 20:23 UTC (permalink / raw)
  To: buildroot

Hi,

On 02/04/2015 08:56 PM, Thomas Petazzoni wrote:
> On Wed,  4 Feb 2015 19:33:28 +0100, Floris Bos wrote:
>
>> - Removes CRYPTSETUP_AUTORECONF as it is redundant, and reconf does
>> create a dependency on libgcrypt for the m4 macros used.
> This essentially reverts commit
> d66c981aaa2248b7e20a4f802f3643435a1761ca, which was made to fix
> http://autobuild.buildroot.net/results/9ca/9cad1cf49ee6b5c58d8260ee33beef2e6c1ada4d/.

d66c981aaa2248b7e20a4f802f3643435a1761ca was already reverted by commit 
40c341da78f3315fa31e4ea56b470753bf915a31 which bumped version again and 
removed cryptsetup-0001-link-against-lrt-for-clock_gettime.patch that 
modified configure.ac

Looks to me that removing the autoreconf was simply overlooked there.


> Can you rebuild the same configuration and see if with your patch it
> builds fine?

That configuration does not work with today's buildroot due to unrelated 
reasons.
Invalid lua package selection combination, and a long list of legacy 
options.


Yours sincerely,

Floris Bos

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

* [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt
  2015-02-04 20:23   ` Floris Bos
@ 2015-02-05  7:57     ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2015-02-05  7:57 UTC (permalink / raw)
  To: buildroot

Dear Floris Bos,

On Wed, 04 Feb 2015 21:23:08 +0100, Floris Bos wrote:

> On 02/04/2015 08:56 PM, Thomas Petazzoni wrote:
> > On Wed,  4 Feb 2015 19:33:28 +0100, Floris Bos wrote:
> >
> >> - Removes CRYPTSETUP_AUTORECONF as it is redundant, and reconf does
> >> create a dependency on libgcrypt for the m4 macros used.
> > This essentially reverts commit
> > d66c981aaa2248b7e20a4f802f3643435a1761ca, which was made to fix
> > http://autobuild.buildroot.net/results/9ca/9cad1cf49ee6b5c58d8260ee33beef2e6c1ada4d/.
> 
> d66c981aaa2248b7e20a4f802f3643435a1761ca was already reverted by commit 
> 40c341da78f3315fa31e4ea56b470753bf915a31 which bumped version again and 
> removed cryptsetup-0001-link-against-lrt-for-clock_gettime.patch that 
> modified configure.ac
> 
> Looks to me that removing the autoreconf was simply overlooked there.

Ah, indeed! Would have been good to mention in the commit log, then.

> > Can you rebuild the same configuration and see if with your patch it
> > builds fine?
> 
> That configuration does not work with today's buildroot due to unrelated 
> reasons.
> Invalid lua package selection combination, and a long list of legacy 
> options.

Yes, obviously old configurations may need some tweaking to build, to
remove legacy options.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH v2] dropbear: add extra build customization options
  2015-02-04 18:33 ` [Buildroot] [PATCH v2] dropbear: add extra build customization options Floris Bos
@ 2015-02-07 12:00   ` Peter Korsgaard
  0 siblings, 0 replies; 7+ messages in thread
From: Peter Korsgaard @ 2015-02-07 12:00 UTC (permalink / raw)
  To: buildroot

On Wed, Feb 4, 2015 at 7:33 PM, Floris Bos <bos@je-eigen-domein.nl> wrote:
> v2: only offer option to disable building SSH client.
>     do not offer options to disable password authentication and TCP forwarding.
>
> Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt
  2015-02-04 18:33 [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt Floris Bos
  2015-02-04 18:33 ` [Buildroot] [PATCH v2] dropbear: add extra build customization options Floris Bos
  2015-02-04 19:56 ` [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt Thomas Petazzoni
@ 2015-03-08 21:16 ` Thomas Petazzoni
  2 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2015-03-08 21:16 UTC (permalink / raw)
  To: buildroot

Dear Floris Bos,

On Wed,  4 Feb 2015 19:33:28 +0100, Floris Bos wrote:
> - Add support for the alternative OpenSSL and Linux kernel crypto backends.
> The latter does require that additional kernel modules (like algif_hash)
> are present and loaded before invoking cryptsetup, so is used as last choice.
> 
> - Removes CRYPTSETUP_AUTORECONF as it is redundant, and reconf does
> create a dependency on libgcrypt for the m4 macros used.
> 
> Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>

Thanks, applied. I've added an explicit --with-crypto_backend=gcrypt
for good measure.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

end of thread, other threads:[~2015-03-08 21:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-04 18:33 [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt Floris Bos
2015-02-04 18:33 ` [Buildroot] [PATCH v2] dropbear: add extra build customization options Floris Bos
2015-02-07 12:00   ` Peter Korsgaard
2015-02-04 19:56 ` [Buildroot] [PATCH] cryptsetup: remove hard dependency on libgcrypt Thomas Petazzoni
2015-02-04 20:23   ` Floris Bos
2015-02-05  7:57     ` Thomas Petazzoni
2015-03-08 21:16 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox