diff options
author | Matsuu Takuto <matsuu@gentoo.org> | 2004-10-08 14:54:54 +0000 |
---|---|---|
committer | Matsuu Takuto <matsuu@gentoo.org> | 2004-10-08 14:54:54 +0000 |
commit | 2818bed7372a42b5c7df06303179132ac05ef729 (patch) | |
tree | f6b181b77d1ac7e5e131353e0ffe29270cd9ef39 /dev-db | |
parent | Fix access violation (bug #66758). (diff) | |
download | historical-2818bed7372a42b5c7df06303179132ac05ef729.tar.gz historical-2818bed7372a42b5c7df06303179132ac05ef729.tar.bz2 historical-2818bed7372a42b5c7df06303179132ac05ef729.zip |
Security update. #66371.
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/postgresql/ChangeLog | 7 | ||||
-rw-r--r-- | dev-db/postgresql/Manifest | 61 | ||||
-rw-r--r-- | dev-db/postgresql/files/digest-postgresql-7.4.5-r2 | 4 | ||||
-rw-r--r-- | dev-db/postgresql/files/postgresql-7.4.5-tempfile.patch | 48 | ||||
-rw-r--r-- | dev-db/postgresql/postgresql-7.4.5-r2.ebuild | 296 |
5 files changed, 386 insertions, 30 deletions
diff --git a/dev-db/postgresql/ChangeLog b/dev-db/postgresql/ChangeLog index d547554ac7e3..af6803fe4461 100644 --- a/dev-db/postgresql/ChangeLog +++ b/dev-db/postgresql/ChangeLog @@ -1,6 +1,11 @@ # 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.132 2004/10/06 08:32:27 kloeri Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.133 2004/10/08 14:54:54 matsuu Exp $ + +*postgresql-7.4.5-r2 (08 Oct 2004) + + 08 Oct 2004; MATSUU Takuto <matsuu@gentoo.org> +postgresql-7.4.5-r2.ebuild: + Security update. #66371. 06 Oct 2004; Bryan Østergaard <kloeri@gentoo.org> postgresql-7.4.5.ebuild: Stable on alpha. diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest index 4d8cf91f3e89..5b52f283cbb7 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -1,40 +1,43 @@ -MD5 eb10c55efd876cd1f1d6f770e904656a postgresql-7.4.5-r1.ebuild 10058 -MD5 5743867bdf40ff876dfd7eb97d885f1f postgresql-7.4.5.ebuild 10045 +MD5 52a786d752a82349212155903662c276 postgresql-7.3.6-r1.ebuild 7488 MD5 e6e8b4f6da29c0318a0e475adc4bcba5 postgresql-7.4.3-r1.ebuild 10027 -MD5 f8d3d207746da2a3cd14dcaab8daab76 metadata.xml 163 -MD5 757144ac9d71c3a6e22f21da4149c937 postgresql-7.3.7-r1.ebuild 7899 +MD5 e80fccb36c4f231230c1b2f9920a3a54 postgresql-7.4.5-r2.ebuild 10096 MD5 c8cfe91570d04c81d48fa47b3eb3106f postgresql-8.0.0_beta3.ebuild 6845 MD5 0cfe4ea1b66826088bff446a34518c0c postgresql-7.4.3.ebuild 9736 -MD5 52a786d752a82349212155903662c276 postgresql-7.3.6-r1.ebuild 7488 -MD5 7e74d253aa2ca96e8e205ea9a339f332 ChangeLog 23994 +MD5 eb10c55efd876cd1f1d6f770e904656a postgresql-7.4.5-r1.ebuild 10058 MD5 8d7710ea217e4a80d1c323558a9e2656 postgresql-7.3.7.ebuild 7866 -MD5 edd1ce8d03bdce473718f1c3036e68cd files/digest-postgresql-7.4.5 290 -MD5 2e87af398df0a957bf2f2dff754ac174 files/postgresql-7.4.5-vacuum-delay.patch 8918 -MD5 fb7c6cd99264f1a121d07cf812e9f99b files/postgresql.init-7.3.7 1279 +MD5 5743867bdf40ff876dfd7eb97d885f1f postgresql-7.4.5.ebuild 10045 +MD5 a07fb2870165a40c285c7492495da8a2 ChangeLog 24136 +MD5 757144ac9d71c3a6e22f21da4149c937 postgresql-7.3.7-r1.ebuild 7899 +MD5 f8d3d207746da2a3cd14dcaab8daab76 metadata.xml 163 +MD5 cd9e32f5a21def1a4e2d1ac0e042aa47 files/postgresql-7.3.7-gentoo.patch 529 +MD5 2b95b50fc69a8003c493789f15020ee5 files/postgresql-8.0.0_beta3-gentoo.patch 730 +MD5 48e0a30256ff63828820519640b44833 files/postgresql-7.4.5-tempfile.patch 1453 MD5 b953b7e3784ac0d01467f1e740a96a8a files/postgresql-7.4.5-gentoo.patch 631 -MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.3 302 -MD5 3b4cbf59561d655b882ab335b892909d files/digest-postgresql-7.3.6-r1 223 -MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4.5 390 -MD5 eb2eba5dfa7b1f85b4323b219368044b files/postgresql.init-7.4.5 1279 MD5 fe8563fd37bfee794b28728f0842b888 files/postgresql.init-7.3.6 1281 -MD5 f866bf017df6501dfe4918e0d4744f61 files/digest-postgresql-8.0.0_beta3 238 -MD5 a0c1913ae5fcdc67eccdc1ed2e8360f2 files/digest-postgresql-7.4.3 290 -MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-8.0.0 390 +MD5 fb7c6cd99264f1a121d07cf812e9f99b files/postgresql.init-7.3.7 1279 MD5 b54624cb385431b9b3d4b167c2a9aca4 files/postgresql.init-7.4.3 1281 -MD5 bd8092be6ccc6918973d9654caacbfab files/postgresql-7.4.3-hppa-testandset.patch 1596 -MD5 2b95b50fc69a8003c493789f15020ee5 files/postgresql-8.0.0_beta3-gentoo.patch 730 -MD5 a0c1913ae5fcdc67eccdc1ed2e8360f2 files/digest-postgresql-7.4.3-r1 290 -MD5 18249476d920987d48972156c34bec75 files/postgresql-7.4.5-r1-gentoo.patch 1160 -MD5 683d803768f3060ffc4bd5a6f5c91918 files/pg_autovacuum.init-7.4.3 1064 -MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4.3 390 -MD5 7b8bf110e22829c7040aa1e87afa371c files/postgresql-7.4.3-gentoo.patch 631 -MD5 cd9e32f5a21def1a4e2d1ac0e042aa47 files/postgresql-7.3.7-gentoo.patch 529 -MD5 b22b4de6c3cc06beed0ed3e1f8df257f files/digest-postgresql-7.3.7-r1 223 +MD5 eb2eba5dfa7b1f85b4323b219368044b files/postgresql.init-7.4.5 1279 MD5 2d09c23680cd7d8f706a2fe8cc41b8fa files/postgresql.init-8.0.0 1279 -MD5 bd8092be6ccc6918973d9654caacbfab files/postgresql-7.4.5-hppa-testandset.patch 1596 -MD5 edd1ce8d03bdce473718f1c3036e68cd files/digest-postgresql-7.4.5-r1 290 -MD5 8fa377b0390f126d8ef3ee0909f7f813 files/pg_autovacuum.init-7.4.5 1414 +MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4.3 390 +MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4.5 390 +MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-8.0.0 390 MD5 b22b4de6c3cc06beed0ed3e1f8df257f files/digest-postgresql-7.3.7 223 +MD5 a0c1913ae5fcdc67eccdc1ed2e8360f2 files/digest-postgresql-7.4.3 290 +MD5 edd1ce8d03bdce473718f1c3036e68cd files/digest-postgresql-7.4.5 290 +MD5 683d803768f3060ffc4bd5a6f5c91918 files/pg_autovacuum.init-7.4.3 1064 +MD5 8fa377b0390f126d8ef3ee0909f7f813 files/pg_autovacuum.init-7.4.5 1414 +MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.3 302 +MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.5 302 +MD5 bd8092be6ccc6918973d9654caacbfab files/postgresql-7.4.3-hppa-testandset.patch 1596 MD5 2e87af398df0a957bf2f2dff754ac174 files/postgresql-7.4.3-vacuum-delay.patch 8918 +MD5 f866bf017df6501dfe4918e0d4744f61 files/digest-postgresql-8.0.0_beta3 238 +MD5 bd8092be6ccc6918973d9654caacbfab files/postgresql-7.4.5-hppa-testandset.patch 1596 +MD5 3b4cbf59561d655b882ab335b892909d files/digest-postgresql-7.3.6-r1 223 +MD5 b22b4de6c3cc06beed0ed3e1f8df257f files/digest-postgresql-7.3.7-r1 223 +MD5 a0c1913ae5fcdc67eccdc1ed2e8360f2 files/digest-postgresql-7.4.3-r1 290 +MD5 edd1ce8d03bdce473718f1c3036e68cd files/digest-postgresql-7.4.5-r1 290 +MD5 edd1ce8d03bdce473718f1c3036e68cd files/digest-postgresql-7.4.5-r2 290 +MD5 2e87af398df0a957bf2f2dff754ac174 files/postgresql-7.4.5-vacuum-delay.patch 8918 MD5 2b0c84d2c26622573d4e2b7e0518fdad files/postgresql.conf 375 -MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.5 302 +MD5 7b8bf110e22829c7040aa1e87afa371c files/postgresql-7.4.3-gentoo.patch 631 +MD5 18249476d920987d48972156c34bec75 files/postgresql-7.4.5-r1-gentoo.patch 1160 diff --git a/dev-db/postgresql/files/digest-postgresql-7.4.5-r2 b/dev-db/postgresql/files/digest-postgresql-7.4.5-r2 new file mode 100644 index 000000000000..d41123b52cb6 --- /dev/null +++ b/dev-db/postgresql/files/digest-postgresql-7.4.5-r2 @@ -0,0 +1,4 @@ +MD5 bffc3fe775c885489f9071e97f43ab9b postgresql-base-7.4.5.tar.bz2 6530104 +MD5 8be416baeeb32518f2b17a91c4caafba postgresql-opt-7.4.5.tar.bz2 332174 +MD5 548a73c898e65f901dbc06d622a2bc63 postgresql-docs-7.4.5.tar.bz2 2409931 +MD5 16d037213b879963724da7809a0a1589 hier-Pg7.4-0.5.3.tar.gz 34662 diff --git a/dev-db/postgresql/files/postgresql-7.4.5-tempfile.patch b/dev-db/postgresql/files/postgresql-7.4.5-tempfile.patch new file mode 100644 index 000000000000..e541efd0c270 --- /dev/null +++ b/dev-db/postgresql/files/postgresql-7.4.5-tempfile.patch @@ -0,0 +1,48 @@ +diff -ur postgresql-7.4.5.orig/contrib/findoidjoins/make_oidjoins_check postgresql-7.4.5/contrib/findoidjoins/make_oidjoins_check +--- postgresql-7.4.5.orig/contrib/findoidjoins/make_oidjoins_check 2002-09-05 21:57:32.000000000 +0200 ++++ postgresql-7.4.5/contrib/findoidjoins/make_oidjoins_check 2004-09-20 11:51:39.000000000 +0200 +@@ -10,27 +10,35 @@ + # Caution: you may need to use GNU awk. + AWK=${AWK:-awk} + +-trap "rm -f /tmp/$$ /tmp/$$a /tmp/$$b" 0 1 2 3 15 ++TMP= ++TMPA= ++TMPB= ++trap 'rm -f -- "$TMP" "$TMPA" "$TMPB"' EXIT ++trap 'trap - EXIT; rm -f -- "$TMP" "$TMPA" "$TMPB"; exit 1' HUP INT QUIT TERM ++ ++TMP=`mktemp -t oidjoins.XXXXXX` || exit 1 ++TMPA=`mktemp -t oidjoins.a.XXXXXX` || exit 1 ++TMPB=`mktemp -t oidjoins.b.XXXXXX` || exit 1 + + # Read input +-cat "$@" >/tmp/$$ ++cat "$@" > $TMP + + # Look for fields with multiple references. +-cat /tmp/$$ | cut -d' ' -f2 | sort | uniq -d >/tmp/$$a +-if [ -s /tmp/$$a ] ; then ++cat $TMP | cut -d' ' -f2 | sort | uniq -d > $TMPA ++if [ -s $TMPA ] ; then + echo "Ignoring these fields that link to multiple tables:" 1>&2 +- cat /tmp/$$a 1>&2 ++ cat $TMPA 1>&2 + fi + + # Get the non-multiply-referenced fields. +-cat /tmp/$$ | while read LINE ++cat $TMP | while read LINE + do + set -- $LINE +- grep "^$2\$" /tmp/$$a >/dev/null 2>&1 || echo $LINE +-done >/tmp/$$b ++ grep "^$2\$" $TMPA >/dev/null 2>&1 || echo $LINE ++done > $TMPB + + # Generate the output. +-cat /tmp/$$b | ++cat $TMPB | + $AWK -F'[ \.]' '\ + BEGIN \ + { diff --git a/dev-db/postgresql/postgresql-7.4.5-r2.ebuild b/dev-db/postgresql/postgresql-7.4.5-r2.ebuild new file mode 100644 index 000000000000..1ef3405d967a --- /dev/null +++ b/dev-db/postgresql/postgresql-7.4.5-r2.ebuild @@ -0,0 +1,296 @@ +# 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.4.5-r2.ebuild,v 1.1 2004/10/08 14:54:54 matsuu Exp $ + +inherit eutils gnuconfig flag-o-matic + +DESCRIPTION="sophisticated Object-Relational DBMS." +HOMEPAGE="http://www.postgresql.org/" +P_HIERPG="hier-Pg7.4-0.5.3" +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 ) + pg-hier? ( ftp://gborg.postgresql.org/pub/hierpg/stable/${P_HIERPG}.tar.gz )" + +LICENSE="POSTGRESQL" +SLOT="0" +KEYWORDS="~x86 ~ppc ~sparc ~mips ~alpha ~arm ~hppa ~amd64 ~ia64 ~s390 ~ppc64" +IUSE="ssl nls java python tcltk perl libg++ pam readline zlib doc pg-hier pg-vacuumdelay pg-intdatetime" + +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 ) + 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" +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 7 ] || [ ${PG_MAJOR} -eq 7 -a ${PG_MINOR} -lt 4 ] ; 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}-r1-gentoo.patch + epatch ${FILESDIR}/${P}-tempfile.patch + + if use pg-hier; then + cd ${S} || die + epatch ${WORKDIR}/${P_HIERPG}.diff + fi + + if use pg-vacuumdelay; then + cd ${S} || die + epatch ${FILESDIR}/${P}-vacuum-delay.patch + fi + + if [ "${ARCH}" = "hppa" ] + then + cd ${S} + epatch ${FILESDIR}/${P}-hppa-testandset.patch + fi +} + +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" + 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} \ + --docdir=/usr/share/doc/${PF} \ + --libdir=/usr/lib \ + --includedir=/usr/include/postgresql/pgsql \ + --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} 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} + if use pg-hier; then + dodoc ${WORKDIR}/README-${P_HIERPG}.html || die + fi + dodoc README HISTORY COPYRIGHT INSTALL + dodoc contrib/adddepend/* + + exeinto /usr/bin + + 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 || die + rm ${D}/usr/share/postgresql/java/postgresql.jar + dojar ${D}/usr/share/postgresql/java/postgresql-examples.jar || die + rm ${D}/usr/share/postgresql/java/postgresql-examples.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 + newexe ${FILESDIR}/pg_autovacuum.init-${PV} pg_autovacuum || die + dosed "s:___DOCDIR___:/usr/share/doc/${PF}:" /etc/init.d/pg_autovacuum + + insinto /etc/conf.d/ + newins ${FILESDIR}/postgresql.conf-${PV} postgresql || die + newins ${FILESDIR}/pg_autovacuum.conf-${PV} pg_autovacuum || 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 + 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} -eq 4 ] ; then + ewarn "" + ewarn "If you are upgrading from PostgreSQL 7.4 or 7.4.1, it is strongly recommended" + ewarn "that you read the release notes concerning changes to the system catalogs." + ewarn "You can run 7.4.2 without rerunning initdb, however you may still experience" + ewarn "random crashes due to an error in pg_statistic." + ewarn "" + ewarn "If you prefer not to re-initdb your installation, the release notes contain" + ewarn "a procedure for manually correcting the problem." + ewarn "" + fi + + if use pg-hier; then + ewarn "" + ewarn "REQUIRED!! After installing patched PostgreSQL by pg-hier" + ewarn "it is required to run 'initdb'. Without this Pg will fail " + ewarn "with error " + ewarn "ERROR: did not find '}' at end of input node. " + ewarn "" + fi + else + 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 + 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 + 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=`expr 250000 + 30600 \* ${MAX_CONNECTIONS}` + + 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 + 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 + + 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 +} |