From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Cc: | tharakan(at)gmail(dot)com, Peter Eisentraut <peter(at)eisentraut(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Joe Conway <mail(at)joeconway(dot)com>, Andreas Karlsson <andreas(at)proxel(dot)se> |
Subject: | Re: Convert sepgsql tests to TAP |
Date: | 2025-01-24 23:08:31 |
Message-ID: | 559462.1737760111@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I wrote:
> Oh ... wait a second. After further code reading I see that
> the BF client sets NO_TEMP_INSTALL if check_install_is_complete
> succeeds. So evidently, that is successfully suppressing
> "make install" on most animals, but not these two. How come?
Got it: we can see on alligator that it installs (for instance)
test_parser.so into
/usr/bin/install -c -m 755 test_parser.so '/home/postgres/proj/build-farm-17/buildroot/HEAD/inst/lib/test_parser.so'
but what check_install_is_complete is looking for is
$tmp_loc = "$tmp_loc/$install_dir";
$bindir = "$tmp_loc/bin";
$libdir = "$tmp_loc/lib/postgresql";
...
my $res =
( (-d $tmp_loc)
&& (-f "$bindir/postgres" || -f "$bindir/postgres.exe")
&& (-f "$libdir/hstore$suffix")
&& (-f "$libdir/test_parser$suffix"));
That is, check_install_is_complete expects to see test_parser.so
under installdir/lib/postgresql/, but it's actually getting put
into installdir/lib/ because "postgres" appears earlier in the
path. So we're forcing a bunch of useless "make install"s,
but that was never mission-critical until today.
Unsurprisingly, lapwing is also running under /home/postgres/.
Apparently no other BF animals are.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2025-01-24 23:09:24 | Re: pg_createsubscriber TAP test wrapping makes command options hard to read. |
Previous Message | Tom Lane | 2025-01-24 22:46:10 | Re: Convert sepgsql tests to TAP |