summaryrefslogtreecommitdiff
path: root/package/cryptsetup
diff options
context:
space:
mode:
authorFloris Bos <bos@je-eigen-domein.nl>2015-02-04 19:33:28 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-03-08 22:15:57 +0100
commit7f57e79a7e61f5e7760e89bca9f466be139c693d (patch)
tree9484505af616ef155dd044601c05965b2b954232 /package/cryptsetup
parentdc47198684c01dac58518a2b06b59f78c86f50ff (diff)
cryptsetup: remove hard dependency on libgcrypt
- 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. [Thomas: add an explicit --with-crypto_backend=gcrypt with the libgcrypt backend is requested.] Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/cryptsetup')
-rw-r--r--package/cryptsetup/Config.in1
-rw-r--r--package/cryptsetup/cryptsetup.mk18
2 files changed, 14 insertions, 5 deletions
diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in
index 353420fc9..7f672f9b0 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 f43bbca9a..88ddc37a5 100644
--- a/package/cryptsetup/cryptsetup.mk
+++ b/package/cryptsetup/cryptsetup.mk
@@ -8,16 +8,26 @@ 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
+CRYPTSETUP_CONF_OPTS += --with-crypto_backend=gcrypt
+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))