diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /www-servers/pound | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'www-servers/pound')
-rw-r--r-- | www-servers/pound/Manifest | 3 | ||||
-rw-r--r-- | www-servers/pound/files/pound-2.2.cfg | 54 | ||||
-rw-r--r-- | www-servers/pound/files/pound-2.5-openssl-1.patch | 289 | ||||
-rw-r--r-- | www-servers/pound/files/pound.init-1.9 | 23 | ||||
-rw-r--r-- | www-servers/pound/metadata.xml | 18 | ||||
-rw-r--r-- | www-servers/pound/pound-2.6.ebuild | 56 | ||||
-rw-r--r-- | www-servers/pound/pound-2.7d.ebuild | 51 | ||||
-rw-r--r-- | www-servers/pound/pound-2.7f.ebuild | 51 |
8 files changed, 545 insertions, 0 deletions
diff --git a/www-servers/pound/Manifest b/www-servers/pound/Manifest new file mode 100644 index 000000000000..b2555aab7f7a --- /dev/null +++ b/www-servers/pound/Manifest @@ -0,0 +1,3 @@ +DIST Pound-2.6.tgz 180595 SHA256 0ad25e3652e22117abbc17a70b5d8913e05991318a5506bc7437e662616fdf21 +DIST Pound-2.7d.tgz 184801 SHA256 4eabba4b0139c09c58a3eb0a6c91c0487f429eb5a322a75d76d67a49aa8b09b8 SHA512 3a64a910327c3acbc43daaaca28612fe5f98f89937612844fc2a4de9d638499465783b09782daceda0a10f8cfdf396d233fa231fb967b7889213898078015416 WHIRLPOOL bcc58f1978a8b0d0150430759198ef4e860b74c1c151503b2ba62033ba789706d69dd080d22be9ed682ed610e6fc6e41ca3a70692135cd341030f14c2edd6d7a +DIST Pound-2.7f.tgz 186719 SHA256 0aba1a8b152f85c1521e7e0ca1b3d4258bd7a74382d4b64eb5e812a7704a9375 SHA512 292f4f7b4363365829f204b687080eae9e17b9a67ae7eb6021eb5a028321191d97abd9633d5664db5ebca6467795f73a787be4a0bd29360d737865930ff81830 WHIRLPOOL b5d5a0b7479f12428ace3e6f1d85e82dbcea222701de5031f5499b29acd911637193764d534020f6f5a365162201eb6601b1f766371ed039ca480ce9d583e2df diff --git a/www-servers/pound/files/pound-2.2.cfg b/www-servers/pound/files/pound-2.2.cfg new file mode 100644 index 000000000000..664ea53c9edd --- /dev/null +++ b/www-servers/pound/files/pound-2.2.cfg @@ -0,0 +1,54 @@ +## Minimal sample pound.cfg +## +## see pound(8) for details + + +###################################################################### +## global options: + +User "nobody" +Group "nobody" +#RootJail /chroot/pound + +## Logging: (goes to syslog by default) +## 0 no logging +## 1 normal +## 2 extended +## 3 Apache-style (common log format) +LogLevel 1 + +## check backend every X secs: +Alive 30 + +## use hardware-accelleration card supported by openssl(1): +#SSLEngine <hw> + + +###################################################################### +## listen, redirect and ... to: + +## redirect all requests on port 8888 ("ListenHTTP") to the local webserver see "UrlGroup" below): +ListenHTTP +Address 127.0.0.1 +Port 8888 + +## allow PUT and DELETE also (by default only GET, POST and HEAD)?: +xHTTP 0 + +Service +URL ".*" + +BackEnd +Address 127.0.0.1 +Port 80 +Priority 1 + +## End Backend +End + +## End Service +End + +## End listener +End + diff --git a/www-servers/pound/files/pound-2.5-openssl-1.patch b/www-servers/pound/files/pound-2.5-openssl-1.patch new file mode 100644 index 000000000000..6491c0fddad0 --- /dev/null +++ b/www-servers/pound/files/pound-2.5-openssl-1.patch @@ -0,0 +1,289 @@ +http://bugs.gentoo.org/327721 + +--- config.c ++++ config.c +@@ -431,14 +431,22 @@ t_hash(const TABNODE *e) + res = (res ^ *k++) * 16777619; + return res; + } ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++static IMPLEMENT_LHASH_HASH_FN(t, TABNODE) ++#else + static IMPLEMENT_LHASH_HASH_FN(t_hash, const TABNODE *) ++#endif + + static int + t_cmp(const TABNODE *d1, const TABNODE *d2) + { + return strcmp(d1->key, d2->key); + } ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++static IMPLEMENT_LHASH_COMP_FN(t, TABNODE) ++#else + static IMPLEMENT_LHASH_COMP_FN(t_cmp, const TABNODE *) ++#endif + + /* + * parse a service +@@ -460,7 +468,11 @@ parse_service(const char *svc_name) + pthread_mutex_init(&res->mut, NULL); + if(svc_name) + strncpy(res->name, svc_name, KEY_SIZE); ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL) ++#else + if((res->sessions = lh_new(LHASH_HASH_FN(t_hash), LHASH_COMP_FN(t_cmp))) == NULL) ++#endif + conf_err("lh_new failed - aborted"); + ign_case = ignore_case; + while(conf_fgets(lin, MAXBUF)) { +--- pound.h ++++ pound.h +@@ -322,6 +322,10 @@ typedef struct _tn { + /* maximal session key size */ + #define KEY_SIZE 127 + ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++DECLARE_LHASH_OF(TABNODE); ++#endif ++ + /* service definition */ + typedef struct _service { + char name[KEY_SIZE + 1]; /* symbolic name */ +@@ -337,7 +341,11 @@ typedef struct _service { + int sess_ttl; /* session time-to-live */ + regex_t sess_start; /* pattern to identify the session data */ + regex_t sess_pat; /* pattern to match the session data */ ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ LHASH_OF(TABNODE) *sessions; /* currently active sessions */ ++#else + LHASH *sessions; /* currently active sessions */ ++#endif + int dynscale; /* true if the back-ends should be dynamically rescaled */ + int disabled; /* true if the service is disabled */ + struct _service *next; +--- svc.c ++++ svc.c +@@ -27,12 +27,17 @@ + + #include "pound.h" + ++#ifndef LHASH_OF ++#define LHASH_OF(x) LHASH ++#define CHECKED_LHASH_OF(type, h) h ++#endif ++ + /* + * Add a new key/content pair to a hash table + * the table should be already locked + */ + static void +-t_add(LHASH *const tab, const char *key, const void *content, const size_t cont_len) ++t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const size_t cont_len) + { + TABNODE *t, *old; + +@@ -53,7 +58,11 @@ t_add(LHASH *const tab, const char *key, + } + memcpy(t->content, content, cont_len); + t->last_acc = time(NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) { ++#else + if((old = (TABNODE *)lh_insert(tab, t)) != NULL) { ++#endif + free(old->key); + free(old->content); + free(old); +@@ -68,12 +77,16 @@ t_add(LHASH *const tab, const char *key, + * side-effect: update the time of last access + */ + static void * +-t_find(LHASH *const tab, char *const key) ++t_find(LHASH_OF(TABNODE) *const tab, char *const key) + { + TABNODE t, *res; + + t.key = key; ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ if((res = LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) { ++#else + if((res = (TABNODE *)lh_retrieve(tab, &t)) != NULL) { ++#endif + res->last_acc = time(NULL); + return res->content; + } +@@ -84,12 +97,16 @@ t_find(LHASH *const tab, char *const key + * Delete a key + */ + static void +-t_remove(LHASH *const tab, char *const key) ++t_remove(LHASH_OF(TABNODE) *const tab, char *const key) + { + TABNODE t, *res; + + t.key = key; ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) { ++#else + if((res = (TABNODE *)lh_delete(tab, &t)) != NULL) { ++#endif + free(res->key); + free(res->content); + free(res); +@@ -98,59 +115,75 @@ t_remove(LHASH *const tab, char *const k + } + + typedef struct { +- LHASH *tab; ++ LHASH_OF(TABNODE) *tab; + time_t lim; + void *content; + int cont_len; + } ALL_ARG; + + static void +-t_old(TABNODE *t, void *arg) ++t_old_doall_arg(TABNODE *t, ALL_ARG *a) + { +- ALL_ARG *a; +- +- a = (ALL_ARG *)arg; + if(t->last_acc < a->lim) ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ LHM_lh_delete(TABNODE, a->tab, t); ++#else + lh_delete(a->tab, t); ++#endif + return; + } +-IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, void *) ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG) ++#else ++#define t_old t_old_doall_arg ++IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *) ++#endif + + /* + * Expire all old nodes + */ + static void +-t_expire(LHASH *const tab, const time_t lim) ++t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim) + { + ALL_ARG a; + int down_load; + + a.tab = tab; + a.lim = lim; +- down_load = tab->down_load; +- tab->down_load = 0; ++ down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load; ++ CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0; ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a); ++#else + lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_old), &a); +- tab->down_load = down_load; ++#endif ++ CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load; + return; + } + + static void +-t_cont(TABNODE *t, void *arg) ++t_cont_doall_arg(TABNODE *t, ALL_ARG *a) + { +- ALL_ARG *a; +- +- a = (ALL_ARG *)arg; + if(memcmp(t->content, a->content, a->cont_len) == 0) ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ LHM_lh_delete(TABNODE, a->tab, t); ++#else + lh_delete(a->tab, t); ++#endif + return; + } +-IMPLEMENT_LHASH_DOALL_ARG_FN(t_cont, TABNODE *, void *) ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++IMPLEMENT_LHASH_DOALL_ARG_FN(t_cont, TABNODE, ALL_ARG) ++#else ++#define t_cont t_cont_doall_arg ++IMPLEMENT_LHASH_DOALL_ARG_FN(t_cont, TABNODE *, ALL_ARG *) ++#endif + + /* + * Remove all nodes with the given content + */ + static void +-t_clean(LHASH *const tab, void *const content, const size_t cont_len) ++t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len) + { + ALL_ARG a; + int down_load; +@@ -158,10 +191,14 @@ t_clean(LHASH *const tab, void *const co + a.tab = tab; + a.content = content; + a.cont_len = cont_len; +- down_load = tab->down_load; +- tab->down_load = 0; ++ down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load; ++ CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0; ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a); ++#else + lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_cont), &a); +- tab->down_load = down_load; ++#endif ++ CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load; + return; + } + +@@ -1410,13 +1447,11 @@ typedef struct { + } DUMP_ARG; + + static void +-t_dump(TABNODE *t, void *arg) ++t_dump_doall_arg(TABNODE *t, DUMP_ARG *a) + { +- DUMP_ARG *a; + BACKEND *be, *bep; + int n_be, sz; + +- a = (DUMP_ARG *)arg; + memcpy(&bep, t->content, sizeof(bep)); + for(n_be = 0, be = a->backends; be; be = be->next, n_be++) + if(be == bep) +@@ -1432,19 +1467,28 @@ t_dump(TABNODE *t, void *arg) + return; + } + +-IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE *, void *) ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE, DUMP_ARG) ++#else ++#define t_dump t_dump_doall_arg ++IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE *, DUMP_ARG *) ++#endif + + /* + * write sessions to the control socket + */ + static void +-dump_sess(const int control_sock, LHASH *const sess, BACKEND *const backends) ++dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const backends) + { + DUMP_ARG a; + + a.control_sock = control_sock; + a.backends = backends; ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a); ++#else + lh_doall_arg(sess, LHASH_DOALL_ARG_FN(t_dump), &a); ++#endif + return; + } + diff --git a/www-servers/pound/files/pound.init-1.9 b/www-servers/pound/files/pound.init-1.9 new file mode 100644 index 000000000000..02da709d0cde --- /dev/null +++ b/www-servers/pound/files/pound.init-1.9 @@ -0,0 +1,23 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +start() { + ebegin "Starting pound" + if [ ! -f "/etc/pound.cfg" ]; then + eend 1 "configfile /etc/pound.cfg not found." + fi + start-stop-daemon --quiet --start --exec /usr/sbin/pound -- -f /etc/pound.cfg -p /var/run/pound.pid + eend $? +} + +stop() { + ebegin "Stopping pound" + start-stop-daemon --quiet --stop --pidfile /var/run/pound.pid + eend $? +} diff --git a/www-servers/pound/metadata.xml b/www-servers/pound/metadata.xml new file mode 100644 index 000000000000..f6ffacd46271 --- /dev/null +++ b/www-servers/pound/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> +</maintainer> +<longdescription lang="en">The Pound program is a reverse proxy, load balancer + and HTTPS front-end for Web server(s). Pound was developed to enable + distributing the load among several Web-servers and to allow for a convenient + SSL wrapper for those Web servers that do not offer it natively. Pound is + distributed under the GPL - no warranty, it's free to use, copy and give away. +</longdescription> +<use> + <flag name='dynscaler'>Enable dynamic rescaling of back-end + priorities</flag> +</use> +</pkgmetadata> diff --git a/www-servers/pound/pound-2.6.ebuild b/www-servers/pound/pound-2.6.ebuild new file mode 100644 index 000000000000..4e36e8689033 --- /dev/null +++ b/www-servers/pound/pound-2.6.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=2 +inherit eutils + +MY_P=${P/p/P} +DESCRIPTION="A http/https reverse-proxy and load-balancer" +HOMEPAGE="http://www.apsis.ch/pound/" +SRC_URI="http://www.apsis.ch/pound/${MY_P}.tgz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc x86" +IUSE="dynscaler" + +DEPEND="dev-libs/libpcre + dev-libs/openssl" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +src_configure() { + econf \ + $(use_enable dynscaler) +} + +src_install() { + dodir /usr/sbin + cp "${S}"/pound "${D}"/usr/sbin/ + cp "${S}"/poundctl "${D}"/usr/sbin/ + + doman pound.8 + doman poundctl.8 + dodoc README FAQ + + dodir /etc/init.d + newinitd "${FILESDIR}"/pound.init-1.9 pound + + insinto /etc + newins "${FILESDIR}"/pound-2.2.cfg pound.cfg +} + +pkg_postinst() { + elog "No demo-/sample-configfile is included in the distribution -" + elog "read the man-page for more info." + elog "A sample (localhost:8888 -> localhost:80) for gentoo is given in \"/etc/pound.cfg\"." + echo + ewarn "You will have to upgrade you configuration file, if you are" + ewarn "upgrading from a version <= 2.0." + echo + ewarn "The 'WebDAV' config statement is no longer supported!" + ewarn "Please adjust your configuration, if necessary." + echo +} diff --git a/www-servers/pound/pound-2.7d.ebuild b/www-servers/pound/pound-2.7d.ebuild new file mode 100644 index 000000000000..e136705165d5 --- /dev/null +++ b/www-servers/pound/pound-2.7d.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils + +MY_P=${P/p/P} +DESCRIPTION="A http/https reverse-proxy and load-balancer" +HOMEPAGE="http://www.apsis.ch/pound/" +SRC_URI="http://www.apsis.ch/pound/${MY_P}.tgz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86" +IUSE="" + +DEPEND="dev-libs/libpcre + dev-libs/openssl" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +src_install() { + dodir /usr/sbin + cp "${S}"/pound "${D}"/usr/sbin/ + cp "${S}"/poundctl "${D}"/usr/sbin/ + + doman pound.8 + doman poundctl.8 + dodoc README FAQ + + dodir /etc/init.d + newinitd "${FILESDIR}"/pound.init-1.9 pound + + insinto /etc + newins "${FILESDIR}"/pound-2.2.cfg pound.cfg +} + +pkg_postinst() { + elog "No demo-/sample-configfile is included in the distribution -" + elog "read the man-page for more info." + elog "A sample (localhost:8888 -> localhost:80) for gentoo is given in \"/etc/pound.cfg\"." + echo + ewarn "You will have to upgrade you configuration file, if you are" + ewarn "upgrading from a version <= 2.0." + echo + ewarn "The 'WebDAV' config statement is no longer supported!" + ewarn "Please adjust your configuration, if necessary." + echo +} diff --git a/www-servers/pound/pound-2.7f.ebuild b/www-servers/pound/pound-2.7f.ebuild new file mode 100644 index 000000000000..e136705165d5 --- /dev/null +++ b/www-servers/pound/pound-2.7f.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils + +MY_P=${P/p/P} +DESCRIPTION="A http/https reverse-proxy and load-balancer" +HOMEPAGE="http://www.apsis.ch/pound/" +SRC_URI="http://www.apsis.ch/pound/${MY_P}.tgz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86" +IUSE="" + +DEPEND="dev-libs/libpcre + dev-libs/openssl" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +src_install() { + dodir /usr/sbin + cp "${S}"/pound "${D}"/usr/sbin/ + cp "${S}"/poundctl "${D}"/usr/sbin/ + + doman pound.8 + doman poundctl.8 + dodoc README FAQ + + dodir /etc/init.d + newinitd "${FILESDIR}"/pound.init-1.9 pound + + insinto /etc + newins "${FILESDIR}"/pound-2.2.cfg pound.cfg +} + +pkg_postinst() { + elog "No demo-/sample-configfile is included in the distribution -" + elog "read the man-page for more info." + elog "A sample (localhost:8888 -> localhost:80) for gentoo is given in \"/etc/pound.cfg\"." + echo + ewarn "You will have to upgrade you configuration file, if you are" + ewarn "upgrading from a version <= 2.0." + echo + ewarn "The 'WebDAV' config statement is no longer supported!" + ewarn "Please adjust your configuration, if necessary." + echo +} |