The attached patch changes src/interfaces/python/GNUmakefile to use the

value of DESTDIR like the rest (or at least most) of the PostgreSQL
makefiles.  I found this problem when trying to package a pre-built
Cygwin PostgreSQL distribution, but this problem is platform independent.

The problem manifests itself when one tries to install into a stagging
area (e.g., to build a tarball) instead of a real install.  In this case,
pg.py and _pgmodule$(SO) still end up being installed in the configured
prefix directory ignoring the value of DESTDIR.

Unfortunately, this patch does not handle the case where PostgreSQL
and Python are configured with different prefixes.  Since the Python
Makefile is automatically generated and does not use DESTDIR, I believe
that this issue will be difficult to correct.  If anyone has ideas on
how to fix this issue, then I'm quite willing to rework the patch to
take the suggestion into account.

Jason Tishler
This commit is contained in:
Bruce Momjian 2001-05-25 14:29:39 +00:00
parent 74068dfed6
commit eeca4bdb31
1 changed files with 7 additions and 4 deletions

View File

@ -4,7 +4,7 @@
#
# Written by Peter Eisentraut <peter_e@gmx.net>
#
# $Header: /cvsroot/pgsql/src/interfaces/python/Attic/GNUmakefile,v 1.7 2001/05/12 17:49:32 petere Exp $
# $Header: /cvsroot/pgsql/src/interfaces/python/Attic/GNUmakefile,v 1.8 2001/05/25 14:29:39 momjian Exp $
#
#-------------------------------------------------------------------
@ -32,10 +32,10 @@ Setup.in: Setup.in.raw
-e 's%@INCLUDES@%$(filter -I%, $(CPPFLAGS))%g' \
$< > $@
install: all
install: all installdirs
@echo "Installing Python module"
@if ( $(INSTALL_DATA) pg.py $(python_moduledir) && \
$(MAKE) -f Makefile install ); then : ; else \
@if ( $(INSTALL_DATA) pg.py $(DESTDIR)$(python_moduledir) && \
$(MAKE) -f Makefile prefix=$(DESTDIR)$(prefix) install ); then :; else \
echo "*****" ;\
echo "* Skipping the installation of the Python interface module for lack"; \
echo "* of permissions. To install it, change to the directory"; \
@ -44,6 +44,9 @@ install: all
echo "*****"; \
fi
installdirs:
$(mkinstalldirs) $(DESTDIR)$(python_moduledir)
uninstall:
@echo "*****"; \
echo "* Unfortunately, the Python interface module cannot be uninstalled"; \