summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Jackson <mjolnir@gentoo.org>2008-01-20 00:07:26 +0000
committerMartin Jackson <mjolnir@gentoo.org>2008-01-20 00:07:26 +0000
commit59f8d2729743ae50bae26094be635a298a6b374e (patch)
tree7bb98170342da19ec6ae2432836e2c0bf95afbd0 /dev-db/postgresql
parentEbuild touchup. (diff)
downloadgentoo-2-59f8d2729743ae50bae26094be635a298a6b374e.tar.gz
gentoo-2-59f8d2729743ae50bae26094be635a298a6b374e.tar.bz2
gentoo-2-59f8d2729743ae50bae26094be635a298a6b374e.zip
Remove vulnerable versions for #204760
(Portage version: 2.1.4)
Diffstat (limited to 'dev-db/postgresql')
-rw-r--r--dev-db/postgresql/ChangeLog9
-rw-r--r--dev-db/postgresql/files/digest-postgresql-7.3.1912
-rw-r--r--dev-db/postgresql/files/digest-postgresql-7.4.1712
-rw-r--r--dev-db/postgresql/files/digest-postgresql-8.0.1312
-rw-r--r--dev-db/postgresql/files/postgresql-7.3.19-cubeparse.patch36
-rw-r--r--dev-db/postgresql/files/postgresql-7.4.17-hppa-testandset.patch50
-rw-r--r--dev-db/postgresql/files/postgresql-8.0.13-sh.patch34
-rw-r--r--dev-db/postgresql/postgresql-7.3.19.ebuild249
-rw-r--r--dev-db/postgresql/postgresql-7.4.17.ebuild276
-rw-r--r--dev-db/postgresql/postgresql-8.0.13.ebuild272
10 files changed, 8 insertions, 954 deletions
diff --git a/dev-db/postgresql/ChangeLog b/dev-db/postgresql/ChangeLog
index 6497fddefa7c..f837d7a3d1cf 100644
--- a/dev-db/postgresql/ChangeLog
+++ b/dev-db/postgresql/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-db/postgresql
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.372 2008/01/16 15:57:42 welp Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.373 2008/01/20 00:07:25 mjolnir Exp $
+
+ 20 Jan 2008; Martin Jackson <mjolnir@gentoo.org>
+ -files/postgresql-7.3.19-cubeparse.patch,
+ -files/postgresql-7.4.17-hppa-testandset.patch,
+ -files/postgresql-8.0.13-sh.patch, -postgresql-7.3.19.ebuild,
+ -postgresql-7.4.17.ebuild, -postgresql-8.0.13.ebuild:
+ Remove vulnerable versions for #204760
16 Jan 2008; Peter Weller <welp@gentoo.org> postgresql-7.4.19.ebuild:
Stable on amd64; bug 204760
diff --git a/dev-db/postgresql/files/digest-postgresql-7.3.19 b/dev-db/postgresql/files/digest-postgresql-7.3.19
deleted file mode 100644
index 770e85467eac..000000000000
--- a/dev-db/postgresql/files/digest-postgresql-7.3.19
+++ /dev/null
@@ -1,12 +0,0 @@
-MD5 b9b2dca0468bafff72486bd54812c317 postgresql-base-7.3.19.tar.bz2 5691127
-RMD160 802bbba70d1368097a74de6b67589ab9645597cc postgresql-base-7.3.19.tar.bz2 5691127
-SHA256 1804e0424e4444f67acfb98b4e4ad2ede26748d1ddb4a9201cbff7627e394e6a postgresql-base-7.3.19.tar.bz2 5691127
-MD5 de4888125bef49f9f53824d4f9ae7bf6 postgresql-docs-7.3.19.tar.bz2 2365906
-RMD160 acad805217a5b16badc5ea1c5f88e2780d48e849 postgresql-docs-7.3.19.tar.bz2 2365906
-SHA256 0a4910cf776b6be8017eaf68a60c541be59288079fe5696d955bdace22ebde0a postgresql-docs-7.3.19.tar.bz2 2365906
-MD5 1fe88fa959492155518787c0eb197b14 postgresql-opt-7.3.19.tar.bz2 342076
-RMD160 7ee1dea5c906d88ba3384ea805368a9dcb8af47d postgresql-opt-7.3.19.tar.bz2 342076
-SHA256 2735bceed9f0d27befb3ec26b5d76f9272da1cdf2434ceb9d68327494912017f postgresql-opt-7.3.19.tar.bz2 342076
-MD5 a0958b2352586b7cd4083f46e1ba1ae8 postgresql-test-7.3.19.tar.bz2 891109
-RMD160 4f5ee0f9c4dd86b6ee54a818e25e929c2fc2334f postgresql-test-7.3.19.tar.bz2 891109
-SHA256 8df80f3fb5f61d61fe6348e037c614b3c0f2114ae5c8a7f3050b5fadde517ba3 postgresql-test-7.3.19.tar.bz2 891109
diff --git a/dev-db/postgresql/files/digest-postgresql-7.4.17 b/dev-db/postgresql/files/digest-postgresql-7.4.17
deleted file mode 100644
index d0643a9588ab..000000000000
--- a/dev-db/postgresql/files/digest-postgresql-7.4.17
+++ /dev/null
@@ -1,12 +0,0 @@
-MD5 c513ae755abd4fb011378351be9e1ba0 postgresql-base-7.4.17.tar.bz2 6609512
-RMD160 cd5aed1fb45cc42e12cca0cd31174b6726dae97b postgresql-base-7.4.17.tar.bz2 6609512
-SHA256 f1b7ff754ccb43d4a3a62a9124b1c8ac215e48e5549e620bfcde59124c6f1bc5 postgresql-base-7.4.17.tar.bz2 6609512
-MD5 e9a33e70add61f6a1018870c88dbf0ea postgresql-docs-7.4.17.tar.bz2 2434028
-RMD160 a7470801732f7458c4a6dec6b441b151a2963d88 postgresql-docs-7.4.17.tar.bz2 2434028
-SHA256 855b08821fa06cce280d63c1c57a1a51cc02eee1af0a53ba9a550cc3e66c2696 postgresql-docs-7.4.17.tar.bz2 2434028
-MD5 43a87be48f3e43c5fce957af000bff60 postgresql-opt-7.4.17.tar.bz2 333513
-RMD160 55b7d1c9900f590d778c915d586d8cafd14dc633 postgresql-opt-7.4.17.tar.bz2 333513
-SHA256 8ff6ca8f726ce39d873d495273c31ceb3d647d75a85a7940b38d38ae7b2eff3e postgresql-opt-7.4.17.tar.bz2 333513
-MD5 493b0b142f0ca6fb52dbdfc5c32e0c5b postgresql-test-7.4.17.tar.bz2 902524
-RMD160 5d2580ac74e01a65d9c00bc7a2900630e2c5720d postgresql-test-7.4.17.tar.bz2 902524
-SHA256 0486999f89b38996c15a91a66638f40718d5fb702ac592f4f2a22e9377b6b6bf postgresql-test-7.4.17.tar.bz2 902524
diff --git a/dev-db/postgresql/files/digest-postgresql-8.0.13 b/dev-db/postgresql/files/digest-postgresql-8.0.13
deleted file mode 100644
index 1a68a72fc3b7..000000000000
--- a/dev-db/postgresql/files/digest-postgresql-8.0.13
+++ /dev/null
@@ -1,12 +0,0 @@
-MD5 d3b5185dc6a12f2443f06f83cdee03d0 postgresql-base-8.0.13.tar.bz2 7848290
-RMD160 de34ef01b76d777e9b22bcd16dd29328a11d35cf postgresql-base-8.0.13.tar.bz2 7848290
-SHA256 5627ad76e6a6c8eb85c1debe5fce2c12b42611434dabe0fd5763b8a72c7ac49d postgresql-base-8.0.13.tar.bz2 7848290
-MD5 877fc8417555cff0a889d38013afefd6 postgresql-docs-8.0.13.tar.bz2 2271196
-RMD160 fdb9775d082da9c10aebb9394d84c55cfea3f4d7 postgresql-docs-8.0.13.tar.bz2 2271196
-SHA256 a703a22b11288eb20b5c4f28e34cfeeed11c730cebf51671049ad37ace5e204d postgresql-docs-8.0.13.tar.bz2 2271196
-MD5 824caf8451dec685a0d5886eb4892807 postgresql-opt-8.0.13.tar.bz2 134769
-RMD160 f3fb741c5dcff23045a58baf57f4386099e3c563 postgresql-opt-8.0.13.tar.bz2 134769
-SHA256 9f63fc12ede1a605934cdc462ff45c0e924288284f411ae38dec1c5b6e87ce25 postgresql-opt-8.0.13.tar.bz2 134769
-MD5 e736c9887ca4c66051501ce2b95a88f8 postgresql-test-8.0.13.tar.bz2 932945
-RMD160 d1a1c5e05337d82fb1fc2a7249e98ce8df375978 postgresql-test-8.0.13.tar.bz2 932945
-SHA256 ea7e45aa8d9d8f127704e659575a0e860fd53abdaefa7c0f256f246c283ff1cf postgresql-test-8.0.13.tar.bz2 932945
diff --git a/dev-db/postgresql/files/postgresql-7.3.19-cubeparse.patch b/dev-db/postgresql/files/postgresql-7.3.19-cubeparse.patch
deleted file mode 100644
index 705e073c8e45..000000000000
--- a/dev-db/postgresql/files/postgresql-7.3.19-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/files/postgresql-7.4.17-hppa-testandset.patch b/dev-db/postgresql/files/postgresql-7.4.17-hppa-testandset.patch
deleted file mode 100644
index d5f916d455eb..000000000000
--- a/dev-db/postgresql/files/postgresql-7.4.17-hppa-testandset.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- postgresql-7.4.12.orig/src/include/port/linux.h 2003-10-26 01:41:10.000000000 +0000
-+++ postgresql-7.4.12/src/include/port/linux.h 2004-01-09 20:22:50.000000000 +0000
-@@ -3,6 +3,11 @@
-
- #define HAS_TEST_AND_SET
-
-+#elif defined(__hppa__)
-+typedef struct { int sema[4]; } slock_t;
-+
-+#define HAS_TEST_AND_SET
-+
- #elif defined(__sparc__)
- typedef unsigned char slock_t;
-
---- postgresql-7.4.12.orig/src/include/storage/s_lock.h 2003-11-04 09:43:56.000000000 +0000
-+++ postgresql-7.4.12/src/include/storage/s_lock.h 2004-01-09 20:12:15.000000000 +0000
-@@ -112,6 +112,33 @@
-
- #endif /* __i386__ || __x86_64__ */
-
-+#if defined(__hppa__) || defined(__hppa)
-+#define TAS(lock) tas(lock)
-+
-+#define __ldcw(a) ({ \
-+ unsigned int __ret; \
-+ __asm__ __volatile__("ldcw 0(%2),%0" \
-+ : "=r" (__ret), "=m" (*(a)) : "r" (a)); \
-+ __ret; \
-+})
-+
-+#define __PA_LDCW_ALIGNMENT 16
-+#define __ldcw_align(a) ({ \
-+ volatile unsigned int __ret = (unsigned int) a; \
-+ if ((__ret & ~(__PA_LDCW_ALIGNMENT - 1)) < (unsigned int) a) \
-+ __ret = (__ret & ~(__PA_LDCW_ALIGNMENT - 1)) + __PA_LDCW_ALIGNMENT; \
-+ (unsigned int *) __ret; \
-+})
-+
-+static __inline__ int
-+tas(volatile slock_t *lock)
-+{
-+ volatile unsigned int *a = __ldcw_align (lock);
-+ return (__ldcw(a) == 0);
-+}
-+
-+#endif /* __hppa__ || __hppa */
-+
-
- /* Intel Itanium */
- #if defined(__ia64__) || defined(__ia64)
diff --git a/dev-db/postgresql/files/postgresql-8.0.13-sh.patch b/dev-db/postgresql/files/postgresql-8.0.13-sh.patch
deleted file mode 100644
index fc1dafe83d15..000000000000
--- a/dev-db/postgresql/files/postgresql-8.0.13-sh.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- src/include/storage/s_lock.h 2005-01-01 07:03:42.000000000 +0900
-+++ src/include/storage/s_lock.h 2005-08-17 23:09:19.000000000 +0900
-@@ -239,6 +239,31 @@
- #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__)
- #define HAS_TEST_AND_SET
-
diff --git a/dev-db/postgresql/postgresql-7.3.19.ebuild b/dev-db/postgresql/postgresql-7.3.19.ebuild
deleted file mode 100644
index 2e07d6e128e5..000000000000
--- a/dev-db/postgresql/postgresql-7.3.19.ebuild
+++ /dev/null
@@ -1,249 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.3.19.ebuild,v 1.9 2007/10/28 12:56:33 phreak Exp $
-
-inherit eutils gnuconfig flag-o-matic multilib toolchain-funcs versionator
-
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ~ppc64 s390 sh sparc x86"
-
-DESCRIPTION="Sophisticated and powerful Object-Relational DBMS."
-HOMEPAGE="http://www.postgresql.org/"
-SRC_URI="mirror://postgresql/source/v${PV}/${PN}-base-${PV}.tar.bz2
- mirror://postgresql/source/v${PV}/${PN}-opt-${PV}.tar.bz2
- doc? ( mirror://postgresql/source/v${PV}/${PN}-docs-${PV}.tar.bz2 )
- test? ( mirror://postgresql/source/v${PV}/${PN}-test-${PV}.tar.bz2 )"
-LICENSE="POSTGRESQL"
-SLOT="0"
-IUSE="doc kerberos nls pam perl pg-intdatetime python readline selinux ssl tcl test xml zlib"
-
-RDEPEND="~dev-db/libpq-${PV}
- >=sys-libs/ncurses-5.2
- kerberos? ( virtual/krb5 )
- pam? ( virtual/pam )
- perl? ( >=dev-lang/perl-5.6.1-r2 )
- python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
- readline? ( >=sys-libs/readline-4.1 )
- selinux? ( sec-policy/selinux-postgresql )
- ssl? ( >=dev-libs/openssl-0.9.6-r1 )
- tcl? ( >=dev-lang/tcl-8 )
- xml? ( dev-libs/libxml2 dev-libs/libxslt )
- zlib? ( >=sys-libs/zlib-1.1.3 )
- virtual/logger"
-DEPEND="${RDEPEND}
- sys-devel/autoconf
- >=sys-devel/bison-1.875
- nls? ( sys-devel/gettext )
- xml? ( dev-util/pkgconfig )"
-
-PG_DIR="/var/lib/postgresql"
-[[ -z "${PG_MAX_CONNECTIONS}" ]] && PG_MAX_CONNECTIONS="512"
-
-pkg_setup() {
- if [[ -f "${PG_DIR}/data/PG_VERSION" ]] ; then
- if [[ $(cat "${PG_DIR}/data/PG_VERSION") != $(get_version_component_range 1-2) ]] ; then
- eerror "PostgreSQL ${PV} cannot upgrade your existing databases, you must"
- eerror "use pg_dump to export your existing databases to a file, and then"
- eerror "pg_restore to import them when you have upgraded completely."
- eerror "You must remove your entire database directory to continue."
- eerror "(database directory = ${PG_DIR})."
- die "Remove your database directory to continue"
- fi
- fi
- enewgroup postgres 70
- enewuser postgres 70 /bin/bash /var/lib postgres
-}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- sed -i -e '/for pgac_lib in "" " -ltermcap"/ s/" -ltermcap"//' configure
-
- # libpq is provided separately as dev-db/libpq
- sed -i -e 's/^DIRS := libpq ecpg/DIRS := ecpg/' src/interfaces/Makefile
- sed -i -e '/\W\+\$.MAKE. -C include \$/d' src/Makefile
- sed -i -e '/^\W\+psql scripts pg_config pg_controldata/ s/pg_config //' src/bin/Makefile
-
- epatch "${FILESDIR}/${P}-cubeparse.patch"
-
- # Prepare package for future tests
- if use test ; then
- # We need to run the tests as a non-root user, portage seems the most fitting here,
- # so if userpriv is enabled, we use it directly. If userpriv is disabled, well, we
- # don't support that in this version of PostgreSQL ... :)
- mkdir -p "${S}/src/test/regress/tmp_check"
- chown portage "${S}/src/test/regress/tmp_check"
- einfo "Tests will be run as user portage."
- fi
-}
-
-src_compile() {
- filter-flags -ffast-math -feliminate-dwarf2-dups
-
- # Correctly support the XML stuff
- if use xml ; then
- CFLAGS="${CFLAGS} $(pkg-config --cflags libxml-2.0)"
- LIBS="${LIBS} $(pkg-config --libs libxml-2.0)"
- fi
-
- # Detect mips systems properly
- gnuconfig_update
-
- cd "${S}"
-
- ./configure --prefix=/usr \
- --includedir=/usr/include/postgresql/pgsql \
- --sysconfdir=/etc/postgresql \
- --mandir=/usr/share/man \
- --host=${CHOST} \
- --docdir=/usr/share/doc/${PF} \
- --libdir=/usr/$(get_libdir) \
- --enable-depend \
- $(use_with kerberos krb5) \
- $(use_enable nls ) \
- $(use_with pam) \
- $(use_with perl) \
- $(use_enable pg-intdatetime integer-datetimes ) \
- $(use_with python) \
- $(use_with readline) \
- $(use_with ssl openssl) \
- $(use_with tcl) \
- --without-tk \
- $(use_with zlib) \
- || die "configure failed"
-
- emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "main emake failed"
-
- cd "${S}/contrib"
- emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "contrib emake failed"
-
- if use xml ; then
- cd "${S}/contrib/xml"
- emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "contrib/xml emake failed"
- fi
-}
-
-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
-
- cd "${S}"
- emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "main emake install failed"
-
- cd "${S}/contrib"
- emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "contrib emake install failed"
-
- if use xml ; then
- cd "${S}/contrib/xml"
- emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "contrib/xml emake install failed"
- fi
-
- cd "${S}"
- dodoc README HISTORY
- dodoc contrib/adddepend/*
-
- cd "${S}/doc"
- dodoc FAQ* README.* TODO bug.template
-
- if use doc ; then
- cd "${S}/doc"
- docinto FAQ_html
- dodoc src/FAQ/*
- docinto sgml
- dodoc src/sgml/*.{sgml,dsl}
- docinto sgml/ref
- dodoc src/sgml/ref/*.sgml
- docinto TODO.detail
- dodoc TODO.detail/*
- fi
-
- newinitd "${FILESDIR}/postgresql.init-${PV%.*}" postgresql || die "Inserting init.d-file failed"
- newconfd "${FILESDIR}/postgresql.conf-${PV%.*}" postgresql || die "Inserting conf.d-file failed"
-}
-
-pkg_postinst() {
- elog "Execute the following command to setup the initial database environment:"
- elog
- elog "emerge --config =${PF}"
- elog
- elog "If you need a global psqlrc-file, you can place it in '${ROOT%/}/etc/postgresql/'."
-}
-
-pkg_config() {
- einfo "Creating the data directory ..."
- mkdir -p "${PG_DIR}/data"
- chown -Rf postgres:postgres "${PG_DIR}"
- chmod 0700 "${PG_DIR}/data"
-
- einfo "Initializing the database ..."
- if [[ -f "${PG_DIR}/data/PG_VERSION" ]] ; then
- eerror "PostgreSQL ${PV} cannot upgrade your existing databases."
- eerror "You must remove your entire database directory to continue."
- eerror "(database directory = ${PG_DIR})."
- die "Remove your database directory to continue"
- else
- if use kernel_linux ; then
- local SEM=`sysctl -n kernel.sem | cut -f-3`
- local SEMMNI=`sysctl -n kernel.sem | cut -f4`
- local SEMMNI_MIN=`expr \( ${PG_MAX_CONNECTIONS} + 15 \) / 16`
- local SHMMAX=`sysctl -n kernel.shmmax`
- local SHMMAX_MIN=`expr 500000 + 30600 \* ${PG_MAX_CONNECTIONS}`
-
- if [ ${SEMMNI} -lt ${SEMMNI_MIN} ] ; then
- eerror "The current value of SEMMNI is too low"
- eerror "for PostgreSQL to run ${PG_MAX_CONNECTIONS} connections!"
- eerror "Temporary setting this value to ${SEMMNI_MIN} while creating the initial database."
- echo ${SEM} ${SEMMNI_MIN} > /proc/sys/kernel/sem
- fi
-
- su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
-
- if [ ! `sysctl -n kernel.sem | cut -f4` -eq ${SEMMNI} ] ; then
- echo ${SEM} ${SEMMNI} > /proc/sys/kernel/sem
- ewarn "Restoring the SEMMNI value to the previous value."
- ewarn "Please edit the last value of kernel.sem in /etc/sysctl.conf"
- ewarn "and set it to at least ${SEMMNI_MIN}:"
- ewarn
- ewarn " kernel.sem = ${SEM} ${SEMMNI_MIN}"
- ewarn
- fi
-
- if [ ${SHMMAX} -lt ${SHMMAX_MIN} ] ; then
- eerror "The current value of SHMMAX is too low for postgresql to run."
- eerror "Please edit /etc/sysctl.conf and set this value to at least ${SHMMAX_MIN}:"
- eerror
- eerror " kernel.shmmax = ${SHMMAX_MIN}"
- eerror
- fi
- else
- su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
- fi
-
- einfo
- einfo "You can use the '${ROOT%/}/etc/init.d/postgresql' script to run PostgreSQL instead of 'pg_ctl'."
- einfo
- fi
-}
-
-src_test() {
- cd "${S}"
-
- einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
- if hasq userpriv ${FEATURES} ; then
- if ! emake -j1 check ; then
- hasq test ${FEATURES} && die "Make check failed. See above for details."
- hasq test ${FEATURES} || eerror "Make check failed. See above for details."
- fi
- else
- eerror "Tests won't be run if FEATURES=userpriv is disabled!"
- fi
-
- 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/postgresql-7.4.17.ebuild b/dev-db/postgresql/postgresql-7.4.17.ebuild
deleted file mode 100644
index 9a5e5ed1d819..000000000000
--- a/dev-db/postgresql/postgresql-7.4.17.ebuild
+++ /dev/null
@@ -1,276 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.4.17.ebuild,v 1.10 2007/10/28 12:56:33 phreak Exp $
-
-inherit eutils gnuconfig flag-o-matic multilib toolchain-funcs versionator
-
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
-
-DESCRIPTION="Sophisticated and powerful Object-Relational DBMS."
-HOMEPAGE="http://www.postgresql.org/"
-SRC_URI="mirror://postgresql/source/v${PV}/${PN}-base-${PV}.tar.bz2
- mirror://postgresql/source/v${PV}/${PN}-opt-${PV}.tar.bz2
- doc? ( mirror://postgresql/source/v${PV}/${PN}-docs-${PV}.tar.bz2 )
- test? ( mirror://postgresql/source/v${PV}/${PN}-test-${PV}.tar.bz2 )"
-LICENSE="POSTGRESQL"
-SLOT="0"
-IUSE="doc kerberos nls pam perl pg-intdatetime python readline selinux ssl tcl test xml zlib"
-
-RDEPEND="~dev-db/libpq-${PV}
- >=sys-libs/ncurses-5.2
- kerberos? ( virtual/krb5 )
- pam? ( virtual/pam )
- perl? ( >=dev-lang/perl-5.6.1-r2 )
- python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
- readline? ( >=sys-libs/readline-4.1 )
- selinux? ( sec-policy/selinux-postgresql )
- ssl? ( >=dev-libs/openssl-0.9.6-r1 )
- tcl? ( >=dev-lang/tcl-8 )
- xml? ( dev-libs/libxml2 dev-libs/libxslt )
- zlib? ( >=sys-libs/zlib-1.1.3 )
- virtual/logger"
-DEPEND="${RDEPEND}
- sys-devel/autoconf
- >=sys-devel/bison-1.875
- nls? ( sys-devel/gettext )
- xml? ( dev-util/pkgconfig )"
-
-PG_DIR="/var/lib/postgresql"
-[[ -z "${PG_MAX_CONNECTIONS}" ]] && PG_MAX_CONNECTIONS="512"
-
-cluster_exists() {
- [[ -f "${PG_DIR}/data/PG_VERSION" ]] && return 0
- return 1
-}
-
-pkg_setup() {
- if hasq pg-hier ${USE} ; then
- ewarn "Warning: pg-hier USE-flag detected:"
- ewarn "The hier-patch has been dropped for this version and the pg-hier USE-flag is therefore deprecated."
- ewarn "If you really used the 'hier' patch in your database with the 'CONNECT BY' statement,"
- ewarn "you should stop now and reconsider. You will be able to reuse your data, but not"
- ewarn "any VIEWS or QUERIES based on that statement."
- ewarn "Please disable the pg-hier USE-flag!"
- ebeep 3
- if cluster_exists ; then
- eerror "There is already a database in '${PG_DIR}/data' and you have the pg-hier USE-flag set."
- eerror "Please read the message above first. If you decide that the warnings there don't"
- eerror "apply to your situation, dump the database using pg_dump and move the '${PG_DIR}/data'"
- eerror "away. Then restart the merge. After that create a new database cluster and use pg_restore to"
- eerror "re-import the previously dumped data."
- eerror "Moving '${PG_DIR}/data' temporarely away or just disable the 'pg-hier' USE-flag won't work."
- die "Can't update this database."
- fi
- fi
- if cluster_exists ; then
- local cluster_version=$(cat "${PG_DIR}/data/PG_VERSION")
- if [[ ${cluster_version} != $(get_version_component_range 1-2) ]] ; then
- eerror "There is a database in '${PG_DIR}/data' from PostgreSQL version ${cluster_version}."
- eerror "PostgreSQL doesn't support upgrades between major versions, you have to use pg_dump"
- eerror "to dump your existing database. Then move your '${PG_DIR}/data' directory away and"
- eerror "restart the merge. After that create a new database cluster and use pg_restore to"
- eerror "re-import the previously dumped data."
- die "Can't update this database."
- fi
- fi
-
- enewgroup postgres 70
- enewuser postgres 70 /bin/bash /var/lib postgres
-}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- # libpq is provided separately as dev-db/libpq
- sed -i -e 's/^DIRS := libpq ecpg/DIRS := ecpg/' src/interfaces/Makefile
- sed -i -e '/\W\+\$.MAKE. -C include \$/d' src/Makefile
- sed -i -e '/^\W\+psql scripts pg_config pg_controldata/ s/pg_config //' src/bin/Makefile
-
- epatch "${FILESDIR}/${P}-hppa-testandset.patch"
-
- # Prepare package for future tests
- if use test ; then
- # We need to run the tests as a non-root user, portage seems the most fitting here,
- # so if userpriv is enabled, we use it directly. If userpriv is disabled, well, we
- # don't support that in this version of PostgreSQL ... :)
- mkdir -p "${S}/src/test/regress/tmp_check"
- chown portage "${S}/src/test/regress/tmp_check"
- einfo "Tests will be run as user portage."
- fi
-}
-
-src_compile() {
- filter-flags -ffast-math -feliminate-dwarf2-dups
-
- # Correctly support the XML stuff
- if use xml ; then
- CFLAGS="${CFLAGS} $(pkg-config --cflags libxml-2.0)"
- LIBS="${LIBS} $(pkg-config --libs libxml-2.0)"
- fi
-
- # Detect mips systems properly
- gnuconfig_update
-
- cd "${S}"
-
- ./configure --prefix=/usr \
- --includedir=/usr/include/postgresql/pgsql \
- --sysconfdir=/etc/postgresql \
- --mandir=/usr/share/man \
- --host=${CHOST} \
- --docdir=/usr/share/doc/${PF} \
- --libdir=/usr/$(get_libdir) \
- --enable-depend \
- $(use_with kerberos krb5) \
- $(use_enable nls ) \
- $(use_with pam) \
- $(use_with perl) \
- $(use_enable pg-intdatetime integer-datetimes ) \
- $(use_with python) \
- $(use_with readline) \
- $(use_with ssl openssl) \
- $(use_with tcl) \
- --without-tk \
- $(use_with zlib) \
- || die "configure failed"
-
- emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "main emake failed"
-
- cd "${S}/contrib"
- emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "contrib emake failed"
-
- if use xml ; then
- cd "${S}/contrib/xml"
- emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "contrib/xml emake failed"
- fi
-}
-
-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
-
- cd "${S}"
- emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "main emake install failed"
-
- cd "${S}/contrib"
- emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "contrib emake install failed"
-
- if use xml ; then
- cd "${S}/contrib/xml"
- emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "contrib/xml emake install failed"
- fi
-
- cd "${S}"
- dodoc README HISTORY
- dodoc contrib/adddepend/*
-
- cd "${S}/doc"
- dodoc FAQ* README.* TODO bug.template
-
- if use doc ; then
- cd "${S}/doc"
- docinto FAQ_html
- dodoc src/FAQ/*
- docinto sgml
- dodoc src/sgml/*.{sgml,dsl}
- docinto sgml/ref
- dodoc src/sgml/ref/*.sgml
- docinto TODO.detail
- dodoc TODO.detail/*
- fi
-
- newinitd "${FILESDIR}/postgresql.init-${PV%.*}" postgresql || die "Inserting init.d-file failed"
- newconfd "${FILESDIR}/postgresql.conf-${PV%.*}" postgresql || die "Inserting conf.d-file failed"
-
- newinitd "${FILESDIR}/pg_autovacuum.init-${PV%.*}" pg_autovacuum || die "Inserting pg_autovacuum init.d-file failed"
- newconfd "${FILESDIR}/pg_autovacuum.conf-${PV%.*}" pg_autovacuum || die "Inserting pg_autovacuum conf.d-file failed"
- dosed "s:___DOCDIR___:/usr/share/doc/${PF}:" /etc/init.d/pg_autovacuum
-}
-
-pkg_postinst() {
- elog "Execute the following command to setup the initial database environment:"
- elog
- elog "emerge --config =${PF}"
- elog
- elog "If you need a global psqlrc-file, you can place it in '${ROOT%/}/etc/postgresql/'."
-}
-
-pkg_config() {
- einfo "Creating the data directory ..."
- mkdir -p "${PG_DIR}/data"
- chown -Rf postgres:postgres "${PG_DIR}"
- chmod 0700 "${PG_DIR}/data"
-
- einfo "Initializing the database ..."
- if [[ -f "${PG_DIR}/data/PG_VERSION" ]] ; then
- eerror "PostgreSQL ${PV} cannot upgrade your existing databases."
- eerror "You must remove your entire database directory to continue."
- eerror "(database directory = ${PG_DIR})."
- die "Remove your database directory to continue"
- else
- if use kernel_linux ; then
- local SEM=`sysctl -n kernel.sem | cut -f-3`
- local SEMMNI=`sysctl -n kernel.sem | cut -f4`
- local SEMMNI_MIN=`expr \( ${PG_MAX_CONNECTIONS} + 15 \) / 16`
- local SHMMAX=`sysctl -n kernel.shmmax`
- local SHMMAX_MIN=`expr 500000 + 30600 \* ${PG_MAX_CONNECTIONS}`
-
- if [ ${SEMMNI} -lt ${SEMMNI_MIN} ] ; then
- eerror "The current value of SEMMNI is too low"
- eerror "for PostgreSQL to run ${PG_MAX_CONNECTIONS} connections!"
- eerror "Temporary setting this value to ${SEMMNI_MIN} while creating the initial database."
- echo ${SEM} ${SEMMNI_MIN} > /proc/sys/kernel/sem
- fi
-
- su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
-
- if [ ! `sysctl -n kernel.sem | cut -f4` -eq ${SEMMNI} ] ; then
- echo ${SEM} ${SEMMNI} > /proc/sys/kernel/sem
- ewarn "Restoring the SEMMNI value to the previous value."
- ewarn "Please edit the last value of kernel.sem in /etc/sysctl.conf"
- ewarn "and set it to at least ${SEMMNI_MIN}:"
- ewarn
- ewarn " kernel.sem = ${SEM} ${SEMMNI_MIN}"
- ewarn
- fi
-
- if [ ${SHMMAX} -lt ${SHMMAX_MIN} ] ; then
- eerror "The current value of SHMMAX is too low for postgresql to run."
- eerror "Please edit /etc/sysctl.conf and set this value to at least ${SHMMAX_MIN}:"
- eerror
- eerror " kernel.shmmax = ${SHMMAX_MIN}"
- eerror
- fi
- else
- su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
- fi
-
- einfo
- einfo "You can use the '${ROOT%/}/etc/init.d/postgresql' script to run PostgreSQL instead of 'pg_ctl'."
- einfo
- fi
-}
-
-src_test() {
- cd "${S}"
-
- einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
- if hasq userpriv ${FEATURES} ; then
- if ! emake -j1 check ; then
- hasq test ${FEATURES} && die "Make check failed. See above for details."
- hasq test ${FEATURES} || eerror "Make check failed. See above for details."
- fi
- else
- eerror "Tests won't be run if FEATURES=userpriv is disabled!"
- fi
-
- 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/postgresql-8.0.13.ebuild b/dev-db/postgresql/postgresql-8.0.13.ebuild
deleted file mode 100644
index 8de027d8a87a..000000000000
--- a/dev-db/postgresql/postgresql-8.0.13.ebuild
+++ /dev/null
@@ -1,272 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-8.0.13.ebuild,v 1.11 2007/10/28 12:56:33 phreak Exp $
-
-inherit eutils gnuconfig flag-o-matic multilib toolchain-funcs versionator
-
-KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sh sparc x86"
-
-DESCRIPTION="Sophisticated and powerful Object-Relational DBMS."
-HOMEPAGE="http://www.postgresql.org/"
-SRC_URI="mirror://postgresql/source/v${PV}/${PN}-base-${PV}.tar.bz2
- mirror://postgresql/source/v${PV}/${PN}-opt-${PV}.tar.bz2
- doc? ( mirror://postgresql/source/v${PV}/${PN}-docs-${PV}.tar.bz2 )
- test? ( mirror://postgresql/source/v${PV}/${PN}-test-${PV}.tar.bz2 )"
-LICENSE="POSTGRESQL"
-SLOT="0"
-IUSE="doc kerberos nls pam perl pg-intdatetime python readline selinux ssl tcl test xml zlib"
-
-RDEPEND="~dev-db/libpq-${PV}
- >=sys-libs/ncurses-5.2
- kerberos? ( virtual/krb5 )
- pam? ( virtual/pam )
- perl? ( >=dev-lang/perl-5.6.1-r2 )
- python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
- readline? ( >=sys-libs/readline-4.1 )
- selinux? ( sec-policy/selinux-postgresql )
- ssl? ( >=dev-libs/openssl-0.9.6-r1 )
- tcl? ( >=dev-lang/tcl-8 )
- xml? ( dev-libs/libxml2 dev-libs/libxslt )
- zlib? ( >=sys-libs/zlib-1.1.3 )
- virtual/logger"
-DEPEND="${RDEPEND}
- sys-devel/autoconf
- >=sys-devel/bison-1.875
- nls? ( sys-devel/gettext )
- xml? ( dev-util/pkgconfig )"
-
-PG_DIR="/var/lib/postgresql"
-[[ -z "${PG_MAX_CONNECTIONS}" ]] && PG_MAX_CONNECTIONS="512"
-
-cluster_exists() {
- [[ -f "${PG_DIR}/data/PG_VERSION" ]] && return 0
- return 1
-}
-
-pkg_setup() {
- if hasq pg-hier ${USE} ; then
- ewarn "Warning: pg-hier USE-flag detected:"
- ewarn "The hier-patch has been dropped for this version and the pg-hier USE-flag is therefore deprecated."
- ewarn "If you really used the 'hier' patch in your database with the 'CONNECT BY' statement,"
- ewarn "you should stop now and reconsider. You will be able to reuse your data, but not"
- ewarn "any VIEWS or QUERIES based on that statement."
- ewarn "Please disable the pg-hier USE-flag!"
- ebeep 3
- if cluster_exists ; then
- eerror "There is already a database in '${PG_DIR}/data' and you have the pg-hier USE-flag set."
- eerror "Please read the message above first. If you decide that the warnings there don't"
- eerror "apply to your situation, dump the database using pg_dump and move the '${PG_DIR}/data'"
- eerror "away. Then restart the merge. After that create a new database cluster and use pg_restore to"
- eerror "re-import the previously dumped data."
- eerror "Moving '${PG_DIR}/data' temporarely away or just disable the 'pg-hier' USE-flag won't work."
- die "Can't update this database."
- fi
- fi
- if cluster_exists ; then
- local cluster_version=$(cat "${PG_DIR}/data/PG_VERSION")
- if [[ ${cluster_version} != $(get_version_component_range 1-2) ]] ; then
- eerror "There is a database in '${PG_DIR}/data' from PostgreSQL version ${cluster_version}."
- eerror "PostgreSQL doesn't support upgrades between major versions, you have to use pg_dump"
- eerror "to dump your existing database. Then move your '${PG_DIR}/data' directory away and"
- eerror "restart the merge. After that create a new database cluster and use pg_restore to"
- eerror "re-import the previously dumped data."
- die "Can't update this database."
- fi
- fi
-
- enewgroup postgres 70
- enewuser postgres 70 /bin/bash /var/lib postgres
-}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- # libpq is provided separately as dev-db/libpq
- sed -i -e 's/^DIRS := libpq ecpg/DIRS := ecpg/' src/interfaces/Makefile
- sed -i -e '/\W\+\$.MAKE. -C include \$/d' src/Makefile
- sed -i -e '/^\W\+psql scripts pg_config pg_controldata/ s/pg_config //' src/bin/Makefile
-
- epatch "${FILESDIR}/${P}-sh.patch"
-
- # Prepare package for future tests
- if use test ; then
- # Fix sandbox violation
- sed -e "s|/no/such/location|${S}/src/test/regress/tmp_check/no/such/location|g" -i src/test/regress/{input,output}/tablespace.source
-
- # We need to run the tests as a non-root user, portage seems the most fitting here,
- # so if userpriv is enabled, we use it directly. If userpriv is disabled, well, we
- # don't support that in this version of PostgreSQL ... :)
- mkdir -p "${S}/src/test/regress/tmp_check"
- chown portage "${S}/src/test/regress/tmp_check"
- einfo "Tests will be run as user portage."
- fi
-}
-
-src_compile() {
- filter-flags -ffast-math -feliminate-dwarf2-dups
-
- # Detect mips systems properly
- gnuconfig_update
-
- cd "${S}"
-
- ./configure --prefix=/usr \
- --includedir=/usr/include/postgresql/pgsql \
- --sysconfdir=/etc/postgresql \
- --mandir=/usr/share/man \
- --host=${CHOST} \
- --with-docdir=/usr/share/doc/${PF} \
- --libdir=/usr/$(get_libdir) \
- --enable-depend \
- $(use_with kerberos krb5) \
- $(use_enable nls ) \
- $(use_with pam) \
- $(use_with perl) \
- $(use_enable pg-intdatetime integer-datetimes ) \
- $(use_with python) \
- $(use_with readline) \
- $(use_with ssl openssl) \
- $(use_with tcl) \
- $(use_with zlib) \
- || die "configure failed"
-
- emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "main emake failed"
-
- cd "${S}/contrib"
- emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "contrib emake failed"
-
- if use xml ; then
- cd "${S}/contrib/xml2"
- emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "contrib/xml2 emake failed"
- fi
-}
-
-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
-
- cd "${S}"
- emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "main emake install failed"
-
- cd "${S}/contrib"
- emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "contrib emake install failed"
-
- if use xml ; then
- cd "${S}/contrib/xml2"
- emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "contrib/xml2 emake install failed"
- fi
-
- cd "${S}"
- dodoc README HISTORY
- dodoc contrib/adddepend/*
-
- cd "${S}/doc"
- dodoc FAQ* README.* TODO bug.template
-
- if use doc ; then
- cd "${S}/doc"
- docinto FAQ_html
- dodoc src/FAQ/*
- docinto sgml
- dodoc src/sgml/*.{sgml,dsl}
- docinto sgml/ref
- dodoc src/sgml/ref/*.sgml
- docinto TODO.detail
- dodoc TODO.detail/*
- fi
-
- newinitd "${FILESDIR}/postgresql.init-${PV%.*}" postgresql || die "Inserting init.d-file failed"
- newconfd "${FILESDIR}/postgresql.conf-${PV%.*}" postgresql || die "Inserting conf.d-file failed"
-
- newinitd "${FILESDIR}/pg_autovacuum.init-${PV%.*}" pg_autovacuum || die "Inserting pg_autovacuum init.d-file failed"
- newconfd "${FILESDIR}/pg_autovacuum.conf-${PV%.*}" pg_autovacuum || die "Inserting pg_autovacuum conf.d-file failed"
- dosed "s:___DOCDIR___:/usr/share/doc/${PF}:" /etc/init.d/pg_autovacuum
-}
-
-pkg_postinst() {
- elog "Execute the following command to setup the initial database environment:"
- elog
- elog "emerge --config =${PF}"
- elog
- elog "If you need a global psqlrc-file, you can place it in '${ROOT}/etc/postgresql/'."
-}
-
-pkg_config() {
- einfo "Creating the data directory ..."
- mkdir -p "${PG_DIR}/data"
- chown -Rf postgres:postgres "${PG_DIR}"
- chmod 0700 "${PG_DIR}/data"
-
- einfo "Initializing the database ..."
- if [[ -f "${PG_DIR}/data/PG_VERSION" ]] ; then
- eerror "PostgreSQL ${PV} cannot upgrade your existing databases."
- eerror "You must remove your entire database directory to continue."
- eerror "(database directory = ${PG_DIR})."
- die "Remove your database directory to continue"
- else
- if use kernel_linux ; then
- local SEM=`sysctl -n kernel.sem | cut -f-3`
- local SEMMNI=`sysctl -n kernel.sem | cut -f4`
- local SEMMNI_MIN=`expr \( ${PG_MAX_CONNECTIONS} + 15 \) / 16`
- local SHMMAX=`sysctl -n kernel.shmmax`
- local SHMMAX_MIN=`expr 500000 + 30600 \* ${PG_MAX_CONNECTIONS}`
-
- if [ ${SEMMNI} -lt ${SEMMNI_MIN} ] ; then
- eerror "The current value of SEMMNI is too low"
- eerror "for PostgreSQL to run ${PG_MAX_CONNECTIONS} connections!"
- eerror "Temporary setting this value to ${SEMMNI_MIN} while creating the initial database."
- echo ${SEM} ${SEMMNI_MIN} > /proc/sys/kernel/sem
- fi
-
- su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
-
- if [ ! `sysctl -n kernel.sem | cut -f4` -eq ${SEMMNI} ] ; then
- echo ${SEM} ${SEMMNI} > /proc/sys/kernel/sem
- ewarn "Restoring the SEMMNI value to the previous value."
- ewarn "Please edit the last value of kernel.sem in /etc/sysctl.conf"
- ewarn "and set it to at least ${SEMMNI_MIN}:"
- ewarn
- ewarn " kernel.sem = ${SEM} ${SEMMNI_MIN}"
- ewarn
- fi
-
- if [ ${SHMMAX} -lt ${SHMMAX_MIN} ] ; then
- eerror "The current value of SHMMAX is too low for postgresql to run."
- eerror "Please edit /etc/sysctl.conf and set this value to at least ${SHMMAX_MIN}:"
- eerror
- eerror " kernel.shmmax = ${SHMMAX_MIN}"
- eerror
- fi
- else
- su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
- fi
-
- einfo
- einfo "You can use the '${ROOT}/etc/init.d/postgresql' script to run PostgreSQL instead of 'pg_ctl'."
- einfo
- fi
-}
-
-src_test() {
- cd "${S}"
-
- einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
- if hasq userpriv ${FEATURES} ; then
- if ! emake -j1 check ; then
- hasq test ${FEATURES} && die "Make check failed. See above for details."
- hasq test ${FEATURES} || eerror "Make check failed. See above for details."
- fi
- else
- eerror "Tests won't be run if FEATURES=userpriv is disabled!"
- fi
-
- 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."
-}