summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorPatrick Lauer <patrick@gentoo.org>2010-03-16 22:50:52 +0000
committerPatrick Lauer <patrick@gentoo.org>2010-03-16 22:50:52 +0000
commitacb4a169f327fd699f15f05e48ce5228c929ec63 (patch)
tree754a87f69ba2f2df10b9531ae3b110241c7de986 /dev-db
parentBump, remove 7.3 and 8.5, eapi2, many fixes thanks to Aaron W. Swenson (diff)
downloadgentoo-2-acb4a169f327fd699f15f05e48ce5228c929ec63.tar.gz
gentoo-2-acb4a169f327fd699f15f05e48ce5228c929ec63.tar.bz2
gentoo-2-acb4a169f327fd699f15f05e48ce5228c929ec63.zip
Bump, remove 7.3 and 8.5, eapi2, many fixes thanks to Aaron W. Swenson
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/postgresql-server/ChangeLog24
-rw-r--r--dev-db/postgresql-server/files/postgresql-7.3-cubeparse.patch36
-rw-r--r--dev-db/postgresql-server/files/postgresql-7.3-regress.patch87
-rw-r--r--dev-db/postgresql-server/files/postgresql-7.3-server.patch109
-rw-r--r--dev-db/postgresql-server/files/postgresql-7.4.28-autoconf.patch (renamed from dev-db/postgresql-server/files/postgresql-7.3.21-autoconf.patch)19
-rw-r--r--dev-db/postgresql-server/files/postgresql-8.5-common.patch69
-rw-r--r--dev-db/postgresql-server/files/postgresql-8.5-makefile.patch18
-rw-r--r--dev-db/postgresql-server/files/postgresql-8.5-server.patch208
-rw-r--r--dev-db/postgresql-server/files/postgresql.conf-7.348
-rw-r--r--dev-db/postgresql-server/files/postgresql.conf-8.552
-rw-r--r--dev-db/postgresql-server/files/postgresql.init-7.396
-rw-r--r--dev-db/postgresql-server/files/postgresql.init-8.5100
-rw-r--r--dev-db/postgresql-server/postgresql-server-7.4.28.ebuild (renamed from dev-db/postgresql-server/postgresql-server-7.3.21.ebuild)111
-rw-r--r--dev-db/postgresql-server/postgresql-server-8.0.24.ebuild298
-rw-r--r--dev-db/postgresql-server/postgresql-server-8.1.20.ebuild292
-rw-r--r--dev-db/postgresql-server/postgresql-server-8.2.16.ebuild297
-rw-r--r--dev-db/postgresql-server/postgresql-server-8.3.10.ebuild302
-rw-r--r--dev-db/postgresql-server/postgresql-server-8.4.3.ebuild (renamed from dev-db/postgresql-server/postgresql-server-8.5_alpha3.ebuild)79
-rw-r--r--dev-db/postgresql-server/postgresql-server-9.0_alpha4.ebuild65
19 files changed, 1424 insertions, 886 deletions
diff --git a/dev-db/postgresql-server/ChangeLog b/dev-db/postgresql-server/ChangeLog
index 775d187201a2..5323b01ad07e 100644
--- a/dev-db/postgresql-server/ChangeLog
+++ b/dev-db/postgresql-server/ChangeLog
@@ -1,6 +1,28 @@
# ChangeLog for dev-db/postgresql-server
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/ChangeLog,v 1.56 2010/02/26 15:48:30 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/ChangeLog,v 1.57 2010/03/16 22:50:49 patrick Exp $
+
+*postgresql-server-8.4.3 (16 Mar 2010)
+*postgresql-server-8.3.10 (16 Mar 2010)
+*postgresql-server-8.2.16 (16 Mar 2010)
+*postgresql-server-8.1.20 (16 Mar 2010)
+*postgresql-server-8.0.24 (16 Mar 2010)
+*postgresql-server-7.4.28 (16 Mar 2010)
+
+ 16 Mar 2010; Patrick Lauer <patrick@gentoo.org>
+ -files/postgresql.conf-7.3, -files/postgresql.init-7.3,
+ -postgresql-server-7.3.21.ebuild, -files/postgresql-7.3.21-autoconf.patch,
+ -files/postgresql-7.3-cubeparse.patch,
+ -files/postgresql-7.3-regress.patch, -files/postgresql-7.3-server.patch,
+ +postgresql-server-7.4.28.ebuild, +files/postgresql-7.4.28-autoconf.patch,
+ +postgresql-server-8.0.24.ebuild, +postgresql-server-8.1.20.ebuild,
+ +postgresql-server-8.2.16.ebuild, +postgresql-server-8.3.10.ebuild,
+ +postgresql-server-8.4.3.ebuild, -postgresql-server-8.5_alpha3.ebuild,
+ -files/postgresql.conf-8.5, -files/postgresql.init-8.5,
+ -files/postgresql-8.5-common.patch, -files/postgresql-8.5-makefile.patch,
+ -files/postgresql-8.5-server.patch, postgresql-server-9.0_alpha4.ebuild:
+ Bump, remove 7.3 (unsupported upstream) and 8.5alpha (now 9.0). Fixes
+ #110912 #278958 #214438 #233572. Thanks to Aaron W. Swenson.
*postgresql-server-9.0_alpha4 (26 Feb 2010)
diff --git a/dev-db/postgresql-server/files/postgresql-7.3-cubeparse.patch b/dev-db/postgresql-server/files/postgresql-7.3-cubeparse.patch
deleted file mode 100644
index 705e073c8e45..000000000000
--- a/dev-db/postgresql-server/files/postgresql-7.3-cubeparse.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- contrib/cube/cubescan.l.orig 2006-07-05 06:56:04.000000000 +0000
-+++ contrib/cube/cubescan.l 2006-07-05 06:56:12.000000000 +0000
-@@ -9,6 +9,10 @@
-
-
- /* flex screws a couple symbols when used with the -P option; fix those */
-+#ifndef YY_PROTO
-+#define YY_PROTO(proto) proto
-+#endif
-+
- #define YY_DECL int cube_yylex YY_PROTO(( void )); \
- int cube_yylex YY_PROTO(( void ))
- #define yylval cube_yylval
---- contrib/seg/segscan.l.orig 2006-07-05 07:08:26.000000000 +0000
-+++ contrib/seg/segscan.l 2006-07-05 07:08:51.000000000 +0000
-@@ -9,6 +9,10 @@
-
-
- /* flex screws a couple symbols when used with the -P option; fix those */
-+#ifndef YY_PROTO
-+#define YY_PROTO(proto) proto
-+#endif
-+
- #define YY_DECL int seg_yylex YY_PROTO(( void )); \
- int seg_yylex YY_PROTO(( void ))
- #define yylval seg_yylval
---- contrib/tsearch/parser.l.orig 2006-07-05 07:22:36.000000000 +0000
-+++ contrib/tsearch/parser.l 2006-07-05 07:23:33.000000000 +0000
-@@ -18,6 +18,7 @@
- char *s = NULL; /* to return WHOLE hyphenated-word */
-
- YY_BUFFER_STATE buf = NULL; /* buffer to parse; it need for parse from string */
-+static YY_BUFFER_STATE yy_current_buffer = 0;
-
- int lrlimit = -1; /* for limiting read from filehandle ( -1 - unlimited read ) */
- int bytestoread = 0; /* for limiting read from filehandle */
diff --git a/dev-db/postgresql-server/files/postgresql-7.3-regress.patch b/dev-db/postgresql-server/files/postgresql-7.3-regress.patch
deleted file mode 100644
index ce2258e74f4e..000000000000
--- a/dev-db/postgresql-server/files/postgresql-7.3-regress.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile
-index ebf14e5..bb07726 100644
---- a/src/test/regress/GNUmakefile
-+++ b/src/test/regress/GNUmakefile
-@@ -113,7 +113,7 @@ all-spi:
- ##
-
- check: all
-- $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE)
-+ clientbindir="/usr/lib/postgresql-${SLOT}/bin" $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE)
-
- installcheck: all
- $(SHELL) ./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE)
-diff --git a/src/test/regress/pg_regress.sh b/src/test/regress/pg_regress.sh
-index 9657ed3..b1b1a7f 100644
---- a/src/test/regress/pg_regress.sh
-+++ b/src/test/regress/pg_regress.sh
-@@ -77,6 +77,8 @@ host_platform='@host_tuple@'
- enable_shared='@enable_shared@'
- GCC=@GCC@
-
-+test -z "${clientbindir}" && clientbindir="${bindir}"
-+
- if [ "$GCC" = yes ]; then
- compiler=gcc
- else
-@@ -364,7 +366,7 @@ then
- # wait forever, however.
- i=0
- max=60
-- until "$bindir/psql" $psql_options template1 </dev/null 2>/dev/null
-+ until "$clientbindir/psql" $psql_options template1 </dev/null 2>/dev/null
- do
- i=`expr $i + 1`
- if [ $i -ge $max ]
-@@ -411,7 +413,7 @@ else # not temp-install
- echo "(using postmaster on Unix socket, $port_info)"
- fi
- message "dropping database \"$dbname\""
-- "$bindir/dropdb" $psql_options "$dbname"
-+ "$clientbindir/dropdb" $psql_options "$dbname"
- # errors can be ignored
- fi
-
-@@ -420,7 +422,7 @@ fi
- # Set up SQL shell for the test.
- # ----------
-
--PSQL="$bindir/psql -q -X $psql_options"
-+PSQL="$clientbindir/psql -q -X $psql_options"
-
-
- # ----------
-@@ -451,13 +453,13 @@ fi
- # ----------
-
- message "creating database \"$dbname\""
--"$bindir/createdb" $encoding_opt $psql_options --template template0 "$dbname"
-+"$clientbindir/createdb" $encoding_opt $psql_options --template template0 "$dbname"
- if [ $? -ne 0 ]; then
- echo "$me: createdb failed"
- (exit 2); exit
- fi
-
--"$bindir/psql" $psql_options -c "\
-+"$clientbindir/psql" $psql_options -c "\
- alter database \"$dbname\" set lc_messages to 'C';
- alter database \"$dbname\" set lc_monetary to 'C';
- alter database \"$dbname\" set lc_numeric to 'C';
-@@ -473,7 +475,7 @@ fi
- # ----------
-
- message "dropping regression test user accounts"
--"$bindir/psql" $psql_options -c 'SET autocommit TO on;DROP GROUP regressgroup1; DROP GROUP regressgroup2; DROP USER regressuser1, regressuser2, regressuser3, regressuser4;' $dbname 2>/dev/null
-+"$clientbindir/psql" $psql_options -c 'SET autocommit TO on;DROP GROUP regressgroup1; DROP GROUP regressgroup2; DROP USER regressuser1, regressuser2, regressuser3, regressuser4;' $dbname 2>/dev/null
- if [ $? -eq 2 ]; then
- echo "$me: could not drop user accounts"
- (exit 2); exit
-@@ -486,7 +488,7 @@ fi
-
- if [ "$enable_shared" = yes ]; then
- message "installing PL/pgSQL"
-- "$bindir/createlang" -L "$pkglibdir" $psql_options plpgsql $dbname
-+ "$clientbindir/createlang" -L "$pkglibdir" $psql_options plpgsql $dbname
- if [ $? -ne 0 ] && [ $? -ne 2 ]; then
- echo "$me: createlang failed"
- (exit 2); exit
diff --git a/dev-db/postgresql-server/files/postgresql-7.3-server.patch b/dev-db/postgresql-server/files/postgresql-7.3-server.patch
deleted file mode 100644
index 5d2e0fbfcdae..000000000000
--- a/dev-db/postgresql-server/files/postgresql-7.3-server.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-=== GNUmakefile.in
-==================================================================
---- GNUmakefile.in (revision 14)
-+++ GNUmakefile.in (local)
-@@ -23,7 +23,6 @@
- $(MAKE) -C src $@
-
- install-all-headers:
-- $(MAKE) -C src $@
-
- # clean, distclean, etc should apply to contrib too, even though
- # it's not built by default
-=== contrib/Makefile
-==================================================================
---- contrib/Makefile (revision 14)
-+++ contrib/Makefile (local)
-@@ -14,7 +14,6 @@
- dbmirror \
- dbsize \
- earthdistance \
-- findoidjoins \
- fulltextindex \
- fuzzystrmatch \
- intagg \
-@@ -24,10 +23,7 @@
- ltree \
- miscutil \
- noupdate \
-- oid2name \
-- pg_dumplo \
- pg_logger \
-- pgbench \
- pgcrypto \
- pgstattuple \
- rserv \
-@@ -38,8 +34,7 @@
- tablefunc \
- tips \
- tsearch \
-- userlock \
-- vacuumlo
-+ userlock
-
- # Missing:
- # ipc_check \ (does not have a makefile)
-=== src/Makefile
-==================================================================
---- src/Makefile (revision 14)
-+++ src/Makefile (local)
-@@ -17,13 +17,10 @@
- $(MAKE) -C port $@
- $(MAKE) -C backend $@
- $(MAKE) -C backend/utils/mb/conversion_procs $@
-- $(MAKE) -C include $@
-- $(MAKE) -C interfaces $@
- $(MAKE) -C bin $@
- $(MAKE) -C pl $@
-
- install-all-headers:
-- $(MAKE) -C include $@
-
- clean:
- $(MAKE) -C port $@
-=== src/Makefile.global.in
-==================================================================
---- src/Makefile.global.in (revision 14)
-+++ src/Makefile.global.in (local)
-@@ -286,10 +286,10 @@
- libpq = -L$(libpq_builddir) -lpq
-
- submake-libpq:
-- $(MAKE) -C $(libpq_builddir) all
-+ @true $(MAKE) -C $(libpq_builddir) all
-
- submake-libpgport:
-- $(MAKE) -C $(top_builddir)/src/port all
-+ @true $(MAKE) -C $(top_builddir)/src/port all
-
- .PHONY: submake-libpq submake-libpgport
-
-=== src/bin/Makefile
-==================================================================
---- src/bin/Makefile (revision 14)
-+++ src/bin/Makefile (local)
-@@ -13,9 +13,8 @@
- top_builddir = ../..
- include $(top_builddir)/src/Makefile.global
-
--DIRS := initdb initlocation ipcclean pg_ctl pg_dump pg_id \
-- psql scripts pg_config pg_controldata pg_resetxlog \
-- pg_encoding
-+DIRS := initdb initlocation ipcclean pg_ctl pg_id \
-+ pg_controldata pg_resetxlog
-
- ifeq ($(with_tcl), yes)
- DIRS += pgtclsh
-=== src/include/pg_config.h.in
-==================================================================
---- src/include/pg_config.h.in (revision 14)
-+++ src/include/pg_config.h.in (local)
-@@ -244,7 +244,7 @@
- * just hate the idea of sockets in /tmp, here's where to twiddle it.
- * You can also override this at runtime with the postmaster's -k switch.
- */
--#define DEFAULT_PGSOCKET_DIR "/tmp"
-+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql"
-
-
- /*
diff --git a/dev-db/postgresql-server/files/postgresql-7.3.21-autoconf.patch b/dev-db/postgresql-server/files/postgresql-7.4.28-autoconf.patch
index 0b526b208831..968cc868761c 100644
--- a/dev-db/postgresql-server/files/postgresql-7.3.21-autoconf.patch
+++ b/dev-db/postgresql-server/files/postgresql-7.4.28-autoconf.patch
@@ -1,5 +1,5 @@
diff --git a/config/programs.m4 b/config/programs.m4
-index 35d9e2b..c681983 100644
+index ae3b91a..6af24d2 100644
--- a/config/programs.m4
+++ b/config/programs.m4
@@ -153,13 +153,13 @@ AC_DEFUN([PGAC_CHECK_GETTEXT],
@@ -24,7 +24,7 @@ index 35d9e2b..c681983 100644
AC_SUBST(localedir)
AC_DEFINE_UNQUOTED(LOCALEDIR, ["$exp_localedir"],
diff --git a/configure.in b/configure.in
-index 07cc529..37fdded 100644
+index f7bdec3..c8b5b7e 100644
--- a/configure.in
+++ b/configure.in
@@ -19,17 +19,8 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
@@ -33,25 +33,16 @@ index 07cc529..37fdded 100644
dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir".
-m4_define([info], [doc])
-m4_define([infodir], [docdir])
- AC_INIT([PostgreSQL], [7.3.21], [pgsql-bugs@postgresql.org])
+ AC_INIT([PostgreSQL], [7.4.28], [pgsql-bugs@postgresql.org])
-m4_undefine([infodir])
-m4_undefine([info])
-AC_SUBST(docdir)
-
--m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.53], [], [m4_fatal([Autoconf version 2.59 is required.
+-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.53], [], [m4_fatal([Autoconf version 2.53 is required.
-Untested combinations of 'autoconf' and PostgreSQL versions are not
-recommended. You can remove the check from 'configure.in' but it is then
-your responsibility whether the result works or not.])])
+
- AC_COPYRIGHT([Copyright 2002 PostgreSQL Global Development Group])
+ AC_COPYRIGHT([Copyright 2004 PostgreSQL Global Development Group])
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
AC_CONFIG_AUX_DIR(config)
-@@ -626,7 +617,7 @@ AC_CHECK_LIB(PW, main)
- AC_CHECK_LIB(resolv, main)
- AC_SEARCH_LIBS(getopt_long, [getopt gnugetopt])
- # QNX:
--AC_CHECK_LIB([[unix]], main)
-+AC_CHECK_LIB([unix], main)
- AC_SEARCH_LIBS(crypt, crypt)
- # BeOS:
- AC_CHECK_LIB(bind, __inet_ntoa)
diff --git a/dev-db/postgresql-server/files/postgresql-8.5-common.patch b/dev-db/postgresql-server/files/postgresql-8.5-common.patch
deleted file mode 100644
index 873fe4ec8f27..000000000000
--- a/dev-db/postgresql-server/files/postgresql-8.5-common.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-=== configure.in
-==================================================================
---- configure.in 2009-06-27 02:14:47.000000000 +0200
-+++ configure.in 2009-07-09 15:05:02.000000000 +0200
-@@ -19,10 +19,6 @@
-
- AC_INIT([PostgreSQL], [8.5alpha3], [pgsql-bugs@postgresql.org])
-
--m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.63], [], [m4_fatal([Autoconf version 2.63 is required.
--Untested combinations of 'autoconf' and PostgreSQL versions are not
--recommended. You can remove the check from 'configure.in' but it is then
--your responsibility whether the result works or not.])])
- AC_COPYRIGHT([Copyright (c) 1996-2009, PostgreSQL Global Development Group])
- AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
- AC_CONFIG_AUX_DIR(config)
-=== src/include/storage/s_lock.h
-==================================================================
---- src/include/storage/s_lock.h 2009-01-01 18:24:01.000000000 +0100
-+++ src/include/storage/s_lock.h 2009-07-09 15:03:08.000000000 +0200
-@@ -298,6 +298,29 @@
-
- #endif /* __s390__ || __s390x__ */
-
-+#if defined(__sh__)
-+#define HAS_TEST_AND_SET
-+
-+typedef unsigned char slock_t;
-+
-+#define TAS(lock) tas(lock)
-+
-+static __inline__ int
-+tas(volatile slock_t *lock)
-+{
-+ register int _res = 1;
-+
-+ __asm__ __volatile__(
-+ "tas.b @%1\n\t"
-+ "movt %0\n\t"
-+ "xor #1,%0"
-+: "=z"(_res)
-+: "r"(lock)
-+: "t","memory");
-+ return _res;
-+}
-+
-+#endif /* __sh__ */
-
- #if defined(__sparc__) /* Sparc */
- #define HAS_TEST_AND_SET
-=== src/makefiles/Makefile.darwin
-==================================================================
---- src/makefiles/Makefile.darwin 2008-11-14 11:22:47.000000000 +0100
-+++ src/makefiles/Makefile.darwin 2009-07-09 15:07:11.000000000 +0200
-@@ -5,7 +5,15 @@
- CFLAGS_SL =
-
- ifdef PGXS
-+ifdef PGXS_IN_SERVER
-+ifndef PGXS_WITH_SERVER
-+BE_DLLLIBS= -bundle_loader $(top_builddir)/src/backend/postgres
-+else
-+BE_DLLLIBS= -bundle_loader ${PGXS_WITH_SERVER}
-+endif
-+else
- BE_DLLLIBS= -bundle_loader $(bindir)/postgres
-+endif
- else
- BE_DLLLIBS= -bundle_loader $(top_builddir)/src/backend/postgres
- endif
diff --git a/dev-db/postgresql-server/files/postgresql-8.5-makefile.patch b/dev-db/postgresql-server/files/postgresql-8.5-makefile.patch
deleted file mode 100644
index c5b60a5c5d02..000000000000
--- a/dev-db/postgresql-server/files/postgresql-8.5-makefile.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- GNUmakefile.in.old 2010-01-22 17:07:56.574071514 +0100
-+++ GNUmakefile.in 2010-01-22 17:08:13.644073319 +0100
-@@ -9,7 +9,6 @@
- include $(top_builddir)/src/Makefile.global
-
- all:
-- $(MAKE) -C doc all
- $(MAKE) -C src all
- $(MAKE) -C config all
- @echo "All of PostgreSQL successfully made. Ready to install."
-@@ -18,7 +17,6 @@
- $(MAKE) -C doc $@
-
- install:
-- $(MAKE) -C doc $@
- $(MAKE) -C src $@
- $(MAKE) -C config $@
- @echo "PostgreSQL installation complete."
diff --git a/dev-db/postgresql-server/files/postgresql-8.5-server.patch b/dev-db/postgresql-server/files/postgresql-8.5-server.patch
deleted file mode 100644
index 6eb1af317f3a..000000000000
--- a/dev-db/postgresql-server/files/postgresql-8.5-server.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-diff -Naur postgresql-8.5alpha3.orig/contrib/adminpack/Makefile postgresql-8.5alpha3/contrib/adminpack/Makefile
---- postgresql-8.5alpha3.orig/contrib/adminpack/Makefile 2007-11-11 00:59:50.000000000 +0100
-+++ postgresql-8.5alpha3/contrib/adminpack/Makefile 2009-07-09 18:10:56.000000000 +0200
-@@ -1,7 +1,7 @@
- # $PostgreSQL: pgsql/contrib/adminpack/Makefile,v 1.6 2007/11/10 23:59:50 momjian Exp $
-
- MODULE_big = adminpack
--PG_CPPFLAGS = -I$(libpq_srcdir)
-+PG_CPPFLAGS = -I$(libpq_srcdir) -I../../src/include/
- DATA_built = adminpack.sql
- DATA = uninstall_adminpack.sql
- OBJS = adminpack.o
-diff -Naur postgresql-8.5alpha3.orig/contrib/dblink/Makefile postgresql-8.5alpha3/contrib/dblink/Makefile
---- postgresql-8.5alpha3.orig/contrib/dblink/Makefile 2007-11-11 00:59:50.000000000 +0100
-+++ postgresql-8.5alpha3/contrib/dblink/Makefile 2009-07-09 22:22:02.000000000 +0200
-@@ -1,7 +1,7 @@
- # $PostgreSQL: pgsql/contrib/dblink/Makefile,v 1.15 2007/11/10 23:59:50 momjian Exp $
-
- MODULE_big = dblink
--PG_CPPFLAGS = -I$(libpq_srcdir)
-+PG_CPPFLAGS = -I$(libpq_srcdir) -I../../src/include/
- OBJS = dblink.o
- SHLIB_LINK = $(libpq)
-
-diff -Naur postgresql-8.5alpha3.orig/contrib/Makefile postgresql-8.5alpha3/contrib/Makefile
---- postgresql-8.5alpha3.orig/contrib/Makefile 2009-03-26 00:20:01.000000000 +0100
-+++ postgresql-8.5alpha3/contrib/Makefile 2009-07-09 18:13:23.000000000 +0200
-@@ -23,23 +23,18 @@
- isn \
- lo \
- ltree \
-- oid2name \
- pageinspect \
-- passwordcheck \
- pg_buffercache \
- pg_freespacemap \
- pg_standby \
- pg_stat_statements \
- pg_trgm \
-- pgbench \
- pgcrypto \
- pgrowlocks \
- pgstattuple \
- seg \
- spi \
- tablefunc \
- test_parser \
- tsearch2 \
-- unaccent \
-- vacuumlo
-
- ifeq ($(with_openssl),yes)
- WANTED_DIRS += sslinfo
-diff -Naur postgresql-8.5alpha3.orig/contrib/uuid-ossp/Makefile postgresql-8.5alpha3/contrib/uuid-ossp/Makefile
---- postgresql-8.5alpha3.orig/contrib/uuid-ossp/Makefile 2007-11-13 01:13:19.000000000 +0100
-+++ postgresql-8.5alpha3/contrib/uuid-ossp/Makefile 2009-07-09 19:12:44.000000000 +0200
-@@ -1,11 +1,13 @@
- # $PostgreSQL: pgsql/contrib/uuid-ossp/Makefile,v 1.4 2007/11/13 00:13:19 tgl Exp $
-
-+PG_CPPFLAGS += "-DHAVE_OSSP_UUID_H"
-+
- MODULE_big = uuid-ossp
- OBJS = uuid-ossp.o
- DATA_built = uuid-ossp.sql
- DATA = uninstall_uuid-ossp.sql
-
--SHLIB_LINK += $(OSSP_UUID_LIBS)
-+SHLIB_LINK += -lossp-uuid
-
- ifdef USE_PGXS
- PG_CONFIG = pg_config
-diff -Naur postgresql-8.5alpha3.orig/contrib/xml2/Makefile postgresql-8.5alpha3/contrib/xml2/Makefile
---- postgresql-8.5alpha3.orig/contrib/xml2/Makefile 2008-05-08 18:49:37.000000000 +0200
-+++ postgresql-8.5alpha3/contrib/xml2/Makefile 2009-07-09 19:14:32.000000000 +0200
-@@ -4,7 +4,8 @@
-
- OBJS = $(if $(filter -lxslt, $(LIBS)), xpath.o xslt_proc.o, xpath.o)
-
--SHLIB_LINK += $(filter -lxslt, $(LIBS)) $(filter -lxml2, $(LIBS))
-+PG_CPPFLAGS = $(shell xml2-config --cflags)
-+SHLIB_LINK += $(shell xml2-config --libs) $(shell xslt-config --libs)
-
- DATA_built = pgxml.sql
- DATA = uninstall_pgxml.sql
-diff -Naur postgresql-8.5alpha3.orig/GNUmakefile.in postgresql-8.5alpha3/GNUmakefile.in
---- postgresql-8.5alpha3.orig/GNUmakefile.in 2009-01-15 02:53:49.000000000 +0100
-+++ postgresql-8.5alpha3/GNUmakefile.in 2009-07-09 19:16:19.000000000 +0200
-@@ -11,22 +11,19 @@
- all:
- $(MAKE) -C doc all
- $(MAKE) -C src all
-- $(MAKE) -C config all
- @echo "All of PostgreSQL successfully made. Ready to install."
-
- html man:
- $(MAKE) -C doc $@
-
- install:
- $(MAKE) -C doc $@
- $(MAKE) -C src $@
-- $(MAKE) -C config $@
- @echo "PostgreSQL installation complete."
-
- installdirs uninstall coverage:
- $(MAKE) -C doc $@
- $(MAKE) -C src $@
-- $(MAKE) -C config $@
-
- distprep:
- $(MAKE) -C doc $@
-diff -Naur postgresql-8.5alpha3.orig/src/bin/initdb/Makefile postgresql-8.5alpha3/src/bin/initdb/Makefile
---- postgresql-8.5alpha3.orig/src/bin/initdb/Makefile 2009-01-01 18:23:53.000000000 +0100
-+++ postgresql-8.5alpha3/src/bin/initdb/Makefile 2009-07-09 19:17:40.000000000 +0200
-@@ -14,7 +14,7 @@
- top_builddir = ../../..
- include $(top_builddir)/src/Makefile.global
-
--override CPPFLAGS := -DFRONTEND -I$(libpq_srcdir) $(CPPFLAGS)
-+override CPPFLAGS := -DFRONTEND -I$(top_srcdir)/src/interfaces/libpq $(CPPFLAGS)
-
- OBJS= initdb.o encnames.o pqsignal.o $(WIN32RES)
-
-diff -Naur postgresql-8.5alpha3.orig/src/bin/Makefile postgresql-8.5alpha3/src/bin/Makefile
---- postgresql-8.5alpha3.orig/src/bin/Makefile 2009-01-01 18:23:53.000000000 +0100
-+++ postgresql-8.5alpha3/src/bin/Makefile 2009-07-09 19:18:21.000000000 +0200
-@@ -13,8 +13,8 @@
- top_builddir = ../..
- include $(top_builddir)/src/Makefile.global
-
--SUBDIRS = initdb pg_ctl pg_dump \
-- psql scripts pg_config pg_controldata pg_resetxlog
-+SUBDIRS = initdb pg_ctl \
-+ pg_controldata pg_resetxlog
- ifeq ($(PORTNAME), win32)
- SUBDIRS+=pgevent
- endif
-diff -Naur postgresql-8.5alpha3.orig/src/include/pg_config_manual.h postgresql-8.5alpha3/src/include/pg_config_manual.h
---- postgresql-8.5alpha3.orig/src/include/pg_config_manual.h 2009-06-11 16:49:08.000000000 +0200
-+++ postgresql-8.5alpha3/src/include/pg_config_manual.h 2009-07-09 19:19:40.000000000 +0200
-@@ -146,7 +146,7 @@
- * here's where to twiddle it. You can also override this at runtime
- * with the postmaster's -k switch.
- */
--#define DEFAULT_PGSOCKET_DIR "/tmp"
-+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql"
-
- /*
- * The random() function is expected to yield values between 0 and
-diff -Naur postgresql-8.5alpha3.orig/src/Makefile postgresql-8.5alpha3/src/Makefile
---- postgresql-8.5alpha3.orig/src/Makefile 2009-02-24 11:06:32.000000000 +0100
-+++ postgresql-8.5alpha3/src/Makefile 2009-07-09 19:20:44.000000000 +0200
-@@ -19,14 +19,11 @@
- $(MAKE) -C backend $@
- $(MAKE) -C backend/utils/mb/conversion_procs $@
- $(MAKE) -C backend/snowball $@
-- $(MAKE) -C include $@
-- $(MAKE) -C interfaces $@
- $(MAKE) -C bin $@
- $(MAKE) -C pl $@
-- $(MAKE) -C makefiles $@
- $(MAKE) -C test/regress $@
-
--install: install-local
-+install:
-
- install-local: installdirs-local
- $(INSTALL_DATA) Makefile.global '$(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.global'
-diff -Naur postgresql-8.5alpha3.orig/src/Makefile.global.in postgresql-8.5alpha3/src/Makefile.global.in
---- postgresql-8.5alpha3.orig/src/Makefile.global.in 2009-06-23 05:46:00.000000000 +0200
-+++ postgresql-8.5alpha3/src/Makefile.global.in 2009-07-09 19:39:46.000000000 +0200
-@@ -443,6 +441,8 @@
- LDFLAGS += $(PROFILE)
- endif
-
-+CFLAGS += -I${top_srcdir}/src/include
-+
-
- ##########################################################################
- #
-diff -Naur postgresql-8.5alpha3.orig/src/port/Makefile postgresql-8.5alpha3/src/port/Makefile
---- postgresql-8.5alpha3.orig/src/port/Makefile 2008-11-25 19:19:31.000000000 +0100
-+++ postgresql-8.5alpha3/src/port/Makefile 2009-07-09 19:24:34.000000000 +0200
-@@ -39,11 +39,10 @@
- # foo_srv.o and foo.o are both built from foo.c, but only foo.o has -DFRONTEND
- OBJS_SRV = $(OBJS:%.o=%_srv.o)
-
--all: libpgport.a libpgport_srv.a
-+all: libpgport_srv.a
-
- # libpgport is needed by some contrib
--install: all installdirs
-- $(INSTALL_STLIB) libpgport.a '$(DESTDIR)$(libdir)/libpgport.a'
-+install:
-
- installdirs:
- $(mkinstalldirs) '$(DESTDIR)$(libdir)'
-diff -Naur postgresql-8.5alpha3.orig/src/test/regress/GNUmakefile postgresql-8.5alpha3/src/test/regress/GNUmakefile
---- postgresql-8.5alpha3.orig/src/test/regress/GNUmakefile 2009-01-01 18:24:04.000000000 +0100
-+++ postgresql-8.5alpha3/src/test/regress/GNUmakefile 2009-07-09 19:28:25.000000000 +0200
-@@ -141,7 +141,7 @@
- pg_regress_call = ./pg_regress --inputdir=$(srcdir) --dlpath=. --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE)
-
- check: all
-- $(pg_regress_call) --temp-install=./tmp_check --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(TEMP_CONF)
-+ $(pg_regress_call) --temp-install=./tmp_check --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(TEMP_CONF) --psqldir=/usr/lib/postgresql-${SLOT}/bin/
-
- installcheck: all
- $(pg_regress_call) --psqldir=$(PSQLDIR) --schedule=$(srcdir)/serial_schedule
diff --git a/dev-db/postgresql-server/files/postgresql.conf-7.3 b/dev-db/postgresql-server/files/postgresql.conf-7.3
deleted file mode 100644
index 4e06ea09a4d3..000000000000
--- a/dev-db/postgresql-server/files/postgresql.conf-7.3
+++ /dev/null
@@ -1,48 +0,0 @@
-# PostgreSQL's Database Directory
-PGDATA="/var/lib/postgresql/7.3/data"
-
-# PostgreSQL User
-PGUSER="postgres"
-
-# PostgreSQL Group
-PGGROUP="postgres"
-
-# Extra options to run postmaster with, e.g.:
-# -N is the maximal number of client connections
-# -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of these options
-# can be set directly in the configuration-file.
-#PGOPTS="-N 512 -B 1024"
-
-
-# SERVER SHUTDOWN:
-# The server will receive 3 signals in the worst case:
-# 1. SIGTERM
-# This signals the server to ignore new connections and to
-# wait for all clients to end their transactions before shutting down.
-# Use WAIT_FOR_DISCONNECT to control how much time the clients
-# should have until the next signal is being sent.
-# 2. SIGINT
-# Tell the server to forcefully disconnect all clients.
-# Terminating a client results in a rollback of the open transactions for this client.
-# Use WAIT_FOR_CLEANUP to determine how much time the server has
-# for cleanup.
-# 3. SIGQUIT
-# This will terminate the server immediately and results in a recovery run for the next start.
-
-# Wait for clients to disconnect
-WAIT_FOR_DISCONNECT=30
-
-# Time the server has to clean up
-WAIT_FOR_CLEANUP=60
-
-# Time the server has to quit (with a recover-run on next startup)
-# Set to 0 to deactivate it
-WAIT_FOR_QUIT=60
-
-
-# If you have to export environment variables for the database process,
-# this can be done here.
-#
-# Example:
-# export R_HOME="/usr/lib/R"
diff --git a/dev-db/postgresql-server/files/postgresql.conf-8.5 b/dev-db/postgresql-server/files/postgresql.conf-8.5
deleted file mode 100644
index 957c4ab5708b..000000000000
--- a/dev-db/postgresql-server/files/postgresql.conf-8.5
+++ /dev/null
@@ -1,52 +0,0 @@
-# PostgreSQL's Database Directory
-PGDATA="/var/lib/postgresql/8.5/data"
-
-# PostgreSQL User
-PGUSER="postgres"
-
-# PostgreSQL Group
-PGGROUP="postgres"
-
-# Extra options to run postmaster with, e.g.:
-# -N is the maximal number of client connections
-# -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of these options
-# can be set directly in the configuration-file.
-#PGOPTS="-N 512 -B 1024"
-
-
-# SERVER SHUTDOWN:
-# The server will receive 3 signals in the worst case:
-# 1. SIGTERM
-# This signals the server to ignore new connections and to
-# wait for all clients to end their transactions before shutting down.
-# Use WAIT_FOR_DISCONNECT to control how much time the clients
-# should have until the next signal is being sent.
-# 2. SIGINT
-# Tell the server to forcefully disconnect all clients.
-# Terminating a client results in a rollback of the open transactions for this client.
-# Use WAIT_FOR_CLEANUP to determine how much time the server has
-# for cleanup.
-# 3. SIGQUIT
-# This will terminate the server immediately and results in a recovery run for the next start.
-
-# Wait for clients to disconnect
-WAIT_FOR_DISCONNECT=30
-
-# Time the server has to clean up
-WAIT_FOR_CLEANUP=60
-
-# Time the server has to quit (with a recover-run on next startup)
-# Set to 0 to deactivate it
-WAIT_FOR_QUIT=60
-
-# Comment this out if you don't want to wait for the server to
-# startup before continuing. For example, if this server is a
-# PITR log shipping based replication standby
-WAIT_FOR_START="-w"
-
-# If you have to export environment variables for the database process,
-# this can be done here.
-#
-# Example:
-# export R_HOME="/usr/lib/R"
diff --git a/dev-db/postgresql-server/files/postgresql.init-7.3 b/dev-db/postgresql-server/files/postgresql.init-7.3
deleted file mode 100644
index 46d170d0d4fd..000000000000
--- a/dev-db/postgresql-server/files/postgresql.init-7.3
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/files/postgresql.init-7.3,v 1.4 2010/01/06 23:36:01 patrick Exp $
-
-opts="${opts} reload"
-
-depend() {
- use net
- if [ -L /etc/eselect/postgresql/service ] ; then
- local p_service="$(for f in /etc/eselect/postgresql/service/* ; do . $f ; done ; echo $postgres_service )"
- test "${p_service}" = "${SVCNAME}" && provide postgresql
- fi
-}
-
-checkconfig() {
- if [ ! -d "$PGDATA" ] ; then
- eerror "Directory not found: $PGDATA"
- eerror "Please make sure that PGDATA points to the right path."
- eerror "You can run 'emerge postgresql-server --config' to setup a new database cluster."
- return 1
- fi
-}
-
-start() {
- checkconfig || return 1
-
- ebegin "Starting PostgreSQL"
-
- if [ -f "$PGDATA/postmaster.pid" ] ; then
- rm -f "$PGDATA/postmaster.pid"
- fi
-
- local retval
-
- su -l ${PGUSER} \
- -c "env PGDATA=\"${PGDATA}\" PATH=\"/usr/lib/postgresql-7.3/bin:${PATH}\" /usr/lib/postgresql-7.3/bin/pg_ctl start -w -o '--silent-mode=true ${PGOPTS}'"
- retval=$?
- [ $retval -ne 0 ] && eend $retval && return $retval
-
- # The following is to catch the case of an already running server
- # in which pg_ctl doesn't know to which server it connected to and false reports the server as 'up'
- sleep 2
- if [ ! -f "$PGDATA/postmaster.pid" ] ; then
- eerror "The pid-file doesn't exist but pg_ctl reported a running server."
- eerror "Please check whether there is another server running on the same port or read the log-file."
- eend 1
- return 1
- fi
-
- local pid=$(grep "^[0-9]\+" "$PGDATA/postmaster.pid")
- ps -p "${pid}" &> /dev/null
- eend $?
-}
-
-stop() {
- ebegin "Stopping PostgreSQL (this can take up to $(( ${WAIT_FOR_DISCONNECT} + ${WAIT_FOR_CLEANUP} )) seconds)"
-
- local retval
-
- start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" \
- --retry -TERM/${WAIT_FOR_DISCONNECT}
- retval=$?
- [ $retval -eq 0 ] && eend $retval && return $retval
-
- ewarn "Some clients did not disconnect within ${WAIT_FOR_DISCONNECT} seconds."
- ewarn "Going to shutdown the server anyway."
-
- start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" \
- --retry -INT/${WAIT_FOR_CLEANUP}
- retval=$?
- [ $retval -eq 0 ] && eend $retval && return $retval
-
- if [ ${WAIT_FOR_QUIT} -eq 0 ] ; then
- eerror "Server did not shut down and sending the SIGQUIT has been disabled."
- eend $retval
- return $retval
- fi
-
- ewarn "Shutting down the server gracefully failed."
- ewarn "Forcing it to shutdown which leads to a recover-run on next startup."
-
- start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" \
- --retry -QUIT/${WAIT_FOR_QUIT}
- retval=$?
- [ $retval -eq 0 ] && eend $retval && return $retval
-
- eerror "Forced shutdown failed!!! Something is wrong with your system, please take care of it manually."
- eend $?
-}
-
-reload() {
- ebegin "Reloading PostgreSQL configuration"
- start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" --signal HUP --oknodo
- eend $?
-}
diff --git a/dev-db/postgresql-server/files/postgresql.init-8.5 b/dev-db/postgresql-server/files/postgresql.init-8.5
deleted file mode 100644
index ce5055af4965..000000000000
--- a/dev-db/postgresql-server/files/postgresql.init-8.5
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/files/postgresql.init-8.5,v 1.2 2010/01/26 21:04:58 patrick Exp $
-
-opts="${opts} reload"
-
-depend() {
- use net
- if [ -L /etc/eselect/postgresql/service ] ; then
- local p_service="$(for f in /etc/eselect/postgresql/service/* ; do . $f ; done ; echo $postgres_service )"
- test "${p_service}" = "${SVCNAME}" && provide postgresql
- fi
-}
-
-checkconfig() {
- if [ ! -d "$PGDATA" ] ; then
- eerror "Directory not found: $PGDATA"
- eerror "Please make sure that PGDATA points to the right path."
- eerror "You can run 'emerge postgresql-server --config' to setup a new database cluster."
- return 1
- fi
-}
-
-start() {
- checkconfig || return 1
-
- ebegin "Starting PostgreSQL"
-
- if [ -f "$PGDATA/postmaster.pid" ] ; then
- rm -f "$PGDATA/postmaster.pid"
- fi
-
- local retval
-
- su -l ${PGUSER} \
- -c "env PGDATA=\"${PGDATA}\" /usr/lib/postgresql-8.5/bin/pg_ctl start ${WAIT_FOR_START} -o '--silent-mode=true ${PGOPTS}'"
- retval=$?
- [ $retval -ne 0 ] && eend $retval && return $retval
-
- # The following is to catch the case of an already running server
- # in which pg_ctl doesn't know to which server it connected to and false reports the server as 'up'
- sleep 2
- if [ ! -f "$PGDATA/postmaster.pid" ] ; then
- eerror "The pid-file doesn't exist but pg_ctl reported a running server."
- eerror "Please check whether there is another server running on the same port or read the log-file."
- eend 1
- return 1
- fi
-
- local pid=$(grep "^[0-9]\+" "$PGDATA/postmaster.pid")
- ps -p "${pid}" &> /dev/null
- eend $?
-}
-
-stop() {
- ebegin "Stopping PostgreSQL (this can take up to $(( ${WAIT_FOR_DISCONNECT} + ${WAIT_FOR_CLEANUP} )) seconds)"
-
- local retval
-
- su -l ${PGUSER} \
- -c "env PGDATA=\"${PGDATA}\" /usr/lib/postgresql-8.5/bin/pg_ctl stop -t ${WAIT_FOR_DISCONNECT} -m smart"
-
- retval=$?
- [ $retval -eq 0 ] && eend $retval && return $retval
-
- ewarn "Some clients did not disconnect within ${WAIT_FOR_DISCONNECT} seconds."
- ewarn "Going to shutdown the server anyway."
-
- su -l ${PGUSER} \
- -c "env PGDATA=\"${PGDATA}\" /usr/lib/postgresql-8.5/bin/pg_ctl stop -m fast"
-
- retval=$?
- [ $retval -eq 0 ] && eend $retval && return $retval
-
- if [ ${WAIT_FOR_QUIT} -eq 0 ] ; then
- eerror "Server did not shut down and sending the SIGQUIT has been disabled."
- eend $retval
- return $retval
- fi
-
- ewarn "Shutting down the server gracefully failed."
- ewarn "Forcing it to shutdown which leads to a recover-run on next startup."
-
- su -l ${PGUSER} \
- -c "env PGDATA=\"${PGDATA}\" /usr/lib/postgresql-8.5/bin/pg_ctl stop -m immediate"
-
- retval=$?
- [ $retval -eq 0 ] && eend $retval && return $retval
-
- eerror "Forced shutdown failed!!! Something is wrong with your system, please take care of it manually."
- eend $?
-}
-
-reload() {
- ebegin "Reloading PostgreSQL configuration"
- su -l ${PGUSER} \
- -c "env PGDATA=\"${PGDATA}\" /usr/lib/postgresql-8.5/bin/pg_ctl reload"
- eend $?
-}
diff --git a/dev-db/postgresql-server/postgresql-server-7.3.21.ebuild b/dev-db/postgresql-server/postgresql-server-7.4.28.ebuild
index 27711856ccd0..700621cd86f4 100644
--- a/dev-db/postgresql-server/postgresql-server-7.3.21.ebuild
+++ b/dev-db/postgresql-server/postgresql-server-7.4.28.ebuild
@@ -1,14 +1,13 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-7.3.21.ebuild,v 1.4 2010/01/08 01:25:13 beandog Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-7.4.28.ebuild,v 1.1 2010/03/16 22:50:49 patrick Exp $
-EAPI="1"
+EAPI="2"
-WANT_AUTOCONF="latest"
WANT_AUTOMAKE="none"
inherit eutils multilib toolchain-funcs versionator autotools
-KEYWORDS="amd64 ~x86"
+KEYWORDS="~amd64 ~hppa ~ppc ~x86"
DESCRIPTION="PostgreSQL server"
HOMEPAGE="http://www.postgresql.org/"
@@ -17,8 +16,8 @@ LICENSE="POSTGRESQL"
SLOT="$(get_version_component_range 1-2)"
IUSE_LINGUAS="
linguas_cs linguas_de linguas_es linguas_fr linguas_hr linguas_hu
- linguas_pt_BR linguas_ru linguas_sv linguas_tr linguas_zh_CN
- linguas_zh_TW"
+ linguas_it linguas_nb linguas_pt_BR linguas_ru linguas_sl linguas_sv
+ linguas_tr linguas_zh_CN linguas_zh_TW"
IUSE="doc perl python selinux tcl xml nls kernel_linux ${IUSE_LINGUAS}"
wanted_languages() {
@@ -36,32 +35,30 @@ RDEPEND="~dev-db/postgresql-base-${PV}:${SLOT}
DEPEND="${RDEPEND}
sys-devel/flex
xml? ( dev-util/pkgconfig )"
-PDEPEND="doc? ( dev-db/postgresql-docs:${SLOT} )"
+PDEPEND="doc? ( ~dev-db/postgresql-docs-${PV} )"
S="${WORKDIR}/postgresql-${PV}"
pkg_setup() {
enewgroup postgres 70
- enewuser postgres 70 /bin/bash /var/lib postgres
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres
}
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
+src_prepare() {
+ # vacuum-delay patch doesn't apply anymore
epatch "${FILESDIR}/postgresql-${PV}-autoconf.patch" \
"${FILESDIR}/postgresql-${SLOT}-server.patch" \
- "${FILESDIR}/postgresql-${SLOT}-cubeparse.patch"
+ "${FILESDIR}/postgresql-${SLOT}-hppa.patch" \
+ "${FILESDIR}/postgresql-${SLOT}-com_err.patch"
- if hasq test ${FEATURES}; then
+ if use test; then
epatch "${FILESDIR}/postgresql-${SLOT}-regress.patch"
fi
- eautoconf
+ eautoreconf
}
-src_compile() {
-
+src_configure() {
# eval is needed to get along with pg_config quotation of space-rich entities.
eval econf "$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --configure)" \
$(use_with perl) \
@@ -69,11 +66,13 @@ src_compile() {
$(use_with tcl) \
--with-includes="/usr/include/postgresql-${SLOT}/" \
--with-libs="/usr/$(get_libdir)/postgresql-${SLOT}/$(get_libdir)/" \
- "$(built_with_use ~dev-db/postgresql-base-${PV} nls && use_enable nls nls "$(wanted_languages)")" \
+ "$(has_version ~dev-db/postgresql-base-${PV}[nls] && use_enable nls nls "$(wanted_languages)")" \
"CFLAGS='${CFLAGS} $(use xml && pkg-config --cflags libxml-2.0)'" \
- "LIBS='${LIBS} $(use xml && pkg-config --libs libxml-2.0) -L/usr/$(get_libdir)/postgresql-${SLOT}/$(get_libdir)'" \
+ "LIBS='${LIBS} -lpq $(use xml && pkg-config --libs libxml-2.0) -L/usr/$(get_libdir)/postgresql-${SLOT}/$(get_libdir)'" \
|| die "configure failed"
+}
+src_compile() {
for bd in . contrib $(use xml && echo contrib/xml) ; do
PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
emake -C $bd -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" \
@@ -93,7 +92,8 @@ src_install() {
emake install -C $bd -j1 DESTDIR="${D}" \
docdir=/usr/share/doc/${PF} SLOT=${SLOT} || die "emake install in $bd failed"
done
- rm -rf "${D}/usr/share/postgresql-${SLOT}/man/man7/"
+
+ rm -rf "${D}/usr/share/postgresql-${SLOT}/man/man7/" "${D}/usr/share/doc/${PF}/html"
rm "${D}"/usr/share/postgresql-${SLOT}/man/man1/{clusterdb,create{db,lang,user},drop{db,lang,user},ecpg,pg_{config,dump,dumpall,restore},psql,vacuumdb,pgtksh,pgtclsh}.1
dodoc README HISTORY doc/{README.*,TODO,bug.template}
@@ -107,8 +107,7 @@ src_install() {
newinitd "${FILESDIR}/postgresql.init-${SLOT}" postgresql-${SLOT} || die "Inserting init.d-file failed"
newconfd "${FILESDIR}/postgresql.conf-${SLOT}" postgresql-${SLOT} || die "Inserting conf.d-file failed"
- # Workaround for paludis
- [ -f "${ROOT}/var/run/postgresql/.keep" ] || keepdir /var/run/postgresql
+ keepdir /var/run/postgresql
fperms 0770 /var/run/postgresql
fowners postgres:postgres /var/run/postgresql
}
@@ -138,8 +137,62 @@ pkg_postrm() {
}
pkg_config() {
+ [[ -f /etc/conf.d/postgresql-${SLOT} ]] && source /etc/conf.d/postgresql-${SLOT}
[[ -z "${PGDATA}" ]] && PGDATA="/var/lib/postgresql/${SLOT}/data"
+ if [ -z "${PG_INITDB_OPTS}" ]; then
+ if [ -f /etc/env.d/02locale ]; then
+ source /etc/env.d/02locale
+ [ -n "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="--locale=$LC_ALL"
+ [ -n "${LC_COLLATE}" -a "${LC_COLLATE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-collate=${LC_COLLATE}"
+ [ -n "${LC_CTYPE}" -a "${LC_CTYPE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-ctype=${LC_CTYPE}"
+ [ -n "${LC_MESSAGES}" -a "${LC_MESSAGES}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-messages=${LC_MESSAGES}"
+ [ -n "${LC_MONETARY}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-monetary=${LC_MONETARY}"
+ [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-numeric=${LC_NUMERIC}"
+ [ -n "${LC_TIME}" -a "${LC_TIME}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-time=${LC_TIME}"
+ fi
+ if [ -n "$PG_INITDB_OPTS" ]; then
+ einfo "Locale info set from /etc/env.d/02locale"
+ else
+ eerror "You must set PG_INITDB_OPTS in /etc/conf.d/postgresql-${SLOT}"
+ eerror " More knfo: http://www.postgresql.org/docs/${SLOT}/static/locale.html"
+ eerror "Or, you must localize this system."
+ eerror " More info: http://www.gentoo.org/doc/en/guide-localization.xml"
+ die "No locale variables found."
+ fi
+ else
+ einfo "PG_INITDB_OPTS set in /etc/conf.d/postgresql-${SLOT}"
+ fi
+
+ # Matches C, POSIX, or locale codes as described in "locale -a"
+ # This could probably use a little work, but is sufficient.
+ MATCHSTRING="([cC]|[pP][oO][sS][iI][xX]|[a-z][a-z]_[A-Z][A-Z]\.[[:alnum:]_-]+)"
+ # Test that at the very least --locale is present as it sets the default
+ # locale and encoding to be used for the server. If not, check to make sure
+ # the other six variables are set.
+ if [[ $PG_INITDB_OPTS =~ .*--locale=$MATCHSTRING ]] || (
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-collate=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-ctype=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-messages=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-monetary=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-numeric=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-time=$MATCHSTRING ]]
+ ); then
+ einfo "Locale settings look okay."
+ else
+ eerror "PG_INITDB_OPTS was set in /etc/conf.d/postgresql-${SLOT}"
+ eerror "Or, locales were found in /etc/env.d/02locale"
+ eerror "But, a satisfying match was not found."
+ die "No locale information found or character set not specified."
+ fi
+
einfo "You can pass options to initdb by setting the PG_INITDB_OPTS variable."
einfo "More information can be found here:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
@@ -163,6 +216,11 @@ pkg_config() {
die "cluster already exists"
fi
+ if [[ -f "${PGDATA}/PG_VERSION" ]] ; then
+ eerror "The given directory \"${PGDATA}\" already contains a database cluster."
+ die "cluster already exists"
+ fi
+
[ -z "${PG_MAX_CONNECTIONS}" ] && PG_MAX_CONNECTIONS="128"
einfo "Checking system parameters..."
@@ -193,7 +251,7 @@ pkg_config() {
eerror " - Set SKIP_SYSTEM_TESTS in case you want to ignore this test completely"
eerror "More information can be found here:"
eerror " http://www.postgresql.org/docs/${SLOT}/static/kernel-resources.html"
- die "system test failed"
+ die "System test failed."
fi
done
einfo "Passed."
@@ -221,11 +279,10 @@ pkg_config() {
}
src_test() {
- sed -i \
- -e '/test: horology/d' \
- src/test/regress/{parallel_schedule,serial_schedule} || die "sed failed"
-
einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
emake -j1 check \
PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
diff --git a/dev-db/postgresql-server/postgresql-server-8.0.24.ebuild b/dev-db/postgresql-server/postgresql-server-8.0.24.ebuild
new file mode 100644
index 000000000000..06e27246f6ea
--- /dev/null
+++ b/dev-db/postgresql-server/postgresql-server-8.0.24.ebuild
@@ -0,0 +1,298 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-8.0.24.ebuild,v 1.1 2010/03/16 22:50:49 patrick Exp $
+
+EAPI="2"
+
+WANT_AUTOMAKE="none"
+inherit eutils multilib toolchain-funcs versionator autotools
+
+KEYWORDS="~amd64 ~hppa ~ppc ~x86"
+
+DESCRIPTION="PostgreSQL server"
+HOMEPAGE="http://www.postgresql.org/"
+SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
+LICENSE="POSTGRESQL"
+SLOT="$(get_version_component_range 1-2)"
+IUSE_LINGUAS="
+ linguas_af linguas_cs linguas_de linguas_es linguas_fa linguas_fr
+ linguas_hr linguas_hu linguas_it linguas_ko linguas_nb linguas_pl
+ linguas_pt_BR linguas_ro linguas_ru linguas_sk linguas_sl linguas_sv
+ linguas_tr linguas_zh_CN linguas_zh_TW"
+IUSE="doc perl python selinux tcl xml nls kernel_linux ${IUSE_LINGUAS}"
+
+wanted_languages() {
+ for u in ${IUSE_LINGUAS} ; do
+ use $u && echo -n "${u#linguas_} "
+ done
+}
+
+RDEPEND="~dev-db/postgresql-base-${PV}:${SLOT}
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
+ selinux? ( sec-policy/selinux-postgresql )
+ tcl? ( >=dev-lang/tcl-8 )
+ xml? ( dev-libs/libxml2 dev-libs/libxslt )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ xml? ( dev-util/pkgconfig )"
+PDEPEND="doc? ( ~dev-db/postgresql-docs-${PV} )"
+
+S="${WORKDIR}/postgresql-${PV}"
+
+pkg_setup() {
+ enewgroup postgres 70
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres
+}
+
+src_prepare() {
+
+ epatch "${FILESDIR}/postgresql-${SLOT}-common.patch" \
+ "${FILESDIR}/postgresql-${SLOT}-server.patch"
+
+ if use test; then
+ sed -e "s|/no/such/location|${S}/src/test/regress/tmp_check/no/such/location|g" -i src/test/regress/{input,output}/tablespace.source
+ fi
+
+ eautoconf
+}
+
+src_configure() {
+ # TODO: test if PPC really cannot work with other CFLAGS settings
+ # use ppc && CFLAGS="-pipe -fsigned-char"
+
+ # eval is needed to get along with pg_config quotation of space-rich entities.
+ eval econf "$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --configure)" \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with tcl) \
+ --with-includes="/usr/include/postgresql-${SLOT}/" \
+ "$(has_version ~dev-db/postgresql-base-${PV}[nls] && use_enable nls nls "$(wanted_languages)")" \
+ || die "configure failed"
+}
+
+src_compile() {
+ for bd in . contrib $(use xml && echo contrib/xml2) ; do
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake -C $bd -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake in $bd failed"
+ done
+}
+
+src_install() {
+ if use perl ; then
+ mv -f "${S}/src/pl/plperl/GNUmakefile" "${S}/src/pl/plperl/GNUmakefile_orig"
+ sed -e "s:\$(DESTDIR)\$(plperl_installdir):\$(plperl_installdir):" \
+ "${S}/src/pl/plperl/GNUmakefile_orig" > "${S}/src/pl/plperl/GNUmakefile"
+ fi
+
+ for bd in . contrib $(use xml && echo contrib/xml2) ; do
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake install -C $bd -j1 DESTDIR="${D}" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake install in $bd failed"
+ done
+
+ rm -rf "${D}/usr/share/postgresql-${SLOT}/man/man7/" "${D}/usr/share/doc/${PF}/html"
+ rm "${D}"/usr/share/postgresql-${SLOT}/man/man1/{clusterdb,create{db,lang,user},drop{db,lang,user},ecpg,pg_{config,dump,dumpall,restore},psql,vacuumdb}.1
+
+ dodoc README HISTORY doc/{README.*,TODO,bug.template}
+
+ dodir /etc/eselect/postgresql/slots/${SLOT}
+ cat >"${D}/etc/eselect/postgresql/slots/${SLOT}/service" <<-__EOF__
+ postgres_ebuilds="\${postgres_ebuilds} ${PF}"
+ postgres_service="postgresql-${SLOT}"
+ __EOF__
+
+ newinitd "${FILESDIR}/postgresql.init-${SLOT}" postgresql-${SLOT} || die "Inserting init.d-file failed"
+ newconfd "${FILESDIR}/postgresql.conf-${SLOT}" postgresql-${SLOT} || die "Inserting conf.d-file failed"
+
+ keepdir /var/run/postgresql
+ fperms 0770 /var/run/postgresql
+ fowners postgres:postgres /var/run/postgresql
+}
+
+pkg_postinst() {
+ eselect postgresql update
+ [[ "$(eselect postgresql show)" = "(none)" ]] && eselect postgresql set ${SLOT}
+ [[ "$(eselect postgresql show-service)" = "(none)" ]] && eselect postgresql set-service ${SLOT}
+
+ ewarn "Please note that the standard location of the socket has changed from /tmp"
+ ewarn "to /var/run/postgresql and you have to be in the 'postgres' group to access"
+ ewarn "the socket."
+ ewarn "This can break applications which have the standard location hard-coded."
+ ewarn "If such an application links against the libpq, please re-emerge it,"
+ ewarn "if that doesn't help or the application accesses the socket without using libpq,"
+ ewarn "please file a bug-report."
+ ewarn "You can set PGOPTS='-k /tmp' in /etc/conf.d/postgresql-${SLOT} to restore the original location."
+
+ elog "Execute the following command to setup the initial database environment:"
+ elog
+ elog "emerge --config =${CATEGORY}/${PF}"
+ elog
+}
+
+pkg_postrm() {
+ eselect postgresql update
+}
+
+pkg_config() {
+ [[ -f /etc/conf.d/postgresql-${SLOT} ]] && source /etc/conf.d/postgresql-${SLOT}
+ [[ -z "${PGDATA}" ]] && PGDATA="/var/lib/postgresql/${SLOT}/data"
+
+ if [ -z "${PG_INITDB_OPTS}" ]; then
+ if [ -f /etc/env.d/02locale ]; then
+ source /etc/env.d/02locale
+ [ -n "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="--locale=$LC_ALL"
+ [ -n "${LC_COLLATE}" -a "${LC_COLLATE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-collate=${LC_COLLATE}"
+ [ -n "${LC_CTYPE}" -a "${LC_CTYPE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-ctype=${LC_CTYPE}"
+ [ -n "${LC_MESSAGES}" -a "${LC_MESSAGES}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-messages=${LC_MESSAGES}"
+ [ -n "${LC_MONETARY}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-monetary=${LC_MONETARY}"
+ [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-numeric=${LC_NUMERIC}"
+ [ -n "${LC_TIME}" -a "${LC_TIME}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-time=${LC_TIME}"
+ fi
+ if [ -n "$PG_INITDB_OPTS" ]; then
+ einfo "Locale info set from /etc/env.d/02locale"
+ else
+ eerror "You must set PG_INITDB_OPTS in /etc/conf.d/postgresql-${SLOT}"
+ eerror " More knfo: http://www.postgresql.org/docs/${SLOT}/static/locale.html"
+ eerror "Or, you must localize this system."
+ eerror " More info: http://www.gentoo.org/doc/en/guide-localization.xml"
+ die "No locale variables found."
+ fi
+ else
+ einfo "PG_INITDB_OPTS set in /etc/conf.d/postgresql-${SLOT}"
+ fi
+
+ # Matches C, POSIX, or locale codes as described in "locale -a"
+ # This could probably use a little work, but is sufficient.
+ MATCHSTRING="([cC]|[pP][oO][sS][iI][xX]|[a-z][a-z]_[A-Z][A-Z]\.[[:alnum:]_-]+)"
+ # Test that at the very least --locale is present as it sets the default
+ # locale and encoding to be used for the server. If not, check to make sure
+ # the other six variables are set.
+ if [[ $PG_INITDB_OPTS =~ .*--locale=$MATCHSTRING ]] || (
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-collate=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-ctype=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-messages=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-monetary=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-numeric=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-time=$MATCHSTRING ]]
+ ); then
+ einfo "Locale settings look okay."
+ else
+ eerror "PG_INITDB_OPTS was set in /etc/conf.d/postgresql-${SLOT}"
+ eerror "Or, locales were found in /etc/env.d/02locale"
+ eerror "But, a satisfying match was not found."
+ die "No locale information found or character set not specified."
+ fi
+
+ einfo "You can pass options to initdb by setting the PG_INITDB_OPTS variable."
+ einfo "More information can be found here:"
+ einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo "Simply add the options you would have added to initdb to the PG_INITDB_OPTS variable."
+ einfo
+ einfo "You can change the directory where the database cluster is being created by setting"
+ einfo "the PGDATA variable."
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ einfo " \"${PG_INITDB_OPTS}\""
+ einfo "and the database cluster will be created in:"
+ einfo " \"${PGDATA}\""
+ einfo "Are you ready to continue? (Y/n)"
+ read answer
+ [ -z $answer ] && answer=Y
+ [ "$answer" == "Y" ] || [ "$answer" == "y" ] || die "aborted"
+
+ if [[ -f "${PGDATA}/PG_VERSION" ]] ; then
+ eerror "The given directory \"${PGDATA}\" already contains a database cluster."
+ die "cluster already exists"
+ fi
+
+ if [[ -f "${PGDATA}/PG_VERSION" ]] ; then
+ eerror "The given directory \"${PGDATA}\" already contains a database cluster."
+ die "cluster already exists"
+ fi
+
+ [ -z "${PG_MAX_CONNECTIONS}" ] && PG_MAX_CONNECTIONS="128"
+ einfo "Checking system parameters..."
+
+ if ! use kernel_linux ; then
+ SKIP_SYSTEM_TESTS=yes
+ einfo " Tests not supported on this OS (yet)"
+ fi
+
+ if [ -z ${SKIP_SYSTEM_TESTS} ] ; then
+ einfo "Checking whether your system supports at least ${PG_MAX_CONNECTIONS} connections..."
+
+ local SEMMSL=$(sysctl -n kernel.sem | cut -f1)
+ local SEMMNS=$(sysctl -n kernel.sem | cut -f2)
+ local SEMMNI=$(sysctl -n kernel.sem | cut -f4)
+ local SHMMAX=$(sysctl -n kernel.shmmax)
+
+ local SEMMSL_MIN=17
+ local SEMMNS_MIN=$(( ( ${PG_MAX_CONNECTIONS}/16 ) * 17 ))
+ local SEMMNI_MIN=$(( ( ${PG_MAX_CONNECTIONS}+15 ) / 16 ))
+ local SHMMAX_MIN=$(( 500000 + ( 30600 * ${PG_MAX_CONNECTIONS} ) ))
+
+ for p in SEMMSL SEMMNS SEMMNI SHMMAX ; do
+ if [ $(eval echo \$$p) -lt $(eval echo \$${p}_MIN) ] ; then
+ eerror "The value for ${p} $(eval echo \$$p) is below the recommended value $(eval echo \$${p}_MIN)"
+ eerror "You have now several options:"
+ eerror " - Change the mentioned system parameter"
+ eerror " - Lower the number of max.connections by setting PG_MAX_CONNECTIONS to a value lower than ${PG_MAX_CONNECTIONS}"
+ eerror " - Set SKIP_SYSTEM_TESTS in case you want to ignore this test completely"
+ eerror "More information can be found here:"
+ eerror " http://www.postgresql.org/docs/${SLOT}/static/kernel-resources.html"
+ die "System test failed."
+ fi
+ done
+ einfo "Passed."
+ else
+ einfo "Skipped."
+ fi
+
+ einfo "Creating the data directory ..."
+ mkdir -p "${PGDATA}"
+ chown -Rf postgres:postgres "${PGDATA}"
+ chmod 0700 "${PGDATA}"
+
+ einfo "Initializing the database ..."
+
+ su postgres -c "/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb --pgdata \"${PGDATA}\" ${PG_INITDB_OPTS}"
+
+ einfo
+ einfo "You can use the '${ROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL instead of 'pg_ctl'."
+ einfo
+
+ if [ "${PGDATA}" != "/var/lib/postgresql/${SLOT}/data" ] ; then
+ ewarn "You didn't install the database cluster in the standard location, please make sure that you set"
+ ewarn "PGDATA=\"${PGDATA}\" in the appropriate conf.d file (probably /etc/conf.d/postgresql-${SLOT})"
+ fi
+}
+
+src_test() {
+ sed -i \
+ -e '/test: horology/d' \
+ src/test/regress/{parallel_schedule,serial_schedule} || die "sed failed"
+
+ einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake -j1 check \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 SLOT=${SLOT} || die "Make check failed. See above for details."
+
+ einfo "Yes, there are other tests which could be run."
+ einfo "... and no, we don't plan to add/support them."
+ einfo "For now, the main regressions tests will suffice."
+ einfo "If you think other tests are necessary, please submit a"
+ einfo "bug including a patch for this ebuild to enable them."
+}
diff --git a/dev-db/postgresql-server/postgresql-server-8.1.20.ebuild b/dev-db/postgresql-server/postgresql-server-8.1.20.ebuild
new file mode 100644
index 000000000000..c6e25909145a
--- /dev/null
+++ b/dev-db/postgresql-server/postgresql-server-8.1.20.ebuild
@@ -0,0 +1,292 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-8.1.20.ebuild,v 1.1 2010/03/16 22:50:49 patrick Exp $
+
+EAPI="2"
+
+WANT_AUTOMAKE="none"
+inherit eutils multilib toolchain-funcs versionator autotools
+
+KEYWORDS="~amd64 ~hppa ~x86"
+
+DESCRIPTION="PostgreSQL server"
+HOMEPAGE="http://www.postgresql.org/"
+SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
+LICENSE="POSTGRESQL"
+SLOT="$(get_version_component_range 1-2)"
+IUSE_LINGUAS="
+ linguas_af linguas_cs linguas_de linguas_es linguas_fa linguas_fr
+ linguas_hr linguas_hu linguas_it linguas_ko linguas_nb linguas_pl
+ linguas_pt_BR linguas_ro linguas_ru linguas_sk linguas_sl linguas_sv
+ linguas_tr linguas_zh_CN linguas_zh_TW"
+IUSE="doc perl python selinux tcl xml nls kernel_linux ${IUSE_LINGUAS}"
+
+wanted_languages() {
+ for u in ${IUSE_LINGUAS} ; do
+ use $u && echo -n "${u#linguas_} "
+ done
+}
+
+RDEPEND="~dev-db/postgresql-base-${PV}:${SLOT}
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
+ selinux? ( sec-policy/selinux-postgresql )
+ tcl? ( >=dev-lang/tcl-8 )
+ xml? ( dev-libs/libxml2 dev-libs/libxslt )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ xml? ( dev-util/pkgconfig )"
+PDEPEND="doc? ( ~dev-db/postgresql-docs-${PV} )"
+
+S="${WORKDIR}/postgresql-${PV}"
+
+pkg_setup() {
+ enewgroup postgres 70
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres
+}
+
+src_prepare() {
+
+ epatch "${FILESDIR}/postgresql-${SLOT}-common.patch" \
+ "${FILESDIR}/postgresql-${SLOT}-server.patch"
+
+ if use test; then
+ sed -e "s|/no/such/location|${S}/src/test/regress/tmp_check/no/such/location|g" -i src/test/regress/{input,output}/tablespace.source
+ fi
+
+ eautoconf
+}
+
+src_configure() {
+ # TODO: test if PPC really cannot work with other CFLAGS settings
+ # use ppc && CFLAGS="-pipe -fsigned-char"
+
+ # eval is needed to get along with pg_config quotation of space-rich entities.
+ eval econf "$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --configure)" \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with tcl) \
+ --with-includes="/usr/include/postgresql-${SLOT}/" \
+ "$(has_version ~dev-db/postgresql-base-${PV}[nls] && use_enable nls nls "$(wanted_languages)")" \
+ || die "configure failed"
+}
+
+src_compile() {
+ for bd in . contrib $(use xml && echo contrib/xml2) ; do
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake -C $bd -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake in $bd failed"
+ done
+}
+
+src_install() {
+ if use perl ; then
+ mv -f "${S}/src/pl/plperl/GNUmakefile" "${S}/src/pl/plperl/GNUmakefile_orig"
+ sed -e "s:\$(DESTDIR)\$(plperl_installdir):\$(plperl_installdir):" \
+ "${S}/src/pl/plperl/GNUmakefile_orig" > "${S}/src/pl/plperl/GNUmakefile"
+ fi
+
+ for bd in . contrib $(use xml && echo contrib/xml2) ; do
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake install -C $bd -j1 DESTDIR="${D}" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake install in $bd failed"
+ done
+
+ rm -rf "${D}/usr/share/postgresql-${SLOT}/man/man7/" "${D}/usr/share/doc/${PF}/html"
+ rm "${D}"/usr/share/postgresql-${SLOT}/man/man1/{clusterdb,create{db,lang,user},drop{db,lang,user},ecpg,pg_{config,dump,dumpall,restore},psql,reindexdb,vacuumdb}.1
+
+ dodoc README HISTORY doc/{README.*,TODO,bug.template}
+
+ dodir /etc/eselect/postgresql/slots/${SLOT}
+ cat >"${D}/etc/eselect/postgresql/slots/${SLOT}/service" <<-__EOF__
+ postgres_ebuilds="\${postgres_ebuilds} ${PF}"
+ postgres_service="postgresql-${SLOT}"
+ __EOF__
+
+ newinitd "${FILESDIR}/postgresql.init-${SLOT}" postgresql-${SLOT} || die "Inserting init.d-file failed"
+ newconfd "${FILESDIR}/postgresql.conf-${SLOT}" postgresql-${SLOT} || die "Inserting conf.d-file failed"
+
+ keepdir /var/run/postgresql
+ fperms 0770 /var/run/postgresql
+ fowners postgres:postgres /var/run/postgresql
+}
+
+pkg_postinst() {
+ eselect postgresql update
+ [[ "$(eselect postgresql show)" = "(none)" ]] && eselect postgresql set ${SLOT}
+ [[ "$(eselect postgresql show-service)" = "(none)" ]] && eselect postgresql set-service ${SLOT}
+
+ ewarn "Please note that the standard location of the socket has changed from /tmp"
+ ewarn "to /var/run/postgresql and you have to be in the 'postgres' group to access"
+ ewarn "the socket."
+ ewarn "This can break applications which have the standard location hard-coded."
+ ewarn "If such an application links against the libpq, please re-emerge it,"
+ ewarn "if that doesn't help or the application accesses the socket without using libpq,"
+ ewarn "please file a bug-report."
+ ewarn "You can set PGOPTS='-k /tmp' in /etc/conf.d/postgresql-${SLOT} to restore the original location."
+
+ elog "Execute the following command to setup the initial database environment:"
+ elog
+ elog "emerge --config =${CATEGORY}/${PF}"
+ elog
+ elog "The autovacuum function, which was in contrib, has been moved to the main"
+ elog "PostgreSQL functions starting with 8.1."
+ elog "You can enable it in the clusters postgresql.conf."
+}
+
+pkg_postrm() {
+ eselect postgresql update
+}
+
+pkg_config() {
+ [[ -f /etc/conf.d/postgresql-${SLOT} ]] && source /etc/conf.d/postgresql-${SLOT}
+ [[ -z "${PGDATA}" ]] && PGDATA="/var/lib/postgresql/${SLOT}/data"
+
+ if [ -z "${PG_INITDB_OPTS}" ]; then
+ if [ -f /etc/env.d/02locale ]; then
+ source /etc/env.d/02locale
+ [ -n "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="--locale=$LC_ALL"
+ [ -n "${LC_COLLATE}" -a "${LC_COLLATE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-collate=${LC_COLLATE}"
+ [ -n "${LC_CTYPE}" -a "${LC_CTYPE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-ctype=${LC_CTYPE}"
+ [ -n "${LC_MESSAGES}" -a "${LC_MESSAGES}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-messages=${LC_MESSAGES}"
+ [ -n "${LC_MONETARY}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-monetary=${LC_MONETARY}"
+ [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-numeric=${LC_NUMERIC}"
+ [ -n "${LC_TIME}" -a "${LC_TIME}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-time=${LC_TIME}"
+ fi
+ if [ -n "$PG_INITDB_OPTS" ]; then
+ einfo "Locale info set from /etc/env.d/02locale"
+ else
+ eerror "You must set PG_INITDB_OPTS in /etc/conf.d/postgresql-${SLOT}"
+ eerror " More knfo: http://www.postgresql.org/docs/${SLOT}/static/locale.html"
+ eerror "Or, you must localize this system."
+ eerror " More info: http://www.gentoo.org/doc/en/guide-localization.xml"
+ die "No locale variables found."
+ fi
+ else
+ einfo "PG_INITDB_OPTS set in /etc/conf.d/postgresql-${SLOT}"
+ fi
+
+ # Matches C, POSIX, or locale codes as described in "locale -a"
+ # This could probably use a little work, but is sufficient.
+ MATCHSTRING="([cC]|[pP][oO][sS][iI][xX]|[a-z][a-z]_[A-Z][A-Z]\.[[:alnum:]_-]+)"
+ # Test that at the very least --locale is present as it sets the default
+ # locale and encoding to be used for the server. If not, check to make sure
+ # the other six variables are set.
+ if [[ $PG_INITDB_OPTS =~ .*--locale=$MATCHSTRING ]] || (
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-collate=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-ctype=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-messages=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-monetary=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-numeric=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-time=$MATCHSTRING ]]
+ ); then
+ einfo "Locale settings look okay."
+ else
+ eerror "PG_INITDB_OPTS was set in /etc/conf.d/postgresql-${SLOT}"
+ eerror "Or, locales were found in /etc/env.d/02locale"
+ eerror "But, a satisfying match was not found."
+ die "No locale information found or character set not specified."
+ fi
+
+ einfo "You can pass options to initdb by setting the PG_INITDB_OPTS variable."
+ einfo "More information can be found here:"
+ einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo "Simply add the options you would have added to initdb to the PG_INITDB_OPTS variable."
+ einfo
+ einfo "You can change the directory where the database cluster is being created by setting"
+ einfo "the PGDATA variable."
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ einfo " \"${PG_INITDB_OPTS}\""
+ einfo "and the database cluster will be created in:"
+ einfo " \"${PGDATA}\""
+ einfo "Are you ready to continue? (Y/n)"
+ read answer
+ [ -z $answer ] && answer=Y
+ [ "$answer" == "Y" ] || [ "$answer" == "y" ] || die "aborted"
+
+ if [[ -f "${PGDATA}/PG_VERSION" ]] ; then
+ eerror "The given directory \"${PGDATA}\" already contains a database cluster."
+ die "cluster already exists"
+ fi
+
+ [ -z "${PG_MAX_CONNECTIONS}" ] && PG_MAX_CONNECTIONS="128"
+ einfo "Checking system parameters..."
+
+ if ! use kernel_linux ; then
+ SKIP_SYSTEM_TESTS=yes
+ einfo " Tests not supported on this OS (yet)"
+ fi
+
+ if [ -z ${SKIP_SYSTEM_TESTS} ] ; then
+ einfo "Checking whether your system supports at least ${PG_MAX_CONNECTIONS} connections..."
+
+ local SEMMSL=$(sysctl -n kernel.sem | cut -f1)
+ local SEMMNS=$(sysctl -n kernel.sem | cut -f2)
+ local SEMMNI=$(sysctl -n kernel.sem | cut -f4)
+ local SHMMAX=$(sysctl -n kernel.shmmax)
+
+ local SEMMSL_MIN=17
+ local SEMMNS_MIN=$(( ( ${PG_MAX_CONNECTIONS}/16 ) * 17 ))
+ local SEMMNI_MIN=$(( ( ${PG_MAX_CONNECTIONS}+15 ) / 16 ))
+ local SHMMAX_MIN=$(( 500000 + ( 30600 * ${PG_MAX_CONNECTIONS} ) ))
+
+ for p in SEMMSL SEMMNS SEMMNI SHMMAX ; do
+ if [ $(eval echo \$$p) -lt $(eval echo \$${p}_MIN) ] ; then
+ eerror "The value for ${p} $(eval echo \$$p) is below the recommended value $(eval echo \$${p}_MIN)"
+ eerror "You have now several options:"
+ eerror " - Change the mentioned system parameter"
+ eerror " - Lower the number of max.connections by setting PG_MAX_CONNECTIONS to a value lower than ${PG_MAX_CONNECTIONS}"
+ eerror " - Set SKIP_SYSTEM_TESTS in case you want to ignore this test completely"
+ eerror "More information can be found here:"
+ eerror " http://www.postgresql.org/docs/${SLOT}/static/kernel-resources.html"
+ die "System test failed."
+ fi
+ done
+ einfo "Passed."
+ else
+ einfo "Skipped."
+ fi
+
+ einfo "Creating the data directory ..."
+ mkdir -p "${PGDATA}"
+ chown -Rf postgres:postgres "${PGDATA}"
+ chmod 0700 "${PGDATA}"
+
+ einfo "Initializing the database ..."
+
+ su postgres -c "/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb --pgdata \"${PGDATA}\" ${PG_INITDB_OPTS}"
+
+ einfo
+ einfo "You can use the '${ROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL instead of 'pg_ctl'."
+ einfo
+
+ if [ "${PGDATA}" != "/var/lib/postgresql/${SLOT}/data" ] ; then
+ ewarn "You didn't install the database cluster in the standard location, please make sure that you set"
+ ewarn "PGDATA=\"${PGDATA}\" in the appropriate conf.d file (probably /etc/conf.d/postgresql-${SLOT})"
+ fi
+}
+
+src_test() {
+ einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake -j1 check \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 SLOT=${SLOT} || die "Make check failed. See above for details."
+
+ einfo "Yes, there are other tests which could be run."
+ einfo "... and no, we don't plan to add/support them."
+ einfo "For now, the main regressions tests will suffice."
+ einfo "If you think other tests are necessary, please submit a"
+ einfo "bug including a patch for this ebuild to enable them."
+}
diff --git a/dev-db/postgresql-server/postgresql-server-8.2.16.ebuild b/dev-db/postgresql-server/postgresql-server-8.2.16.ebuild
new file mode 100644
index 000000000000..ef2c4152ba25
--- /dev/null
+++ b/dev-db/postgresql-server/postgresql-server-8.2.16.ebuild
@@ -0,0 +1,297 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-8.2.16.ebuild,v 1.1 2010/03/16 22:50:49 patrick Exp $
+
+EAPI="2"
+
+WANT_AUTOMAKE="none"
+inherit eutils multilib toolchain-funcs versionator autotools
+
+KEYWORDS="~amd64 ~hppa ~ppc ~x86"
+
+DESCRIPTION="PostgreSQL server"
+HOMEPAGE="http://www.postgresql.org/"
+SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
+LICENSE="POSTGRESQL"
+SLOT="$(get_version_component_range 1-2)"
+IUSE_LINGUAS="
+ linguas_af linguas_cs linguas_de linguas_es linguas_fa linguas_fr
+ linguas_hr linguas_hu linguas_it linguas_ko linguas_nb linguas_pl
+ linguas_pt_BR linguas_ro linguas_ru linguas_sk linguas_sl linguas_sv
+ linguas_tr linguas_zh_CN linguas_zh_TW"
+IUSE="doc perl python selinux tcl xml nls kernel_linux ${IUSE_LINGUAS}"
+
+wanted_languages() {
+ for u in ${IUSE_LINGUAS} ; do
+ use $u && echo -n "${u#linguas_} "
+ done
+}
+
+RDEPEND="~dev-db/postgresql-base-${PV}:${SLOT}
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
+ selinux? ( sec-policy/selinux-postgresql )
+ tcl? ( >=dev-lang/tcl-8 )
+ xml? ( dev-libs/libxml2 dev-libs/libxslt )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ xml? ( dev-util/pkgconfig )"
+PDEPEND="doc? ( ~dev-db/postgresql-docs-${PV} )"
+
+S="${WORKDIR}/postgresql-${PV}"
+
+pkg_setup() {
+ enewgroup postgres 70
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres
+}
+
+src_prepare() {
+
+ epatch "${FILESDIR}/postgresql-${SLOT}-common.patch" \
+ "${FILESDIR}/postgresql-${SLOT}-server.patch"
+
+ if use test; then
+ sed -e "s|/no/such/location|${S}/src/test/regress/tmp_check/no/such/location|g" -i src/test/regress/{input,output}/tablespace.source
+ else
+ echo "all install:" > "${S}/src/test/regress/GNUmakefile"
+ fi
+
+ eautoconf
+}
+
+src_configure() {
+ # TODO: test if PPC really cannot work with other CFLAGS settings
+ # use ppc && CFLAGS="-pipe -fsigned-char"
+
+ # eval is needed to get along with pg_config quotation of space-rich entities.
+ eval econf "$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --configure)" \
+ --disable-thread-safety \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with tcl) \
+ --with-includes="/usr/include/postgresql-${SLOT}/" \
+ "$(has_version ~dev-db/postgresql-base-${PV}[nls] && use_enable nls nls "$(wanted_languages)")" \
+ || die "configure failed"
+}
+src_compile() {
+ for bd in . contrib $(use xml && echo contrib/xml2); do
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake -C $bd -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ PGXS_IN_SERVER=1 PGXS_WITH_SERVER="${S}/src/backend/postgres" \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake in $bd failed"
+ done
+}
+
+src_install() {
+ if use perl ; then
+ mv -f "${S}/src/pl/plperl/GNUmakefile" "${S}/src/pl/plperl/GNUmakefile_orig"
+ sed -e "s:\$(DESTDIR)\$(plperl_installdir):\$(plperl_installdir):" \
+ "${S}/src/pl/plperl/GNUmakefile_orig" > "${S}/src/pl/plperl/GNUmakefile"
+ fi
+
+ for bd in . contrib $(use xml && echo contrib/xml2) ; do
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake install -C $bd -j1 DESTDIR="${D}" \
+ PGXS_IN_SERVER=1 PGXS_WITH_SERVER="${S}/src/backend/postgres" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake install in $bd failed"
+ done
+
+ rm -rf "${D}/usr/share/postgresql-${SLOT}/man/man7/" "${D}/usr/share/doc/${PF}/html"
+ rm "${D}"/usr/share/postgresql-${SLOT}/man/man1/{clusterdb,create{db,lang,user},drop{db,lang,user},ecpg,pg_{config,dump,dumpall,restore},psql,reindexdb,vacuumdb}.1
+
+ dodoc README HISTORY doc/{README.*,TODO,bug.template}
+
+ dodir /etc/eselect/postgresql/slots/${SLOT}
+ cat >"${D}/etc/eselect/postgresql/slots/${SLOT}/service" <<-__EOF__
+ postgres_ebuilds="\${postgres_ebuilds} ${PF}"
+ postgres_service="postgresql-${SLOT}"
+ __EOF__
+
+ newinitd "${FILESDIR}/postgresql.init-${SLOT}" postgresql-${SLOT} || die "Inserting init.d-file failed"
+ newconfd "${FILESDIR}/postgresql.conf-${SLOT}" postgresql-${SLOT} || die "Inserting conf.d-file failed"
+
+ # Workaround for paludis
+ [ -f "${ROOT}/var/run/postgresql/.keep" ] || keepdir /var/run/postgresql
+ fperms 0770 /var/run/postgresql
+ fowners postgres:postgres /var/run/postgresql
+}
+
+pkg_postinst() {
+ eselect postgresql update
+ [[ "$(eselect postgresql show)" = "(none)" ]] && eselect postgresql set ${SLOT}
+ [[ "$(eselect postgresql show-service)" = "(none)" ]] && eselect postgresql set-service ${SLOT}
+
+ ewarn "Please note that the standard location of the socket has changed from /tmp"
+ ewarn "to /var/run/postgresql and you have to be in the 'postgres' group to access"
+ ewarn "the socket."
+ ewarn "This can break applications which have the standard location hard-coded."
+ ewarn "If such an application links against the libpq, please re-emerge it,"
+ ewarn "if that doesn't help or the application accesses the socket without using libpq,"
+ ewarn "please file a bug-report."
+ ewarn "You can set PGOPTS='-k /tmp' in /etc/conf.d/postgresql-${SLOT} to restore the original location."
+
+ elog "Execute the following command to setup the initial database environment:"
+ elog
+ elog "emerge --config =${CATEGORY}/${PF}"
+ elog
+ elog "The autovacuum function, which was in contrib, has been moved to the main"
+ elog "PostgreSQL functions starting with 8.1."
+ elog "You can enable it in the clusters postgresql.conf."
+}
+
+pkg_postrm() {
+ eselect postgresql update
+}
+
+pkg_config() {
+ [[ -f /etc/conf.d/postgresql-${SLOT} ]] && source /etc/conf.d/postgresql-${SLOT}
+ [[ -z "${PGDATA}" ]] && PGDATA="/var/lib/postgresql/${SLOT}/data"
+
+ if [ -z "${PG_INITDB_OPTS}" ]; then
+ if [ -f /etc/env.d/02locale ]; then
+ source /etc/env.d/02locale
+ [ -n "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="--locale=$LC_ALL"
+ [ -n "${LC_COLLATE}" -a "${LC_COLLATE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-collate=${LC_COLLATE}"
+ [ -n "${LC_CTYPE}" -a "${LC_CTYPE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-ctype=${LC_CTYPE}"
+ [ -n "${LC_MESSAGES}" -a "${LC_MESSAGES}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-messages=${LC_MESSAGES}"
+ [ -n "${LC_MONETARY}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-monetary=${LC_MONETARY}"
+ [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-numeric=${LC_NUMERIC}"
+ [ -n "${LC_TIME}" -a "${LC_TIME}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-time=${LC_TIME}"
+ fi
+ if [ -n "$PG_INITDB_OPTS" ]; then
+ einfo "Locale info set from /etc/env.d/02locale"
+ else
+ eerror "You must set PG_INITDB_OPTS in /etc/conf.d/postgresql-${SLOT}"
+ eerror " More knfo: http://www.postgresql.org/docs/${SLOT}/static/locale.html"
+ eerror "Or, you must localize this system."
+ eerror " More info: http://www.gentoo.org/doc/en/guide-localization.xml"
+ die "No locale variables found."
+ fi
+ else
+ einfo "PG_INITDB_OPTS set in /etc/conf.d/postgresql-${SLOT}"
+ fi
+
+ # Matches C, POSIX, or locale codes as described in "locale -a"
+ # This could probably use a little work, but is sufficient.
+ MATCHSTRING="([cC]|[pP][oO][sS][iI][xX]|[a-z][a-z]_[A-Z][A-Z]\.[[:alnum:]_-]+)"
+ # Test that at the very least --locale is present as it sets the default
+ # locale and encoding to be used for the server. If not, check to make sure
+ # the other six variables are set.
+ if [[ $PG_INITDB_OPTS =~ .*--locale=$MATCHSTRING ]] || (
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-collate=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-ctype=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-messages=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-monetary=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-numeric=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-time=$MATCHSTRING ]]
+ ); then
+ einfo "Locale settings look okay."
+ else
+ eerror "PG_INITDB_OPTS was set in /etc/conf.d/postgresql-${SLOT}"
+ eerror "Or, locales were found in /etc/env.d/02locale"
+ eerror "But, a satisfying match was not found."
+ die "No locale information found or character set not specified."
+ fi
+
+ einfo "You can pass options to initdb by setting the PG_INITDB_OPTS variable."
+ einfo "More information can be found here:"
+ einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo "Simply add the options you would have added to initdb to the PG_INITDB_OPTS variable."
+ einfo
+ einfo "You can change the directory where the database cluster is being created by setting"
+ einfo "the PGDATA variable."
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ einfo " \"${PG_INITDB_OPTS}\""
+ einfo "and the database cluster will be created in:"
+ einfo " \"${PGDATA}\""
+ einfo "Are you ready to continue? (Y/n)"
+ read answer
+ [ -z $answer ] && answer=Y
+ [ "$answer" == "Y" ] || [ "$answer" == "y" ] || die "aborted"
+
+ if [[ -f "${PGDATA}/PG_VERSION" ]] ; then
+ eerror "The given directory \"${PGDATA}\" already contains a database cluster."
+ die "cluster already exists"
+ fi
+
+ [ -z "${PG_MAX_CONNECTIONS}" ] && PG_MAX_CONNECTIONS="128"
+ einfo "Checking system parameters..."
+
+ if ! use kernel_linux ; then
+ SKIP_SYSTEM_TESTS=yes
+ einfo " Tests not supported on this OS (yet)"
+ fi
+
+ if [ -z ${SKIP_SYSTEM_TESTS} ] ; then
+ einfo "Checking whether your system supports at least ${PG_MAX_CONNECTIONS} connections..."
+
+ local SEMMSL=$(sysctl -n kernel.sem | cut -f1)
+ local SEMMNS=$(sysctl -n kernel.sem | cut -f2)
+ local SEMMNI=$(sysctl -n kernel.sem | cut -f4)
+ local SHMMAX=$(sysctl -n kernel.shmmax)
+
+ local SEMMSL_MIN=17
+ local SEMMNS_MIN=$(( ( ${PG_MAX_CONNECTIONS}/16 ) * 17 ))
+ local SEMMNI_MIN=$(( ( ${PG_MAX_CONNECTIONS}+15 ) / 16 ))
+ local SHMMAX_MIN=$(( 500000 + ( 30600 * ${PG_MAX_CONNECTIONS} ) ))
+
+ for p in SEMMSL SEMMNS SEMMNI SHMMAX ; do
+ if [ $(eval echo \$$p) -lt $(eval echo \$${p}_MIN) ] ; then
+ eerror "The value for ${p} $(eval echo \$$p) is below the recommended value $(eval echo \$${p}_MIN)"
+ eerror "You have now several options:"
+ eerror " - Change the mentioned system parameter"
+ eerror " - Lower the number of max.connections by setting PG_MAX_CONNECTIONS to a value lower than ${PG_MAX_CONNECTIONS}"
+ eerror " - Set SKIP_SYSTEM_TESTS in case you want to ignore this test completely"
+ eerror "More information can be found here:"
+ eerror " http://www.postgresql.org/docs/${SLOT}/static/kernel-resources.html"
+ die "System test failed."
+ fi
+ done
+ einfo "Passed."
+ else
+ einfo "Skipped."
+ fi
+
+ einfo "Creating the data directory ..."
+ mkdir -p "${PGDATA}"
+ chown -Rf postgres:postgres "${PGDATA}"
+ chmod 0700 "${PGDATA}"
+
+ einfo "Initializing the database ..."
+
+ su postgres -c "/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb --pgdata \"${PGDATA}\" ${PG_INITDB_OPTS}"
+
+ einfo
+ einfo "You can use the '${ROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL instead of 'pg_ctl'."
+ einfo
+
+ if [ "${PGDATA}" != "/var/lib/postgresql/${SLOT}/data" ] ; then
+ ewarn "You didn't install the database cluster in the standard location, please make sure that you set"
+ ewarn "PGDATA=\"${PGDATA}\" in the appropriate conf.d file (probably /etc/conf.d/postgresql-${SLOT})"
+ fi
+}
+
+src_test() {
+ einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake -j1 check \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 SLOT=${SLOT} || die "Make check failed. See above for details."
+
+ einfo "Yes, there are other tests which could be run."
+ einfo "... and no, we don't plan to add/support them."
+ einfo "For now, the main regressions tests will suffice."
+ einfo "If you think other tests are necessary, please submit a"
+ einfo "bug including a patch for this ebuild to enable them."
+}
diff --git a/dev-db/postgresql-server/postgresql-server-8.3.10.ebuild b/dev-db/postgresql-server/postgresql-server-8.3.10.ebuild
new file mode 100644
index 000000000000..390d27fddf66
--- /dev/null
+++ b/dev-db/postgresql-server/postgresql-server-8.3.10.ebuild
@@ -0,0 +1,302 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-8.3.10.ebuild,v 1.1 2010/03/16 22:50:49 patrick Exp $
+
+EAPI="2"
+
+WANT_AUTOMAKE="none"
+inherit eutils multilib toolchain-funcs versionator autotools
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+
+DESCRIPTION="PostgreSQL server"
+HOMEPAGE="http://www.postgresql.org/"
+SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
+LICENSE="POSTGRESQL"
+SLOT="$(get_version_component_range 1-2)"
+IUSE_LINGUAS="
+ linguas_af linguas_cs linguas_de linguas_es linguas_fa linguas_fr
+ linguas_hr linguas_hu linguas_it linguas_ko linguas_nb linguas_pl
+ linguas_pt_BR linguas_ro linguas_ru linguas_sk linguas_sl linguas_sv
+ linguas_tr linguas_zh_CN linguas_zh_TW"
+IUSE="doc perl python selinux tcl uuid xml nls kernel_linux ${IUSE_LINGUAS}"
+
+wanted_languages() {
+ for u in ${IUSE_LINGUAS} ; do
+ use $u && echo -n "${u#linguas_} "
+ done
+}
+
+RDEPEND="~dev-db/postgresql-base-${PV}:${SLOT}
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
+ selinux? ( sec-policy/selinux-postgresql )
+ tcl? ( >=dev-lang/tcl-8 )
+ uuid? ( dev-libs/ossp-uuid )
+ xml? ( dev-libs/libxml2 dev-libs/libxslt )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ xml? ( dev-util/pkgconfig )"
+PDEPEND="doc? ( ~dev-db/postgresql-docs-${PV} )"
+
+S="${WORKDIR}/postgresql-${PV}"
+
+pkg_setup() {
+ enewgroup postgres 70
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres
+}
+
+src_prepare() {
+
+ epatch "${FILESDIR}/postgresql-${SLOT}-common.patch" \
+ "${FILESDIR}/postgresql-${SLOT}-server.patch"
+
+ if use test; then
+ sed -e "s|/no/such/location|${S}/src/test/regress/tmp_check/no/such/location|g" -i src/test/regress/{input,output}/tablespace.source
+ else
+ echo "all install:" > "${S}/src/test/regress/GNUmakefile"
+ fi
+
+ eautoconf
+}
+
+src_configure() {
+ # TODO: test if PPC really cannot work with other CFLAGS settings
+ # use ppc && CFLAGS="-pipe -fsigned-char"
+
+ # eval is needed to get along with pg_config quotation of space-rich entities.
+ eval econf "$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --configure)" \
+ --disable-thread-safety \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with tcl) \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with uuid ossp-uuid) \
+ --with-system-tzdata="/usr/share/zoneinfo" \
+ --with-includes="/usr/include/postgresql-${SLOT}/" \
+ "$(has_version ~dev-db/postgresql-base-${PV}[nls] && use_enable nls nls "$(wanted_languages)")" \
+ || die "configure failed"
+}
+
+src_compile() {
+ for bd in . contrib $(use xml && echo contrib/xml2); do
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake -C $bd -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ PGXS_IN_SERVER=1 PGXS_WITH_SERVER="${S}/src/backend/postgres" \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake in $bd failed"
+ done
+}
+
+src_install() {
+ if use perl ; then
+ mv -f "${S}/src/pl/plperl/GNUmakefile" "${S}/src/pl/plperl/GNUmakefile_orig"
+ sed -e "s:\$(DESTDIR)\$(plperl_installdir):\$(plperl_installdir):" \
+ "${S}/src/pl/plperl/GNUmakefile_orig" > "${S}/src/pl/plperl/GNUmakefile"
+ fi
+
+ for bd in . contrib $(use xml && echo contrib/xml2) ; do
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake install -C $bd -j1 DESTDIR="${D}" \
+ PGXS_IN_SERVER=1 PGXS_WITH_SERVER="${S}/src/backend/postgres" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake install in $bd failed"
+ done
+
+ rm -rf "${D}/usr/share/postgresql-${SLOT}/man/man7/" "${D}/usr/share/doc/${PF}/html"
+ rm "${D}"/usr/share/postgresql-${SLOT}/man/man1/{clusterdb,create{db,lang,user},drop{db,lang,user},ecpg,pg_{config,dump,dumpall,restore},psql,reindexdb,vacuumdb}.1
+
+ dodoc README HISTORY doc/{README.*,TODO,bug.template}
+
+ dodir /etc/eselect/postgresql/slots/${SLOT}
+ cat >"${D}/etc/eselect/postgresql/slots/${SLOT}/service" <<-__EOF__
+ postgres_ebuilds="\${postgres_ebuilds} ${PF}"
+ postgres_service="postgresql-${SLOT}"
+ __EOF__
+
+ newinitd "${FILESDIR}/postgresql.init-${SLOT}" postgresql-${SLOT} || die "Inserting init.d-file failed"
+ newconfd "${FILESDIR}/postgresql.conf-${SLOT}" postgresql-${SLOT} || die "Inserting conf.d-file failed"
+
+ keepdir /var/run/postgresql
+ fperms 0770 /var/run/postgresql
+ fowners postgres:postgres /var/run/postgresql
+}
+
+pkg_postinst() {
+ eselect postgresql update
+ [[ "$(eselect postgresql show)" = "(none)" ]] && eselect postgresql set ${SLOT}
+ [[ "$(eselect postgresql show-service)" = "(none)" ]] && eselect postgresql set-service ${SLOT}
+
+ ewarn "Please note that the standard location of the socket has changed from /tmp"
+ ewarn "to /var/run/postgresql and you have to be in the 'postgres' group to access"
+ ewarn "the socket."
+ ewarn "This can break applications which have the standard location hard-coded."
+ ewarn "If such an application links against the libpq, please re-emerge it,"
+ ewarn "if that doesn't help or the application accesses the socket without using libpq,"
+ ewarn "please file a bug-report."
+ ewarn "You can set PGOPTS='-k /tmp' in /etc/conf.d/postgresql-${SLOT} to restore the original location."
+
+ elog "Execute the following command to setup the initial database environment:"
+ elog
+ elog "emerge --config =${CATEGORY}/${PF}"
+ elog
+ elog "The autovacuum function, which was in contrib, has been moved to the main"
+ elog "PostgreSQL functions starting with 8.1."
+ elog "You can enable it in the clusters postgresql.conf."
+}
+
+pkg_postrm() {
+ eselect postgresql update
+}
+
+pkg_config() {
+ [[ -f /etc/conf.d/postgresql-${SLOT} ]] && source /etc/conf.d/postgresql-${SLOT}
+ [[ -z "${PGDATA}" ]] && PGDATA="/var/lib/postgresql/${SLOT}/data"
+
+ if [ -z "${PG_INITDB_OPTS}" ]; then
+ if [ -f /etc/env.d/02locale ]; then
+ source /etc/env.d/02locale
+ [ -n "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="--locale=$LC_ALL"
+ [ -n "${LC_COLLATE}" -a "${LC_COLLATE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-collate=${LC_COLLATE}"
+ [ -n "${LC_CTYPE}" -a "${LC_CTYPE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-ctype=${LC_CTYPE}"
+ [ -n "${LC_MESSAGES}" -a "${LC_MESSAGES}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-messages=${LC_MESSAGES}"
+ [ -n "${LC_MONETARY}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-monetary=${LC_MONETARY}"
+ [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-numeric=${LC_NUMERIC}"
+ [ -n "${LC_TIME}" -a "${LC_TIME}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-time=${LC_TIME}"
+ fi
+ if [ -n "$PG_INITDB_OPTS" ]; then
+ einfo "Locale info set from /etc/env.d/02locale"
+ else
+ eerror "You must set PG_INITDB_OPTS in /etc/conf.d/postgresql-${SLOT}"
+ eerror " More knfo: http://www.postgresql.org/docs/${SLOT}/static/locale.html"
+ eerror "Or, you must localize this system."
+ eerror " More info: http://www.gentoo.org/doc/en/guide-localization.xml"
+ die "No locale variables found."
+ fi
+ else
+ einfo "PG_INITDB_OPTS set in /etc/conf.d/postgresql-${SLOT}"
+ fi
+
+ # Matches C, POSIX, or locale codes as described in "locale -a"
+ # This could probably use a little work, but is sufficient.
+ MATCHSTRING="([cC]|[pP][oO][sS][iI][xX]|[a-z][a-z]_[A-Z][A-Z]\.[[:alnum:]_-]+)"
+ # Test that at the very least --locale is present as it sets the default
+ # locale and encoding to be used for the server. If not, check to make sure
+ # the other six variables are set.
+ if [[ $PG_INITDB_OPTS =~ .*--locale=$MATCHSTRING ]] || (
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-collate=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-ctype=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-messages=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-monetary=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-numeric=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-time=$MATCHSTRING ]]
+ ); then
+ einfo "Locale settings look okay."
+ else
+ eerror "PG_INITDB_OPTS was set in /etc/conf.d/postgresql-${SLOT}"
+ eerror "Or, locales were found in /etc/env.d/02locale"
+ eerror "But, a satisfying match was not found."
+ die "No locale information found or character set not specified."
+ fi
+
+ einfo "You can pass options to initdb by setting the PG_INITDB_OPTS variable."
+ einfo "More information can be found here:"
+ einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo "Simply add the options you would have added to initdb to the PG_INITDB_OPTS variable."
+ einfo
+ einfo "You can change the directory where the database cluster is being created by setting"
+ einfo "the PGDATA variable."
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ einfo " \"${PG_INITDB_OPTS}\""
+ einfo "and the database cluster will be created in:"
+ einfo " \"${PGDATA}\""
+ einfo "Are you ready to continue? (Y/n)"
+ read answer
+ [ -z $answer ] && answer=Y
+ [ "$answer" == "Y" ] || [ "$answer" == "y" ] || die "aborted"
+
+ if [[ -f "${PGDATA}/PG_VERSION" ]] ; then
+ eerror "The given directory \"${PGDATA}\" already contains a database cluster."
+ die "cluster already exists"
+ fi
+
+ [ -z "${PG_MAX_CONNECTIONS}" ] && PG_MAX_CONNECTIONS="128"
+ einfo "Checking system parameters..."
+
+ if ! use kernel_linux ; then
+ SKIP_SYSTEM_TESTS=yes
+ einfo " Tests not supported on this OS (yet)"
+ fi
+
+ if [ -z ${SKIP_SYSTEM_TESTS} ] ; then
+ einfo "Checking whether your system supports at least ${PG_MAX_CONNECTIONS} connections..."
+
+ local SEMMSL=$(sysctl -n kernel.sem | cut -f1)
+ local SEMMNS=$(sysctl -n kernel.sem | cut -f2)
+ local SEMMNI=$(sysctl -n kernel.sem | cut -f4)
+ local SHMMAX=$(sysctl -n kernel.shmmax)
+
+ local SEMMSL_MIN=17
+ local SEMMNS_MIN=$(( ( ${PG_MAX_CONNECTIONS}/16 ) * 17 ))
+ local SEMMNI_MIN=$(( ( ${PG_MAX_CONNECTIONS}+15 ) / 16 ))
+ local SHMMAX_MIN=$(( 500000 + ( 30600 * ${PG_MAX_CONNECTIONS} ) ))
+
+ for p in SEMMSL SEMMNS SEMMNI SHMMAX ; do
+ if [ $(eval echo \$$p) -lt $(eval echo \$${p}_MIN) ] ; then
+ eerror "The value for ${p} $(eval echo \$$p) is below the recommended value $(eval echo \$${p}_MIN)"
+ eerror "You have now several options:"
+ eerror " - Change the mentioned system parameter"
+ eerror " - Lower the number of max.connections by setting PG_MAX_CONNECTIONS to a value lower than ${PG_MAX_CONNECTIONS}"
+ eerror " - Set SKIP_SYSTEM_TESTS in case you want to ignore this test completely"
+ eerror "More information can be found here:"
+ eerror " http://www.postgresql.org/docs/${SLOT}/static/kernel-resources.html"
+ die "System test failed."
+ fi
+ done
+ einfo "Passed."
+ else
+ einfo "Skipped."
+ fi
+
+ einfo "Creating the data directory ..."
+ mkdir -p "${PGDATA}"
+ chown -Rf postgres:postgres "${PGDATA}"
+ chmod 0700 "${PGDATA}"
+
+ einfo "Initializing the database ..."
+
+ su postgres -c "/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb --pgdata \"${PGDATA}\" ${PG_INITDB_OPTS}"
+
+ einfo
+ einfo "You can use the '${ROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL instead of 'pg_ctl'."
+ einfo
+
+ if [ "${PGDATA}" != "/var/lib/postgresql/${SLOT}/data" ] ; then
+ ewarn "You didn't install the database cluster in the standard location, please make sure that you set"
+ ewarn "PGDATA=\"${PGDATA}\" in the appropriate conf.d file (probably /etc/conf.d/postgresql-${SLOT})"
+ fi
+}
+
+src_test() {
+ einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
+ PATH="/usr/$(get_libdir)/postgresql-${SLOT}/bin:${PATH}" \
+ emake -j1 check \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 SLOT=${SLOT} || die "Make check failed. See above for details."
+
+ einfo "Yes, there are other tests which could be run."
+ einfo "... and no, we don't plan to add/support them."
+ einfo "For now, the main regressions tests will suffice."
+ einfo "If you think other tests are necessary, please submit a"
+ einfo "bug including a patch for this ebuild to enable them."
+}
diff --git a/dev-db/postgresql-server/postgresql-server-8.5_alpha3.ebuild b/dev-db/postgresql-server/postgresql-server-8.4.3.ebuild
index a5d973a63d91..59d36013c456 100644
--- a/dev-db/postgresql-server/postgresql-server-8.5_alpha3.ebuild
+++ b/dev-db/postgresql-server/postgresql-server-8.4.3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-8.5_alpha3.ebuild,v 1.3 2010/02/21 15:59:55 arfrever Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-8.4.3.ebuild,v 1.1 2010/03/16 22:50:49 patrick Exp $
EAPI="2"
PYTHON_DEPEND="python? 2"
@@ -8,7 +8,6 @@ PYTHON_DEPEND="python? 2"
# weird test failures.
RESTRICT="test"
-WANT_AUTOCONF="latest"
WANT_AUTOMAKE="none"
inherit autotools eutils multilib python toolchain-funcs versionator
@@ -16,11 +15,7 @@ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-
DESCRIPTION="PostgreSQL server"
HOMEPAGE="http://www.postgresql.org/"
-
-MY_PV=${PV/_/}
-SRC_URI="mirror://postgresql/source/${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-S=${WORKDIR}/postgresql-${MY_PV}
-
+SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
LICENSE="POSTGRESQL"
SLOT="$(get_version_component_range 1-2)"
IUSE_LINGUAS="
@@ -36,7 +31,7 @@ wanted_languages() {
done
}
-RDEPEND="~dev-db/postgresql-base-${PV}:${SLOT}[pg_legacytimestamp=]
+RDEPEND="~dev-db/postgresql-base-${PV}:${SLOT}[pg_legacytimestamp=,nls=]
perl? ( >=dev-lang/perl-5.6.1-r2 )
python? ( dev-python/egenix-mx-base )
selinux? ( sec-policy/selinux-postgresql )
@@ -46,7 +41,9 @@ RDEPEND="~dev-db/postgresql-base-${PV}:${SLOT}[pg_legacytimestamp=]
DEPEND="${RDEPEND}
sys-devel/flex
xml? ( dev-util/pkgconfig )"
-PDEPEND="doc? ( dev-db/postgresql-docs:${SLOT} )"
+PDEPEND="doc? ( ~dev-db/postgresql-docs-${PV} )"
+
+S="${WORKDIR}/postgresql-${PV}"
pkg_setup() {
enewgroup postgres 70
@@ -59,10 +56,9 @@ pkg_setup() {
src_prepare() {
epatch "${FILESDIR}/postgresql-${SLOT}-common.patch" \
- "${FILESDIR}/postgresql-${SLOT}-server.patch" \
- "${FILESDIR}/postgresql-${SLOT}-makefile.patch"
+ "${FILESDIR}/postgresql-${SLOT}-server.patch"
- if hasq test ${FEATURES}; then
+ if use test; then
sed -e "s|/no/such/location|${S}/src/test/regress/tmp_check/no/such/location|g" -i src/test/regress/{input,output}/tablespace.source
else
echo "all install:" > "${S}/src/test/regress/GNUmakefile"
@@ -77,7 +73,6 @@ src_configure() {
# eval is needed to get along with pg_config quotation of space-rich entities.
eval econf "$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --configure)" \
- --disable-thread-safety \
$(use_with perl) \
$(use_with python) \
$(use_with tcl) \
@@ -87,7 +82,7 @@ src_configure() {
--with-system-tzdata="/usr/share/zoneinfo" \
--with-includes="/usr/include/postgresql-${SLOT}/" \
--with-libraries="/usr/$(get_libdir)/postgresql-${SLOT}/$(get_libdir)" \
- "$(built_with_use ~dev-db/postgresql-base-${PV} nls && use_enable nls nls "$(wanted_languages)")"
+ "$(has_version ~dev-db/postgresql-base-${PV}[nls] && use_enable nls nls "$(wanted_languages)")"
}
src_compile() {
@@ -162,8 +157,62 @@ pkg_postrm() {
}
pkg_config() {
+ [[ -f /etc/conf.d/postgresql-${SLOT} ]] && source /etc/conf.d/postgresql-${SLOT}
[[ -z "${PGDATA}" ]] && PGDATA="/var/lib/postgresql/${SLOT}/data"
+ if [ -z "${PG_INITDB_OPTS}" ]; then
+ if [ -f /etc/env.d/02locale ]; then
+ source /etc/env.d/02locale
+ [ -n "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="--locale=$LC_ALL"
+ [ -n "${LC_COLLATE}" -a "${LC_COLLATE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-collate=${LC_COLLATE}"
+ [ -n "${LC_CTYPE}" -a "${LC_CTYPE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-ctype=${LC_CTYPE}"
+ [ -n "${LC_MESSAGES}" -a "${LC_MESSAGES}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-messages=${LC_MESSAGES}"
+ [ -n "${LC_MONETARY}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-monetary=${LC_MONETARY}"
+ [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-numeric=${LC_NUMERIC}"
+ [ -n "${LC_TIME}" -a "${LC_TIME}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-time=${LC_TIME}"
+ fi
+ if [ -n "$PG_INITDB_OPTS" ]; then
+ einfo "Locale info set from /etc/env.d/02locale"
+ else
+ eerror "You must set PG_INITDB_OPTS in /etc/conf.d/postgresql-${SLOT}"
+ eerror " More knfo: http://www.postgresql.org/docs/${SLOT}/static/locale.html"
+ eerror "Or, you must localize this system."
+ eerror " More info: http://www.gentoo.org/doc/en/guide-localization.xml"
+ die "No locale variables found."
+ fi
+ else
+ einfo "PG_INITDB_OPTS set in /etc/conf.d/postgresql-${SLOT}"
+ fi
+
+ # Matches C, POSIX, or locale codes as described in "locale -a"
+ # This could probably use a little work, but is sufficient.
+ MATCHSTRING="([cC]|[pP][oO][sS][iI][xX]|[a-z][a-z]_[A-Z][A-Z]\.[[:alnum:]_-]+)"
+ # Test that at the very least --locale is present as it sets the default
+ # locale and encoding to be used for the server. If not, check to make sure
+ # the other six variables are set.
+ if [[ $PG_INITDB_OPTS =~ .*--locale=$MATCHSTRING ]] || (
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-collate=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-ctype=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-messages=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-monetary=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-numeric=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-time=$MATCHSTRING ]]
+ ); then
+ einfo "Locale settings look okay."
+ else
+ eerror "PG_INITDB_OPTS was set in /etc/conf.d/postgresql-${SLOT}"
+ eerror "Or, locales were found in /etc/env.d/02locale"
+ eerror "But, a satisfying match was not found."
+ die "No locale information found or character set not specified."
+ fi
+
einfo "You can pass options to initdb by setting the PG_INITDB_OPTS variable."
einfo "More information can be found here:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
@@ -217,7 +266,7 @@ pkg_config() {
eerror " - Set SKIP_SYSTEM_TESTS in case you want to ignore this test completely"
eerror "More information can be found here:"
eerror " http://www.postgresql.org/docs/${SLOT}/static/kernel-resources.html"
- die "system test failed"
+ die "System test failed."
fi
done
einfo "Passed."
diff --git a/dev-db/postgresql-server/postgresql-server-9.0_alpha4.ebuild b/dev-db/postgresql-server/postgresql-server-9.0_alpha4.ebuild
index e880d7a76db2..3c88e11dee10 100644
--- a/dev-db/postgresql-server/postgresql-server-9.0_alpha4.ebuild
+++ b/dev-db/postgresql-server/postgresql-server-9.0_alpha4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-9.0_alpha4.ebuild,v 1.1 2010/02/26 15:48:30 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql-server/postgresql-server-9.0_alpha4.ebuild,v 1.2 2010/03/16 22:50:49 patrick Exp $
EAPI="2"
PYTHON_DEPEND="python? 2"
@@ -8,7 +8,6 @@ PYTHON_DEPEND="python? 2"
# weird test failures.
RESTRICT="test"
-WANT_AUTOCONF="latest"
WANT_AUTOMAKE="none"
inherit autotools eutils multilib python toolchain-funcs versionator
@@ -46,7 +45,7 @@ RDEPEND="~dev-db/postgresql-base-${PV}:${SLOT}[pg_legacytimestamp=]
DEPEND="${RDEPEND}
sys-devel/flex
xml? ( dev-util/pkgconfig )"
-PDEPEND="doc? ( dev-db/postgresql-docs:${SLOT} )"
+PDEPEND="doc? ( ~dev-db/postgresql-docs-${PV} )"
pkg_setup() {
enewgroup postgres 70
@@ -62,7 +61,7 @@ src_prepare() {
"${FILESDIR}/postgresql-${SLOT}-server.patch" \
"${FILESDIR}/postgresql-${SLOT}-makefile.patch"
- if hasq test ${FEATURES}; then
+ if use test; then
sed -e "s|/no/such/location|${S}/src/test/regress/tmp_check/no/such/location|g" -i src/test/regress/{input,output}/tablespace.source
else
echo "all install:" > "${S}/src/test/regress/GNUmakefile"
@@ -87,7 +86,7 @@ src_configure() {
--with-system-tzdata="/usr/share/zoneinfo" \
--with-includes="/usr/include/postgresql-${SLOT}/" \
--with-libraries="/usr/$(get_libdir)/postgresql-${SLOT}/$(get_libdir)" \
- "$(built_with_use ~dev-db/postgresql-base-${PV} nls && use_enable nls nls "$(wanted_languages)")"
+ "$(has_version ~dev-db/postgresql-base-${PV}[nls] && use_enable nls nls "$(wanted_languages)")"
}
src_compile() {
@@ -162,8 +161,62 @@ pkg_postrm() {
}
pkg_config() {
+ [[ -f /etc/conf.d/postgresql-${SLOT} ]] && source /etc/conf.d/postgresql-${SLOT}
[[ -z "${PGDATA}" ]] && PGDATA="/var/lib/postgresql/${SLOT}/data"
+ if [ -z "${PG_INITDB_OPTS}" ]; then
+ if [ -f /etc/env.d/02locale ]; then
+ source /etc/env.d/02locale
+ [ -n "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="--locale=$LC_ALL"
+ [ -n "${LC_COLLATE}" -a "${LC_COLLATE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-collate=${LC_COLLATE}"
+ [ -n "${LC_CTYPE}" -a "${LC_CTYPE}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-ctype=${LC_CTYPE}"
+ [ -n "${LC_MESSAGES}" -a "${LC_MESSAGES}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-messages=${LC_MESSAGES}"
+ [ -n "${LC_MONETARY}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-monetary=${LC_MONETARY}"
+ [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-numeric=${LC_NUMERIC}"
+ [ -n "${LC_TIME}" -a "${LC_TIME}" != "${LC_ALL}" ] &&
+ PG_INITDB_OPTS="${PG_INITDB_OPTS} --lc-time=${LC_TIME}"
+ fi
+ if [ -n "$PG_INITDB_OPTS" ]; then
+ einfo "Locale info set from /etc/env.d/02locale"
+ else
+ eerror "You must set PG_INITDB_OPTS in /etc/conf.d/postgresql-${SLOT}"
+ eerror " More knfo: http://www.postgresql.org/docs/${SLOT}/static/locale.html"
+ eerror "Or, you must localize this system."
+ eerror " More info: http://www.gentoo.org/doc/en/guide-localization.xml"
+ die "No locale variables found."
+ fi
+ else
+ einfo "PG_INITDB_OPTS set in /etc/conf.d/postgresql-${SLOT}"
+ fi
+
+ # Matches C, POSIX, or locale codes as described in "locale -a"
+ # This could probably use a little work, but is sufficient.
+ MATCHSTRING="([cC]|[pP][oO][sS][iI][xX]|[a-z][a-z]_[A-Z][A-Z]\.[[:alnum:]_-]+)"
+ # Test that at the very least --locale is present as it sets the default
+ # locale and encoding to be used for the server. If not, check to make sure
+ # the other six variables are set.
+ if [[ $PG_INITDB_OPTS =~ .*--locale=$MATCHSTRING ]] || (
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-collate=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-ctype=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-messages=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-monetary=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-numeric=$MATCHSTRING ]] &&
+ [[ "${PG_INITDB_OPTS}" =~ .*--lc-time=$MATCHSTRING ]]
+ ); then
+ einfo "Locale settings look okay."
+ else
+ eerror "PG_INITDB_OPTS was set in /etc/conf.d/postgresql-${SLOT}"
+ eerror "Or, locales were found in /etc/env.d/02locale"
+ eerror "But, a satisfying match was not found."
+ die "No locale information found or character set not specified."
+ fi
+
einfo "You can pass options to initdb by setting the PG_INITDB_OPTS variable."
einfo "More information can be found here:"
einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
@@ -217,7 +270,7 @@ pkg_config() {
eerror " - Set SKIP_SYSTEM_TESTS in case you want to ignore this test completely"
eerror "More information can be found here:"
eerror " http://www.postgresql.org/docs/${SLOT}/static/kernel-resources.html"
- die "system test failed"
+ die "System test failed."
fi
done
einfo "Passed."