From 20d07af0fbd9dad784e16509c05b8be87e68aaee Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Mon, 5 Jan 2004 10:43:21 +0000 Subject: fix bug #34605. no response from postgres herd so fixing it myself --- dev-db/postgresql/ChangeLog | 10 +- dev-db/postgresql/Manifest | 36 +-- dev-db/postgresql/files/digest-postgresql-7.4-r2 | 4 + dev-db/postgresql/files/digest-postgresql-7.4.1-r1 | 4 + dev-db/postgresql/postgresql-7.3.4-r1.ebuild | 4 +- dev-db/postgresql/postgresql-7.4-r1.ebuild | 4 +- dev-db/postgresql/postgresql-7.4-r2.ebuild | 235 ++++++++++++++++++++ dev-db/postgresql/postgresql-7.4.1-r1.ebuild | 243 +++++++++++++++++++++ dev-db/postgresql/postgresql-7.4.1.ebuild | 4 +- 9 files changed, 520 insertions(+), 24 deletions(-) create mode 100644 dev-db/postgresql/files/digest-postgresql-7.4-r2 create mode 100644 dev-db/postgresql/files/digest-postgresql-7.4.1-r1 create mode 100644 dev-db/postgresql/postgresql-7.4-r2.ebuild create mode 100644 dev-db/postgresql/postgresql-7.4.1-r1.ebuild (limited to 'dev-db') diff --git a/dev-db/postgresql/ChangeLog b/dev-db/postgresql/ChangeLog index a1316e2f3fb4..946593525b75 100644 --- a/dev-db/postgresql/ChangeLog +++ b/dev-db/postgresql/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-db/postgresql -# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.77 2004/01/03 19:15:42 nakano Exp $ +# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.78 2004/01/05 10:43:21 robbat2 Exp $ + +*postgresql-7.4.1-r1 (05 Jan 2004) + + 05 Jan 2004; Robin H. Johnson postgresql-7.4-r2.ebuild, + postgresql-7.4.1-r1.ebuild: + fix bug #34605. no response from postgres herd so fixing it myself 03 Jan 2004; Masatomo Nakano postgresql-7.3.5.ebuild: Marked as stable. diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest index a14bb43d1bc3..168ae9250bdc 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -1,23 +1,27 @@ -MD5 d262023a467ad0ba129da523da5c2d1e ChangeLog 13068 -MD5 6f8a82eff372b01712e5307ca6cbb34d postgresql-7.3.4-r1.ebuild 8089 -MD5 2f88367c493768ad91447459547ab35a postgresql-7.3.5.ebuild 8237 +MD5 5db68c949f7b81f2fe953103ac368997 postgresql-7.4-r2.ebuild 7860 +MD5 27ba2714411fe6643792eeac8dbb36f4 postgresql-7.4.1.ebuild 8275 +MD5 fc565044425d49d050573f51087f2031 postgresql-7.3.5.ebuild 8236 +MD5 1919f791c5267b817dc5397c55555889 postgresql-7.3.4-r1.ebuild 8089 +MD5 2d751e0d5f5e58214caffe659940ce3c postgresql-7.4-r1.ebuild 7943 +MD5 031888d2287737c250f1653e4802e77b postgresql-7.4.1-r1.ebuild 8187 +MD5 7fc217c5080a3cde195b2bece28ca82d ChangeLog 13283 MD5 f8d3d207746da2a3cd14dcaab8daab76 metadata.xml 163 -MD5 f1f9cb93302a9f817a19282da1d1582e postgresql-7.4-r1.ebuild 7943 -MD5 d679e232cc720e5afd9d72b1744288c4 postgresql-7.4.1.ebuild 8275 -MD5 7b4771ec5dd5bcb3f47495cca2fb3482 files/digest-postgresql-7.3.5 288 +MD5 fb171f76854a5249b2be2773b4336a4a files/postgresql-7.4-gentoo.patch 623 +MD5 b325603c1adc7c6734e48976c2b604c0 files/postgresql.init-7.4 1137 +MD5 2e87af398df0a957bf2f2dff754ac174 files/postgresql-7.4.1-vacuum-delay.patch 8918 +MD5 5a0b8275ed1af0691ba041b5074d5590 files/postgresql-7.4.1-gentoo.patch 631 MD5 b0b26f2f466f14fcab3085e2ce726413 files/postgresql.init-7.3.4 1138 MD5 b0b26f2f466f14fcab3085e2ce726413 files/postgresql.init-7.3.5 1138 -MD5 de93df43e2bc632828c53eac67680692 files/digest-postgresql-7.3.4-r1 135 -MD5 0c7826b3fcbba5971ff5d5a3f3c4a8ba files/pg_autovacuum.init-7.4.1 1101 -MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.1 302 +MD5 9c725302f54beec36804bd71968cbb26 files/postgresql.init-7.4.1 1144 MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4.1 390 -MD5 2b0c84d2c26622573d4e2b7e0518fdad files/postgresql.conf 375 -MD5 4e148f930c09bddec23d157f9c446020 files/postgresql.init 937 -MD5 fe2e030e20b8ae2c4f0169de5d42c0a7 files/postgresql.init-7.4.1 1145 +MD5 7b4771ec5dd5bcb3f47495cca2fb3482 files/digest-postgresql-7.3.5 288 MD5 3f7fdc0edd471b911d75caf118d6b7e2 files/digest-postgresql-7.4.1 288 -MD5 5a0b8275ed1af0691ba041b5074d5590 files/postgresql-7.4.1-gentoo.patch 631 +MD5 62997d30ff7835eef9f988871e07bb22 files/pg_autovacuum.init-7.4.1 1100 +MD5 999379432735e7e6a71ec6ccd5a784e1 files/pg_autovacuum.conf-7.4.1 302 MD5 9787933dfca9cc3858468186231a9df1 files/postgresql.conf-7.4 390 -MD5 b325603c1adc7c6734e48976c2b604c0 files/postgresql.init-7.4 1137 +MD5 de93df43e2bc632828c53eac67680692 files/digest-postgresql-7.3.4-r1 135 +MD5 1e11ba818bc83256ab31d93c2e15a030 files/digest-postgresql-7.4.1-r1 288 +MD5 2b0c84d2c26622573d4e2b7e0518fdad files/postgresql.conf 375 +MD5 4e148f930c09bddec23d157f9c446020 files/postgresql.init 937 MD5 819dc2dce7f1371731ac23b5792054ba files/digest-postgresql-7.4-r1 282 -MD5 2e87af398df0a957bf2f2dff754ac174 files/postgresql-7.4.1-vacuum-delay.patch 8918 -MD5 fb171f76854a5249b2be2773b4336a4a files/postgresql-7.4-gentoo.patch 623 +MD5 596e1f84497ad704dc893af524c97ce6 files/digest-postgresql-7.4-r2 282 diff --git a/dev-db/postgresql/files/digest-postgresql-7.4-r2 b/dev-db/postgresql/files/digest-postgresql-7.4-r2 new file mode 100644 index 000000000000..181019903064 --- /dev/null +++ b/dev-db/postgresql/files/digest-postgresql-7.4-r2 @@ -0,0 +1,4 @@ +MD5 a1af58384f506ed63c1d960ab43a2b3b postgresql-base-7.4.tar.bz2 6386681 +MD5 df425a08172b1e6ca41e7720b65a6b15 postgresql-opt-7.4.tar.bz2 326740 +MD5 b8f1d43dc64b6813b3239f36425c8cb8 postgresql-docs-7.4.tar.bz2 2361172 +MD5 a9d68b8e15764ce75734b805407c1a66 hier-Pg7.4-0.3.tar.gz 28382 diff --git a/dev-db/postgresql/files/digest-postgresql-7.4.1-r1 b/dev-db/postgresql/files/digest-postgresql-7.4.1-r1 new file mode 100644 index 000000000000..54b518d61b18 --- /dev/null +++ b/dev-db/postgresql/files/digest-postgresql-7.4.1-r1 @@ -0,0 +1,4 @@ +MD5 6a608caae10fb1d90bf3c7bdcc56b876 postgresql-base-7.4.1.tar.bz2 6407883 +MD5 5c2c63741d9c7a4168b29e4b4439b0c7 postgresql-opt-7.4.1.tar.bz2 329268 +MD5 c1ed614b482df37fa0b174b3f3839752 postgresql-docs-7.4.1.tar.bz2 2381553 +MD5 a9d68b8e15764ce75734b805407c1a66 hier-Pg7.4-0.3.tar.gz 28382 diff --git a/dev-db/postgresql/postgresql-7.3.4-r1.ebuild b/dev-db/postgresql/postgresql-7.3.4-r1.ebuild index 1b308b8dbd83..2a990a96c8de 100644 --- a/dev-db/postgresql/postgresql-7.3.4-r1.ebuild +++ b/dev-db/postgresql/postgresql-7.3.4-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2003 Gentoo Technologies, Inc. +# Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.3.4-r1.ebuild,v 1.6 2003/12/29 14:42:33 nakano Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.3.4-r1.ebuild,v 1.7 2004/01/05 10:43:21 robbat2 Exp $ DESCRIPTION="sophisticated Object-Relational DBMS" diff --git a/dev-db/postgresql/postgresql-7.4-r1.ebuild b/dev-db/postgresql/postgresql-7.4-r1.ebuild index 5b8e81693926..227adaefd207 100644 --- a/dev-db/postgresql/postgresql-7.4-r1.ebuild +++ b/dev-db/postgresql/postgresql-7.4-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2003 Gentoo Technologies, Inc. +# Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.4-r1.ebuild,v 1.3 2003/12/29 14:42:33 nakano Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.4-r1.ebuild,v 1.4 2004/01/05 10:43:21 robbat2 Exp $ DESCRIPTION="sophisticated Object-Relational DBMS." diff --git a/dev-db/postgresql/postgresql-7.4-r2.ebuild b/dev-db/postgresql/postgresql-7.4-r2.ebuild new file mode 100644 index 000000000000..4ae1eb66a230 --- /dev/null +++ b/dev-db/postgresql/postgresql-7.4-r2.ebuild @@ -0,0 +1,235 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.4-r2.ebuild,v 1.1 2004/01/05 10:43:21 robbat2 Exp $ + +DESCRIPTION="sophisticated Object-Relational DBMS." + +RESTRICT="nomirror" +P_HIERPG="hier-Pg7.4-0.3" +SRC_URI="mirror://postgresql/v${PV}/${PN}-base-${PV}.tar.bz2 + mirror://postgresql/v${PV}/${PN}-opt-${PV}.tar.bz2 + doc? ( mirror://postgresql/v${PV}/${PN}-docs-${PV}.tar.bz2 ) + pg-hier? ( http://gppl.terminal.ru/${P_HIERPG}.tar.gz )" + +HOMEPAGE="http://www.postgresql.org/" + +LICENSE="POSTGRESQL" +SLOT="0" +KEYWORDS="~x86 ~ppc ~sparc ~alpha ~amd64 ~hppa" +IUSE="ssl nls java python tcltk perl libg++ pam readline zlib doc pg-hier" + +DEPEND="virtual/glibc + sys-devel/autoconf + app-admin/sudo + >=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? ( !amd64? ( >=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/glibc + 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? ( !amd64? ( >=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 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}-gentoo.patch + if use pg-hier; then + cd ${WORKDIR} || die + mv readme.html README-${P_HIERPG}.html || die + cd ${S} || die + epatch ${WORKDIR}/${P_HIERPG}.diff + fi +} + +src_compile() { + filter-flags -ffast-math + + if [ "`use java`" -a ! "`use amd64`" ]; then + check_java_config + fi + + local myconf + use tcltk && myconf="--with-tcl" + use python && myconf="$myconf --with-python" + use perl && myconf="$myconf --with-perl" + if [ "`use java`" -a ! "`use amd64`" ]; then + myconf="$myconf --with-java" + fi + 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" + + ./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} 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 + dodoc contrib/adddepend/* + + exeinto /usr/bin + + if [ "`use java`" -a ! "`use amd64`" ]; then + dojar ${D}/usr/share/postgresql/java/postgresql.jar || die + rm ${D}/usr/share/postgresql/java/postgresql.jar + fi + + 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-${PV} postgresql || die +} + +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, or /bin/true" +} + +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 + sudo -u postgres /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-7.4.1-r1.ebuild b/dev-db/postgresql/postgresql-7.4.1-r1.ebuild new file mode 100644 index 000000000000..17711f0af977 --- /dev/null +++ b/dev-db/postgresql/postgresql-7.4.1-r1.ebuild @@ -0,0 +1,243 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.4.1-r1.ebuild,v 1.1 2004/01/05 10:43:21 robbat2 Exp $ + +DESCRIPTION="sophisticated Object-Relational DBMS." + +RESTRICT="nomirror" +P_HIERPG="hier-Pg7.4-0.3" +SRC_URI="mirror://postgresql/v${PV}/${PN}-base-${PV}.tar.bz2 + mirror://postgresql/v${PV}/${PN}-opt-${PV}.tar.bz2 + doc? ( mirror://postgresql/v${PV}/${PN}-docs-${PV}.tar.bz2 ) + pg-hier? ( http://gppl.terminal.ru/${P_HIERPG}.tar.gz )" + +HOMEPAGE="http://www.postgresql.org/" + +LICENSE="POSTGRESQL" +SLOT="0" +KEYWORDS="~x86 ~ppc ~sparc ~alpha ~amd64 ~hppa" +IUSE="ssl nls java python tcltk perl libg++ pam readline zlib doc pg-hier pg-vacuumdelay pg-intdatetime" + +DEPEND="virtual/glibc + sys-devel/autoconf + app-admin/sudo + >=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? ( !amd64? ( >=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/glibc + 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? ( !amd64? ( >=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 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}-gentoo.patch + if use pg-hier; then + cd ${WORKDIR} || die + mv readme.html README-${P_HIERPG}.html || die + cd ${S} || die + epatch ${WORKDIR}/${P_HIERPG}.diff + fi + + if use pg-vacuumdelay; then + cd ${S} || die + epatch ${FILESDIR}/${P}-vacuum-delay.patch + fi +} + +src_compile() { + filter-flags -ffast-math + + if [ "`use java`" -a ! "`use amd64`" ]; then + check_java_config + fi + + local myconf + use tcltk && myconf="--with-tcl" + use python && myconf="$myconf --with-python" + use perl && myconf="$myconf --with-perl" + if [ "`use java`" -a ! "`use amd64`" ]; then + myconf="$myconf --with-java" + fi + 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" + + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --host=${CHOST} \ + --docdir=/usr/share/doc/${PF} \ + --includedir=/usr/include/postgresql/pgsql \ + --libdir=/usr/lib \ + --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} 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 + dodoc contrib/adddepend/* + + exeinto /usr/bin + + if [ "`use java`" -a ! "`use amd64`" ]; then + dojar ${D}/usr/share/postgresql/java/postgresql.jar || die + rm ${D}/usr/share/postgresql/java/postgresql.jar + fi + + 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 + + insinto /etc/conf.d/ + newins ${FILESDIR}/postgresql.conf-${PV} postgresql || die + newins ${FILESDIR}/pg_autovacuum.conf-${PV} pg_autovacuum || die +} + +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, or /bin/true" +} + +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 + sudo -u postgres /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-7.4.1.ebuild b/dev-db/postgresql/postgresql-7.4.1.ebuild index 83aa078cb83d..8eee086c9000 100644 --- a/dev-db/postgresql/postgresql-7.4.1.ebuild +++ b/dev-db/postgresql/postgresql-7.4.1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2003 Gentoo Technologies, Inc. +# Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.4.1.ebuild,v 1.2 2003/12/29 14:42:33 nakano Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.4.1.ebuild,v 1.3 2004/01/05 10:43:21 robbat2 Exp $ DESCRIPTION="sophisticated Object-Relational DBMS." -- cgit v1.2.3-65-gdbad