diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-db/pgbouncer |
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-db/pgbouncer')
-rw-r--r-- | dev-db/pgbouncer/Manifest | 9 | ||||
-rw-r--r-- | dev-db/pgbouncer/files/logrotate | 7 | ||||
-rw-r--r-- | dev-db/pgbouncer/files/pgbouncer-dirs.patch | 26 | ||||
-rw-r--r-- | dev-db/pgbouncer/files/pgbouncer.confd | 12 | ||||
-rw-r--r-- | dev-db/pgbouncer/files/pgbouncer.initd | 88 | ||||
-rw-r--r-- | dev-db/pgbouncer/metadata.xml | 25 | ||||
-rw-r--r-- | dev-db/pgbouncer/pgbouncer-1.7.2.ebuild | 82 |
7 files changed, 249 insertions, 0 deletions
diff --git a/dev-db/pgbouncer/Manifest b/dev-db/pgbouncer/Manifest new file mode 100644 index 000000000000..0c9ac49e7469 --- /dev/null +++ b/dev-db/pgbouncer/Manifest @@ -0,0 +1,9 @@ +AUX logrotate 119 SHA256 09e12d5f8f026251a0a8532dfc181199085e4cc23a3f4cbb4dd15a4bea5af6ad SHA512 5aa4226ab2d168a88a3b64deb114d3901431d2afb2571cf8ae411c989549bc465ee05104a6863cc8fce6d769d809b4ab536973280f50cb4415c6698c34e1a5b8 WHIRLPOOL 982d153670d43bf5b195988887474cd8b4dc268dc663ce88d430f86d83f6cf5cd3bc0455495eb8d225fe4d6179b5bf6e3136d3d960cb9b1d1dabeb0b2f4288a3 +AUX pgbouncer-dirs.patch 685 SHA256 d5b0875000c89e945b0eb3f3007d68b211d675a4e18872ef7166c76dbd3eb695 SHA512 6a475bf5cff10b464177af619051529ad78e802c56655500ad23130c5989721f41592387f9bf6719810eae2d876a8dd36219b87ae1fdb29304b2adc98c49ae4c WHIRLPOOL ac8df7239880f21479bec1153a4b9a6ab4da937bccec38205785ccc4f951b4d8a227e94c12f564b2694803a2a43c5390c4700944c9ed60f55fdbeeec370439c7 +AUX pgbouncer.confd 425 SHA256 e681f992f6051bc1bb2887f712530c38be1c0a2ffb8ee254d0438b8679f55b9c SHA512 9f997cbfb18f5bb1623aea2a9af706359a973fd2167be91ee6ffb37a22a6dc453280c66b6d2c11ab0174dbf159a195f0a1612be198466633d728a5317a878035 WHIRLPOOL bbad3f2609c638e859e44555e25bef1249a7cbb024a7f6e07f4cee57bfc1571d8100a43715360d2d03a9bf62b0ed65878339cc5f641ac0f3736296a93c597b6f +AUX pgbouncer.initd 2183 SHA256 2eb70ea8913b52560628a266a0b8bcae59b5e00fddb4cb43f6fe6f2956b5be90 SHA512 ecd34f017316b2c0aad172e5bf5393137da5ab841f4d6de93eb82a07abe9f234a2426ca7dada2dc047c33ea4c7dc0af3040b249ec1f9d7e0c1782fb0463a7293 WHIRLPOOL c7dcec6b8c884ae9b52e988f1d4f38c5b1c65b19f353f2ac0224da5e6fa2dcad5182473c1d4b01bd52c6d684a500dff636e0f580dc01c0095a925abcc1806b32 +DIST pgbouncer-1.7.2.tar.gz 462374 SHA256 de36b318fe4a2f20a5f60d1c5ea62c1ca331f6813d2c484866ecb59265a160ba SHA512 11c89606599f424b34f39a4b072ec6293fea0b14ee52ae4fbc44775e6d83771a22d194f4e8eabe410e0d6a70657508cf1a3b1012543d91873c36f644afb5675d WHIRLPOOL 3b007d6ea8f9c5e7e8ee3e2908839e24c120fa458f127192f40f8f7d37e5e56bcce3501f76b623670a210c96af66a861adf183e62c152e92e030b2cef60f3d03 +EBUILD pgbouncer-1.7.2.ebuild 1786 SHA256 d68c07bbe7308231d3123e59fc2bc04a4c2a969b93faaaa33696808d41631044 SHA512 dabfa3936e5292c14d6aaf44489c4d8b530725328776ac207b90b2b0dbecf6a3767b858848eb3d94be8766cdc496584c5062dda25f2b291e2aec68c05cd29e98 WHIRLPOOL c51faadd3f3b9c29f2b471b74087260b0f0a60cb164ae2ce50a333974ecd9af01d1ee64d25de8f2e17c4bcf7e00bfa48bc6b9ba07ef1d5ca0c1a1882f3e0c1a7 +MISC ChangeLog 3394 SHA256 f8f33fecd5d29016fa9192ef7c69ad036330eb94ead2a7140911ddc1ba72c7b1 SHA512 6bca8609c6a57769b42443709b6948ff9c8171d6e3a1b016af1853983e0f03efd1dbc09d6506c2f9fd3af88124b32d6896000540a6a5184bb0b3b650fb336c97 WHIRLPOOL e1f112fb1cb1f1376c46fd949b699d95c00a96d311f78a6d31fb038c2194410fbe2fd035cadbecb7f97d67efd945b1cf6c19323732288a99626084a6ac87f6a6 +MISC ChangeLog-2015 2800 SHA256 5d899d2830d6ffe1ef3a58aa1161fcada9b09e2ba3bf2d45c5afe1fcfc9e5010 SHA512 4332c8917229ff25709efdd12a97f71596e7b8eab5ff9bc62d2fa5a0b119de9301a5508e2935646bc48d9b31ffe789ed83162e324164e9a39eb68182526507f2 WHIRLPOOL a10f35230f908d9544e1ecfb6df07afda7da448e593d8eafef24e535c3ad92b77d83caa22e48a4f6b1371808f2496800e2ba46bdcab826d0adcec83bf0cbd02d +MISC metadata.xml 946 SHA256 5f69388f01dbe23c221467fd1aa454b0f833a2ebe4d86bb3ad1beeb6a3cf0517 SHA512 9f147d93f85cd9350ea5e7e8061228e6269baf4766de6ccc2495c071f508a774b6c27e1bf626f192a823a7d28b7cf76f9c20a49a91d3d5618e5d0aebfba5e630 WHIRLPOOL cc47b597b128596e8242fce4e465e678a48e3faeaea4d81c10ed7ded34ffa453d37c5b5af6d03cf1cb94a9fc9c52505391f2d57a047acbf3dc0b52097ce8a900 diff --git a/dev-db/pgbouncer/files/logrotate b/dev-db/pgbouncer/files/logrotate new file mode 100644 index 000000000000..9617eafa66b0 --- /dev/null +++ b/dev-db/pgbouncer/files/logrotate @@ -0,0 +1,7 @@ +/var/log/pgbouncer/pgbouncer.log { + missingok + sharedscripts + postrotate + /etc/init.d/pgbouncer -q reload + endscript +}
\ No newline at end of file diff --git a/dev-db/pgbouncer/files/pgbouncer-dirs.patch b/dev-db/pgbouncer/files/pgbouncer-dirs.patch new file mode 100644 index 000000000000..62bcd0b84409 --- /dev/null +++ b/dev-db/pgbouncer/files/pgbouncer-dirs.patch @@ -0,0 +1,26 @@ +diff -Naruw a/etc/pgbouncer.ini b/etc/pgbouncer.ini +--- a/etc/pgbouncer.ini 2012-06-10 19:57:01.000000000 +0000 ++++ b/etc/pgbouncer.ini 2013-07-17 02:25:59.598888628 +0000 +@@ -29,7 +29,7 @@ + ;;; + + logfile = /var/log/pgbouncer/pgbouncer.log +-pidfile = /var/run/pgbouncer/pgbouncer.pid ++pidfile = /run/pgbouncer/pgbouncer.pid + + ;;; + ;;; Where to wait for clients +@@ -40,10 +40,9 @@ + listen_port = 6432 + + ; unix socket is also used for -R. +-; On debian it should be /var/run/postgresql +-;unix_socket_dir = /tmp +-;unix_socket_mode = 0777 +-;unix_socket_group = ++unix_socket_dir = /run/postgresql ++unix_socket_mode = 0777 ++unix_socket_group = postgres + + ;;; + ;;; Authentication settings diff --git a/dev-db/pgbouncer/files/pgbouncer.confd b/dev-db/pgbouncer/files/pgbouncer.confd new file mode 100644 index 000000000000..e2c584011884 --- /dev/null +++ b/dev-db/pgbouncer/files/pgbouncer.confd @@ -0,0 +1,12 @@ +# Location of configuration file for PgBouncer. +INIFILE="/etc/pgbouncer.ini" + +# How long to wait in seconds for a safe shutdown. Equivalent to +# issuing 'PAUSE;' and 'SHUTDOWN;' on psql console. (See 'man 1 pgbouncer'.) +NICE_TIMEOUT=60 + +# Set to 'YES' to perform an immediate shutdown if the nice shutdown +# doesn't work. Same as issuing 'SHUTDOWN;' on console. (See 'man 1 +# pgbouncer'.) +FORCE_QUIT="no" +FORCE_QUIT_TIMEOUT=2
\ No newline at end of file diff --git a/dev-db/pgbouncer/files/pgbouncer.initd b/dev-db/pgbouncer/files/pgbouncer.initd new file mode 100644 index 000000000000..20479dc22dab --- /dev/null +++ b/dev-db/pgbouncer/files/pgbouncer.initd @@ -0,0 +1,88 @@ +#!/sbin/openrc-run + +extra_started_commands="reload" + +depend() { + use net + after postgresql +} + +get_config() { + [ -f "${INIFILE}" ] || eend 1 "'${INIFILE}' not found" + + eval echo $(sed -e 's:;.*::' "${INIFILE}" | \ + awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }') +} + +PIDFILE="$(get_config pidfile)" +UNIX_SOCKET_DIR="$(get_config unix_socket_dir)" + +prep() { + if [ -n "${UNIX_SOCKET_DIR}" ] ; then + checkpath -o postgres:postgres -m 0775 -d "${UNIX_SOCKET_DIR}" \ + || return 1 + fi + checkpath -o pgbouncer:postgres -m 0755 -d "$(dirname ${PIDFILE})" \ + || return 1 + checkpath -o pgbouncer:postgres -m 0644 -f "${PIDFILE}" \ + || return 1 + checkpath -o pgbouncer:postgres -m 0755 -d "$(dirname $(get_config logfile))" \ + || return 1 + checkpath -o pgbouncer:postgres -m 0640 -f "$(get_config logfile)" \ + || return 1 + + return 0 +} + +start() { + ebegin "Starting PgBouncer" + prep + local ret=$? + if [ $ret -ne 0 ] ; then + eend $ret + exit $ret + fi + start-stop-daemon --start \ + --pidfile ${PIDFILE} \ + --user pgbouncer \ + --exec /usr/bin/pgbouncer -- -q -d "${INIFILE}" + eend $? +} + +stop() { + local seconds=$(( ${NICE_TIMEOUT} + ${FORCE_QUIT_TIMEOUT} )) + ebegin "Stopping PgBouncer (this can take up to ${seconds} seconds)" + + local retries=SIGINT/${NICE_TIMEOUT} + + if [ "${FORCE_QUIT}" = "YES" ] ; then + einfo "FORCE_QUIT enabled." + retries="${retries}/SIGTERM/${FORCE_QUIT_TIMEOUT}" + fi + + # Loops through nice and force quit in one go. + start-stop-daemon --stop \ + --pidfile ${PIDFILE} \ + --retry ${retries} + + eend $? +} + +restart() { + if [ -n "${UNIX_SOCKET_DIR}" ] ; then + ebegin "Performing online restart of PgBouncer" + start-stop-daemon --start \ + --pidfile ${PIDFILE} \ + --user pgbouncer \ + --exec /usr/bin/pgbouncer -- -q -d -R "${INIFILE}" + eend $? + else + stop && start + fi +} + +reload() { + ebegin "Reloading PgBouncer configuration from '${INIFILE}'" + start-stop-daemon --signal HUP --pidfile ${PIDFILE} + eend $? +} diff --git a/dev-db/pgbouncer/metadata.xml b/dev-db/pgbouncer/metadata.xml new file mode 100644 index 000000000000..eccd61517f95 --- /dev/null +++ b/dev-db/pgbouncer/metadata.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>bugs@bergstroem.nu</email> + <name>Johan Bergström</name> + <description>Proxy-Maintainer, assign bugs</description> + </maintainer> + <maintainer type="person"> + <email>titanofold@gentoo.org</email> + <name>Aaron W. Swenson</name> + </maintainer> + <maintainer type="project"> + <email>pgsql-bugs@gentoo.org</email> + <name>PostgreSQL and Related Package Development</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="libevent">Use libevent 2.0+ and evdns as the DNS backend</flag> + <flag name="udns">Use udns as the DNS backend. Supports IPv4 only.</flag> + </use> +</pkgmetadata> diff --git a/dev-db/pgbouncer/pgbouncer-1.7.2.ebuild b/dev-db/pgbouncer/pgbouncer-1.7.2.ebuild new file mode 100644 index 000000000000..39eec25d1f5d --- /dev/null +++ b/dev-db/pgbouncer/pgbouncer-1.7.2.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +# Upstream has *way* broken tests. +RESTRICT="test" + +inherit eutils 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="debug doc libevent udns" +REQUIRED_USE=" + libevent? ( !udns ) + udns? ( !libevent ) +" +RDEPEND=" + >=sys-libs/glibc-2.10 + libevent? ( >=dev-libs/libevent-2.0 ) + udns? ( >=net-libs/udns-0.1 ) +" + +DEPEND=" + ${RDEPEND} + app-text/docbook-xml-dtd:4.5 + app-text/xmlto + >=app-text/asciidoc-8.4 +" + +pkg_setup() { + enewgroup postgres 70 + enewuser postgres 70 /bin/bash /var/lib/postgresql postgres + + enewuser pgbouncer -1 -1 -1 postgres +} + +src_prepare() { + epatch "${FILESDIR}/pgbouncer-dirs.patch" +} + +src_configure() { + # --enable-debug is only used to disable stripping + econf \ + --docdir=/usr/share/doc/${PF} \ + --enable-debug \ + $(use_enable debug cassert) \ + $(use_with libevent) \ + $(use_with udns) +} + +src_install() { + emake DESTDIR="${D}" install + + dodoc AUTHORS + + newconfd "${FILESDIR}/${PN}.confd" "${PN}" + newinitd "${FILESDIR}/${PN}.initd" "${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 +} |