[Buildroot] [PATCH 3/4] package/libblockdev: add new package
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Mon Feb 17 18:56:39 UTC 2020
Hello,
On Mon, 17 Feb 2020 15:30:29 +0100
Giulio Benetti <giulio.benetti at benettiengineering.com> wrote:
> diff --git a/package/libblockdev/Config.in b/package/libblockdev/Config.in
> new file mode 100644
> index 0000000000..0b0a943d5f
> --- /dev/null
> +++ b/package/libblockdev/Config.in
> @@ -0,0 +1,22 @@
> +config BR2_PACKAGE_LIBBLOCKDEV
> + bool "libblockdev"
> + depends on BR2_PACKAGE_HAS_UDEV
> + depends on BR2_TOOLCHAIN_HAS_THREADS # volume_key -> cryptsetup
> + depends on BR2_USE_MMU # lvm2, volume_key -> cryptsetup
> + depends on !BR2_STATIC_LIBS # volume_key -> cryptsetup
You're missing a few dependencies from volume-key:
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup
+ depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme, libassuan
+ depends on BR2_USE_WCHAR # libglib2
Could you double check ?
> + depends on BR2_SYSTEM_ENABLE_NLS # volume_key
There is no such dependency in volume-key.
> + select BR2_PACKAGE_LIBBYTESIZE
> + select BR2_PACKAGE_LIBYAML
> + select BR2_PACKAGE_PARTED
This one depends on BR2_ENABLE_LOCALE
> + select BR2_PACKAGE_VOLUME_KEY
> + select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
> + select BR2_PACKAGE_UTIL_LINUX
Reverse the order of those last two lines.
> + help
> + libblockdev is a C library supporting GObject introspection for
> + manipulation of block devices
> +
> + https://github.com/storaged-project/libblockdev/
> +
> +comment "libblockdev needs udev /dev management and a toolchain w/ threads"
> + depends on BR2_USE_MMU
> + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_HAS_UDEV
This is not accurate considering the dependencies of
BR2_PACKAGE_LIBBLOCKDEV.
> +LIBBLOCKDEV_VERSION = 2.23-1
> +LIBBLOCKDEV_SITE = $(call github,storaged-project,libblockdev,$(LIBBLOCKDEV_VERSION))
> +LIBBLOCKDEV_LICENSE = LGPL-2.1+
> +LIBBLOCKDEV_LICENSE_FILES = LICENSE
> +LIBBLOCKDEV_DEPENDENCIES = host-autoconf-archive host-pkgconf kmod \
> + libbytesize libyaml parted udev util-linux \
> + volume_key
kmod is used here, but not selected by the Config.in file. Indentation
is also odd: you should have only one tab to indent the continuation
lines.
> +LIBBLOCKDEV_INSTALL_STAGING = YES
> +LIBBLOCKDEV_AUTORECONF_OPTS = --include=$(HOST_DIR)/share/autoconf-archive
I haven't followed the recent autoreconf rework, is this now the right
way of using autoconf-archive macros ?
> +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
> +LIBBLOCKDEV_CONF_OPTS += --enable-introspection=yes
> +LIBBLOCKDEV_DEPENDENCIES += gobject-introspection
> +else
> +LIBBLOCKDEV_CONF_OPTS += --enable-introspection=no
> +endif
We don't have GOI support (yet).
> +# Autoreconf requires an existing m4 directory
> +define LIBBLOCKDEV_MKDIR_M4
> + mkdir -p $(@D)/m4
> +endef
> +LIBBLOCKDEV_POST_PATCH_HOOKS += LIBBLOCKDEV_MKDIR_M4
So the change from Michael Walle that allows to drop this was not
merged yet?
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list