[Buildroot] [PATCH 2/4] package/volume_key: add new package

Thomas Petazzoni thomas.petazzoni at bootlin.com
Mon Feb 17 18:51:14 UTC 2020


Hello,

On Mon, 17 Feb 2020 15:30:28 +0100
Giulio Benetti <giulio.benetti at benettiengineering.com> wrote:

> diff --git a/DEVELOPERS b/DEVELOPERS
> index 6f2dbbb11a..5276c09384 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1016,6 +1016,7 @@ F:	package/minicom/
>  F:	package/nfs-utils/
>  F:	package/sunxi-mali-mainline/
>  F:	package/sunxi-mali-mainline-driver/
> +F:	package/volume_key/

Would you mind naming the package volume-key instead of volume_key ?

> diff --git a/package/volume_key/0001-configure.ac-remove-po-Makefile.in-entry-from-AC_CON.patch b/package/volume_key/0001-configure.ac-remove-po-Makefile.in-entry-from-AC_CON.patch
> new file mode 100644
> index 0000000000..44d6ee0d4b
> --- /dev/null
> +++ b/package/volume_key/0001-configure.ac-remove-po-Makefile.in-entry-from-AC_CON.patch
> @@ -0,0 +1,28 @@
> +From d1142e667f4f2f2fcd2d36a006919325c1a4377e Mon Sep 17 00:00:00 2001
> +From: Giulio Benetti <giulio.benetti at benettiengineering.com>
> +Date: Sat, 25 Jan 2020 17:24:38 +0100
> +Subject: [PATCH] configure.ac: remove po/Makefile.in entry from
> + AC_CONFIG_FILES
> +
> +AC_CONFIG_FILES should not contain po/Makefile.in file because
> +gettextize will re-add it again causing build failure.
> +
> +Signed-off-by: Giulio Benetti <giulio.benetti at benettiengineering.com>

Was this reported upstream?

> diff --git a/package/volume_key/Config.in b/package/volume_key/Config.in
> new file mode 100644
> index 0000000000..0c0827253d
> --- /dev/null
> +++ b/package/volume_key/Config.in
> @@ -0,0 +1,19 @@
> +config BR2_PACKAGE_VOLUME_KEY
> +	bool "volume_key"
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # cryptsetup, libassuan, libglib2, libgpgme, libnss
> +	depends on BR2_USE_MMU # cryptsetup, libassuan, libglib2, libgpgme
> +	depends on !BR2_STATIC_LIBS # cryptsetup, libnss
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup
> +	depends on BR2_USE_WCHAR # libglib2
> +	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme, libassuan
> +	select BR2_PACKAGE_CRYPTSETUP
> +	select BR2_PACKAGE_LIBASSUAN
> +	select BR2_PACKAGE_LIBGLIB2
> +	select BR2_PACKAGE_LIBGPGME
> +	select BR2_PACKAGE_LIBNSS
> +	help
> +	  The volume_key project provides a libvolume_key, a library for manipulating
> +	  storage volume encryption keys and storing them separately from volumes, and an
> +	  associated command-line tool, named volume_key.
> +
> +	  https://pagure.io/volume_key

You need a Config.in comment about the (numerous) dependencies.

> diff --git a/package/volume_key/volume_key.mk b/package/volume_key/volume_key.mk
> new file mode 100644
> index 0000000000..8d5bff6d8e
> --- /dev/null
> +++ b/package/volume_key/volume_key.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# volume_key
> +#
> +################################################################################
> +
> +VOLUME_KEY_VERSION = f56614199726ba1897d8687f0927535693b6603f

Why not use the 0.3.12 release ?

> +VOLUME_KEY_SITE = https://pagure.io/volume_key.git
> +VOLUME_KEY_SITE_METHOD = git
> +VOLUME_KEY_LICENSE = GPL-2.0+

I don't see the "or later" option in any of the source files, so shouldn't this be GPL-2.0 ?

> +VOLUME_KEY_LICENSE_FILES = COPYING
> +VOLUME_KEY_DEPENDENCIES = cryptsetup libglib2 libgpgme libnss $(TARGET_NLS_DEPENDENCIES)
> +VOLUME_KEY_INSTALL_STAGING = YES
> +VOLUME_KEY_AUTORECONF = YES
> +VOLUME_KEY_GETTEXTIZE = YES
> +
> +VOLUME_KEY_CONF_OPTS = --with-sysroot=$(STAGING_DIR) \

The --with-sysroot option always looks weird. What is this needed for ?

> +		       --with-gpgme-prefix=$(STAGING_DIR)/usr \
> +		       --without-python \
> +		       --without-python3
> +
> +$(eval $(autotools-package))

In the configure.ac file, I see:

AC_PATH_PROG([GPG], [gpg2])
AC_ARG_VAR([GPG])
AC_DEFINE_UNQUOTED([GPG_PATH], "$GPG", [Path to the gpg2 executable])

So don't we need gnupg on the host for this to work ?

I see:

PKG_CHECK_MODULES(blkid, [blkid])

don't we need the blkid library from util-linux ? I see it is selected
by cryptsetup, which is why it works.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



More information about the buildroot mailing list