<div dir="ltr">Hello Thomas, <div><br><div>thank you for your input</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">glibc is not required: it builds fine with uclibc.<br>> +     select BR2_PACKAGE_LIBGLIB2</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This dependency is not mandatory, so I dropped it. It should be easy to<br>re-add it with a follow-up patch.</blockquote><div><br></div><div>Ok, I did not see the configure script had options to disable them, it's better to have a default package compatible with everyone</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">(2) Passing the appropriate install_prefix value at install time,</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> since the hand-written Makefile.in use install_prefix and not DESTDIR</blockquote><div><br></div><div>it's cleaner to override at the given step (I'll keep that!)</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">if you need the libglib and libnet optional dependencies, don't<br>hesitate to send follow-up patches to add support for them.</blockquote><div><br></div><div>I need to check whether I need libglib because it's not obvious. But I certainly need libnet. </div><div><br></div><div>Let's say I introduce a "BR2_PACKAGE_LIBNIDS_WITH_LIBNET" option, </div><div>if I add a 0002-patch to also have libnet checked with pkg-config,</div><div>Is it fine with you having a patch always applied, even though we are in the --disable-libnet context?</div><div><br></div><div><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div><div><font face="arial,helvetica,sans-serif">Guillaume W. Bres<br></font></div><font face="arial,helvetica,sans-serif">Software engineer</font><br></div><font face="arial,helvetica,sans-serif"></font></div><font face="arial,helvetica,sans-serif"><<a href="mailto:guillaume.bressaix@gmail.com" target="_blank">guillaume.bressaix@gmail.com</a>><br></font></div></div></div></div></div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 22 juin 2020 à 22:27, Thomas Petazzoni <<a href="mailto:thomas.petazzoni@bootlin.com" target="_blank">thomas.petazzoni@bootlin.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Guillaume,<br>
<br>
On Mon, 22 Jun 2020 12:53:59 +0200<br>
"Guillaume W. Bres" <<a href="mailto:guillaume.bressaix@gmail.com" target="_blank">guillaume.bressaix@gmail.com</a>> wrote:<br>
<br>
> Libnids is a C based networking library,<br>
> part of networking intrusion detection tools.<br>
> It can watch network traffic & provide informations.<br>
> <br>
> Signed-off-by: Guillaume W. Bres <<a href="mailto:guillaume.bressaix@gmail.com" target="_blank">guillaume.bressaix@gmail.com</a>><br>
<br>
I have applied your patch, with a number of changes. See below for<br>
comments, and see the final commit at:<br>
<br>
  <a href="https://git.buildroot.org/buildroot/commit/?id=b6ce06cd64b0d85c9065c60fad933c8585730320" rel="noreferrer" target="_blank">https://git.buildroot.org/buildroot/commit/?id=b6ce06cd64b0d85c9065c60fad933c8585730320</a><br>
<br>
<br>
> +config BR2_PACKAGE_LIBNIDS<br>
> +     bool "libnids"<br>
> +     depends on BR2_TOOLCHAIN_USES_GLIBC<br>
<br>
glibc is not required: it builds fine with uclibc.<br>
<br>
> +     select BR2_PACKAGE_LIBGLIB2<br>
<br>
This dependency is not mandatory, so I dropped it. It should be easy to<br>
re-add it with a follow-up patch.<br>
<br>
> +     select BR2_PACKAGE_LIBNET<br>
<br>
This dependency is not mandatory, so I dropped it. Re-adding it is<br>
possible, but will need some tweaks in the <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> script.<br>
<br>
> +     select BR2_PACKAGE_LIBPCAP<br>
<br>
This dependency is indeed mandatory.<br>
<br>
<br>
> +LIBNIDS_VERSION = 1.24<br>
> +LIBNIDS_SITE = <a href="https://sourceforge.net/projects/libnids/files/libnids/$(LIBNIDS_VERSION)" rel="noreferrer" target="_blank">https://sourceforge.net/projects/libnids/files/libnids/$(LIBNIDS_VERSION)</a><br>
> +LIBNIDS_LICENSE = GPL-2.0<br>
> +LIBNIDS_LICENSE_FILES = COPYING<br>
> +LIBNIDS_INSTALL_STAGING = YES<br>
<br>
You forgot the _DEPENDENCIES variable, so nothing ensured that your<br>
dependencies are built before this package.<br>
<br>
> +LIBNIDS_CONF_OPTS += \<br>
> +     prefix="$(STAGING_DIR)/usr" \<br>
> +     exec_prefix="$(STAGING_DIR)/usr"<br>
<br>
So, I instead fixed this by:<br>
<br>
 (1) Adding a patch for the <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> script that changes the<br>
 detection of libpcap to use pkg-config<br>
<br>
 (2) Passing the appropriate install_prefix value at install time,<br>
 since the hand-written Makefile.in use install_prefix and not DESTDIR<br>
<br>
If you need the libglib and libnet optional dependencies, don't<br>
hesitate to send follow-up patches to add support for them.<br>
<br>
Thanks!<br>
<br>
Thomas<br>
-- <br>
Thomas Petazzoni, CTO, Bootlin<br>
Embedded Linux and Kernel engineering<br>
<a href="https://bootlin.com" rel="noreferrer" target="_blank">https://bootlin.com</a><br>
</blockquote></div>