On 2023-12-14 Th 10:36, Tristan Partin wrote:
On Thu Dec 14, 2023 at 9:16 AM CST, Andrew Dunstan wrote:
On 2023-12-13 We 15:59, Tristan Partin wrote:
> On Wed Dec 13, 2023 at 2:35 PM CST, Andrew Dunstan wrote:
>>
>> On 2023-12-12 Tu 18:02, Tom Lane wrote:
>> > "Tristan Partin" <tris...@neon.tech> writes:
>> >> The big patch here is adding support for Mac. objdump -W doesn't >> work on
>> >> Mac. So, I used dsymutil and dwarfdump to achieve the same result.
>> > We should probably nuke the current version of src/tools/find_typedef
>> > altogether in favor of copying the current buildfarm code for that.
>> > We know that the buildfarm's version works, whereas I'm not real sure >> > that src/tools/find_typedef is being used in anger by anyone.  Also,
>> > we're long past the point where developers can avoid having Perl
>> > installed.
>> >
>> > Ideally, the buildfarm client would then start to use find_typedef
>> > from the tree rather than have its own copy, both to reduce
>> > duplication and to ensure that the in-tree copy keeps working.
>> >
>> >
>>
>>
>> +1. I'd be more than happy to be rid of maintaining the code. We >> already performed a rather more complicated operation along these >> lines with the PostgreSQL::Test::AdjustUpgrade stuff.
>
> I'll work with you on GitHub to help make the transition. I've already > made a draft PR in the client-code repo, but I am sure I am missing > some stuff.


I think we're putting the cart before the horse here. I think we need a perl module in core that can be loaded by the buildfarm code,  and could also be used by a standalone find_typedef (c.f. src/test/PostgreSQL/Test/AdjustUpgrade.pm). To be useful that would have to be backported.
I'll have a go at that.
Here is an adaptation of the find_typedefs from run_build.pl. Maybe it 
will help you.


Here's more or less what I had in mind.


cheers


andrew

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

Attachment: FindTypedefs.pm
Description: Perl program

#!/usr/bin/perl

use strict;
use warnings;

use FindBin;
use lib "$FindBin::Bin";

use FindTypedefs;

## assume we're processing the source tree we're in

# @ARGV should be top of install tree (or build tree on OSX)
# and optional name of objdump program (for --host= etc builds)
print_typedefs("$FindBin::Bin/../..", @ARGV);

# XXX probably should have a help subroutine here.

Reply via email to