[Buildroot] [PATCH 1/1] openzwave: new package
Julien Boibessot
julien.boibessot at free.fr
Thu Apr 21 14:12:50 UTC 2016
Hello Joris,
is your work more or less derived from Fabrice's patch (04/03/2016) ?
I have run tested it, so my comments below...
On 20/04/2016 15:38, Joris Lijssens wrote:
> Signed-off-by: Joris Lijssens <joris.lijssens at gmail.com>
> ---
> package/Config.in | 1 +
> package/openzwave/Config.in | 15 +++++++++++++++
> package/openzwave/openzwave.hash | 2 ++
> package/openzwave/openzwave.mk | 26 ++++++++++++++++++++++++++
> 4 files changed, 44 insertions(+)
> create mode 100644 package/openzwave/Config.in
> create mode 100644 package/openzwave/openzwave.hash
> create mode 100644 package/openzwave/openzwave.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index ecaf164..25fa0d9 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1171,6 +1171,7 @@ menu "Networking"
> source "package/omniorb/Config.in"
> source "package/openldap/Config.in"
> source "package/openpgm/Config.in"
> + source "package/openzwave/Config.in"
> source "package/ortp/Config.in"
> source "package/qdecoder/Config.in"
> source "package/qpid-proton/Config.in"
> diff --git a/package/openzwave/Config.in b/package/openzwave/Config.in
> new file mode 100644
> index 0000000..3ae0959
> --- /dev/null
> +++ b/package/openzwave/Config.in
> @@ -0,0 +1,15 @@
> +config BR2_PACKAGE_OPENZWAVE
> + bool "openzwave"
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_PACKAGE_HAS_UDEV # libudev
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + depends on BR2_USE_WCHAR # use wchar_t
in my build config, I also require a patch for openzwave to add:
#define _GNU_SOURCE
in cpp/hidapi/linux/hid.c (like already done in cpp/hidapi/libusb/hid.c).
Otherwise build fails on wcsdup() implicit declaration.
> + help
> + OpenZwave is a free software library that interfaces with selected Z-Wave
> + PC controllers, allowing anyone to create applications that manipulate
> + and respond to devices on a Z-Wave network, without requiring in-depth
> + knowledge of the Z-Wave protocol.
> +
> +comment "openzwave needs udev /dev management and a toolchain w/ C++, threads, wchar"
> + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP \
> + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
> diff --git a/package/openzwave/openzwave.hash b/package/openzwave/openzwave.hash
> new file mode 100644
> index 0000000..4291e76
> --- /dev/null
> +++ b/package/openzwave/openzwave.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256 ca122365f6237dc245be0129eb460e78126976b9c7bd06487795d3acfc9f2a5f openzwave-v1.4.tar.gz
> diff --git a/package/openzwave/openzwave.mk b/package/openzwave/openzwave.mk
> new file mode 100644
> index 0000000..aa96b0c
> --- /dev/null
> +++ b/package/openzwave/openzwave.mk
> @@ -0,0 +1,26 @@
> +################################################################################
> +#
> +# openzwave
> +#
> +################################################################################
> +
> +OPENZWAVE_VERSION = v1.4
> +OPENZWAVE_SITE = $(call github,OpenZWave,open-zwave,$(OPENZWAVE_VERSION))
> +OPENZWAVE_LICENSE = LGPLv3+ (library), GPLv3+ (test programs), Apache-2.0
> +OPENZWAVE_LICENSE_FILES = license/license.txt license/lgpl.txt license/gpl.txt \
> + license/Apache-License-2.0.txt
does it take into account licenses of cpp/hidapi/* ?
> +OPENZWAVE_DEPENDENCIES = udev
> +
> +define OPENZWAVE_BUILD_CMDS
> + $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D)
> +endef
> +
> +define OPENZWAVE_INSTALL_STAGING_CMDS
> + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr install
> +endef
shouldn't you also have a OPENZWAVE_INSTALL_STAGING = YES ?
> +
> +define OPENZWAVE_INSTALL_TARGET_CMDS
> + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr install
> +endef
Your installation method end up by installing config files in
/usr/etc/openzwave/ instead of /etc/openzwave and libraries in
/usr/lib64 instead of /usr/lib.
Fabrice patch seems to adress that (to be confirmed soon).
Moreover you also install ozw_config script in rootfs, whereas this
build script is only needed in staging dir.
Otherwise, all run well on my ARM platforms with AEON-LABS Zstick S2. :-)
> +
> +$(eval $(generic-package))
Best regards,
Julien
More information about the buildroot
mailing list