[build2] build2 0.15.0 released

Boris Kolpackov boris at codesynthesis.com
Mon Aug 1 06:02:16 UTC 2022

Matthew Krupcale <mkrupcale at matthewkrupcale.com> writes:

> Updated builds for v0.15.0 on Fedora 35-36 have been submitted [1,2].

Great, thanks for the quick turnaround!

> It's unfortunate that upstream pkgconf had to be forked, though. I
> (and I believe Fedora project) would certainly prefer to use the
> upstream libraries as much as possible, so I did utilize
> config.build2.libpkgconf=true as you suggested, which seemed to
> work. Hopefully libpkgconf will continue to work at least on Linux.

I think it should work for the time being but since I wrote that
note we've discovered (and fixed) a few more issues. In particular,
there is a cluster of issues (buffer overflow, incorrect semantics,
value truncation) that can be caused by long lines, for example a
large variable value. While currently unlikely to happen (the line
will needs to be longer than 64KB), we now use pkg-config variables
to convey C++20 modules information[1] and user metadata[2] both
of which can potentially trigger this (in fact, we've seen Boost
libraries with the cxx.importable_headers variable values greater
than 64KB).

So long-term it would probably be wise to switch to libpkg-config.
I think it should be a pretty straightforward job to package it for
Fedora (it's a portable C library) except for one hitch: currently it
only builds with build2 (which creates the chicken and egg problem).
But we can add an alternative build system if that helps. I was
thinking either Autotools-based or just plain GNU make (we could
probably auto-maintain the latter with an .in template from build2).

[1] https://build2.org/blog/build2-cxx20-modules-gcc.xhtml#libraries
[2] https://github.com/build2/HOWTO/blob/master/entries/convey-additional-information-with-exe-lib.md

More information about the users mailing list