Date: Tue, 30 Jan 2007 19:49:08 GMT From: Andrew Hammond<andrew.george.hammond@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/108570: databases/postgresql82-server fails when PREFIX is set Message-ID: <200701301949.l0UJn89G017920@www.freebsd.org> Resent-Message-ID: <200701301950.l0UJoEbu093118@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 108570 >Category: ports >Synopsis: databases/postgresql82-server fails when PREFIX is set >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jan 30 19:50:14 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Andrew Hammond >Release: 6.2 on amd64, cvsup'd ports to lastest as of 2007-01-29 >Organization: AdECN Ltd. >Environment: FreeBSD ahammond.ecoffice.experclick.com 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 08:43:30 UTC 2007 root@portnoy.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP amd64 >Description: I'm attempting to support multiple versions of the PostgreSQL database on a single box. In order to do this, I'd like to use the PREFIX feature to install binary builds into /usr/local/pgsql<version> subdirs. After setting the PREFIX, make install fails. I tried to attach a typescript of this, but... that didn't fly too well. Here's the tail end of the typescript. gmake[1]: Leaving directory `/usr/ports/databases/postgresql82-server/work/postgresql-8.2.1/src/pl/plpgsql' install -o root -g wheel -m 444 /usr/ports/databases/postgresql82-server/work/dot.profile /usr/local/pgsql821_sl126_amd64_fbsd62/share/postgresql/dot.profile.dist; install -o root -g wheel -m 444 -o pgsql -g pgsql /usr/ports/databases/postgresql82-server/work/dot.profile ~pgsql/dot.profile.dist ; if [ ! -f ~pgsql/.profile ]; then /bin/cp -p ~pgsql/dot.profile.dist ~pgsql/.profile; fi install: /usr/local/pgsql/dot.profile.dist: No such file or directory *** Error code 71 Stop in /usr/ports/databases/postgresql82-server. ahammond# pwd /usr/ports/databases/postgresql82-server ahammond# exit exit Script done on Tue Jan 30 13:17:01 2007 I think this exposes a deeper problem. The current PostgreSQL packaging scripts assume that there is a 1:1 relationship between the box and the PostgreSQL binary, as well as a 1:1 relationship between the binary and the number of back-ends (PGDATA directories) it is running. This is the case in the majority of instances; a single server has a single binary to support a single back-end process, almost certainly on the default port. Bug ports/104075 documents another symptom of this same problem. However, in environments where availability or scalability are key goals, it is often the case that a single box will have more than one version of the PostgreSQL binary, and that these binaries may be supporting more than one PostgreSQL back-end (PGDATA/port). >How-To-Repeat: cd /usr/ports/databases/postgresql82-server; PREFIX=/usr/local/pgsql821 sudo make install >Fix: The debian packages support this level of flexibility for example. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701301949.l0UJn89G017920>