Commit 7f57e79a authored by Floris Bos's avatar Floris Bos Committed by Thomas Petazzoni
Browse files

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: default avatarFloris Bos <bos@je-eigen-domein.nl>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent dc471986
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
config BR2_PACKAGE_CRYPTSETUP
	bool "cryptsetup"
	select BR2_PACKAGE_LIBGCRYPT
	select BR2_PACKAGE_POPT
	select BR2_PACKAGE_LVM2
	select BR2_PACKAGE_E2FSPROGS
+14 −4
Original line number Diff line number Diff line
@@ -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))