Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: "Joseph Zikusooka (ZIK)" <josephzik@gmail.com>
Cc: buildroot@buildroot.org, "Joseph Zikusooka (ZIK)" <zik@jambula.net>
Subject: Re: [Buildroot] [PATCH] Kea: new package - kea version 2.6.2
Date: Sat, 17 May 2025 11:50:01 +0200	[thread overview]
Message-ID: <20250517115001.720af8ad@windsurf> (raw)
In-Reply-To: <20250426075000.314807-1-zik@jambula.net>

Hello Joseph,

Thanks for your contribution! See below a number of comments.

On Sat, 26 Apr 2025 10:50:00 +0300
"Joseph Zikusooka (ZIK)" <josephzik@gmail.com> wrote:

> Add Kea, an open-source Dynamic Host Configuration Protocol (DHCP)
> server developed by the Internet Systems Consortium (ISC).
> It's designed to provide dynamic IP address allocation and
> configuration for devices on a network. Kea is known for its
> modular architecture, allowing for easy extension and integration
> with other services.
> 
> Supersedes: a015291dc94b5497ac1fd60a2e4cf84fe3c82cb5

This is missing your Signed-off-by line, so unfortunately, we can't
apply it.

This "Supersedes:" line doesn't make sense, because
a015291dc94b5497ac1fd60a2e4cf84fe3c82cb5 isn't a reference that is
meaningful.

Also, the commit title should be:

	package/kea: new package

>  package/kea/Config.in | 17 +++++++++++++++++
>  package/kea/kea.hash  |  3 +++
>  package/kea/kea.mk    | 22 ++++++++++++++++++++++
>  3 files changed, 42 insertions(+)

You need to add an entry in the DEVELOPERS file.

> diff --git a/package/kea/Config.in b/package/kea/Config.in
> new file mode 100644
> index 0000000000..1b3bbe2e50
> --- /dev/null
> +++ b/package/kea/Config.in
> @@ -0,0 +1,17 @@
> +config BR2_PACKAGE_KEA
> +

This empty line shouldn't be there.

> +	bool "kea"
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	depends on BR2_USE_MMU

Indicate in a comment why those dependencies are present.

> +	select BR2_PACKAGE_BOOST

Boost also depends on BR2_INSTALL_LIBSTDCPP.

> +	select BR2_PACKAGE_OPENSSL
> +	select BR2_PACKAGE_LOG4CPLUS

This one depends on a lot of stuff:

        depends on BR2_INSTALL_LIBSTDCPP
        depends on BR2_USE_WCHAR
        depends on BR2_TOOLCHAIN_HAS_THREADS
        depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future

So basically, you should have:

        depends on BR2_INSTALL_LIBSTDCPP # boost, log4cplus
        depends on BR2_USE_WCHAR # log4cplus, boost
        depends on BR2_TOOLCHAIN_HAS_THREADS # log4cplus, boost
        depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # log4cplus
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # log4cplus

I'm not sure where your BR2_USE_MMU dependencies comes from. Maybe from
the kea code itself?

> +	help
> +	  DHCP implementation from Internet Systems Consortium, Inc. that features fully
> +	  functional DHCPv4, DHCPv6 and Dynamic DNS servers.
> +	  Both DHCP servers fully support server discovery, address assignment, renewal,
> +	  rebinding and release. The DHCPv6 server supports prefix delegation. Both
> +	  servers support DNS Update mechanism, using stand-alone DDNS daemon

Please wrap at 72 columns. Run "make check-package" to check the coding
style.

> +          https://www.isc.org/kea

You also need a Config.in comment to explain the dependencies. Along
the lines of:

comment "kea needs a toolchain w/ C++, wchar, threads, gcc >= 4.8"
        depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
                !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

comment "kea needs a toolchain not affected by GCC bug 64735"
        depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735

> diff --git a/package/kea/kea.mk b/package/kea/kea.mk
> new file mode 100644
> index 0000000000..d589d2c1c2
> --- /dev/null
> +++ b/package/kea/kea.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# kea
> +#
> +################################################################################
> +
> +KEA_VERSION = 2.6.2
> +KEA_SOURCE = kea-$(KEA_VERSION).tar.gz
> +KEA_SITE = https://dl.cloudsmith.io/public/isc/kea-2-6/raw/versions/$(KEA_VERSION)
> +KEA_LICENSE = MPL 2.0
> +KEA_LICENSE_FILES = COPYING
> +
> +KEA_DEPENDENCIES = host-pkgconf openssl boost log4cplus
> +
> +KEA_CONF_OPTS = "--with-openssl=$(STAGING_DIR)/usr" 
> +KEA_CONF_OPTS = "--with-log4cplus=$(STAGING_DIR)/usr"
> +#KEA_CONF_OPTS = "--with-boost-include=$(STAGING_DIR)/usr"

Comment lines are weird, if it's not needed, drop it. Also please write
this like this:

KEA_CONF_OPTS = \
	--with-openssl=$(STAGING_DIR)/usr \
	--with-log4cplus=$(STAGING_DIR)/usr

> +KEA_INSTALL_STAGING = YES
> +KEA_INSTALL_TARGET = YES

KEA_INSTALL_TARGET = YES is definitely not needed, as it's the default.

Why is KEA_INSTALL_STAGING = YES needed? Is kea installing some
libraries?

Could you fix those different issues, and come back with an updated
patch? Make sure to name it [PATCH v2], and provide a changelog. See
https://buildroot.org/downloads/manual/manual.html#submitting-patches
for some good description on how to contribute.

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:[~2025-05-17  9:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-26  7:50 [Buildroot] [PATCH] Kea: new package - kea version 2.6.2 Joseph Zikusooka (ZIK)
2025-05-17  9:50 ` Thomas Petazzoni via buildroot [this message]
2025-05-17 10:42   ` Joseph Zikusooka

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=20250517115001.720af8ad@windsurf \
    --to=buildroot@buildroot.org \
    --cc=josephzik@gmail.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=zik@jambula.net \
    /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