[PATCH for-4.21 1/2] cirrus-ci: install libinotify for FreeBSD

Roger Pau Monne posted 2 patches 3 weeks, 2 days ago
There is a newer version of this series
[PATCH for-4.21 1/2] cirrus-ci: install libinotify for FreeBSD
Posted by Roger Pau Monne 3 weeks, 2 days ago
FreeBSD QEMU build requires libinotify, otherwise the build fails with:

./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found

Install the package and add the /usr/local include and libs paths
explicitly as QEMU configure options.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 .cirrus.yml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index f295c8cb0a02..55dc9b39092a 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -11,6 +11,8 @@ freebsd_template: &FREEBSD_ENV
   environment:
     APPEND_LIB: /usr/local/lib
     APPEND_INCLUDES: /usr/local/include
+    CONFIG_QEMUU_EXTRA_ARGS: --extra-ldflags=-L${APPEND_LIB}
+                             --extra-cflags=-I${APPEND_INCLUDES}
     CIRRUS_CLONE_DEPTH: 1
     CIRRUS_LOG_TIMESTAMP: true
 
@@ -51,11 +53,12 @@ task:
   install_script: pkg install -y seabios gmake ninja bash
                                  pkgconf bison perl5
                                  yajl lzo2 pixman argp-standalone
-                                 libxml2 glib git python3
+                                 libxml2 glib git python3 libinotify
 
   configure_script:
     - cc --version
     - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
+                  --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
     - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
 
   << : *FREEBSD_CONFIGURE_ARTIFACTS
-- 
2.51.0


Re: [PATCH for-4.21 1/2] cirrus-ci: install libinotify for FreeBSD
Posted by Andrew Cooper 3 weeks, 2 days ago
On 06/10/2025 8:07 pm, Roger Pau Monne wrote:
> FreeBSD QEMU build requires libinotify, otherwise the build fails with:
>
> ./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found
>
> Install the package and add the /usr/local include and libs paths
> explicitly as QEMU configure options.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

> ---
>  .cirrus.yml | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index f295c8cb0a02..55dc9b39092a 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -11,6 +11,8 @@ freebsd_template: &FREEBSD_ENV
>    environment:
>      APPEND_LIB: /usr/local/lib
>      APPEND_INCLUDES: /usr/local/include
> +    CONFIG_QEMUU_EXTRA_ARGS: --extra-ldflags=-L${APPEND_LIB}
> +                             --extra-cflags=-I${APPEND_INCLUDES}
>      CIRRUS_CLONE_DEPTH: 1
>      CIRRUS_LOG_TIMESTAMP: true
>  
> @@ -51,11 +53,12 @@ task:
>    install_script: pkg install -y seabios gmake ninja bash
>                                   pkgconf bison perl5
>                                   yajl lzo2 pixman argp-standalone
> -                                 libxml2 glib git python3
> +                                 libxml2 glib git python3 libinotify

I presume this is good on FreeBSD 13 and later ?

>  
>    configure_script:
>      - cc --version
>      - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
> +                  --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
>      - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
>  
>    << : *FREEBSD_CONFIGURE_ARTIFACTS

Do we really need both the ENV variable and the --configure parts?

I could believe we need both, but that also feels like something we
ought to fix.

~Andrew

Re: [PATCH for-4.21 1/2] cirrus-ci: install libinotify for FreeBSD
Posted by Roger Pau Monné 3 weeks, 2 days ago
On Mon, Oct 06, 2025 at 08:15:36PM +0100, Andrew Cooper wrote:
> On 06/10/2025 8:07 pm, Roger Pau Monne wrote:
> > FreeBSD QEMU build requires libinotify, otherwise the build fails with:
> >
> > ./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found
> >
> > Install the package and add the /usr/local include and libs paths
> > explicitly as QEMU configure options.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> > ---
> >  .cirrus.yml | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/.cirrus.yml b/.cirrus.yml
> > index f295c8cb0a02..55dc9b39092a 100644
> > --- a/.cirrus.yml
> > +++ b/.cirrus.yml
> > @@ -11,6 +11,8 @@ freebsd_template: &FREEBSD_ENV
> >    environment:
> >      APPEND_LIB: /usr/local/lib
> >      APPEND_INCLUDES: /usr/local/include
> > +    CONFIG_QEMUU_EXTRA_ARGS: --extra-ldflags=-L${APPEND_LIB}
> > +                             --extra-cflags=-I${APPEND_INCLUDES}
> >      CIRRUS_CLONE_DEPTH: 1
> >      CIRRUS_LOG_TIMESTAMP: true
> >  
> > @@ -51,11 +53,12 @@ task:
> >    install_script: pkg install -y seabios gmake ninja bash
> >                                   pkgconf bison perl5
> >                                   yajl lzo2 pixman argp-standalone
> > -                                 libxml2 glib git python3
> > +                                 libxml2 glib git python3 libinotify
> 
> I presume this is good on FreeBSD 13 and later ?

The ports makefile doesn't limit libinotify to specific FreeBSD
releases, but given 13.5 is the oldest supported version I would think
so.

> >  
> >    configure_script:
> >      - cc --version
> >      - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
> > +                  --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
> >      - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
> >  
> >    << : *FREEBSD_CONFIGURE_ARTIFACTS
> 
> Do we really need both the ENV variable and the --configure parts?

Bah, no, the ENV was my first attempt, which doesn't work, and then I
forgot to clean it up.  That chunk above needs to disappear.

Thanks, Roger.