Meson install warnings when running postgres build from a sandbox

Started by Matt Smith (matts3)3 months ago4 messages
#1Matt Smith (matts3)
matts3@cisco.com

If I run postgres builds from a bazel sandbox<https://bazel.build/docs/sandboxing#sandboxing-strategies&gt; whereby the source directory consists of symlinks that point to the original source files.

Meson has traditionally followed these symlinks, but since 1.3<https://github.com/mesonbuild/meson/commit/0af126fec798d6dbb0d1ad52168cc1f3f1758acd&gt;, any of the install_* functions produce a warning:

The [[install_data]], [[install_headers]], [[install_subdir]] functions now
have an optional argument `follow_symlinks` that, if set to `true`, makes it so
symbolic links in the source are followed, rather than copied into the
destination tree, to match the old behavior. The default, which is currently
to follow links, is subject to change in the future.

This is all ok for now, but I'm wondering if meson changes the default behavior in a future version, how postgres would be able to support the old way of following symlinks with said future version.

This would require a new build option in combination with setting follow_symlinks<https://mesonbuild.com/Release-notes-for-1-3-0.html#added-follow_symlinks-arg-to-install_data-install_header-and-install_subdir&gt; to this option value, but I also noticed that postgres supports a minimum version of >=0.57.2 which does not have this arg on any of the install_* functions.

Thanks

Matt

#2Daniel Gustafsson
daniel@yesql.se
In reply to: Matt Smith (matts3) (#1)
Re: Meson install warnings when running postgres build from a sandbox

On 22 Oct 2025, at 02:57, Matt Smith (matts3) <matts3@cisco.com> wrote:

This is all ok for now, but I'm wondering if meson changes the default behavior in a future version, how postgres would be able to support the old way of following symlinks with said future version.

Do you think it would be appropriate/helpful to add a comment for the future in
the project() portion of meson.build, where we already comment on meson
versions?

--
Daniel Gustafsson

#3Matt Smith (matts3)
matts3@cisco.com
In reply to: Daniel Gustafsson (#2)
Re: Meson install warnings when running postgres build from a sandbox

I'm not sure what that comment would say.

Should there be such a thing as a maximum meson version that postgres supports?

Matt
________________________________
From: Daniel Gustafsson <daniel@yesql.se>
Sent: Wednesday, October 22, 2025 6:30 PM
To: Matt Smith (matts3) <matts3@cisco.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Subject: Re: Meson install warnings when running postgres build from a sandbox

On 22 Oct 2025, at 02:57, Matt Smith (matts3) <matts3@cisco.com> wrote:

This is all ok for now, but I'm wondering if meson changes the default behavior in a future version, how postgres would be able to support the old way of following symlinks with said future version.

Do you think it would be appropriate/helpful to add a comment for the future in
the project() portion of meson.build, where we already comment on meson
versions?

--
Daniel Gustafsson

#4Matt Smith (matts3)
matts3@cisco.com
In reply to: Matt Smith (matts3) (#3)
Re: Meson install warnings when running postgres build from a sandbox

It seems the project() function's meson_version arg describes the minimum version required. From the docs<https://mesonbuild.com/Reference-manual_functions.html#project&gt;

Takes a string describing which Meson version the project requires. Usually something like >=0.28.0.

So perhaps a comment is the only option for now.

Matt

________________________________
From: Matt Smith (matts3) <matts3@cisco.com>
Sent: Thursday, October 23, 2025 10:27 AM
To: Daniel Gustafsson <daniel@yesql.se>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Subject: Re: Meson install warnings when running postgres build from a sandbox

I'm not sure what that comment would say.

Should there be such a thing as a maximum meson version that postgres supports?

Matt
________________________________
From: Daniel Gustafsson <daniel@yesql.se>
Sent: Wednesday, October 22, 2025 6:30 PM
To: Matt Smith (matts3) <matts3@cisco.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Subject: Re: Meson install warnings when running postgres build from a sandbox

On 22 Oct 2025, at 02:57, Matt Smith (matts3) <matts3@cisco.com> wrote:

This is all ok for now, but I'm wondering if meson changes the default behavior in a future version, how postgres would be able to support the old way of following symlinks with said future version.

Do you think it would be appropriate/helpful to add a comment for the future in
the project() portion of meson.build, where we already comment on meson
versions?

--
Daniel Gustafsson