Thread: [PATCH] Fix install-tests target for vpath builds
Patch 0001 fixes this issue with vpath postgres builds:
/usr/bin/install: cannot create regular file 'PGPREFIX/lib/postgresql/regress/PGPREFIX/src/test/regress/expected/errors.out': No such file or directory
make: *** [GNUmakefile:90: install-tests] Error 1
make: *** [GNUmakefile:90: install-tests] Error 1
(where PGPREFIX is your --prefix)
It also makes the install-tests target a toplevel target for convenience.
Three related bonus patches are attached in case anyone thinks they're a good idea:
- 0002 changes the install location of src/test/regress's install-tests output files (sql/, expected/ etc) to $(pkglibdir)/pgxs/src/test/regress so that PGXS resolves it as $(top_srcdir)/src/test/regress, same as for in-tree builds. Presently it installs in $(pkglibdir)/regress/ for some reason. This patch applies on top of 0001. It will affect packagers.
- 0003 makes the toplevel install-tests target also install src/test/isolation test resources and the test modules. This patch applies on top of either 0001 or 0002, depending on whether you want to include 0002.
- 0004 makes the dummy 'check' target in pgxs.mk optional for extensions that define the new PGXS variable NO_DUMMY_CHECK_TARGET . This lets extensions that want to define a 'check' target do so without having make complain at them about redefined targets. This patch is independent of the others and can apply on master directly.
Attachment
On Thu, 23 Apr 2020 at 12:55, Craig Ringer <craig@2ndquadrant.com> wrote:
Patch 0001 fixes this issue with vpath postgres builds:$ make -C src/test/regress install-tests/usr/bin/install: cannot create regular file 'PGPREFIX/lib/postgresql/regress/PGPREFIX/src/test/regress/expected/errors.out': No such file or directory
make: *** [GNUmakefile:90: install-tests] Error 1(where PGPREFIX is your --prefix)It also makes the install-tests target a toplevel target for convenience.
Poke?
Anybody willing to pick up a vpath build fix?
--
On 4/23/20 12:55 AM, Craig Ringer wrote: > Patch 0001 fixes this issue with vpath postgres builds: > > $ make -C src/test/regress install-tests > /usr/bin/install: cannot create regular file > 'PGPREFIX/lib/postgresql/regress/PGPREFIX/src/test/regress/expected/errors.out': > No such file or directory > make: *** [GNUmakefile:90: install-tests] Error 1 > > (where PGPREFIX is your --prefix) > > It also makes the install-tests target a toplevel target for convenience. > > Three related bonus patches are attached in case anyone thinks they're > a good idea: > > - 0002 changes the install location of src/test/regress's > install-tests output files (sql/, expected/ etc) to > $(pkglibdir)/pgxs/src/test/regress so that PGXS resolves it as > $(top_srcdir)/src/test/regress, same as for in-tree builds. Presently > it installs in $(pkglibdir)/regress/ for some reason. This patch > applies on top of 0001. It will affect packagers. > > - 0003 makes the toplevel install-tests target also install > src/test/isolation test resources and the test modules. This patch > applies on top of either 0001 or 0002, depending on whether you want > to include 0002. > > - 0004 makes the dummy 'check' target in pgxs.mk <http://pgxs.mk> > optional for extensions that define the new PGXS > variable NO_DUMMY_CHECK_TARGET . This lets extensions that want to > define a 'check' target do so without having make complain at them > about redefined targets. This patch is independent of the others and > can apply on master directly. > > > I've come up with a slightly nicer version of your patch 1, which I propose to commit and backpatch before long. I'll leave the others for another day. Let's revisit after we get through the release. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Attachment
On 2020-May-29, Andrew Dunstan wrote: > I've come up with a slightly nicer version of your patch 1, which I > propose to commit and backpatch before long. Looks good to me. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services