[Buildroot] [PATCH v6] bcache-tools: Adding package.
Jean-Christophe DUBOIS
jcd at tribudubois.net
Fri Aug 8 17:03:44 UTC 2014
I did not add the Makefile patch for the man8 directory as I agree with
Thomas that the bcache-tools package should be modified upstream to
allow install without this dir.
Meanwhile, we can add the man8 dir which is removed by BR afterward.
JC
Le 08/08/2014 06:11 PM, Jean-Christophe DUBOIS a écrit :
> This is the bcache tools, required to setup the linux bcache
> feature of the Linux kernel.
>
> Signed-off-by: Jean-Christophe DUBOIS <jcd at tribudubois.net>
> ---
> Changes v1 to v2
> * Remove 'support' word from comment statement in Config.in.
> * Use github helper to get the project site instead of hardcoded URL.
> Changes v2 to v3
> * Added bcache-tools description in Config help.
> * Added bcache-tools URL in Config help.
> * Added BR2_LARGEFILE BR2_USE_WCHAR and BR2_USE_MMU dependencies in Config.
> * Added BR2_PACKAGE_UTIL_LINUX selection in Config.
> * Added new requirements in Config comment.
> * Use POST_EXTRACT_HOOKS to modify Makefile.
> * Pass $(TARGET_CONFIGURE_OPTS) in env variables to $(MAKE).
> * Create man8 dir as part of PRE_INSTALL_TARGET_HOOKS.
> Changes v3 to v4
> * Move from .zip file to .tar.gz as download file in .mk file.
> * Use complete git tag as version in .mk file.
> * Remove explicit extract rule from .mk file (use implicite rule).
> Changes v4 to v5
> * Remove explicit package name in .mk (rely on default behavior).
> Changes v5 to v6
> * Switch spaces to tabs in Config.in
> * Don't patch Makefile for pkg-config in .mk file.
> ---
> package/Config.in | 1 +
> package/bcache-tools/Config.in | 22 ++++++++++++++++++++++
> package/bcache-tools/bcache-tools.mk | 31 +++++++++++++++++++++++++++++++
> 3 files changed, 54 insertions(+)
> create mode 100644 package/bcache-tools/Config.in
> create mode 100644 package/bcache-tools/bcache-tools.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 4520ba6..dc2f418 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -280,6 +280,7 @@ endmenu
> source "package/a10disp/Config.in"
> source "package/acpid/Config.in"
> source "package/avrdude/Config.in"
> + source "package/bcache-tools/Config.in"
> source "package/cdrkit/Config.in"
> source "package/cryptsetup/Config.in"
> source "package/cwiid/Config.in"
> diff --git a/package/bcache-tools/Config.in b/package/bcache-tools/Config.in
> new file mode 100644
> index 0000000..a3f7897
> --- /dev/null
> +++ b/package/bcache-tools/Config.in
> @@ -0,0 +1,22 @@
> +config BR2_PACKAGE_BCACHE_TOOLS
> + bool "bcache tools"
> + depends on BR2_PACKAGE_HAS_UDEV
> + depends on BR2_LARGEFILE # util-linux
> + depends on BR2_USE_WCHAR # util-linux
> + depends on BR2_USE_MMU # util-linux (libblkid)
> + select BR2_PACKAGE_UTIL_LINUX
> + select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
> + help
> + Bcache is a Linux kernel block layer cache. It allows one or
> + more fast disk drives such as flash-based solid state drives (SSDs)
> + to act as a cache for one or more slower hard disk drives.
> +
> + http://bcache.evilpiepirate.org/
> +
> + This is the user space bcache tools, required to setup the linux
> + bcache feature of the Linux kernel.
> +
> +comment "bcache-tools needs udev /dev management and a toolchain w/ largefile, wchar"
> + depends on BR2_USE_MMU
> + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_LARGEFILE || !BR2_USE_WCHAR
> diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk
> new file mode 100644
> index 0000000..880bf5e
> --- /dev/null
> +++ b/package/bcache-tools/bcache-tools.mk
> @@ -0,0 +1,31 @@
> +################################################################################
> +#
> +# bcache-tools
> +#
> +################################################################################
> +
> +BCACHE_TOOLS_VERSION = v1.0.7
> +BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION))
> +BCACHE_TOOLS_LICENSE = GPLv2
> +BCACHE_TOOLS_LICENSE_FILES = COPYING
> +BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev
> +
> +# We pass $(TARGET_CONFIGURE_OPTS) as environment variable to allow
> +# the bcache-tools Makefile to alter CFLAGS
> +define BCACHE_TOOLS_BUILD_CMDS
> + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
> +endef
> +
> +# The bcache-tools Makefile expects the man8 directory to exist.
> +define BCACHE_TOOLS_INSTALL_MAN8
> + $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/share/man/man8
> +endef
> +
> +BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_INSTALL_MAN8
> +
> +define BCACHE_TOOLS_INSTALL_TARGET_CMDS
> + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
> + DESTDIR=$(TARGET_DIR) install
> +endef
> +
> +$(eval $(generic-package))
More information about the buildroot
mailing list