Tom Lane wrote: > I'm not too happy with that approach, because packagers are going to > tend to think they should package any files installed by install-world. > The entire point of this change, IMO, is that the test modules should > *not* get installed, certainly not by normal install targets. Being > consistent with the existing contrib packaging is exactly not what we > want. > > Maybe we should only allow check-world to run these tests, and not > installcheck-world? That's kind of annoying, but what you are > doing now seems to defeat the purpose altogether.
Hadn't thought of the packaging angle of this. I don't think packagers really are as dumb as you suggest, but anyway implementing this idea turned out to be simpler than I expected; here's a preliminary patch. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
diff --git a/GNUmakefile.in b/GNUmakefile.in index 8dbbcee..7c3c657 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -32,7 +32,7 @@ install: install-docs: $(MAKE) -C doc install -$(call recurse,install-world,doc src config contrib src/test/modules,install) +$(call recurse,install-world,doc src config contrib,install) install-world: +@echo "PostgreSQL, contrib, and documentation installation complete." @@ -66,7 +66,7 @@ check check-tests: all check check-tests installcheck installcheck-parallel installcheck-tests: $(MAKE) -C src/test/regress $@ -$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib src/bin,check) +$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib src/bin src/test/modules,check) $(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib src/bin,installcheck) diff --git a/src/test/Makefile b/src/test/Makefile index 5d997b8..ff061c1 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -14,4 +14,10 @@ include $(top_builddir)/src/Makefile.global SUBDIRS = regress isolation modules -$(recurse) +standard_recurse_targets := $(filter-out installcheck install, $(standard_targets)) + +# We want to recurse to all subdirs for all standard targets, except that +# installcheck and install should not recurse into the subdirectory "modules". +$(call recurse,$(standard_recurse_targets)) +$(call recurse,installcheck,regress isolation) +$(call recurse,install,regress isolation)
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers