Re: unused_oids script is broken with bsd sed

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andreas Karlsson <andreas@proxel.se>
Cc: John Naylor <jcnaylor@gmail.com>, Stas Kelvich <s.kelvich@postgrespro.ru>, Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, David Fetter <david@fetter.org>
Date: 2018-04-26T14:27:50Z
Lists: pgsql-hackers
I wrote:
> Andreas Karlsson <andreas@proxel.se> writes:
>> What about using FindBin (http://perldoc.perl.org/FindBin.html)?

> A quick check suggests that that's present in the core perl
> distribution pretty far back, so I think it'll work.
> Question is, is it any better than John's "dirname(__FILE__)"
> solution?

I experimented a bit, and found that actually what we seem to
need is FindBin::RealBin.  That's the only one of these solutions
that gives the right answer if someone's put a symlink to
unused_oids or duplicate_oids into their PATH --- the other ones
give you the directory containing the symlink.  Now, maybe that
would be an uncommon usage, but it hardly seems out of the question.

			regards, tom lane


Commits

  1. Blindly try to fix MSVC build's use of genbki.pl and Gen_fmgrtab.pl.

  2. Avoid overwriting unchanged output files in genbki.pl and Gen_fmgrtab.pl.

  3. Rearrange makefile rules for running Gen_fmgrtab.pl.

  4. Avoid parsing catalog data twice during BKI file construction.

  5. Fix duplicate_oids and unused_oids so user needn't cd to catalog dir.

  6. Convert unused_oids and duplicate_oids to use Catalog.pm infrastructure.

  7. Make Catalog.pm's representation of toast and index decls more abstract.