summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasatomo Nakano <nakano@gentoo.org>2004-10-02 23:57:49 +0000
committerMasatomo Nakano <nakano@gentoo.org>2004-10-02 23:57:49 +0000
commit49819677ff58f10ea454aac0e5a57c8549aa18c3 (patch)
tree76800df88f9b1e5ccbbae95adb0b40d20713d777 /dev-db/postgresql
parentFixed typo. (diff)
downloadgentoo-2-49819677ff58f10ea454aac0e5a57c8549aa18c3.tar.gz
gentoo-2-49819677ff58f10ea454aac0e5a57c8549aa18c3.tar.bz2
gentoo-2-49819677ff58f10ea454aac0e5a57c8549aa18c3.zip
Fixed some bugs
Diffstat (limited to 'dev-db/postgresql')
-rw-r--r--dev-db/postgresql/ChangeLog12
-rw-r--r--dev-db/postgresql/files/digest-postgresql-7.3.7-r13
-rw-r--r--dev-db/postgresql/files/digest-postgresql-8.0.0_beta23
-rw-r--r--dev-db/postgresql/files/pg_autovacuum.init-7.4.522
-rw-r--r--dev-db/postgresql/files/postgresql-7.3.7-gentoo.patch12
-rw-r--r--dev-db/postgresql/files/postgresql-8.0.0_beta1-gentoo.patch27
-rw-r--r--dev-db/postgresql/files/postgresql-8.0.0_beta2-gentoo.patch16
-rw-r--r--dev-db/postgresql/postgresql-7.3.7-r1.ebuild231
-rw-r--r--dev-db/postgresql/postgresql-8.0.0_beta2.ebuild214
9 files changed, 277 insertions, 263 deletions
diff --git a/dev-db/postgresql/ChangeLog b/dev-db/postgresql/ChangeLog
index fd3216363aaa..5f261b86f444 100644
--- a/dev-db/postgresql/ChangeLog
+++ b/dev-db/postgresql/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for dev-db/postgresql
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.130 2004/09/28 01:13:38 nakano Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.131 2004/10/02 23:57:49 nakano Exp $
+
+*postgresql-7.3.7-r1 (03 Oct 2004)
+
+ 03 Oct 2004; Masatomo Nakano <nakano@gentoo.org>
+ files/pg_autovacuum.init-7.4.5, +files/postgresql-7.3.7-gentoo.patch,
+ -files/postgresql-8.0.0_beta1-gentoo.patch,
+ -files/postgresql-8.0.0_beta2-gentoo.patch, +postgresql-7.3.7-r1.ebuild,
+ -postgresql-8.0.0_beta2.ebuild:
+ Fixed fail to start up pg_vacuum problem(#51503). Added patch not to use
+ termcap library in 7.3.7. See #63073 and #63181.
*postgresql-8.0.0_beta3 (28 Sep 2004)
diff --git a/dev-db/postgresql/files/digest-postgresql-7.3.7-r1 b/dev-db/postgresql/files/digest-postgresql-7.3.7-r1
new file mode 100644
index 000000000000..f7f8f6801db1
--- /dev/null
+++ b/dev-db/postgresql/files/digest-postgresql-7.3.7-r1
@@ -0,0 +1,3 @@
+MD5 d64e0eca8025caa2e35e5d8226a1afbf postgresql-base-7.3.7.tar.bz2 5651364
+MD5 d3a8a078e786abc5b6c52fac2663a125 postgresql-opt-7.3.7.tar.bz2 340879
+MD5 53bb62e0d7a302b0e626436001f9b242 postgresql-docs-7.3.7.tar.bz2 2340178
diff --git a/dev-db/postgresql/files/digest-postgresql-8.0.0_beta2 b/dev-db/postgresql/files/digest-postgresql-8.0.0_beta2
deleted file mode 100644
index fcc96780886a..000000000000
--- a/dev-db/postgresql/files/digest-postgresql-8.0.0_beta2
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 a0235a0119377ad58990b4398c1fcb42 postgresql-base-8.0.0beta2.tar.bz2 7326585
-MD5 f2a5a72d0519c6d47558ad45e8f97574 postgresql-opt-8.0.0beta2.tar.bz2 130765
-MD5 c5f237ef2f5b3acf82e7a55b1b46798c postgresql-docs-8.0.0beta2.tar.bz2 2248195
diff --git a/dev-db/postgresql/files/pg_autovacuum.init-7.4.5 b/dev-db/postgresql/files/pg_autovacuum.init-7.4.5
index 11c88d3eaba2..74c38c832cb0 100644
--- a/dev-db/postgresql/files/pg_autovacuum.init-7.4.5
+++ b/dev-db/postgresql/files/pg_autovacuum.init-7.4.5
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/pg_autovacuum.init-7.4.5,v 1.1 2004/08/21 16:12:27 nakano Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/pg_autovacuum.init-7.4.5,v 1.2 2004/10/02 23:57:49 nakano Exp $
depend() {
need postgresql logger
@@ -9,12 +9,30 @@ depend() {
start() {
ebegin "Starting pg_autovacuum"
- start-stop-daemon --chuid $PGUSER --start --quiet --exec /usr/bin/pg_autovacuum -- -D -v $VACUUM_BASE -V $VACUUM_SCALE -s $SLEEP_BASE -S $SLEEP_SCALE -L $PG_AUTOVACUUM_LOG
+ echo ""
+ echo -n "Waiting max. 10 sec. for postgresql to start "
+ CONTINUE=0
+ TOO_LONG=0
+ while [ "$CONTINUE" -eq 0 ] && [ $TOO_LONG -lt 10 ]
+ do
+ psql -U $PGUSER -d template1 -c "SELECT 1" 1> /dev/null 2> /dev/null
+ if [ "$?" -eq 0 ]
+ then
+ CONTINUE=1
+ else
+ echo -n "."
+ TOO_LONG=`expr $TOO_LONG + 1`
+ sleep 1
+ fi
+ done
+ start-stop-daemon -o --chuid $PGUSER --start --quiet --exec /usr/bin/pg_autovacuum -- -D -v $VACUUM_BASE -V $VACUUM_SCALE -s $SLEEP_BASE -S $SLEEP_SCALE -L $PG_AUTOVACUUM_LOG
+
sleep 1
pidof /usr/bin/pg_autovacuum > /dev/null
if [ $? -eq 0 ]; then
eend 0
else
+ eerror ""
eerror "Please see log file: $PG_AUTOVACUUM_LOG"
eerror "You may need to add following lines in /var/lib/postgresql/data/postgresql.conf and restart PostgreSQL."
eerror " stats_start_collector = true"
diff --git a/dev-db/postgresql/files/postgresql-7.3.7-gentoo.patch b/dev-db/postgresql/files/postgresql-7.3.7-gentoo.patch
new file mode 100644
index 000000000000..0b54f6d33b41
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-7.3.7-gentoo.patch
@@ -0,0 +1,12 @@
+diff -Naru postgresql-7.3.7.org/configure postgresql-7.3.7/configure
+--- postgresql-7.3.7.org/configure 2004-08-15 01:51:58.000000000 +0100
++++ postgresql-7.3.7/configure 2004-10-03 00:24:38.477010826 +0100
+@@ -5871,7 +5871,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ pgac_cv_check_readline=no
+-for pgac_lib in "" " -ltermcap" " -lncurses" " -lcurses" ; do
++for pgac_lib in "" " -lncurses" " -lcurses" ; do
+ for pgac_rllib in -lreadline -ledit ; do
+ pgac_save_LIBS=$LIBS
+ LIBS="${pgac_rllib}${pgac_lib} $LIBS"
diff --git a/dev-db/postgresql/files/postgresql-8.0.0_beta1-gentoo.patch b/dev-db/postgresql/files/postgresql-8.0.0_beta1-gentoo.patch
deleted file mode 100644
index b88ccbf570a8..000000000000
--- a/dev-db/postgresql/files/postgresql-8.0.0_beta1-gentoo.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -Naru postgresql-8.0.0beta1.org/contrib/Makefile postgresql-8.0.0beta1/contrib/Makefile
---- postgresql-8.0.0beta1.org/contrib/Makefile 2004-06-01 06:15:47.000000000 +0100
-+++ postgresql-8.0.0beta1/contrib/Makefile 2004-08-10 15:42:47.197198133 +0100
-@@ -11,7 +11,6 @@
- dbase \
- dblink \
- dbmirror \
-- dbsize \
- earthdistance \
- findoidjoins \
- fulltextindex \
-diff -Naru postgresql-8.0.0beta1.org/src/bin/initdb/initdb.c postgresql-8.0.0beta1/src/bin/initdb/initdb.c
---- postgresql-8.0.0beta1.org/src/bin/initdb/initdb.c 2004-08-01 07:19:23.000000000 +0100
-+++ postgresql-8.0.0beta1/src/bin/initdb/initdb.c 2004-08-10 15:45:05.678447838 +0100
-@@ -2490,11 +2490,7 @@
- fprintf(stderr, authwarning);
-
- printf(_("\nSuccess. You can now start the database server using:\n\n"
-- " %s%s%s/postmaster -D %s%s%s\n"
-- "or\n"
-- " %s%s%s/pg_ctl -D %s%s%s -l logfile start\n\n"),
-- QUOTE_PATH, bin_path, QUOTE_PATH, QUOTE_PATH, pg_data, QUOTE_PATH,
-- QUOTE_PATH, bin_path, QUOTE_PATH, QUOTE_PATH, pg_data, QUOTE_PATH);
-+ "/etc/init.d/postgresql start\n\n"));
-
- return 0;
- }
diff --git a/dev-db/postgresql/files/postgresql-8.0.0_beta2-gentoo.patch b/dev-db/postgresql/files/postgresql-8.0.0_beta2-gentoo.patch
deleted file mode 100644
index fafe3f9ab57a..000000000000
--- a/dev-db/postgresql/files/postgresql-8.0.0_beta2-gentoo.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Naru postgresql-8.0.0beta2.org/src/bin/initdb/initdb.c postgresql-8.0.0beta2/src/bin/initdb/initdb.c
---- postgresql-8.0.0beta2.org/src/bin/initdb/initdb.c 2004-08-29 06:06:52.000000000 +0100
-+++ postgresql-8.0.0beta2/src/bin/initdb/initdb.c 2004-09-02 09:18:00.634625577 +0100
-@@ -2499,11 +2499,7 @@
- fprintf(stderr, authwarning);
-
- printf(_("\nSuccess. You can now start the database server using:\n\n"
-- " %s%s%s/postmaster -D %s%s%s\n"
-- "or\n"
-- " %s%s%s/pg_ctl -D %s%s%s -l logfile start\n\n"),
-- QUOTE_PATH, bin_path, QUOTE_PATH, QUOTE_PATH, pg_data, QUOTE_PATH,
-- QUOTE_PATH, bin_path, QUOTE_PATH, QUOTE_PATH, pg_data, QUOTE_PATH);
-+ "/etc/init.d/postgresql start\n\n"));
-
- return 0;
- }
diff --git a/dev-db/postgresql/postgresql-7.3.7-r1.ebuild b/dev-db/postgresql/postgresql-7.3.7-r1.ebuild
new file mode 100644
index 000000000000..f4815d1e5fc5
--- /dev/null
+++ b/dev-db/postgresql/postgresql-7.3.7-r1.ebuild
@@ -0,0 +1,231 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.3.7-r1.ebuild,v 1.1 2004/10/02 23:57:49 nakano Exp $
+
+inherit eutils gnuconfig flag-o-matic
+
+DESCRIPTION="sophisticated 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 )"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~sparc ~alpha ~amd64 ~hppa ~ia64 ~mips"
+IUSE="doc java libg++ nls pam perl python readline ssl tcltk zlib"
+
+DEPEND="virtual/libc
+ sys-devel/autoconf
+ >=sys-libs/ncurses-5.2
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ readline? ( >=sys-libs/readline-4.1 )
+ tcltk? ( >=dev-lang/tcl-8 >=dev-lang/tk-8.3.3-r1 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
+ java? ( >=virtual/jdk-1.3* >=dev-java/ant-1.3
+ dev-java/java-config )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )
+ nls? ( sys-devel/gettext )"
+# java dep workaround for portage bug
+# x86? ( java? ( =dev-java/sun-jdk-1.3* >=dev-java/ant-1.3 ) )
+RDEPEND="virtual/libc
+ zlib? ( >=sys-libs/zlib-1.1.3 )
+ tcltk? ( >=dev-lang/tcl-8 )
+ perl? ( >=dev-lang/perl-5.6.1-r2 )
+ python? ( >=dev-lang/python-2.2 )
+ java? ( >=virtual/jdk-1.3* )
+ ssl? ( >=dev-libs/openssl-0.9.6-r1 )"
+
+PG_DIR="/var/lib/postgresql"
+
+pkg_setup() {
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
+ PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
+ if [ ${PG_MAJOR} -lt 7 ] || [ ${PG_MAJOR} -eq 7 -a ${PG_MINOR} -lt 3 ] ; then
+ eerror "Postgres ${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})."
+ exit 1
+ fi
+ fi
+}
+
+check_java_config() {
+ JDKHOME="`java-config --jdk-home`"
+ if [[ -z "${JDKHOME}" || ! -d "${JDKHOME}" ]]; then
+ NOJDKERROR="You need to use java-config to set your JVM to a JDK!"
+ eerror "${NOJDKERROR}"
+ die "${NOJDKERROR}"
+ fi
+}
+
+src_unpack() {
+ unpack ${A} || die
+ epatch ${FILESDIR}/${P}-gentoo.patch
+}
+
+src_compile() {
+ filter-flags -ffast-math
+
+ if use java; then
+ check_java_config
+ fi
+
+ local myconf
+ use tcltk && myconf="--with-tcl"
+ use python && myconf="$myconf --with-python"
+ use perl && myconf="$myconf --with-perl"
+ use java && myconf="$myconf --with-java"
+ use ssl && myconf="$myconf --with-openssl"
+ use nls && myconf="$myconf --enable-nls"
+ use libg++ && myconf="$myconf --with-CXX"
+ use pam && myconf="$myconf --with-pam"
+ use readline || myconf="$myconf --without-readline"
+ use zlib || myconf="$myconf --without-zlib"
+
+ # these are the only working CFLAGS I could get on ppc, so locking them
+ # down, anything more aggressive fails (i.e. -mcpu or -Ox)
+ # Gerk - Nov 26, 2002
+ use ppc && CFLAGS="-pipe -fsigned-char"
+
+ # Detect mips systems properly
+ gnuconfig_update
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --host=${CHOST} \
+ --docdir=/usr/share/doc/${PF} \
+ --libdir=/usr/lib \
+ --includedir=/usr/include/postgresql/pgsql \
+ --enable-depend \
+ --with-gnu-ld \
+ --with-maxbackends=1024 \
+ $myconf || die
+
+ make || die
+ cd contrib
+ make || die
+}
+
+src_install() {
+ if use perl; then
+ mv ${S}/src/pl/plperl/Makefile ${S}/src/pl/plperl/Makefile_orig
+ sed -e "s:(INST_DYNAMIC) /usr/lib:(INST_DYNAMIC) ${D}/usr/lib:" \
+ ${S}/src/pl/plperl/Makefile_orig > ${S}/src/pl/plperl/Makefile
+ mv ${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
+
+ make DESTDIR=${D} includedir_server=/usr/include/postgresql/server includedir_internal=/usr/include/postgresql/internal LIBDIR=${D}/usr/lib install || die
+ make DESTDIR=${D} includedir_server=/usr/include/postgresql/server includedir_internal=/usr/include/postgresql/internal install-all-headers || die
+ cd ${S}/contrib
+ make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
+ cd ${S}
+ dodoc COPYRIGHT HISTORY INSTALL README register.txt
+ dodoc contrib/adddepend/*
+
+ if use java; then
+ # we need to remove jar file after dojar; otherwise two same jar
+ # file are installed.
+ dojar ${D}/usr/share/postgresql/java/postgresql.jar
+ rm ${D}/usr/share/postgresql/java/postgresql.jar
+ fi
+
+ # backward compatibility
+ for i in ${D}/usr/include/postgresql/pgsql/*
+ do
+ ln -s ${i} ${D}/usr/include/
+ done
+
+ cd ${S}/doc
+ dodoc FAQ* README.* TODO bug.template
+ if use doc; then
+ cd ${S}/doc
+ docinto FAQ_html || die
+ dodoc src/FAQ/* || die
+ docinto sgml || die
+ dodoc src/sgml/*.{sgml,dsl} || die
+ docinto sgml/ref || die
+ dodoc src/sgml/ref/*.sgml || die
+ docinto TODO.detail || die
+ dodoc TODO.detail/* || die
+ fi
+
+ cd ${S}
+ exeinto /etc/init.d/
+ newexe ${FILESDIR}/postgresql.init-${PV} postgresql || die
+
+ insinto /etc/conf.d/
+ newins ${FILESDIR}/postgresql.conf postgresql || die
+
+ keepdir /var/lib/postgresql
+}
+
+pkg_postinst() {
+ einfo "Execute the following command"
+ einfo "ebuild /var/db/pkg/dev-db/${PF}/${PF}.ebuild config"
+ einfo "to setup the initial database environment."
+ einfo ""
+ einfo "Make sure the postgres user in /etc/passwd has an account setup with /bin/bash as the shell"
+}
+
+pkg_config() {
+ einfo "Creating the data directory ..."
+ mkdir -p ${PG_DIR}/data
+ chown -Rf postgres:postgres ${PG_DIR}
+ chmod 700 ${PG_DIR}/data
+
+ einfo "Initializing the database ..."
+ if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
+ PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
+ PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
+ if [ ${PG_MAJOR} -lt 7 ] || [ ${PG_MAJOR} -eq 7 -a ${PG_MINOR} -lt 3 ] ; then
+ eerror "Postgres ${PV} cannot upgrade your existing databases."
+ eerror "You must remove your entire database directory to continue."
+ eerror "(database directory = ${PG_DIR})."
+ exit 1
+ else
+ einfon "A postgres data directory already exists from version "; cat ${PG_DIR}/data/PG_VERSION
+ einfo "Read the documentation to check how to upgrade to version ${PV}."
+ fi
+ else
+ # On hppa, postgresql need way more than the default sem index and shmmax
+ if [ "${ARCH}" = "hppa" ]; then
+ SEM_IDX_MIN=1024
+ SHMMAX_MIN=100000000
+ SEM_IDX=`sysctl kernel.sem | awk '{ print $6 }'`
+ if [ $SEM_IDX -lt ${SEM_IDX_MIN} ]; then
+ eerror "The last value of /proc/sys/kernel/sem is too low for postgresql to run"
+ eerror "Temporary setting this value to ${SEM_IDX_MIN} while creating the initial database."
+ cat /proc/sys/kernel/sem | sed -e "s/\t${SEM_IDX}/\t${SEM_IDX_MIN}/" > /proc/sys/kernel/sem
+ fi
+ fi
+ su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
+
+ if [ "${ARCH}" = "hppa" ]; then
+ if [ ! `sysctl kernel.sem | awk '{ print $6 }'` -eq ${SEM_IDX} ] ; then
+ cat /proc/sys/kernel/sem | sed -e "s/\t${SEM_IDX_MIN}/\t${SEM_IDX}/" > /proc/sys/kernel/sem
+ ewarn "Restoring the sem idx 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 ${SEM_IDX_MIN}"
+ fi
+
+ if [ `sysctl kernel.shmmax | awk '{ print $3 }'` -lt ${SHMMAX_MIN} ]; then
+ eerror "The current value of /proc/sys/kernel/shmmax is too low"
+ eerror "for postgresql to run. Please edit /etc/sysctl.conf and set"
+ eerror "this value to at least ${SHMMAX_MIN}."
+
+ fi
+ fi
+
+ einfo "If you are upgrading from a pre-7.3 version of PostgreSQL, please read"
+ einfo "the README.adddepend file for information on how to properly migrate"
+ einfo "all serial columns, unique keys and foreign keys to this version."
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-8.0.0_beta2.ebuild b/dev-db/postgresql/postgresql-8.0.0_beta2.ebuild
deleted file mode 100644
index ef4a8626968d..000000000000
--- a/dev-db/postgresql/postgresql-8.0.0_beta2.ebuild
+++ /dev/null
@@ -1,214 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-8.0.0_beta2.ebuild,v 1.1 2004/09/02 08:38:21 nakano Exp $
-
-inherit eutils gnuconfig flag-o-matic
-
-DESCRIPTION="sophisticated Object-Relational DBMS."
-HOMEPAGE="http://www.postgresql.org/"
-#P_HIERPG="hier-Pg7.4-0.5.2"
-MY_PV=${PV/_/}
-MY_P=${PN}-${MY_PV}
-SRC_URI="mirror://postgresql/source/v8.0.0beta/${PN}-base-${MY_PV}.tar.bz2
- mirror://postgresql/source/v8.0.0beta/${PN}-opt-${MY_PV}.tar.bz2
- doc? ( mirror://postgresql/source/v8.0.0beta/${PN}-docs-${MY_PV}.tar.bz2 )"
-# pg-hier? ( http://gppl.terminal.ru/${P_HIERPG}.tar.gz )"
-
-LICENSE="POSTGRESQL"
-SLOT="0"
-KEYWORDS="~x86"
-IUSE="ssl nls python tcltk perl libg++ pam readline zlib doc"
-
-S=${WORKDIR}/${MY_P}
-DEPEND="virtual/libc
- sys-devel/autoconf
- >=sys-libs/ncurses-5.2
- >=sys-devel/bison-1.875
- zlib? ( >=sys-libs/zlib-1.1.3 )
- readline? ( >=sys-libs/readline-4.1 )
- tcltk? ( >=dev-lang/tcl-8 >=dev-lang/tk-8.3.3-r1 )
- perl? ( >=dev-lang/perl-5.6.1-r2 )
- python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
- ssl? ( >=dev-libs/openssl-0.9.6-r1 )
- nls? ( sys-devel/gettext )"
-RDEPEND="virtual/libc
- app-admin/sudo
- zlib? ( >=sys-libs/zlib-1.1.3 )
- tcltk? ( >=dev-lang/tcl-8 )
- perl? ( >=dev-lang/perl-5.6.1-r2 )
- python? ( >=dev-lang/python-2.2 )
- ssl? ( >=dev-libs/openssl-0.9.6-r1 )"
-
-PG_DIR="/var/lib/postgresql"
-MAX_CONNECTIONS=1024
-
-pkg_setup() {
- if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
- PG_MAJOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f1 -d.`
- PG_MINOR=`cat ${PG_DIR}/data/PG_VERSION | cut -f2 -d.`
- if [ ${PG_MAJOR} -lt 8 ] || [ ${PG_MAJOR} -eq 8 -a ${PG_MINOR} -lt 0 ] ; then
- eerror "Postgres ${MY_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})."
- exit 1
- fi
- fi
-}
-
-src_unpack() {
- unpack ${A} || die
- epatch ${FILESDIR}/${P}-gentoo.patch
-}
-
-src_compile() {
- filter-flags -ffast-math
-
- local myconf
- use tcltk && myconf="--with-tcl"
- use python && myconf="$myconf --with-python"
- use perl && myconf="$myconf --with-perl"
- use ssl && myconf="$myconf --with-openssl"
- use nls && myconf="$myconf --enable-nls"
- use libg++ && myconf="$myconf --with-CXX"
- use pam && myconf="$myconf --with-pam"
- use readline || myconf="$myconf --without-readline"
- use zlib || myconf="$myconf --without-zlib"
- use pg-intdatetime && myconf="$myconf --enable-integer-datetimes"
-
- # these are the only working CFLAGS I could get on ppc, so locking them
- # down, anything more aggressive fails (i.e. -mcpu or -Ox)
- # Gerk - Nov 26, 2002
- use ppc && CFLAGS="-pipe -fsigned-char"
-
- # Detect mips systems properly
- gnuconfig_update
-
- ./configure --prefix=/usr \
- --mandir=/usr/share/man \
- --host=${CHOST} \
- --with-docdir=/usr/share/doc/${PF} \
- --libdir=/usr/lib \
- --enable-depend \
- --with-gnu-ld \
- --with-maxbackends=${MAX_CONNECTIONS} \
- $myconf || die
-
- make || die
- cd contrib
- make || die
-}
-
-src_install() {
- if use perl; then
- mv ${S}/src/pl/plperl/Makefile ${S}/src/pl/plperl/Makefile_orig
- sed -e "s:(INST_DYNAMIC) /usr/lib:(INST_DYNAMIC) ${D}/usr/lib:" \
- ${S}/src/pl/plperl/Makefile_orig > ${S}/src/pl/plperl/Makefile
- mv ${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
-
- make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
- make DESTDIR=${D} install-all-headers || die
- cd ${S}/contrib
- make DESTDIR=${D} LIBDIR=${D}/usr/lib install || die
- cd ${S}
- if use pg-hier; then
- dodoc ${WORKDIR}/README-${P_HIERPG}.html || die
- fi
- dodoc README HISTORY COPYRIGHT INSTALL
- dodoc contrib/adddepend/*
-
- exeinto /usr/bin
-
- dodir /usr/include/postgresql/pgsql
- cp ${D}/usr/include/*.h ${D}/usr/include/postgresql/pgsql
-
- cd ${S}/doc
- dodoc FAQ* README.* TODO bug.template
- if use doc; then
- cd ${S}/doc
- docinto FAQ_html || die
- dodoc src/FAQ/* || die
- docinto sgml || die
- dodoc src/sgml/*.{sgml,dsl} || die
- docinto sgml/ref || die
- dodoc src/sgml/ref/*.sgml || die
- docinto TODO.detail || die
- dodoc TODO.detail/* || die
- fi
-
- cd ${S}
- exeinto /etc/init.d/
- newexe ${FILESDIR}/postgresql.init-8.0.0 postgresql || die
-
- insinto /etc/conf.d/
- newins ${FILESDIR}/postgresql.conf-8.0.0 postgresql || die
-}
-
-pkg_postinst() {
- einfo "Make sure the postgres user in /etc/passwd has an account setup with /bin/bash as the shell"
-
- if [ ! -f ${PG_DIR}/data/PG_VERSION ] ; then
- einfo ""
- einfo "Execute the following command"
- einfo "ebuild /var/db/pkg/dev-db/${PF}/${PF}.ebuild config"
- einfo "to setup the initial database environment."
- einfo ""
- fi
-
- einfo ""
- einfo "Python modules was removed from PostgreSQL package."
- einfo "If you need it, please run \"emerge dev-db/pygresq\"."
- einfo ""
-}
-
-pkg_config() {
- einfo "Creating the data directory ..."
- mkdir -p ${PG_DIR}/data
- chown -Rf postgres:postgres ${PG_DIR}
- chmod 700 ${PG_DIR}/data
-
- einfo "Initializing the database ..."
- if [ -f ${PG_DIR}/data/PG_VERSION ] ; then
- eerror "Postgres ${MY_PV} cannot upgrade your existing databases."
- eerror "You must remove your entire database directory to continue."
- eerror "(database directory = ${PG_DIR})."
- exit 1
- else
- local SEM=`sysctl -n kernel.sem | cut -f-3`
- local SEMMNI=`sysctl -n kernel.sem | cut -f4`
- local SEMMNI_MIN=`expr \( ${MAX_CONNECTIONS} + 15 \) / 16`
- local SHMMAX=`sysctl -n kernel.shmmax`
- local SHMMAX_MIN=134217728 # 128M
-
- if [ ${SEMMNI} -lt ${SEMMNI_MIN} ]; then
- eerror "The current value of SEMMNI is too low"
- eerror "for postgresql to run ${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
- sudo -u postgres /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
- fi
-}