Re: git: 2b0da956a025 - main - UPDATING: Add entry regarding glib20 update

From: Colin Percival <cperciva_at_tarsnap.com>
Date: Thu, 03 Apr 2025 23:09:39 UTC
On 4/3/25 00:48, Gleb Popov wrote:
> +20250402:
> +  AFFECTS: users of devel/glib20 and devel/gobject-introspection building outside of Poudriere
> +  AUTHOR: arrowd@FreeBSD.org
> +
> +  New versions of glib started to require gobject-introspection as a build
> +  dependency, while gobject-introspection requires glib to build. This forms a
> +  dependency cycle that is dealt with by introducing the @bootstrap flavor for
> +  mentioned ports. This solution is suggested by the upstream as well, see
> +  https://discourse.gnome.org/t/dealing-with-glib-and-gobject-introspection-circular-dependency/18701
> +
> +  When building devel/glib20 in Poudriere no manual intervention is required.
> +  The devel/glib20@bootstrap gets built first and provides for
> +  devel/gobject-introspection@bootstrap. This in turn provides for a normal
> +  devel/glib20 build, which finally fulfills a dependency for normal devel/gobject-introspection
> +
> +  Users that are building outside of the isolated environments would need to
> +  manually resolve the conflict when installing devel/glib20 for the first time.
> +  At some point during the build the installed *-boostrap packages will prevent
> +  a corresponding normal package from installing. Users would need to run
> +
> +  pkg remove glib-bootstrap
> +
> +  and later
> +
> +  pkg remove gobject-introspection-bootstrap
> +
> +  to proceed with installation. Luckily, this should not be required for the
> +  further upgrades, because the installed packages would directly provide for
> +  the being built ones.
I really don't think this is an adequate solution.  FreeBSD users expect to be
able to launch a clean FreeBSD system with the ports tree installed and run

# make -C /usr/ports/devel/glib20 all install

and have glib20 built and installed.  It's ok to have special instructions in
ports/UPDATING for people updating existing systems, but installing ports on
new systems should Just Work without needing this sort of song and dance.

Also, this broke this week's 15.x snapshot builds.  For the 4th time.

-- 
Colin Percival
FreeBSD Release Engineering Lead & EC2 platform maintainer
Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid