]> granicus.if.org Git - postgresql/commitdiff
Add make dependency so that postgres.bki is rebuilt in major version change
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 9 May 2012 17:45:56 +0000 (20:45 +0300)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 9 May 2012 17:45:56 +0000 (20:45 +0300)
Every time since the current rule for postgres.bki was put in place
when we change the major version, people complain that their tests
fail in strange ways.  This is because the version number in
postgres.bki is not updated, because it has no dependency for that.
And you can't even force the rebuild manually if you don't happen to
know which file has the problem.  Fix that now before it will happen
again.

The only remaining problem with switching major versions, as far as
the regression tests are concerned, is that contrib needs to be
rebuilt.  But that's easily invoked, and in any case the failure modes
are more friendly if you forget that.

src/backend/catalog/Makefile

index 5a4419d3a80fc7754be99f36748a6862ed6196f0..62fc9b04663085060ee24809503e5e8cc29ec5b2 100644 (file)
@@ -56,7 +56,12 @@ postgres.shdescription: postgres.bki ;
 
 schemapg.h: postgres.bki ;
 
-postgres.bki: genbki.pl Catalog.pm $(POSTGRES_BKI_SRCS)
+# Technically, this should depend on Makefile.global, but then
+# postgres.bki would need to be rebuilt after every configure run,
+# even in distribution tarballs.  So this is cheating a bit, but it
+# will achieve the goal of updating the version number when it
+# changes.
+postgres.bki: genbki.pl Catalog.pm $(POSTGRES_BKI_SRCS) $(top_srcdir)/configure
        $(PERL) -I $(catalogdir) $< $(pg_includes) --set-version=$(MAJORVERSION) $(POSTGRES_BKI_SRCS)
 
 .PHONY: install-data