Resolve Squeeze installation problems with PostgreSQL 9.0
authorDan Scott <dan@coffeecode.net>
Tue, 14 Jun 2011 02:54:27 +0000 (22:54 -0400)
committerDan Scott <dan@coffeecode.net>
Tue, 14 Jun 2011 02:54:27 +0000 (22:54 -0400)
When you install OpenSRF on Debian Squeeze, one of the packages
(apache2-prefork-dev) installs 8.4 versions of libpq5 and libpq-dev as
dependencies. These conflict with the 9.0 versions that are required as
dependencies for PostgreSQL 9.0 - so get them out of the way, pin the
9.0 versions of the packages, and reinstall apache2-prefork-dev.

We will probably need to do something similar for Lucid.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Open-ILS/src/extras/Makefile.install

index 296b6e7..263989a 100644 (file)
@@ -52,6 +52,7 @@ PAY_ONLINE=Business-OnlinePayment-3.00_08.tar.gz
 PAY_ONLINE_HOST=http://ftp.perl.org/pub/CPAN/authors/id/I/IV/IVAN/
 
 APT_TOOL=aptitude -yq
+APT_BACKPORT_TOOL=aptitude -t squeeze-backports -yq
 
 # 64 or 32 bit os?
 LBITS=$(shell getconf LONG_BIT)
@@ -203,7 +204,9 @@ PGSQL_90_RPMS = \
        postgresql90-server
 
 PGSQL_CLIENT_DEBS_90 = \
-       postgresql-client
+       libpq5 \
+       libpq-dev \
+       postgresql-client-9.0
 
 PGSQL_SERVER_DEBS_90 = \
        postgresql-9.0 \
@@ -378,11 +381,17 @@ debian_sys_config:
 install_debs:
        $(APT_TOOL) install $(DEBS)
 
+# libpq5 / libpq-dev get installed as part of OpenSRF (a dependency
+# of apache2-prefork-dev), but these are the 8.4 versions and they
+# conflict with the 9.0 versions - so remove them, install the pinned
+# backports of 9.0, then reinstall the apache2-prefork-dev package
 install_pgsql_client_debs_90:
-       $(APT_TOOL) install $(PGSQL_CLIENT_DEBS_90)
+       $(APT_TOOL) remove libpq5 libpq-dev
+       $(APT_BACKPORT_TOOL) install $(PGSQL_CLIENT_DEBS_90)
+       $(APT_TOOL) install apache2-prefork-dev
 
 install_pgsql_server_debs_90:
-       $(APT_TOOL) install $(PGSQL_SERVER_DEBS_90)
+       $(APT_BACKPORT_TOOL) install $(PGSQL_SERVER_DEBS_90)
 
 # Install the debian-specific dependencies for more modern distros
 install_extra_debs_squeeze: install_extra_debs