blob: 6c4fc2f90439020c30ae2773df6797ad43decf99 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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."
}
|