Re: RFC: Additional Directory for Extensions

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter@eisentraut.org>
Cc: Matheus Alcantara <matheusssilv97@gmail.com>, Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>, Craig Ringer <craig.ringer@enterprisedb.com>, "David E. Wheeler" <david@justatheory.com>, Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-03-20T22:38:10Z
Lists: pgsql-hackers
On 2025-03-20 Th 10:53 AM, Andrew Dunstan wrote:
>
>
> On 2025-03-19 We 2:55 PM, Tom Lane wrote:
>> Peter Eisentraut<peter@eisentraut.org> writes:
>>> Committed that, thanks.
>> Buildfarm member snakefly doesn't like this too much.  Since no other
>> animals have failed, I guess it must be about local conditions on
>> that machine, but the report is pretty opaque:
>>
>> # +++ tap check in src/test/modules/test_extensions +++
>>
>> #   Failed test '$system extension is installed correctly on pg_available_extensions'
>> #   at t/001_extension_control_path.pl line 69.
>> #          got: 'f'
>> #     expected: 't'
>>
>> #   Failed test '$system extension is installed correctly on pg_available_extensions with empty extension_control_path'
>> #   at t/001_extension_control_path.pl line 76.
>> #          got: 'f'
>> #     expected: 't'
>> # Looks like you failed 2 tests of 5.
>> [06:43:53] t/001_extension_control_path.pl ..
>> Dubious, test returned 2 (wstat 512, 0x200)
>> Failed 2/5 subtests
>>
>> Looking at the test, it presupposes that "amcheck" must be an
>> available extension.  I do not see anything that guarantees
>> that that's so, though.  It'd fail if contrib hasn't been
>> installed.  Is there a reason to use "amcheck" rather than
>> something more certainly available, like "plpgsql"?
>
>
>
> I think something else must be going on. The failure in question came 
> after the step "install-contrib" succeeded, and the log file for that 
> shows:
>
>
> make[1]: Entering directory `/opt/postgres/build-farm-18/HEAD/pgsql.build/contrib/amcheck'
> /usr/bin/mkdir -p '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/lib'
> /usr/bin/mkdir -p '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/share/extension'
> /usr/bin/mkdir -p '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/share/extension'
> /usr/bin/install -c -m 755  amcheck.so '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/lib/amcheck.so'
> /usr/bin/install -c -m 644 ./amcheck.control '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/share/extension/'
> /usr/bin/install -c -m 644 ./amcheck--1.3--1.4.sql ./amcheck--1.2--1.3.sql ./amcheck--1.1--1.2.sql ./amcheck--1.0--1.1.sql ./amcheck--1.0.sql  '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/share/extension/'
> make[1]: Leaving directory `/opt/postgres/build-farm-18/HEAD/pgsql.build/contrib/amcheck'
>
>
> (wondering if this another of these cases where the "path includes postgres" thing bites us, and we're looking in the wrong place)
>
>
>


Nope, testing shows it's not that, so I am rather confused about what 
was going on.


cheers


andrew

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

Commits

  1. doc: Flesh out extension docs for the "prefix" make variable

  2. Fix extension control path tests

  3. extension_control_path