diff options
author | Masatomo Nakano <nakano@gentoo.org> | 2005-04-13 11:09:46 +0000 |
---|---|---|
committer | Masatomo Nakano <nakano@gentoo.org> | 2005-04-13 11:09:46 +0000 |
commit | d57955e7e88e8986da11cb354198115b9fa6239f (patch) | |
tree | bd4e4ce7bcf4f0071320c3feefa2a554a9fddcfe /dev-db/postgresql | |
parent | Fix install locations. (diff) | |
download | gentoo-2-d57955e7e88e8986da11cb354198115b9fa6239f.tar.gz gentoo-2-d57955e7e88e8986da11cb354198115b9fa6239f.tar.bz2 gentoo-2-d57955e7e88e8986da11cb354198115b9fa6239f.zip |
readded
(Portage version: 2.0.51.19)
Diffstat (limited to 'dev-db/postgresql')
-rw-r--r-- | dev-db/postgresql/ChangeLog | 8 | ||||
-rw-r--r-- | dev-db/postgresql/files/digest-postgresql-7.3.6-r2 | 3 | ||||
-rw-r--r-- | dev-db/postgresql/files/postgresql.init-7.3.6 | 63 | ||||
-rw-r--r-- | dev-db/postgresql/postgresql-7.3.6-r2.ebuild | 231 |
4 files changed, 304 insertions, 1 deletions
diff --git a/dev-db/postgresql/ChangeLog b/dev-db/postgresql/ChangeLog index b8db55260d8e..ce5f7f2de4c2 100644 --- a/dev-db/postgresql/ChangeLog +++ b/dev-db/postgresql/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-db/postgresql # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.199 2005/04/12 15:50:43 nakano Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/ChangeLog,v 1.200 2005/04/13 11:09:46 nakano Exp $ + +*postgresql-7.3.6-r2 (13 Apr 2005) + + 13 Apr 2005; Masatomo Nakano <nakano@gentoo.org> + +files/postgresql.init-7.3.6, +postgresql-7.3.6-r2.ebuild: + readded. (7.3.6 is used by postgis) 12 Apr 2005; Masatomo Nakano <nakano@gentoo.org> postgresql-8.0.2.ebuild: ~amd64 masked. diff --git a/dev-db/postgresql/files/digest-postgresql-7.3.6-r2 b/dev-db/postgresql/files/digest-postgresql-7.3.6-r2 new file mode 100644 index 000000000000..2e476ab072c6 --- /dev/null +++ b/dev-db/postgresql/files/digest-postgresql-7.3.6-r2 @@ -0,0 +1,3 @@ +MD5 80b1649458ed7b0e765fb19bcb81c7aa postgresql-base-7.3.6.tar.bz2 5647447 +MD5 49b6faa1698c6d9f357e13236f7ca777 postgresql-opt-7.3.6.tar.bz2 341096 +MD5 ec0cf85996049eb0180a2163c482c02c postgresql-docs-7.3.6.tar.bz2 2337333 diff --git a/dev-db/postgresql/files/postgresql.init-7.3.6 b/dev-db/postgresql/files/postgresql.init-7.3.6 new file mode 100644 index 000000000000..38ad684245e6 --- /dev/null +++ b/dev-db/postgresql/files/postgresql.init-7.3.6 @@ -0,0 +1,63 @@ +#!/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/postgresql.init-7.3.6,v 1.4 2005/04/13 11:09:46 nakano Exp $ + +opts="${opts} reload" + +depend() { + use net +} + +checkconfig() { + if [ ! -d $PGDATA ]; then + eerror "directory not found: $PGDATA" + eerror "You should create PGDATA directory first." + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting PostgreSQL" + if [ -f $PGDATA/postmaster.pid ]; then + rm $PGDATA/postmaster.pid + fi + su - $PGUSER -c "/usr/bin/pg_ctl start -D '$PGDATA' -s -l '$PGLOG' -o '$PGOPTS'" + + while : + do + cnt=$(($cnt + 1)) + if [ -f "$PGDATA/postmaster.pid" ]; then + ret=0 + break + fi + + if [ $cnt -eq 30 ]; then + eerror "Please see log file: $PGLOG" + ret=1 + break + fi + sleep 1 + done + eend $ret +} + +stop() { + ebegin "Stopping PostgreSQL" + su - $PGUSER -c "/usr/bin/pg_ctl stop -D '$PGDATA' -s -m fast" + eend $? +} + +svc_restart() { + ebegin "Restarting PostgreSQL" + su - $PGUSER -c "/usr/bin/pg_ctl restart -D '$PGDATA' -s -m fast -l '$PGLOG' -o '$PGOPTS'" + eend $? +} + +reload() { + ebegin "Reloading PostgreSQL configuration" + su - $PGUSER -c "/usr/bin/pg_ctl reload -D '$PGDATA' -s" + eend $? +} diff --git a/dev-db/postgresql/postgresql-7.3.6-r2.ebuild b/dev-db/postgresql/postgresql-7.3.6-r2.ebuild new file mode 100644 index 000000000000..f24d0cac74c4 --- /dev/null +++ b/dev-db/postgresql/postgresql-7.3.6-r2.ebuild @@ -0,0 +1,231 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-7.3.6-r2.ebuild,v 1.5 2005/04/13 11:09:46 nakano Exp $ + +inherit 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 + cd ${S} || die +} + +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 +} |