Thread

Commits

  1. Silence meson warning

  1. Silence Meson warning on HEAD

    Tristan Partin <tristan@neon.tech> — 2024-04-01T23:46:01Z

    A warning was recently[0] introduced into the Meson build:
    
    WARNING: Project targets '>=0.54' but uses feature introduced in '0.55.0': Passing executable/found program object to script parameter of add_dist_script
    
    There are 3 way to solve the issue that I have laid out in 3 separate 
    patches that you pick at your leisure:
    
    1. version-check.diff
    
    Wrap the offending line in a Meson version check.
    
    2. perl-string.diff
    
    Pass the perl program as a string via its .path() method.
    
    3. meson-bump.diff
    
    Bump the minimum meson version from 0.54 to 0.55, at least.
    
    I chose to do some analysis on option 3. The other 2 options are 
    perfectly valid. I looked at all the systems in the buildfarm, and found 
    the following results:
    
    First column is the list of systems we test HEAD against in the 
    buildfarm. Second column is the Meson version available to those 
    systems, based on what I could find. Third column is whether or not we 
    test Meson on that system.
    
    System                                       Meson Version  Tested  
    AlmaLinux 8                                  0.58.2                 
    AlmaLinux 9                                  0.63.3                 
    Alpine Linux 3.19.1                          1.3.0                  
    Amazon Linux 2                               0.55.1                 
    Amazon Linux 2023                            0.62.2                 
    ArchLinux                                    1.4.0                  
    CentOS 7                                     0.55.1                 
    CentOS 7.1                                   0.55.1                 
    CentOS 7.4                                   0.55.1                 
    CentOS 7.9.2009                              0.55.1                 
    CentOS Stream 8                              0.58.2                 
    Debian 10                                    0.56.1                 
    Debian 11                                    0.56.2                 
    Debian 11.5                                  0.56.2                 
    Debian 12                                    1.0.1                  
    Debian 7.0                                                          
    Debian 8.11                                                         
    Debian 9                                                            
    Debian 9.3                                                          
    Debian unstable                              1.4.0          x       
    DragonFly BSD 6.2.2                          0.63.2                 
    Fedora 38                                    1.0.1                  
    Fedora 39                                    1.3.2          x       
    Fedora 40                                    1.3.2                  
    FreeBSD 12.2                                                        
    FreeBSD 13.1                                 0.57.1                 
    FreeBSD 14                                   1.4.0                  
    Loongnix-Server 8.4.0                                               
    macOS 13.6                                                          
    macOS 14.0                                                          
    macOS 14.0 / MacPorts                        1.4.0                  
    macOS 14.3                                   1.4.0          x       
    NetBSD 10.0                                  1.2.3                  
    NetBSD 9.2                                   1.2.3                  
    OmniOS / illumos r151038                                            
    OpenBSD 6.8                                                         
    OpenBSD 6.9                                                         
    OpenBSD 7.3                                                         
    OpenBSD 7.4                                  1.2.1                  
    OpenIndiana/illumos hipster rolling release  1.4.0                  
    openSUSE 15.0                                0.46.0                 
    openSUSE 15.3                                0.54.2                 
    Oracle Linux 9                               0.63.3                 
    Photon 2.0                                                          
    Photon 3.0                                                          
    Raspbian 7.8                                 0.56.2                 
    Raspbian 8.0                                 1.0.1                  
    Red Hat Enterprise Linux 7                   0.55.1                 
    Red Hat Enterprise Linux 7.1                 0.55.1                 
    Red Hat Enterprise Linux 7.9                 0.55.1                 
    Red Hat Enterprise Linux 9.2                 0.63.3                 
    Solaris 11.4.42 CBE                          0.59.2                 
    SUSE Linux Enterprise Server 12 SP5                                 
    SUSE Linux Enterprise Server 15 SP2                                 
    Ubuntu 16.04                                 0.40.1                 
    Ubuntu 16.04.3                               0.40.1                 
    Ubuntu 18.04                                 0.45.1                 
    Ubuntu 18.04.5                               0.45.1                 
    Ubuntu 20.04.6                               0.53.2                 
    Ubuntu 22.04.1                               0.61.2                 
    Ubuntu 22.04.3                               0.61.2                 
    Windows 10 / Cygwin64 3.4.9                  1.2.3                  
    Windows / Msys 12.2.0                        1.4.0          x       
    Windows Server 2016                          1.3.1          x       
    Windows Server 2019                          1.0.1          x       
    
    Some notes:
    
    - The minimum Meson version we test against is 1.0.1, on drongo
    - For any  RHEL 7 derivatives, you see, I took the EPEL Meson version
    - Debian 10 requires the backports repository to be enabled
    - OmniOS / illumos r151038 has Python 3.9, so could fetch Meson over 
      pypi since it isn't packaged
    - Missing information on OpenBSD 6.8, 6.9, and 7.3, but they should have 
      at least 0.55.0 available based on release dates
    - The missing macOS versions could definitely run 0.55 either through 
      Homebrew, Macports, or PyPI
    - Other systems didn't have easily publicly available information
    
    At the top of the root meson.build file, there is this comment:
    
    > # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for
    > # RHEL 7 has 0.55. < 0.54 would require replacing some uses of the fs
    > # module, < 0.53 all uses of fs. So far there's no need to go to >=0.56.
    
    Seems like as good an opportunity to bump Meson to 0.56 for Postgres 17, 
    which I have found to exist in the EPEL for RHEL 7. I don't know what 
    version exists in the base repo. Perhaps it is 0.55, which would still 
    get rid of the aforementioned warning.
    
    Committer, please pick your patch :).
    
    [0]: https://www.postgresql.org/message-id/40e80f77-a294-4f29-a16f-e21bc7bc75fc@eisentraut.org
    
    -- 
    Tristan Partin
    Neon (https://neon.tech)
    
  2. Re: Silence Meson warning on HEAD

    Michael Paquier <michael@paquier.xyz> — 2024-04-04T00:55:07Z

    On Mon, Apr 01, 2024 at 06:46:01PM -0500, Tristan Partin wrote:
    > 1. version-check.diff
    > 
    > Wrap the offending line in a Meson version check.
    > 
    > 2. perl-string.diff
    > 
    > Pass the perl program as a string via its .path() method.
    > 
    > 3. meson-bump.diff
    > 
    > Bump the minimum meson version from 0.54 to 0.55, at least.
    
    Among these three options, 2) seems like the most appealing to me at
    this stage of the development cycle.  Potential breakages and more
    backpatch fuzz is never really appealing even if meson is a rather new
    thing, particularly considering that there is a simple solution that
    does not require a minimal version bump.
    
    > Seems like as good an opportunity to bump Meson to 0.56 for Postgres 17,
    > which I have found to exist in the EPEL for RHEL 7. I don't know what
    > version exists in the base repo. Perhaps it is 0.55, which would still get
    > rid of the aforementioned warning.
    
    Perhaps we could shave even more versions for PG18 if it helps with
    future development?
    --
    Michael
    
  3. Re: Silence Meson warning on HEAD

    Peter Eisentraut <peter@eisentraut.org> — 2024-04-04T09:33:17Z

    On 02.04.24 01:46, Tristan Partin wrote:
    > A warning was recently[0] introduced into the Meson build:
    > 
    > WARNING: Project targets '>=0.54' but uses feature introduced in 
    > '0.55.0': Passing executable/found program object to script parameter of 
    > add_dist_script
    > 
    > There are 3 way to solve the issue that I have laid out in 3 separate 
    > patches that you pick at your leisure:
    > 
    > 1. version-check.diff
    > 
    > Wrap the offending line in a Meson version check.
    
    I committed this.
    
    > 2. perl-string.diff
    > 
    > Pass the perl program as a string via its .path() method.
    
    The problem with this is that it doesn't contain any information why the 
    workaround is used, and then if we increase the meson version and clean 
    up all the version checks, we won't find this one.
    
    > 3. meson-bump.diff
    > 
    > Bump the minimum meson version from 0.54 to 0.55, at least.
    
    I think the beginning of the next dev cycle would be a good time to bump 
    the meson version.  For now, I'm content to leave it alone.