Re: buildfarm + meson

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Andres Freund <andres@anarazel.de>
Cc: Nazir Bilal Yavuz <byavuz81@gmail.com>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-03-08T13:57:44Z
Lists: pgsql-hackers
On 2023-03-07 Tu 20:29, Andres Freund wrote:
> Hi,
>
> On 2023-03-07 15:47:54 -0500, Andrew Dunstan wrote:
>> On 2023-03-07 Tu 14:37, Andres Freund wrote:
>>> The failures are like this:
>>>
>>> +ERROR:  extension "dummy_index_am" is not available
>>> +DETAIL:  Could not open extension control file "/home/bf/bf-build/piculet-meson/HEAD/inst/share/postgresql/extension/dummy_index_am.control": No such file or directory.
>>> +HINT:  The extension must first be installed on the system where PostgreSQL is running.
>>>
>>> I assume this is in an interaction with b6a0d469cae.
>>>
>>>
>>> I think we need a install-test-modules or such that installs into the normal
>>> directory.
>>>
>> Exactly.
> Here's a prototype for that.
>
> It adds an install-test-files target, Because we want to install into a normal
> directory, I removed the necessary munging of the target paths from
> meson.build and moved it into install-test-files. I also added DESTDIR
> support, so that installing can redirect the directory if desired. That's used
> for the tmp_install/ installation now.
>
> I didn't like the number of arguments necessary for install_test_files, so I
> changed it to use
>
> --install target list of files
>
> which makes it easier to use for further directories, if/when we need them.
>

So if I understand this right, the way to use this would be something like:


     local $ENV{DESTDIR} = $installdir;

     run_log("meson compile -C $pgsql install-test-files");


Is that right? I did that but it didn't work :-(


cheers


andrew

--
Andrew Dunstan
EDB:https://www.enterprisedb.com

Commits

  1. meson: fix header path of ossp-uuid

  2. meson: Add target for installing test files & improve install_test_files

  3. meson: don't require 'touch' binary, make use of 'cp' optional