diff options
author | 2017-12-21 06:51:28 -0500 | |
---|---|---|
committer | 2017-12-21 06:51:28 -0500 | |
commit | 855a26cb2380f20a90fe1873e3a35cb685320af4 (patch) | |
tree | 7a54e764840e2446f91addd9e2d5af4f4bf4d5c2 /dev-db/pgbouncer/pgbouncer-1.8.1.ebuild | |
parent | net-libs/gsoap: Removed old. (diff) | |
download | gentoo-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.ebuild | 86 |
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 +} |