Re: Remove MSVC scripts from the tree

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>, Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Remove MSVC scripts from the tree
Date: 2023-11-08 14:47:08
Message-ID: a0d779e3-ee84-9f34-a8f0-645199f37ff7@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 2023-11-08 We 03:41, Peter Eisentraut wrote:
> On 12.10.23 07:23, Michael Paquier wrote:
>>> - Is src/backend/utils/README.Gen_dummy_probes still correct after
>>> this?
>>> AFAICT, the Perl-based MSVC build system uses Gen_dummy_probes.pl,
>>> but the
>>> meson build uses Gen_dummy_probes.sed even on Windows.  Is that
>>> correct,
>>> intended?
>> Interesting point.  This may depend on the environment at the end?  As
>> far as I can see, sed is currently a hard requirement in the meson
>> build and we'd fail if the command cannot be used.  The buildfarm
>> machines that test meson are able to find sed, making
>> Gen_dummy_probes.pl not necessary:
>> https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=drongo&dt=2023-10-11%2020%3A21%3A17&stg=configure
>>
>>
>> So the $1000 question is: could there be a point in keeping the perl
>> script around if sed cannot be found?  The buildfarm coverage is
>> currently saying no thanks to chocolatey, at least.  The VM images
>> compiled by Andres for the CI seem to have the same opinion.
>
> I don't think we should rely on sed being there on Windows.  Maybe
> it's true now on the handful of buildfarm/CI machines and early
> adopters, but do we have any indication that that is systematic or
> just an accident?
>
> Since we definitely require Perl now, we could just as well use the
> Perl script and avoid this issue.
>
> Attached is a Perl version of the sed script, converted by hand (so
> not the super-verbose s2p thing).  It's basically just the sed script
> with semicolons added and the backslashes in the regular expressions
> moved around.  I think we could use something like that for all
> platforms now.

I think it's alright, but please don't use literal tabs, use \t, even in
a character class.

cheers

andrew

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Lakhin 2023-11-08 15:00:00 Re: Cleaning up array_in()
Previous Message Drouvot, Bertrand 2023-11-08 14:39:16 Re: Synchronizing slots from primary to standby