summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron W. Swenson <titanofold@gentoo.org>2017-12-21 06:51:28 -0500
committerAaron W. Swenson <titanofold@gentoo.org>2017-12-21 06:51:28 -0500
commit855a26cb2380f20a90fe1873e3a35cb685320af4 (patch)
tree7a54e764840e2446f91addd9e2d5af4f4bf4d5c2 /dev-db/pgbouncer/pgbouncer-1.8.1.ebuild
parentnet-libs/gsoap: Removed old. (diff)
downloadgentoo-855a26cb2380f20a90fe1873e3a35cb685320af4.tar.gz
gentoo-855a26cb2380f20a90fe1873e3a35cb685320af4.tar.bz2
gentoo-855a26cb2380f20a90fe1873e3a35cb685320af4.zip
dev-db/pgbouncer: Bump and improve
Added optional dep on OpenSSL. Fixed logrotate script to always succeed. Address potential DoS by letting s-s-d handle the pidfile creation and backgrounding of pgbouncer. Dropped restart in initscript as online restart can’t be used with s-s-d and the pidfile isn’t writeable by the pgbouncer user. Bug: https://bugs.gentoo.org/500546 Bug: https://bugs.gentoo.org/577784 Bug: https://bugs.gentoo.org/629334 Closes: https://bugs.gentoo.org/565218 Package-Manager: Portage-2.3.13, Repoman-2.3.3
Diffstat (limited to 'dev-db/pgbouncer/pgbouncer-1.8.1.ebuild')
-rw-r--r--dev-db/pgbouncer/pgbouncer-1.8.1.ebuild86
1 files changed, 86 insertions, 0 deletions
diff --git a/dev-db/pgbouncer/pgbouncer-1.8.1.ebuild b/dev-db/pgbouncer/pgbouncer-1.8.1.ebuild
new file mode 100644
index 000000000000..69a361cbeaeb
--- /dev/null
+++ b/dev-db/pgbouncer/pgbouncer-1.8.1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit user
+
+DESCRIPTION="Lightweight connection pooler for PostgreSQL"
+HOMEPAGE="https://pgbouncer.github.io"
+SRC_URI="https://pgbouncer.github.io/downloads/files/${PV}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+c-ares debug doc pam ssl -udns"
+
+# At-most-one-of, one can be enabled but not both
+REQUIRED_USE="?? ( c-ares udns )"
+
+RDEPEND="
+ >=dev-libs/libevent-2.0
+ >=sys-libs/glibc-2.10
+ c-ares? ( >=net-dns/c-ares-1.10 )
+ ssl? ( >=dev-libs/openssl-1.0.1:=[-bindist] )
+ udns? ( >=net-libs/udns-0.1 )
+"
+
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup postgres 70
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres
+
+ enewuser pgbouncer -1 -1 -1 postgres
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/pgbouncer-1.8-dirs.patch"
+
+ default
+}
+
+src_configure() {
+ # --enable-debug is only used to disable stripping
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ --enable-debug \
+ $(use_with c-ares cares) \
+ $(use_enable debug cassert) \
+ $(use_with pam) \
+ $(use_with ssl openssl) \
+ $(use_with udns)
+}
+
+src_test() {
+ cd "${S}/test"
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS
+ use doc && dodoc doc/*.rst
+
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}.initd-r1" "${PN}"
+
+ insinto /etc
+ doins etc/pgbouncer.ini
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/logrotate" pgbouncer
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ einfo "Please read the config.txt for Configuration Directives"
+ einfo
+ einfo "For Administration Commands, see:"
+ einfo " man pgbouncer"
+ einfo
+ einfo "By default, PgBouncer does not have access to any database."
+ einfo "GRANT the permissions needed for your application and make sure that it"
+ einfo "exists in PgBouncer's auth_file."
+ fi
+}