summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/eselect-postgresql/eselect-postgresql-0.4.ebuild')
-rw-r--r--app-admin/eselect-postgresql/eselect-postgresql-0.4.ebuild77
1 files changed, 77 insertions, 0 deletions
diff --git a/app-admin/eselect-postgresql/eselect-postgresql-0.4.ebuild b/app-admin/eselect-postgresql/eselect-postgresql-0.4.ebuild
new file mode 100644
index 000000000000..6c4fc2f90439
--- /dev/null
+++ b/app-admin/eselect-postgresql/eselect-postgresql-0.4.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-postgresql/eselect-postgresql-0.4.ebuild,v 1.1 2010/06/02 18:26:49 patrick Exp $
+
+EAPI=2
+
+inherit multilib
+
+DESCRIPTION="Utility to change the default postgresql installation"
+HOMEPAGE="http://www.gentoo.org/"
+SRC_URI="http://gentooexperimental.org/~patrick/${P}.tbz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND="app-admin/eselect
+ !!dev-db/libpq"
+
+src_install() {
+ keepdir /etc/eselect/postgresql
+ doenvd "${FILESDIR}/50postgresql-eselect"
+
+ insinto /usr/share/eselect/modules
+ doins postgresql.eselect
+ sed -i \
+ -e "s|/usr/lib/|/usr/$(get_libdir)/|g" \
+ "${D}/usr/share/eselect/modules/postgresql.eselect"
+
+ exeinto /usr/$(get_libdir)/${PN}
+ doexe "binwrapper"
+
+ dodir /usr/bin
+ dosym /usr/bin/eselect /usr/bin/postgresql-config
+}
+
+pkg_preinst() {
+ local ff=""
+ for f in "${ROOT}"/usr/include/{postgresql,libpq-fe.h,libpq,postgres_ext.h,pg_config_manual.h} ; do
+ [[ -e "${f}" ]] || continue
+ [[ -L "${f}" ]] && continue
+ if [[ -d "${f}" ]] ; then
+ if [[ -z "$(find \"${f}\" -not \( -type l -or -type d \))" ]] ; then
+ rm -rf "${f}"
+ else
+ ff="$ff $f"
+ fi
+ else
+ ff="$ff $f"
+ fi
+ done
+ if [[ ! -z "$ff" ]] ; then
+ eerror "You have leftovers from previous postgresql installations that"
+ eerror "can't be dealt with automatically. The proper way to treat"
+ eerror "files is:"
+ eerror ""
+ eerror "rm -rf ${ff}"
+ eerror ""
+ die "Please, remove the files manually"
+ fi
+}
+
+pkg_postinst() {
+ elog "This eselect module can be used to define which PostgreSQL version is being used"
+ elog "to link against and which (major) version of PostgreSQL is being started by the"
+ elog "init-system when an init.d file lists 'need postgresql' or 'use postgresql' in"
+ elog "its dependencies."
+ elog
+ elog "For users of the 'postgresql' overlay: In case you have"
+ elog "dev-db/postgresql-{base,server} installed but 'eselect postgresql list' doesn't"
+ elog "anything, please re-install dev-db/postgresql-{base,server} since we had to move"
+ elog "around some stuff. Sorry for the inconvenience."
+ elog
+ elog "Please make sure that you use the new postgresql ebuilds"
+ elog "(dev-db/postgresql-{base,server}). This eselect module won't list the old"
+ elog "dev-db/{postgresql,libpq} installations as available libraries or services."
+}