Thread

Commits

  1. Ensure that all three build methods install the same set of files.

  1. Inconsistency in installation of syscache_info.h

    Tom Lane <tgl@sss.pgh.pa.us> — 2026-02-15T19:56:07Z

    I happened to notice that syscache_info.h is installed into
    $installdir/include/server/catalog if you use a non-VPATH
    autoconf build, but not if you use a VPATH build or meson.
    This is not great IMO.
    
    Just to confuse matters even more, meson builds install a copy of
    src/include/catalog/README, which autoconf builds do not.
    
    ISTM we need to get these things in sync.
    
    You could argue that syscache_info.h could never be useful outside the
    core server, but it'd be a bit painful to get the non-VPATH code to
    not install it, because it just blindly installs everything matching
    src/include/catalog/*.h.  So I'd vote for making the other two paths
    install it too.
    
    I've not looked into why meson is installing a copy of that
    README, but it seems quite random to do so, so I'd vote for
    not doing that if possible.
    
    Thoughts?
    
    			regards, tom lane
    
    
    
    
  2. Re: Inconsistency in installation of syscache_info.h

    Tom Lane <tgl@sss.pgh.pa.us> — 2026-02-16T19:01:38Z

    I wrote:
    > I happened to notice that syscache_info.h is installed into
    > $installdir/include/server/catalog if you use a non-VPATH
    > autoconf build, but not if you use a VPATH build or meson.
    > This is not great IMO.
    
    > Just to confuse matters even more, meson builds install a copy of
    > src/include/catalog/README, which autoconf builds do not.
    
    > ISTM we need to get these things in sync.
    
    Here's a proposed patch for that.  I've confirmed we get identical
    filesets from all three build methods with this.
    
    Although this seems like clearly a bug, I'm not sure anyone would
    thank us for changing the behavior in back branches; particularly
    not packagers, who tend to pay close attention to the set of files
    installed.  So I'm inclined to apply this to master only.
    
    			regards, tom lane
    
    
  3. Re: Inconsistency in installation of syscache_info.h

    Andres Freund <andres@anarazel.de> — 2026-02-16T19:16:28Z

    Hi,
    
    On 2026-02-16 14:01:38 -0500, Tom Lane wrote:
    > I wrote:
    > > I happened to notice that syscache_info.h is installed into
    > > $installdir/include/server/catalog if you use a non-VPATH
    > > autoconf build, but not if you use a VPATH build or meson.
    > > This is not great IMO.
    
    Indeed. If it were trivial to not install it, I'd have gone that way, but it
    looks like it's not...
    
    
    > > Just to confuse matters even more, meson builds install a copy of
    > > src/include/catalog/README, which autoconf builds do not.
    > 
    > > ISTM we need to get these things in sync.
    > 
    > Here's a proposed patch for that.  I've confirmed we get identical
    > filesets from all three build methods with this.
    
    Nice.
    
    
    > Although this seems like clearly a bug, I'm not sure anyone would
    > thank us for changing the behavior in back branches; particularly
    > not packagers, who tend to pay close attention to the set of files
    > installed.  So I'm inclined to apply this to master only.
    
    Agreed. Given that syscache_info.h should never be needed, it's not like it'll
    bother anyone that it's not there.   And it looks like
    src/include/catalog/README is new enough that the installation in meson
    happens only on master anyway.
    
    Greetings,
    
    Andres Freund