Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: Michel Alex <Alex.Michel@wiedemann-group.com>
Cc: "buildroot@buildroot.org" <buildroot@buildroot.org>
Subject: Re: [Buildroot] [PATCH] package/zenoh-c: new package
Date: Wed, 1 Nov 2023 18:46:52 +0100	[thread overview]
Message-ID: <20231101184652.412eb9cb@windsurf> (raw)
In-Reply-To: <AS1P250MB06088E27875FEBCE10F3B5F9A9D5A@AS1P250MB0608.EURP250.PROD.OUTLOOK.COM>

Hello Alex,

On Wed, 18 Oct 2023 08:15:28 +0000
Michel Alex <Alex.Michel@wiedemann-group.com> wrote:

> This package provides a C binding based on the main
> Zenoh implementation written in Rust.
> 
> https://github.com/eclipse-zenoh/zenoh-c
> 
> Signed-off-by: Alex Michel <alex.michel@wiedemann-group.com>

Thanks for this contribution.

>  package/Config.in            |  1 +
>  package/zenoh-c/Config.in    |  9 +++++++++
>  package/zenoh-c/zenoh-c.hash |  3 +++
>  package/zenoh-c/zenoh-c.mk   | 26 ++++++++++++++++++++++++++
>  4 files changed, 39 insertions(+)

Entry in the DEVELOPERS file is missing.


> +ZENOH_C_VERSION = 0.10.0-rc
> +ZENOH_C_SITE = $(call github,eclipse-zenoh,zenoh-c,$(ZENOH_C_VERSION))
> +ZENOH_C_LICENSE = EPL-2.0

License is:

Apache-2.0 or EPL-2.0

> +ZENOH_C_LICENSE_FILES = LICENSE
> +
> +# Install default config file
> +define ZENOH_C_INSTALL_FILES
> +       $(INSTALL) -D -m 644 $(@D)/target/*/release/libzenohc.so $(TARGET_DIR)/usr/lib/
> +       $(INSTALL) -D -m 644 $(@D)/include/* $(STAGING_DIR)/usr/include/

Meh, you're installing things to staging in the post install target
hook. Also, the shared library should also be installed to staging.

> +endef
> +ZENOH_C_POST_INSTALL_TARGET_HOOKS += ZENOH_C_INSTALL_FILES
> +
> +# no install step necessary because it is not possible to install libraries using cargo command
> +# library and header files are installed above
> +define ZENOH_C_INSTALL_TARGET_CMDS
> +       # empty
> +endef

Then what you should do is:

define ZENOH_C_INSTALL_FILES
	$(INSTALL) -D -m 644 $(@D)/target/*/release/libzenohc.so $(1)/usr/lib/libzenohc.so
	mkdir -p $(STAGING_DIR)/usr/include/
	cp -dpfr $(@D)/include/* $(STAGING_DIR)/usr/include/
endif

define ZENOH_C_INSTALL_TARGET_CMDS
	$(call ZENOH_C_INSTALL_FILES,$(TARGET_DIR))
endef

define ZENOH_C_INSTALL_STAGING_CMDS
	$(call ZENOH_C_INSTALL_FILES,$(STAGING_DIR))
endef

However, I have some other questions:

- You're using cargo to build this package, but at
  https://github.com/eclipse-zenoh/zenoh-c they suggest to use CMake.
  Any opinion on this?

- When using cargo to build,
  https://github.com/eclipse-zenoh/zenoh-c/blob/master/Cargo.toml is
  used, and I'm worried by the following lines:

zenoh = { git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "master", features = [ "shared-memory", "unstable" ] }
zenoh-protocol = { git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "master", features = [ "shared-memory" ] }
zenoh-util = { git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "master" }

  I'm not too familiar with Cargo, but to me this looks like it is
  going to pull the latest "master" branch of zenoh, zenoh-protocol,
  zenoh-util. So it means that the build of zenoh-c is not
  reproducible, as you will pull different things from those master
  branches depending on when you do your build. Could you comment on
  this?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2023-11-01 17:47 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-18  8:15 [Buildroot] [PATCH] package/zenoh-c: new package Michel Alex
2023-11-01 17:46 ` Thomas Petazzoni via buildroot [this message]
2023-11-06  9:53   ` Michel Alex
2024-03-01  9:56     ` [Buildroot] [PATCH v3] package/libzenoh-c: " Michel Alex
2024-03-01 17:49       ` Yann E. MORIN
2024-03-06 13:19         ` Michel Alex
2024-04-16 10:03           ` [Buildroot] [PATCH v4] " Michel Alex

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231101184652.412eb9cb@windsurf \
    --to=buildroot@buildroot.org \
    --cc=Alex.Michel@wiedemann-group.com \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox