Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Apr 2026 18:31:12 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        current@freebsd.org, pkgbase@freebsd.org, bofh@freebsd.org,  bapt@freebsd.org
Subject:   Re: pkgbase breakage in main due to libucl upgrade
Message-ID:  <CAJ-Vmo=o9hWNfRi7sfMJ37q5RiOjsX2C%2B8ygbayfE=D6%2Bg9Cow@mail.gmail.com>
In-Reply-To: <adO-7XKNIoSr0AaM@amaryllis.le-fay.org>

index | next in thread | previous in thread | raw e-mail

hi!

On Mon, 6 Apr 2026 at 07:11, Lexi Winter <ivy@freebsd.org> wrote:
>
> hello,
>
> as a couple of people already reported[0][1] the pkgbase build is
> currently broken in main.  this affects building packages for any
> version of FreeBSD when the build host is main abda442d92fd[2] or
> later.
>
> this is not trivial to fix.  the issue is that libucl changed the
> lua bindings in an incompatible way, specifically to disable use
> of macros (which includes ".include") by default[3].  that breaks
> the API that the pkgbase build scripts rely on, and those scripts
> use the host flua.
>
> as an immediate fix, i have three diffs for review:
>
> - "packages: Fix build with libucl 0.9.3"
>   https://reviews.freebsd.org/D56266
>
>   this change, which is backward-compatible with previous versions
>   of lua libucl, fixes the ABI breakage.
>
> - "flua: Always build as a bootstrap tool"
>   https://reviews.freebsd.org/D56270
>   "packages: Always use the bootstrap flua"
>   https://reviews.freebsd.org/D56271
>
>   these changes mean we'll use the version of flua and libucl from
>   the source tree to build packages, instead of the host versions,
>   which protects us from future API breaks.
>
> if you're running into this issue right now, you can apply the patch
> from D56266 to fix your build, and optionally the other two diffs if
> you like (but they aren't required).  this has to be done on the src
> tree being built, *not* the build system.
>
> unfortunately, none of these changes fix the general problem which is
> that we can't build FreeBSD 15.0 on FreeBSD 16-CURRENT.  i'm open to
> other suggestsions here, but i think the best approach is to revert the
> libucl commit that changed the ABI; while this is a security fix, the
> only things using flua are in the base system, and none of them should
> be affected by the issue being fixed.
>
> any thoughts?
>
> [0] https://lists.freebsd.org/archives/freebsd-current/2026-April/010080.html
> [1] https://lists.freebsd.org/archives/freebsd-pkgbase/2026-April/001284.html
> [2] https://cgit.freebsd.org/src/commit/?id=abda442d92fdbadcf81c79bc9ddba001d133c429
> [3] https://github.com/vstakhov/libucl/commit/8a0294f9eaa4e70342e562cb92792bbe3df90e70

*reads*

* I think your diffs / approach is good;
* I honestly don't think we should revert the libucl change; it'll
just end up making future work less fun as other random flua/libucl
shenanigans happen;
* I think we should document in the 15.0 errata that building 15.0 on
16.0 after date X is a known broken thing, and to either build on 15.x
or apply a workaround (eg a patch to disable the check, explaining
what it does and the security risk)
* and I think we should figure out what to backport to stable/15 to
unbreak things.



-adrian


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=o9hWNfRi7sfMJ37q5RiOjsX2C%2B8ygbayfE=D6%2Bg9Cow>