Mercurial > hg > portage
changeset 6:064c971e194b
libpq/pg 8.1.3 are in portage
author | holger@hoho.dyndns.org |
---|---|
date | Wed, 26 Mar 2008 16:27:49 +0100 |
parents | 7ea75d7ff405 |
children | 13732669c9a1 |
files | dev-db/libpq/Manifest dev-db/libpq/files/libpq-8.3.1-gentoo.patch dev-db/libpq/libpq-8.3.1.ebuild dev-db/postgresql/Manifest dev-db/postgresql/files/postgresql-8.3.1-gentoo.patch dev-db/postgresql/files/postgresql-8.3.1-regress_su.patch dev-db/postgresql/files/postgresql-8.3.1-sh.patch dev-db/postgresql/files/postgresql.conf-8.3 dev-db/postgresql/files/postgresql.init-8.3 dev-db/postgresql/postgresql-8.3.1.ebuild |
diffstat | 10 files changed, 0 insertions(+), 601 deletions(-) [+] |
line wrap: on
line diff
--- a/dev-db/libpq/Manifest Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -AUX libpq-8.3.1-gentoo.patch 2138 RMD160 f932113fe89d0ced34bc988d87beaf0dbf2010d8 SHA1 1e77403c2a57231b8625826093aa6f8f3dbb2396 SHA256 f49402d88f63e096d7bf4a934f676fcfa9bfbfa3b3c45d37b6ac966b856dd37a -DIST postgresql-8.3.1.tar.bz2 13995572 RMD160 075efb67126f2b308d2a5fe4f9097fdbfbe94c89 SHA1 7397e0d8fd3c420ee845d9ae4995ae347bfaea1d SHA256 7ccf1e5c987920e4d6eb98b8589939e29d3a361d285055d5af35ddd8e1a2d992 -EBUILD libpq-8.3.1.ebuild 3241 RMD160 1cef3e2875a3745d68df1c91843779a8dde979bc SHA1 6f84942df9e0b18d295ec28035cf362f7956f647 SHA256 32bc2adbc8b233e85a2761597d021a947fe35c19b892f7ad4f9b8932c3a5122c
--- a/dev-db/libpq/files/libpq-8.3.1-gentoo.patch Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ ---- postgresql-8.3RC1.orig/src/interfaces/libpq/Makefile 2006-12-28 01:01:12.000000000 +0100 -+++ postgresql-8.3RC1/src/interfaces/libpq/Makefile 2007-03-29 10:24:27.000000000 +0200 -@@ -20,6 +20,8 @@ - SO_MINOR_VERSION= 0 - DLTYPE= library - -+NAME_STATIC_LIB= $(NAME)-$(SO_MAJOR_VERSION) -+ - override CPPFLAGS := -DFRONTEND -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/port - ifneq ($(PORTNAME), win32) - override CFLAGS += $(PTHREAD_CFLAGS) -@@ -160,7 +162,7 @@ - $(INSTALL_DATA) $(srcdir)/libpq-fe.h '$(DESTDIR)$(includedir)' - $(INSTALL_DATA) $(srcdir)/libpq-int.h '$(DESTDIR)$(includedir_internal)' - $(INSTALL_DATA) $(srcdir)/pqexpbuffer.h '$(DESTDIR)$(includedir_internal)' -- $(INSTALL_DATA) $(srcdir)/pg_service.conf.sample '$(DESTDIR)$(datadir)/pg_service.conf.sample' -+ $(INSTALL_DATA) $(srcdir)/pg_service.conf.sample '$(DESTDIR)$(datadir)/pg_service-$(SO_MAJOR_VERSION).conf.sample' - - installdirs: - $(mkinstalldirs) '$(DESTDIR)$(libdir)' '$(DESTDIR)$(includedir)' '$(DESTDIR)$(includedir_internal)' ---- postgresql-8.3RC1.orig/src/interfaces/libpq/nls.mk 2005-01-14 09:57:06.000000000 +0100 -+++ postgresql-8.3RC1/src/interfaces/libpq/nls.mk 2007-03-29 10:24:55.000000000 +0200 -@@ -1,5 +1,5 @@ - # $PostgreSQL: pgsql/src/interfaces/libpq/nls.mk,v 1.21 2007/10/27 00:13:43 petere Exp $ --CATALOG_NAME := libpq -+CATALOG_NAME := libpq-4 - AVAIL_LANGUAGES := af cs de es fr hr it ko nb pl pt_BR ru sk sl sv ta tr zh_CN zh_TW - GETTEXT_FILES := fe-auth.c fe-connect.c fe-exec.c fe-lobj.c fe-misc.c fe-protocol2.c fe-protocol3.c fe-secure.c - GETTEXT_TRIGGERS:= libpq_gettext pqInternalNotice:2 ---- postgresql-8.3RC1.orig/src/Makefile.shlib 2006-09-19 17:36:07.000000000 +0200 -+++ postgresql-8.3RC1/src/Makefile.shlib 2007-03-29 10:28:42.000000000 +0200 -@@ -346,10 +346,10 @@ - install-lib: install-lib-static install-lib-shared - - install-lib-static: lib$(NAME).a -- $(INSTALL_STLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).a' -+ $(INSTALL_STLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME_STATIC_LIB).a' - ifeq ($(PORTNAME), darwin) - cd '$(DESTDIR)$(libdir)' && \ -- ranlib lib$(NAME).a -+ ranlib lib$(NAME_STATIC_LIB).a - endif - - ifeq ($(enable_shared), yes)
--- a/dev-db/libpq/libpq-8.3.1.ebuild Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/libpq/libpq-8.2.6.ebuild,v 1.1 2008/01/13 01:38:02 mjolnir Exp $ - -inherit eutils flag-o-matic toolchain-funcs - -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" - -MY_PV="${PV/_rc/RC}" -DESCRIPTION="PostgreSQL libraries." -HOMEPAGE="http://www.postgresql.org/" -SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" -LICENSE="POSTGRESQL" -SLOT="4" -IUSE="kerberos nls pam pg-intdatetime readline ssl threads zlib" -RESTRICT="nomirror" - -RDEPEND="!<=dev-db/postgresql-8.1.4 - kerberos? ( virtual/krb5 ) - pam? ( virtual/pam ) - readline? ( >=sys-libs/readline-4.1 ) - ssl? ( >=dev-libs/openssl-0.9.6-r1 ) - zlib? ( >=sys-libs/zlib-1.1.3 )" -DEPEND="${RDEPEND} - sys-devel/autoconf - >=sys-devel/bison-1.875 - nls? ( sys-devel/gettext )" - -S="${WORKDIR}/postgresql-${MY_PV}" - -pkg_preinst() { - # Removing wrong symlink created by previous ebuild - if [[ -L "${ROOT}/usr/include/libpq" ]] ; then - rm -f "${ROOT}/usr/include/libpq" - fi -} - -src_unpack() { - unpack ${A} - cd "${S}" - - epatch "${FILESDIR}/${PN}-${PV}-gentoo.patch" -} - -src_compile() { - filter-flags -ffast-math -feliminate-dwarf2-dups - - econf --prefix=/usr \ - --includedir=/usr/include/postgresql/libpq-${SLOT} \ - --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) \ - --without-perl \ - $(use_enable pg-intdatetime integer-datetimes ) \ - --without-python \ - $(use_with readline) \ - $(use_with ssl openssl) \ - --without-tcl \ - $(use_enable threads thread-safety ) \ - $(use_with zlib) \ - || die "configure failed" - - cd "${S}/src/interfaces/libpq" - emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "emake libpq failed" - - cd "${S}/src/bin/pg_config" - emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "emake pg_config failed" -} - -src_install() { - cd "${S}/src/interfaces/libpq" - emake DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "emake install libpq failed" - - cd "${S}/src/include" - emake DESTDIR="${D}" install || die "emake install headers failed" - - cd "${S}/src/bin/pg_config" - emake DESTDIR="${D}" install || die "emake install pg_config failed" - - cd "${S}" - dodoc README HISTORY - - dosym libpq-${SLOT}.a /usr/$(get_libdir)/libpq.a - - for f in $(ls -1 "${D}"/usr/include/postgresql/libpq-${SLOT}/*.h) ; do - dosym postgresql/libpq-${SLOT}/$(basename ${f}) /usr/include/ - done - - dodir /usr/include/libpq - for f in $(ls -1 "${D}"/usr/include/postgresql/libpq-${SLOT}/libpq/*.h) ; do - dosym ../postgresql/libpq-${SLOT}/libpq/$(basename ${f}) /usr/include/libpq/ - done - - cd "${D}/usr/include/postgresql/libpq-${SLOT}" - for f in $(find * -name '*.h' -print) ; do - destdir=$(dirname ${f}) - if [[ ! -d "${D}/usr/include/postgresql/${destdir}" ]] ; then - dodir "/usr/include/postgresql/${destdir}" - fi - dosym /usr/include/postgresql/libpq-${SLOT}/${f} "/usr/include/postgresql/${destdir}/" - done -} - -src_test() { - einfo "No tests available for libpq." -}
--- a/dev-db/postgresql/Manifest Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -AUX postgresql-8.3.1-gentoo.patch 1708 RMD160 0ff283a2fe51d4053224dcb0e58d3d7c588905a8 SHA1 31443d3f0b0b60be72dd4ddecf1dbfb67533cc8e SHA256 5dde62b634169d608104eb0aa892ddfa84723670041db1abdbb614726df6cec9 -AUX postgresql-8.3.1-regress_su.patch 982 RMD160 e604fa527d8eca4f3ad79b480963060d6ab51ee6 SHA1 a2469d5034441fd11e5421fea3032ad0e15568da SHA256 55f624219e265146b9392454f3e6977e6924459c152409be50c86a0730d47bbb -AUX postgresql-8.3.1-sh.patch 773 RMD160 c4b0588b04fe34330caede894b330e88c903d9a0 SHA1 79def1f5c1921d0d5bd7033e61416976ec11ab50 SHA256 a58eec9eb94a68e500b60220c12dfdc116dffa32af2983048bfdfb1bea109a54 -AUX postgresql.conf-8.3 1228 RMD160 b3a582a3158115c375e9e586c70107c9e4cc51f0 SHA1 7c92bc7160064ad0ec60b6b1d41f5d76c3be2b68 SHA256 7244d3de82836e94b663d6eb3ff9d7744fc3591bd9ad12303ae26bcac306227c -AUX postgresql.init-8.3 1427 RMD160 74393b4eb2b851c01deaa3dea10757c9bb74bd73 SHA1 2b0365f9c8d1121f948a7e6c83d3f10dfa568a87 SHA256 c42e7ba85638a31826b4ed7a92a9f95cd242bbe7c846e52a8b87e0db28c17da5 -DIST postgresql-8.3.1.tar.bz2 13995572 RMD160 075efb67126f2b308d2a5fe4f9097fdbfbe94c89 SHA1 7397e0d8fd3c420ee845d9ae4995ae347bfaea1d SHA256 7ccf1e5c987920e4d6eb98b8589939e29d3a361d285055d5af35ddd8e1a2d992 -EBUILD postgresql-8.3.1.ebuild 8172 RMD160 972ac0e0ba27afd1d2766a889cbdf4c3f037865b SHA1 fd90aa5fd76ba8f9ab1b9e57e0bdb377afacda8e SHA256 40eb321ab343b845fe942d04167f522d38b348523dcb37fa0fde2b7ca5c3190d -MISC postgresql-8.3.1.ebuild~ 8143 RMD160 3a59282bf31ef405bc9c9d1e2d372d9c5109241c SHA1 db192eccfa2bd65995f6d845bc1ec03b0738e542 SHA256 b47dd7e9ca23b26fb9285b1bc59c2696d035ce305d9b877d0dd862f10eb7262b
--- a/dev-db/postgresql/files/postgresql-8.3.1-gentoo.patch Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ ---- postgresql-8.3RC1.orig/src/bin/Makefile 2006-03-05 16:58:50.000000000 +0100 -+++ postgresql-8.3RC1/src/bin/Makefile 2007-03-29 12:12:26.000000000 +0200 -@@ -14,7 +14,7 @@ - include $(top_builddir)/src/Makefile.global - - DIRS = initdb ipcclean pg_ctl pg_dump \ -- psql scripts pg_config pg_controldata pg_resetxlog -+ psql scripts pg_controldata pg_resetxlog - ifeq ($(PORTNAME), win32) - DIRS+=pgevent - endif ---- postgresql-8.3RC1.orig/src/interfaces/Makefile 2004-04-20 02:33:51.000000000 +0200 -+++ postgresql-8.3RC1/src/interfaces/Makefile 2007-03-29 12:14:01.000000000 +0200 -@@ -12,7 +12,7 @@ - top_builddir = ../.. - include $(top_builddir)/src/Makefile.global - --DIRS = libpq ecpg -+DIRS = ecpg - - ALLDIRS = $(DIRS) - ---- postgresql-8.3RC1.orig/src/Makefile 2006-06-23 01:50:35.000000000 +0200 -+++ postgresql-8.3RC1/src/Makefile 2007-03-29 12:54:59.000000000 +0200 -@@ -19,12 +19,10 @@ - $(MAKE) -C backend $@ - $(MAKE) -C backend/utils/mb/conversion_procs $@ - $(MAKE) -C backend/snowball $@ -- $(MAKE) -C include $@ - $(MAKE) -C interfaces $@ - $(MAKE) -C bin $@ - $(MAKE) -C pl $@ - $(MAKE) -C makefiles $@ -- $(MAKE) -C test/regress $@ - - install: install-local - -@@ -49,7 +47,6 @@ - $(MAKE) -C timezone $@ - $(MAKE) -C backend $@ - $(MAKE) -C backend/snowball $@ -- $(MAKE) -C include $@ - $(MAKE) -C interfaces $@ - $(MAKE) -C bin $@ - $(MAKE) -C pl $@ -@@ -63,12 +60,10 @@ - -$(MAKE) -C timezone $@ - -$(MAKE) -C backend $@ - -$(MAKE) -C backend/snowball $@ -- -$(MAKE) -C include $@ - -$(MAKE) -C interfaces $@ - -$(MAKE) -C bin $@ - -$(MAKE) -C pl $@ - -$(MAKE) -C makefiles $@ -- -$(MAKE) -C test $@ - -$(MAKE) -C tutorial NO_PGXS=1 $@ - -$(MAKE) -C test/thread $@ - rm -f Makefile.port Makefile.global
--- a/dev-db/postgresql/files/postgresql-8.3.1-regress_su.patch Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ ---- postgresql-8.3RC1.orig/src/test/regress/GNUmakefile 2008-01-20 00:22:49.000000000 +0200 -+++ postgresql-8.3RC1/src/test/regress/GNUmakefile 2008-01-20 00:26:27.000000000 +0200 -@@ -141,7 +141,8 @@ - ## - - check: all -- ./pg_regress --temp-install=./tmp_check --top-builddir=$(top_builddir) --srcdir=$(abs_srcdir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) $(TEMP_CONF) -+ chown portage testtablespace . -+ su -s /bin/sh portage -c "./pg_regress --psqldir=`pwd`/../../bin/psql --temp-install=./tmp_check --top-builddir=$(top_builddir) --srcdir=$(abs_srcdir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) $(TEMP_CONF)" - - installcheck: all - ./pg_regress --psqldir=$(PSQLDIR) --schedule=$(srcdir)/serial_schedule --srcdir=$(abs_srcdir) --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE)
--- a/dev-db/postgresql/files/postgresql-8.3.1-sh.patch Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ ---- postgresql-8.3RC1.orig/src/include/storage/s_lock.h 2006-06-08 00:24:45.000000000 +0200 -+++ postgresql-8.3RC1/src/include/storage/s_lock.h 2007-03-29 12:25:56.000000000 +0200 -@@ -299,6 +299,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__) /* Sparc */ - #define HAS_TEST_AND_SET -
--- a/dev-db/postgresql/files/postgresql.conf-8.3 Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -# PostgreSQL's Database Directory -PGDATA="/var/lib/postgresql/data" - -# PostgreSQL User -PGUSER="postgres" - -# PostgreSQL Group -PGGROUP="postgres" - -# Extra options to run postmaster with -PGOPTS="" - - -# SERVER SHUTDOWN: -# The server will receive 3 signals in the worst case: -# 1. SIGTERM -# This signals the server to ignore new connections and to -# wait for all clients to end their transactions before shutting down. -# Use WAIT_FOR_DISCONNECT to control how much time the clients -# should have until the next signal is being sent. -# 2. SIGINT -# Tell the server to forcefully disconnect all clients. -# Terminating a client results in a rollback of the open transactions for this client. -# Use WAIT_FOR_CLEANUP to determine how much time the server has -# for cleanup. (Set it to "forever" if you want to wait forever.) -# 3. SIGQUIT -# This will terminate the server immediately and results in a recovery run for the next start. - -# Wait for clients to disconnect (seconds or "forever") -WAIT_FOR_DISCONNECT=10 - -# Time the server has to clean up (seconds or "forever") -WAIT_FOR_CLEANUP=10 - -# If you have to export environment variables for the database process, -# this can be done here. -# Example: -# export R_HOME="/usr/lib/R"
--- a/dev-db/postgresql/files/postgresql.init-8.3 Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/postgresql.init-8.2,v 1.2 2007/07/11 08:46:51 dev-zero Exp $ - -opts="${opts} reload" - -depend() { - use net -} - -checkconfig() { - if [ ! -d "$PGDATA" ] ; then - eerror "Directory not found: $PGDATA" - eerror "Please make sure that PGDATA points to the right path." - eerror "You can run 'emerge postgresql --config' to setup a new database cluster." - return 1 - fi -} - -start() { - checkconfig || return 1 - - ebegin "Starting PostgreSQL" - - if [ -f "$PGDATA/postmaster.pid" ] ; then - rm -f "$PGDATA/postmaster.pid" - fi - - start-stop-daemon --start \ - --pidfile "${PGDATA}/postmaster.pid" \ - --chuid ${PGUSER}:${PGGROUP} \ - --exec /usr/bin/postmaster \ - -- \ - -D "${PGDATA}" \ - --silent-mode=true \ - ${PGOPTS} - - eend $? -} - -stop() { - ebegin "Stopping PostgreSQL" - # Note: we have to do --oknodo here, otherwise it will always fail - # when there are open transactions. This bug has been corrected - # in baselayout-1.13.0_alpha8. - start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" \ - --retry -TERM/${WAIT_FOR_DISCONNECT}/-INT/${WAIT_FOR_CLEANUP}/-QUIT --oknodo - eend $? -} - -reload() { - ebegin "Reloading PostgreSQL configuration" - start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" --signal HUP --oknodo - eend $? -}
--- a/dev-db/postgresql/postgresql-8.3.1.ebuild Wed Mar 26 15:04:06 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,236 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-8.2.6.ebuild,v 1.1 2008/01/13 01:44:21 mjolnir Exp $ - -inherit eutils flag-o-matic multilib toolchain-funcs versionator - -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" - -MY_PV="${PV/_rc/RC}" -DESCRIPTION="Sophisticated and powerful Object-Relational DBMS." -HOMEPAGE="http://www.postgresql.org/" -SRC_URI="mirror://postgresql/source/v${MY_PV}/${PN}-${MY_PV}.tar.bz2" -LICENSE="POSTGRESQL" -SLOT="0" -IUSE="debug doc kerberos kernel_linux nls pam perl pg-intdatetime python readline selinux ssl tcl test xml zlib" -RESTRICT="nomirror" -S="${WORKDIR}/${PN}-${MY_PV}" - -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 ) - zlib? ( >=sys-libs/zlib-1.1.3 )" -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}" - - epatch "${FILESDIR}/${PN}-${PV}-gentoo.patch" - epatch "${FILESDIR}/${PN}-${PV}-sh.patch" - - # Prepare package for future tests - if use test ; then - # Fix sandbox violation; note that we're stripping redundant slashes - # from ${S}, because otherwise the test would fail. - 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, we need to - # su - to a valid user, portage again, so we patch the test-scripts to do that. - mkdir -p "${S}/src/test/regress/tmp_check" - chown portage "${S}/src/test/regress/tmp_check" - einfo "Tests will be run as user portage." - if ! hasq userpriv ${FEATURES} ; then - mkdir -p "${S}/src/test/regress/results" - chown portage "${S}/src/test/regress/results" - epatch "${FILESDIR}/${PN}-${PV}-regress_su.patch" - fi - fi -} - -src_compile() { - filter-flags -ffast-math -feliminate-dwarf2-dups - - econf --prefix=/usr \ - --includedir=/usr/include/postgresql/pgsql \ - --sysconfdir=/etc/postgresql \ - --mandir=/usr/share/man \ - --host=${CHOST} \ - --with-docdir=/usr/share/doc/${PF} \ - --with-system-tzdata=/usr/share/zoneinfo \ - --libdir=/usr/$(get_libdir) \ - --enable-depend \ - $(use_enable debug) \ - $(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 xml libxml) \ - $(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" -} - -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 - - 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 "The autovacuum function, which was in contrib, has been moved to the main" - elog "PostgreSQL functions starting with 8.1." - elog "You can enable it in ${ROOT}/etc/postgresql/postgresql.conf." - 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 ! 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 - - 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." -}