Hi,

On 2023-06-09 11:43:54 -0700, Andres Freund wrote:
> On 2023-06-02 10:13:44 -0500, Tristan Partin wrote:
> > On Fri Jun 2, 2023 at 8:47 AM CDT, Andres Freund wrote:
> > > Hi,
> > >
> > > On 2023-06-02 08:10:43 -0500, Tristan Partin wrote:
> > > > > I wonder if we instead could just make perl output the files it loads 
> > > > > and
> > > > > handle dependencies automatically that way? But that's more work, so 
> > > > > it's
> > > > > probably the right thing to go for the manual path for now.
> > > > 
> > > > I am not familar with Perl enough (at all haha) to know if that is
> > > > possible. I don't know exactly what these Perl files do, but perhaps it
> > > > might make sense to have some global lookup table that is setup near the
> > > > beginning of the script.
> > >
> > > It'd be nice to have something more general - there are other perl 
> > > modules we
> > > load, e.g.
> > > ./src/backend/catalog/Catalog.pm
> > > ./src/backend/utils/mb/Unicode/convutils.pm
> > > ./src/tools/PerfectHash.pm
> > >
> > >
> > > > perl_files = {
> > > >   'Catalog.pm': files('path/to/Catalog.pm'),
> > > >   ...
> > > > }
> > >
> > > I think you got it, but just to make sure: I was thinking of generating a
> > > depfile from within perl. Something like what you propose doesn't quite 
> > > seems
> > > like a sufficient improvement.
> > 
> > Whatever I am proposing is definitely subpar to generating a depfile. So
> > if that can be done, that is the best option!
> 
> I looked for a bit, but couldn't find an easy way to do so. I would still like
> to pursue going towards dep files for the perl scripts, even if that requires
> explicit support in the perl scripts, but that's a change for later.

Took a second look - sure looks like just using values %INC should suffice?

Ilmari, you're the perl expert, is there an issue with that?

Tristan, any chance you're interested hacking that up for a bunch of the
scripts? Might be worth adding a common helper for, I guess?

Something like

for (values %INC)
{
        print STDERR "$kw_def_file: $_\n";
}

seems to roughly do the right thing for gen_keywordlist.pl. Of course for
something real it'd need an option where to put that data, instead of printing
to stderr.

Greetings,

Andres Freund


Reply via email to