From 1016c8d09a77369c4b37e511bf6b3f03922f7c23 Mon Sep 17 00:00:00 2001 From: Patrick Lauer Date: Thu, 30 Nov 2017 07:20:59 +0000 Subject: net-proxy/haproxy: Fix init script The change in https://bugs.gentoo.org/show_bug.cgi?id=584410 only worked because of multiple bugs interacting. Due to variable shadowing https://bugs.gentoo.org/show_bug.cgi?id=639164 the loop did not actually work, and the /run/haproxy.pid was used in every loop iteration. This only worked because of a bug in openrc: https://bugs.gentoo.org/show_bug.cgi?id=639218 which was fixed in 0.34.11 So before it killed all processes called haproxy if nbproc > 1 in the config (which means multiple haproxy instances are all killed if one is stopped!) After the bugfix it doesn't kill, so we're back to the original situation of leftover processes. And we don't want to rely on the cgroup killer! The fix is obviously to use start-stop-daemon directly instead of calling openrc internals that don't do what you think they do. Package-Manager: Portage-2.3.16, Repoman-2.3.6 RepoMan-Options: --force --- net-proxy/haproxy/Manifest | 4 +- net-proxy/haproxy/files/haproxy.initd-r4 | 85 -------------- net-proxy/haproxy/files/haproxy.initd-r5 | 85 -------------- net-proxy/haproxy/files/haproxy.initd-r6 | 85 ++++++++++++++ net-proxy/haproxy/haproxy-1.5.19-r1.ebuild | 135 ---------------------- net-proxy/haproxy/haproxy-1.5.19-r2.ebuild | 135 ++++++++++++++++++++++ net-proxy/haproxy/haproxy-1.6.11-r1.ebuild | 164 --------------------------- net-proxy/haproxy/haproxy-1.6.11-r2.ebuild | 164 +++++++++++++++++++++++++++ net-proxy/haproxy/haproxy-1.6.13-r2.ebuild | 158 -------------------------- net-proxy/haproxy/haproxy-1.6.13-r3.ebuild | 158 ++++++++++++++++++++++++++ net-proxy/haproxy/haproxy-1.6.9999-r1.ebuild | 159 -------------------------- net-proxy/haproxy/haproxy-1.6.9999-r2.ebuild | 159 ++++++++++++++++++++++++++ net-proxy/haproxy/haproxy-1.7.7.ebuild | 159 -------------------------- net-proxy/haproxy/haproxy-1.7.8.ebuild | 159 -------------------------- net-proxy/haproxy/haproxy-1.7.9-r1.ebuild | 159 ++++++++++++++++++++++++++ net-proxy/haproxy/haproxy-1.7.9.ebuild | 159 -------------------------- net-proxy/haproxy/haproxy-1.7.9999-r1.ebuild | 159 -------------------------- net-proxy/haproxy/haproxy-1.7.9999-r2.ebuild | 159 ++++++++++++++++++++++++++ 18 files changed, 1020 insertions(+), 1425 deletions(-) delete mode 100644 net-proxy/haproxy/files/haproxy.initd-r4 delete mode 100644 net-proxy/haproxy/files/haproxy.initd-r5 create mode 100644 net-proxy/haproxy/files/haproxy.initd-r6 delete mode 100644 net-proxy/haproxy/haproxy-1.5.19-r1.ebuild create mode 100644 net-proxy/haproxy/haproxy-1.5.19-r2.ebuild delete mode 100644 net-proxy/haproxy/haproxy-1.6.11-r1.ebuild create mode 100644 net-proxy/haproxy/haproxy-1.6.11-r2.ebuild delete mode 100644 net-proxy/haproxy/haproxy-1.6.13-r2.ebuild create mode 100644 net-proxy/haproxy/haproxy-1.6.13-r3.ebuild delete mode 100644 net-proxy/haproxy/haproxy-1.6.9999-r1.ebuild create mode 100644 net-proxy/haproxy/haproxy-1.6.9999-r2.ebuild delete mode 100644 net-proxy/haproxy/haproxy-1.7.7.ebuild delete mode 100644 net-proxy/haproxy/haproxy-1.7.8.ebuild create mode 100644 net-proxy/haproxy/haproxy-1.7.9-r1.ebuild delete mode 100644 net-proxy/haproxy/haproxy-1.7.9.ebuild delete mode 100644 net-proxy/haproxy/haproxy-1.7.9999-r1.ebuild create mode 100644 net-proxy/haproxy/haproxy-1.7.9999-r2.ebuild (limited to 'net-proxy') diff --git a/net-proxy/haproxy/Manifest b/net-proxy/haproxy/Manifest index 23588fa5466b..4b41f47b5f0d 100644 --- a/net-proxy/haproxy/Manifest +++ b/net-proxy/haproxy/Manifest @@ -2,6 +2,4 @@ DIST haproxy-1.5.14.tar.gz 1345345 SHA256 9565dd38649064d0350a2883fa81ccfe92eb17 DIST haproxy-1.5.19.tar.gz 1362834 SHA256 e00ae2a633da614967f2e3ebebdb817ec537cba8383b833fc8d9a506876e0d5e SHA512 3462458350d76fe5634428f7b443f21e2d8d4a171ab6254736db2d64587707d11d0df1d851d629c5a2cdfb2858e98cc9345d592859c6d6d8a352b57542dc465a WHIRLPOOL 0cb297dd48e8b9e0c2d6291aa7549c0b6b11e75c58ace3bd50205d7218cf95187129126b21cd13572e0287fc5b311c94ad2ccf664ff30d83a3bc782aea7714ff DIST haproxy-1.6.11.tar.gz 1574029 SHA256 62fe982edb102a9f55205792bc14b0d05745cc7993cd6bee5d73cd3c5ae16ace SHA512 73ff1c7301197b3bd75a3b1355787419676854d132ce2dcdacb2a296e297dcdfc52b0c571a4fb715e369f1126e1a58196fabb21f828c880f15904032da78e434 WHIRLPOOL 4454c51da89bb089579aefcf54093fd4c09b42918e81e41772d263ebc19f243a37b42135a02c4012705e4cc31370f377cf0b429e81707f307cffe9ed23f5183b DIST haproxy-1.6.13.tar.gz 1580214 SHA256 7d318583f3a1bf185e857bd40449004b29c95547c89bbb36718f284e29502a1b SHA512 ffed3b347e0cd9cefdc379c91890a3c104d6848b976a9f28984878a9c2d05ca7ddea678f7a93f75cb9d29ae2be921e5a5bd295b1a8771765b099d1c619ded7a3 WHIRLPOOL 70176ee090dacbbdc822c74bba137589f168482c560734c06b98dc23b4d957ed1e016309f11f25a0b486bc6917633455f1174dc6688d6aef53667c61b83a9ff3 -DIST haproxy-1.7.7.tar.gz 1745024 SHA256 81196ca449e4ada45fbd743fe3804bb82c25563ff9653e136872181ee5603ae2 SHA512 aa4720962e94b00c2b6090f62fb875e8977783256d877eb799b6a48c884833bac00b12d04fabd440011007e2af1914e0d67ab485026a447d8a61d58128d04a5a WHIRLPOOL d730dd21f1d8c2132297011e3dfbbbc12b6aa2cc61b67ee1cb9001b9f320e1e403ba917b81c8159fc7e2b43a0e3c95fd27172e1c86aada4963d3a4ecaebb3e2e -DIST haproxy-1.7.8.tar.gz 1746321 SHA256 ec90153ccedd20ad4015d3eaf76b502ff1f61b431d54c22b8457b5784a9ae142 SHA512 e1d65c8a4607c01d52628f36f8c7342096267130a0f949474746f571158e4f795281f78765004c214a0527f74ce180760f9cc910d3650d30026776076d721c0c WHIRLPOOL f781963b2cf80bfb6219399120821a4dd035dd89c07dc4191d45e2a7e4eaf6e8439f4eaa3174dd7a93ceb6f156d9124806f9c6490f8715bf127f37f0b33f9e17 -DIST haproxy-1.7.9.tar.gz 1748159 SHA256 1072337e54fa188dc6e0cfe3ba4c2200b07082e321cbfe5a0882d85d54db068e SHA512 d1ed791bc9607dbeabcfc6a1853cf258e28b3a079923b63d3bf97504dd59e64a5f5f44f9da968c23c12b4279e8d45ff3bd39418942ca6f00d9d548c9a0ccfd73 WHIRLPOOL efd7671925bfd260c0fce9d611ca24f3253a5553677687e5a136f6371a85852caaa4069df9bd1ba3ebe0d86ebdeef5e3c139609fc922eb0c10467cf28570e151 +DIST haproxy-1.7.9.tar.gz 1748159 BLAKE2B 6826ad3519ff300fb1c91992014834543f971fade8a8b89956d4cd1fc0000b1b3e259586a21ee9fa8ca0ee1f4520517dfc328d83d7a858f469f0366df6e3da43 SHA512 d1ed791bc9607dbeabcfc6a1853cf258e28b3a079923b63d3bf97504dd59e64a5f5f44f9da968c23c12b4279e8d45ff3bd39418942ca6f00d9d548c9a0ccfd73 diff --git a/net-proxy/haproxy/files/haproxy.initd-r4 b/net-proxy/haproxy/files/haproxy.initd-r4 deleted file mode 100644 index c37719b16752..000000000000 --- a/net-proxy/haproxy/files/haproxy.initd-r4 +++ /dev/null @@ -1,85 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -extra_commands="checkconfig" -extra_started_commands="reload" - -command="/usr/bin/haproxy" - -pidfile="${HAPROXY_PIDFILE:-/run/${SVCNAME}.pid}" - -configs= - -if [ -z "${CONFIGS}" ]; then - if [ -f "/etc/haproxy/${SVCNAME}.cfg" ]; then - CONFIGS=/etc/haproxy/${SVCNAME}.cfg - elif [ -f "/etc/${SVCNAME}.cfg" ]; then - CONFIGS=/etc/${SVCNAME}.cfg # Deprecated - fi -fi - -for conf in $CONFIGS; do - configs="${configs} -f ${conf}" -done - -command_args="-D -p ${pidfile} ${configs} ${HAPROXY_OPTS}" - -depend() { - need net - use dns logger -} - -checkconfig() { - if [ -z "${CONFIGS}" ]; then - eerror "No config(s) has been specified" - return 1 - fi - - for conf in $CONFIGS; do - if [ ! -f "${conf}" ]; then - eerror "${conf} does not exist!" - return 1 - fi - done - - ebegin "Checking ${CONFIGS}" - $command -q -c $configs $HAPROXY_OPTS - eend $? -} - -start_pre() { - if [ "${RC_CMD}" != "restart" ]; then - checkconfig || return 1 - fi -} - -stop_pre() { - if [ "${RC_CMD}" = "restart" ]; then - checkconfig || return 1 - fi -} - -stop() { - local _t _pid - - _t="$(mktemp)" - for _pid in $(cat ${pidfile}) ; do - echo "${_pid}" > "${_t}" - pidfile="${_t}" default_stop - done - rm -f "${_t}" -} - -reload() { - checkconfig || { eerror "Reloading failed, please fix your config(s) first"; return 1; } - - if [ "$(command -v reload_seamless)" = "reload_seamless" ]; then - einfo "Calling user-defined reload_seamless()" - reload_seamless || { eerror "reload_seamless() failed!"; return 1; } - fi - - ebegin "Reloading ${SVCNAME}" - $command -D -p "${pidfile}" $configs $HAPROXY_OPTS -sf $(cat "${pidfile}") - eend $? -} diff --git a/net-proxy/haproxy/files/haproxy.initd-r5 b/net-proxy/haproxy/files/haproxy.initd-r5 deleted file mode 100644 index 0f2435f74339..000000000000 --- a/net-proxy/haproxy/files/haproxy.initd-r5 +++ /dev/null @@ -1,85 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -extra_commands="checkconfig" -extra_started_commands="reload" - -command="/usr/sbin/haproxy" - -pidfile="${HAPROXY_PIDFILE:-/run/${SVCNAME}.pid}" - -configs= - -if [ -z "${CONFIGS}" ]; then - if [ -f "/etc/haproxy/${SVCNAME}.cfg" ]; then - CONFIGS=/etc/haproxy/${SVCNAME}.cfg - elif [ -f "/etc/${SVCNAME}.cfg" ]; then - CONFIGS=/etc/${SVCNAME}.cfg # Deprecated - fi -fi - -for conf in $CONFIGS; do - configs="${configs} -f ${conf}" -done - -command_args="-D -p ${pidfile} ${configs} ${HAPROXY_OPTS}" - -depend() { - need net - use dns logger -} - -checkconfig() { - if [ -z "${CONFIGS}" ]; then - eerror "No config(s) has been specified" - return 1 - fi - - for conf in $CONFIGS; do - if [ ! -f "${conf}" ]; then - eerror "${conf} does not exist!" - return 1 - fi - done - - ebegin "Checking ${CONFIGS}" - $command -q -c $configs $HAPROXY_OPTS - eend $? -} - -start_pre() { - if [ "${RC_CMD}" != "restart" ]; then - checkconfig || return 1 - fi -} - -stop_pre() { - if [ "${RC_CMD}" = "restart" ]; then - checkconfig || return 1 - fi -} - -stop() { - local _t _pid - - _t="$(mktemp)" - for _pid in $(cat ${pidfile}) ; do - echo "${_pid}" > "${_t}" - pidfile="${_t}" default_stop - done - rm -f "${_t}" -} - -reload() { - checkconfig || { eerror "Reloading failed, please fix your config(s) first"; return 1; } - - if [ "$(command -v reload_seamless)" = "reload_seamless" ]; then - einfo "Calling user-defined reload_seamless()" - reload_seamless || { eerror "reload_seamless() failed!"; return 1; } - fi - - ebegin "Reloading ${SVCNAME}" - $command -D -p "${pidfile}" $configs $HAPROXY_OPTS -sf $(cat "${pidfile}") - eend $? -} diff --git a/net-proxy/haproxy/files/haproxy.initd-r6 b/net-proxy/haproxy/files/haproxy.initd-r6 new file mode 100644 index 000000000000..9b7c5fe973ba --- /dev/null +++ b/net-proxy/haproxy/files/haproxy.initd-r6 @@ -0,0 +1,85 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="checkconfig" +extra_started_commands="reload" + +command="/usr/sbin/haproxy" + +pidfile="${HAPROXY_PIDFILE:-/run/${SVCNAME}.pid}" + +configs= + +if [ -z "${CONFIGS}" ]; then + if [ -f "/etc/haproxy/${SVCNAME}.cfg" ]; then + CONFIGS=/etc/haproxy/${SVCNAME}.cfg + elif [ -f "/etc/${SVCNAME}.cfg" ]; then + CONFIGS=/etc/${SVCNAME}.cfg # Deprecated + fi +fi + +for conf in $CONFIGS; do + configs="${configs} -f ${conf}" +done + +command_args="-D -p ${pidfile} ${configs} ${HAPROXY_OPTS}" + +depend() { + need net + use dns logger +} + +checkconfig() { + if [ -z "${CONFIGS}" ]; then + eerror "No config(s) has been specified" + return 1 + fi + + for conf in $CONFIGS; do + if [ ! -f "${conf}" ]; then + eerror "${conf} does not exist!" + return 1 + fi + done + + ebegin "Checking ${CONFIGS}" + $command -q -c $configs $HAPROXY_OPTS + eend $? +} + +start_pre() { + if [ "${RC_CMD}" != "restart" ]; then + checkconfig || return 1 + fi +} + +stop_pre() { + if [ "${RC_CMD}" = "restart" ]; then + checkconfig || return 1 + fi +} + +stop() { + local _t _pid + + _t="$(mktemp)" + for _pid in $(cat ${pidfile}) ; do + echo "${_pid}" > "${_t}" + start-stop-daemon --stop --pidfile="${_t}" + done + rm -f "${_t}" +} + +reload() { + checkconfig || { eerror "Reloading failed, please fix your config(s) first"; return 1; } + + if [ "$(command -v reload_seamless)" = "reload_seamless" ]; then + einfo "Calling user-defined reload_seamless()" + reload_seamless || { eerror "reload_seamless() failed!"; return 1; } + fi + + ebegin "Reloading ${SVCNAME}" + $command -D -p "${pidfile}" $configs $HAPROXY_OPTS -sf $(cat "${pidfile}") + eend $? +} diff --git a/net-proxy/haproxy/haproxy-1.5.19-r1.ebuild b/net-proxy/haproxy/haproxy-1.5.19-r1.ebuild deleted file mode 100644 index 2b0bc8af0a4b..000000000000 --- a/net-proxy/haproxy/haproxy-1.5.19-r1.ebuild +++ /dev/null @@ -1,135 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -inherit user versionator toolchain-funcs flag-o-matic systemd - -MY_P="${PN}-${PV/_beta/-dev}" - -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" -HOMEPAGE="http://haproxy.1wt.eu" -SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm ~ppc ~x86" -IUSE="+crypt examples libressl +pcre pcre-jit ssl tools vim-syntax +zlib" - -DEPEND=" - pcre? ( - dev-libs/libpcre - pcre-jit? ( dev-libs/libpcre[jit] ) - ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[zlib?] ) - libressl? ( dev-libs/libressl:0= ) - ) - zlib? ( sys-libs/zlib )" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - enewgroup haproxy - enewuser haproxy -1 -1 -1 haproxy -} - -src_compile() { - local args="TARGET=linux2628 USE_GETADDRINFO=1" - - if use pcre ; then - args="${args} USE_PCRE=1" - if use pcre-jit; then - args="${args} USE_PCRE_JIT=1" - else - args="${args} USE_PCRE_JIT=" - fi - else - args="${args} USE_PCRE= USE_PCRE_JIT=" - fi - -# if use kernel_linux; then -# args="${args} USE_LINUX_SPLICE=1 USE_LINUX_TPROXY=1" -# else -# args="${args} USE_LINUX_SPLICE= USE_LINUX_TPROXY=" -# fi - - if use crypt ; then - args="${args} USE_LIBCRYPT=1" - else - args="${args} USE_LIBCRYPT=" - fi - - if use ssl ; then - args="${args} USE_OPENSSL=1" - else - args="${args} USE_OPENSSL=" - fi - - if use zlib ; then - args="${args} USE_ZLIB=1" - else - args="${args} USE_ZLIB=" - fi - - # For now, until the strict-aliasing breakage will be fixed - append-cflags -fno-strict-aliasing - - emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args} - emake -C contrib/systemd SBINDIR=/usr/sbin - - if use tools ; then - for contrib in halog iprange ; do - emake -C contrib/${contrib} \ - CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args} - done - fi -} - -src_install() { - dosbin haproxy - dosym /usr/sbin/haproxy /usr/bin/haproxy - - newinitd "${FILESDIR}/haproxy.initd-r5" haproxy - - # Don't install useless files -# rm examples/build.cfg doc/*gpl.txt - - dodoc CHANGELOG ROADMAP doc/{configuration,haproxy-en}.txt - doman doc/haproxy.1 - - dosbin haproxy-systemd-wrapper - dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper - systemd_dounit contrib/systemd/haproxy.service - - if use tools ; then - for contrib in halog iprange ; do - dobin contrib/${contrib}/${contrib} - done - fi - - if use examples ; then - docinto examples - dodoc examples/*.cfg - fi - - if use vim-syntax ; then - insinto /usr/share/vim/vimfiles/syntax - doins examples/haproxy.vim - fi -} - -pkg_postinst() { - if [[ ! -f "${ROOT}/etc/haproxy.cfg" ]] ; then - ewarn "You need to create /etc/haproxy.cfg before you start the haproxy service." - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." - ewarn "Make use of them with the \"user\" and \"group\" directives." - - if [[ -d "${ROOT}/usr/share/doc/${PF}" ]]; then - einfo "Please consult the installed documentation for learning the configuration file's syntax." - einfo "The documentation and sample configuration files are installed here:" - einfo " ${ROOT}usr/share/doc/${PF}" - fi - fi -} diff --git a/net-proxy/haproxy/haproxy-1.5.19-r2.ebuild b/net-proxy/haproxy/haproxy-1.5.19-r2.ebuild new file mode 100644 index 000000000000..7b4655b91afa --- /dev/null +++ b/net-proxy/haproxy/haproxy-1.5.19-r2.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +inherit user versionator toolchain-funcs flag-o-matic systemd + +MY_P="${PN}-${PV/_beta/-dev}" + +DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" +HOMEPAGE="http://haproxy.1wt.eu" +SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86" +IUSE="+crypt examples libressl +pcre pcre-jit ssl tools vim-syntax +zlib" + +DEPEND=" + pcre? ( + dev-libs/libpcre + pcre-jit? ( dev-libs/libpcre[jit] ) + ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[zlib?] ) + libressl? ( dev-libs/libressl:0= ) + ) + zlib? ( sys-libs/zlib )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + enewgroup haproxy + enewuser haproxy -1 -1 -1 haproxy +} + +src_compile() { + local args="TARGET=linux2628 USE_GETADDRINFO=1" + + if use pcre ; then + args="${args} USE_PCRE=1" + if use pcre-jit; then + args="${args} USE_PCRE_JIT=1" + else + args="${args} USE_PCRE_JIT=" + fi + else + args="${args} USE_PCRE= USE_PCRE_JIT=" + fi + +# if use kernel_linux; then +# args="${args} USE_LINUX_SPLICE=1 USE_LINUX_TPROXY=1" +# else +# args="${args} USE_LINUX_SPLICE= USE_LINUX_TPROXY=" +# fi + + if use crypt ; then + args="${args} USE_LIBCRYPT=1" + else + args="${args} USE_LIBCRYPT=" + fi + + if use ssl ; then + args="${args} USE_OPENSSL=1" + else + args="${args} USE_OPENSSL=" + fi + + if use zlib ; then + args="${args} USE_ZLIB=1" + else + args="${args} USE_ZLIB=" + fi + + # For now, until the strict-aliasing breakage will be fixed + append-cflags -fno-strict-aliasing + + emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args} + emake -C contrib/systemd SBINDIR=/usr/sbin + + if use tools ; then + for contrib in halog iprange ; do + emake -C contrib/${contrib} \ + CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args} + done + fi +} + +src_install() { + dosbin haproxy + dosym /usr/sbin/haproxy /usr/bin/haproxy + + newinitd "${FILESDIR}/haproxy.initd-r6" haproxy + + # Don't install useless files +# rm examples/build.cfg doc/*gpl.txt + + dodoc CHANGELOG ROADMAP doc/{configuration,haproxy-en}.txt + doman doc/haproxy.1 + + dosbin haproxy-systemd-wrapper + dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper + systemd_dounit contrib/systemd/haproxy.service + + if use tools ; then + for contrib in halog iprange ; do + dobin contrib/${contrib}/${contrib} + done + fi + + if use examples ; then + docinto examples + dodoc examples/*.cfg + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/syntax + doins examples/haproxy.vim + fi +} + +pkg_postinst() { + if [[ ! -f "${ROOT}/etc/haproxy.cfg" ]] ; then + ewarn "You need to create /etc/haproxy.cfg before you start the haproxy service." + ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." + ewarn "Make use of them with the \"user\" and \"group\" directives." + + if [[ -d "${ROOT}/usr/share/doc/${PF}" ]]; then + einfo "Please consult the installed documentation for learning the configuration file's syntax." + einfo "The documentation and sample configuration files are installed here:" + einfo " ${ROOT}usr/share/doc/${PF}" + fi + fi +} diff --git a/net-proxy/haproxy/haproxy-1.6.11-r1.ebuild b/net-proxy/haproxy/haproxy-1.6.11-r1.ebuild deleted file mode 100644 index 06254314e424..000000000000 --- a/net-proxy/haproxy/haproxy-1.6.11-r1.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -[[ ${PV} == *9999 ]] && SCM="git-r3" -inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM - -MY_P="${PN}-${PV/_beta/-dev}" - -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" -HOMEPAGE="http://haproxy.1wt.eu" -if [[ ${PV} != *9999 ]]; then - SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" - KEYWORDS="amd64 arm ppc x86" -else - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" - EGIT_BRANCH=master -fi - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" -REQUIRED_USE="pcre-jit? ( pcre ) - ?? ( slz zlib )" - -DEPEND=" - pcre? ( - dev-libs/libpcre - pcre-jit? ( dev-libs/libpcre[jit] ) - ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[zlib?] ) - libressl? ( dev-libs/libressl:0= ) - ) - slz? ( dev-libs/libslz:= ) - zlib? ( sys-libs/zlib ) - lua? ( dev-lang/lua:5.3 ) - device-atlas? ( dev-libs/device-atlas-api-c )" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${MY_P}" - -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) -version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) -CONTRIBS=( halog iprange ) -# ip6range is present in 1.6, but broken. -version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) - -haproxy_use() { - (( $# != 2 )) && die "${FUNCNAME} " - - usex "${1}" "USE_${2}=1" "USE_${2}=" -} - -pkg_setup() { - enewgroup haproxy - enewuser haproxy -1 -1 -1 haproxy - - if use net_ns; then - CONFIG_CHECK="~NET_NS" - linux-info_pkg_setup - fi -} - -src_prepare() { - default - - sed -e 's:@SBINDIR@:'/usr/bin':' contrib/systemd/haproxy.service.in \ - > contrib/systemd/haproxy.service || die - - sed -ie 's:/usr/sbin/haproxy:/usr/bin/haproxy:' src/haproxy-systemd-wrapper.c || die -} - -src_compile() { - local -a args=( - TARGET=linux2628 - USE_GETADDRINFO=1 - USE_TFO=1 - ) - - args+=( $(haproxy_use crypt LIBCRYPT) ) - args+=( $(haproxy_use net_ns NS) ) - args+=( $(haproxy_use pcre PCRE) ) - args+=( $(haproxy_use pcre-jit PCRE_JIT) ) - args+=( $(haproxy_use ssl OPENSSL) ) - args+=( $(haproxy_use slz SLZ) ) - args+=( $(haproxy_use zlib ZLIB) ) - args+=( $(haproxy_use lua LUA) ) - args+=( $(haproxy_use 51degrees 51DEGREES) ) - args+=( $(haproxy_use device-atlas DEVICEATLAS) ) - args+=( $(haproxy_use wurfl WURFL) ) - - # For now, until the strict-aliasing breakage will be fixed - append-cflags -fno-strict-aliasing - - emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - - if use tools ; then - for contrib in ${CONTRIBS[@]} ; do - emake -C contrib/${contrib} \ - CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - done - fi -} - -src_install() { - dobin haproxy - - newconfd "${FILESDIR}/${PN}.confd" $PN - newinitd "${FILESDIR}/${PN}.initd-r4" $PN - - doman doc/haproxy.1 - - dobin haproxy-systemd-wrapper - systemd_dounit contrib/systemd/haproxy.service - - einstalldocs - - # The errorfiles are used by upstream defaults. - insinto /etc/haproxy/errors/ - doins examples/errorfiles/* - - if use doc; then - dodoc ROADMAP doc/*.txt - #if use lua; then - # TODO: doc/lua-api/ - #fi - fi - - if use tools ; then - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop - fi - - if use examples ; then - docinto examples - dodoc examples/*.cfg - dodoc examples/seamless_reload.txt - fi - - if use vim-syntax ; then - insinto /usr/share/vim/vimfiles/syntax - doins examples/haproxy.vim - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." - ewarn "Make use of them with the \"user\" and \"group\" directives." - - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then - einfo "Please consult the installed documentation for learning the configuration file's syntax." - einfo "The documentation and sample configuration files are installed here:" - einfo " ${EROOT}usr/share/doc/${PF}" - fi - fi -} diff --git a/net-proxy/haproxy/haproxy-1.6.11-r2.ebuild b/net-proxy/haproxy/haproxy-1.6.11-r2.ebuild new file mode 100644 index 000000000000..9b9f889a0e0e --- /dev/null +++ b/net-proxy/haproxy/haproxy-1.6.11-r2.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +[[ ${PV} == *9999 ]] && SCM="git-r3" +inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM + +MY_P="${PN}-${PV/_beta/-dev}" + +DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" +HOMEPAGE="http://haproxy.1wt.eu" +if [[ ${PV} != *9999 ]]; then + SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" + KEYWORDS="amd64 arm ppc x86" +else + EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" + EGIT_BRANCH=master +fi + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" +REQUIRED_USE="pcre-jit? ( pcre ) + ?? ( slz zlib )" + +DEPEND=" + pcre? ( + dev-libs/libpcre + pcre-jit? ( dev-libs/libpcre[jit] ) + ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[zlib?] ) + libressl? ( dev-libs/libressl:0= ) + ) + slz? ( dev-libs/libslz:= ) + zlib? ( sys-libs/zlib ) + lua? ( dev-lang/lua:5.3 ) + device-atlas? ( dev-libs/device-atlas-api-c )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) +version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) +CONTRIBS=( halog iprange ) +# ip6range is present in 1.6, but broken. +version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) + +haproxy_use() { + (( $# != 2 )) && die "${FUNCNAME} " + + usex "${1}" "USE_${2}=1" "USE_${2}=" +} + +pkg_setup() { + enewgroup haproxy + enewuser haproxy -1 -1 -1 haproxy + + if use net_ns; then + CONFIG_CHECK="~NET_NS" + linux-info_pkg_setup + fi +} + +src_prepare() { + default + + sed -e 's:@SBINDIR@:'/usr/bin':' contrib/systemd/haproxy.service.in \ + > contrib/systemd/haproxy.service || die + + sed -ie 's:/usr/sbin/haproxy:/usr/bin/haproxy:' src/haproxy-systemd-wrapper.c || die +} + +src_compile() { + local -a args=( + TARGET=linux2628 + USE_GETADDRINFO=1 + USE_TFO=1 + ) + + args+=( $(haproxy_use crypt LIBCRYPT) ) + args+=( $(haproxy_use net_ns NS) ) + args+=( $(haproxy_use pcre PCRE) ) + args+=( $(haproxy_use pcre-jit PCRE_JIT) ) + args+=( $(haproxy_use ssl OPENSSL) ) + args+=( $(haproxy_use slz SLZ) ) + args+=( $(haproxy_use zlib ZLIB) ) + args+=( $(haproxy_use lua LUA) ) + args+=( $(haproxy_use 51degrees 51DEGREES) ) + args+=( $(haproxy_use device-atlas DEVICEATLAS) ) + args+=( $(haproxy_use wurfl WURFL) ) + + # For now, until the strict-aliasing breakage will be fixed + append-cflags -fno-strict-aliasing + + emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + + if use tools ; then + for contrib in ${CONTRIBS[@]} ; do + emake -C contrib/${contrib} \ + CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + done + fi +} + +src_install() { + dobin haproxy + + newconfd "${FILESDIR}/${PN}.confd" $PN + newinitd "${FILESDIR}/${PN}.initd-r6" $PN + + doman doc/haproxy.1 + + dobin haproxy-systemd-wrapper + systemd_dounit contrib/systemd/haproxy.service + + einstalldocs + + # The errorfiles are used by upstream defaults. + insinto /etc/haproxy/errors/ + doins examples/errorfiles/* + + if use doc; then + dodoc ROADMAP doc/*.txt + #if use lua; then + # TODO: doc/lua-api/ + #fi + fi + + if use tools ; then + has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog + has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange + has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range + has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example + has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example + has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop + fi + + if use examples ; then + docinto examples + dodoc examples/*.cfg + dodoc examples/seamless_reload.txt + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/syntax + doins examples/haproxy.vim + fi +} + +pkg_postinst() { + if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then + ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." + ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." + ewarn "Make use of them with the \"user\" and \"group\" directives." + + if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then + einfo "Please consult the installed documentation for learning the configuration file's syntax." + einfo "The documentation and sample configuration files are installed here:" + einfo " ${EROOT}usr/share/doc/${PF}" + fi + fi +} diff --git a/net-proxy/haproxy/haproxy-1.6.13-r2.ebuild b/net-proxy/haproxy/haproxy-1.6.13-r2.ebuild deleted file mode 100644 index 5d3f45d2f516..000000000000 --- a/net-proxy/haproxy/haproxy-1.6.13-r2.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -[[ ${PV} == *9999 ]] && SCM="git-r3" -inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM - -MY_P="${PN}-${PV/_beta/-dev}" - -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" -HOMEPAGE="http://haproxy.1wt.eu" -if [[ ${PV} != *9999 ]]; then - SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc ~x86" -else - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" - EGIT_BRANCH=master -fi - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" -REQUIRED_USE="pcre-jit? ( pcre ) - ?? ( slz zlib )" - -DEPEND=" - pcre? ( - dev-libs/libpcre - pcre-jit? ( dev-libs/libpcre[jit] ) - ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[zlib?] ) - libressl? ( dev-libs/libressl:0= ) - ) - slz? ( dev-libs/libslz:= ) - zlib? ( sys-libs/zlib ) - lua? ( dev-lang/lua:5.3 ) - device-atlas? ( dev-libs/device-atlas-api-c )" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${MY_P}" - -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) -version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) -CONTRIBS=( halog iprange ) -# ip6range is present in 1.6, but broken. -version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) - -haproxy_use() { - (( $# != 2 )) && die "${FUNCNAME} " - - usex "${1}" "USE_${2}=1" "USE_${2}=" -} - -pkg_setup() { - enewgroup haproxy - enewuser haproxy -1 -1 -1 haproxy - - if use net_ns; then - CONFIG_CHECK="~NET_NS" - linux-info_pkg_setup - fi -} - -src_compile() { - local -a args=( - TARGET=linux2628 - USE_GETADDRINFO=1 - USE_TFO=1 - ) - - args+=( $(haproxy_use crypt LIBCRYPT) ) - args+=( $(haproxy_use net_ns NS) ) - args+=( $(haproxy_use pcre PCRE) ) - args+=( $(haproxy_use pcre-jit PCRE_JIT) ) - args+=( $(haproxy_use ssl OPENSSL) ) - args+=( $(haproxy_use slz SLZ) ) - args+=( $(haproxy_use zlib ZLIB) ) - args+=( $(haproxy_use lua LUA) ) - args+=( $(haproxy_use 51degrees 51DEGREES) ) - args+=( $(haproxy_use device-atlas DEVICEATLAS) ) - args+=( $(haproxy_use wurfl WURFL) ) - - # For now, until the strict-aliasing breakage will be fixed - append-cflags -fno-strict-aliasing - - emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - emake -C contrib/systemd SBINDIR=/usr/sbin - - if use tools ; then - for contrib in ${CONTRIBS[@]} ; do - emake -C contrib/${contrib} \ - CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - done - fi -} - -src_install() { - dosbin haproxy - dosym /usr/sbin/haproxy /usr/bin/haproxy - - newconfd "${FILESDIR}/${PN}.confd" $PN - newinitd "${FILESDIR}/${PN}.initd-r5" $PN - - doman doc/haproxy.1 - - dosbin haproxy-systemd-wrapper - dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper - systemd_dounit contrib/systemd/haproxy.service - - einstalldocs - - # The errorfiles are used by upstream defaults. - insinto /etc/haproxy/errors/ - doins examples/errorfiles/* - - if use doc; then - dodoc ROADMAP doc/*.txt - #if use lua; then - # TODO: doc/lua-api/ - #fi - fi - - if use tools ; then - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop - fi - - if use examples ; then - docinto examples - dodoc examples/*.cfg - dodoc examples/seamless_reload.txt - fi - - if use vim-syntax ; then - insinto /usr/share/vim/vimfiles/syntax - doins examples/haproxy.vim - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." - ewarn "Make use of them with the \"user\" and \"group\" directives." - - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then - einfo "Please consult the installed documentation for learning the configuration file's syntax." - einfo "The documentation and sample configuration files are installed here:" - einfo " ${EROOT}usr/share/doc/${PF}" - fi - fi -} diff --git a/net-proxy/haproxy/haproxy-1.6.13-r3.ebuild b/net-proxy/haproxy/haproxy-1.6.13-r3.ebuild new file mode 100644 index 000000000000..1f40cd754eb7 --- /dev/null +++ b/net-proxy/haproxy/haproxy-1.6.13-r3.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +[[ ${PV} == *9999 ]] && SCM="git-r3" +inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM + +MY_P="${PN}-${PV/_beta/-dev}" + +DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" +HOMEPAGE="http://haproxy.1wt.eu" +if [[ ${PV} != *9999 ]]; then + SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~ppc ~x86" +else + EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" + EGIT_BRANCH=master +fi + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" +REQUIRED_USE="pcre-jit? ( pcre ) + ?? ( slz zlib )" + +DEPEND=" + pcre? ( + dev-libs/libpcre + pcre-jit? ( dev-libs/libpcre[jit] ) + ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[zlib?] ) + libressl? ( dev-libs/libressl:0= ) + ) + slz? ( dev-libs/libslz:= ) + zlib? ( sys-libs/zlib ) + lua? ( dev-lang/lua:5.3 ) + device-atlas? ( dev-libs/device-atlas-api-c )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) +version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) +CONTRIBS=( halog iprange ) +# ip6range is present in 1.6, but broken. +version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) + +haproxy_use() { + (( $# != 2 )) && die "${FUNCNAME} " + + usex "${1}" "USE_${2}=1" "USE_${2}=" +} + +pkg_setup() { + enewgroup haproxy + enewuser haproxy -1 -1 -1 haproxy + + if use net_ns; then + CONFIG_CHECK="~NET_NS" + linux-info_pkg_setup + fi +} + +src_compile() { + local -a args=( + TARGET=linux2628 + USE_GETADDRINFO=1 + USE_TFO=1 + ) + + args+=( $(haproxy_use crypt LIBCRYPT) ) + args+=( $(haproxy_use net_ns NS) ) + args+=( $(haproxy_use pcre PCRE) ) + args+=( $(haproxy_use pcre-jit PCRE_JIT) ) + args+=( $(haproxy_use ssl OPENSSL) ) + args+=( $(haproxy_use slz SLZ) ) + args+=( $(haproxy_use zlib ZLIB) ) + args+=( $(haproxy_use lua LUA) ) + args+=( $(haproxy_use 51degrees 51DEGREES) ) + args+=( $(haproxy_use device-atlas DEVICEATLAS) ) + args+=( $(haproxy_use wurfl WURFL) ) + + # For now, until the strict-aliasing breakage will be fixed + append-cflags -fno-strict-aliasing + + emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + emake -C contrib/systemd SBINDIR=/usr/sbin + + if use tools ; then + for contrib in ${CONTRIBS[@]} ; do + emake -C contrib/${contrib} \ + CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + done + fi +} + +src_install() { + dosbin haproxy + dosym /usr/sbin/haproxy /usr/bin/haproxy + + newconfd "${FILESDIR}/${PN}.confd" $PN + newinitd "${FILESDIR}/${PN}.initd-r6" $PN + + doman doc/haproxy.1 + + dosbin haproxy-systemd-wrapper + dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper + systemd_dounit contrib/systemd/haproxy.service + + einstalldocs + + # The errorfiles are used by upstream defaults. + insinto /etc/haproxy/errors/ + doins examples/errorfiles/* + + if use doc; then + dodoc ROADMAP doc/*.txt + #if use lua; then + # TODO: doc/lua-api/ + #fi + fi + + if use tools ; then + has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog + has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange + has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range + has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example + has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example + has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop + fi + + if use examples ; then + docinto examples + dodoc examples/*.cfg + dodoc examples/seamless_reload.txt + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/syntax + doins examples/haproxy.vim + fi +} + +pkg_postinst() { + if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then + ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." + ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." + ewarn "Make use of them with the \"user\" and \"group\" directives." + + if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then + einfo "Please consult the installed documentation for learning the configuration file's syntax." + einfo "The documentation and sample configuration files are installed here:" + einfo " ${EROOT}usr/share/doc/${PF}" + fi + fi +} diff --git a/net-proxy/haproxy/haproxy-1.6.9999-r1.ebuild b/net-proxy/haproxy/haproxy-1.6.9999-r1.ebuild deleted file mode 100644 index 43c58bdf5bc1..000000000000 --- a/net-proxy/haproxy/haproxy-1.6.9999-r1.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -[[ ${PV} == *9999 ]] && SCM="git-r3" -inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM - -MY_P="${PN}-${PV/_beta/-dev}" - -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" -HOMEPAGE="http://haproxy.1wt.eu" -if [[ ${PV} != *9999 ]]; then - SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc ~x86" -else - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" - EGIT_BRANCH=master -fi - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" -REQUIRED_USE="pcre-jit? ( pcre ) - device-atlas? ( pcre ) - ?? ( slz zlib )" - -DEPEND=" - pcre? ( - dev-libs/libpcre - pcre-jit? ( dev-libs/libpcre[jit] ) - ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[zlib?] ) - libressl? ( dev-libs/libressl:0= ) - ) - slz? ( dev-libs/libslz:= ) - zlib? ( sys-libs/zlib ) - lua? ( dev-lang/lua:5.3 ) - device-atlas? ( dev-libs/device-atlas-api-c )" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${MY_P}" - -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) -version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) -CONTRIBS=( halog iprange ) -# ip6range is present in 1.6, but broken. -version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) - -haproxy_use() { - (( $# != 2 )) && die "${FUNCNAME} " - - usex "${1}" "USE_${2}=1" "USE_${2}=" -} - -pkg_setup() { - enewgroup haproxy - enewuser haproxy -1 -1 -1 haproxy - - if use net_ns; then - CONFIG_CHECK="~NET_NS" - linux-info_pkg_setup - fi -} - -src_compile() { - local -a args=( - TARGET=linux2628 - USE_GETADDRINFO=1 - USE_TFO=1 - ) - - args+=( $(haproxy_use crypt LIBCRYPT) ) - args+=( $(haproxy_use net_ns NS) ) - args+=( $(haproxy_use pcre PCRE) ) - args+=( $(haproxy_use pcre-jit PCRE_JIT) ) - args+=( $(haproxy_use ssl OPENSSL) ) - args+=( $(haproxy_use slz SLZ) ) - args+=( $(haproxy_use zlib ZLIB) ) - args+=( $(haproxy_use lua LUA) ) - args+=( $(haproxy_use 51degrees 51DEGREES) ) - args+=( $(haproxy_use device-atlas DEVICEATLAS) ) - args+=( $(haproxy_use wurfl WURFL) ) - - # For now, until the strict-aliasing breakage will be fixed - append-cflags -fno-strict-aliasing - - emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - emake -C contrib/systemd SBINDIR=/usr/sbin - - if use tools ; then - for contrib in ${CONTRIBS[@]} ; do - emake -C contrib/${contrib} \ - CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - done - fi -} - -src_install() { - dosbin haproxy - dosym /usr/sbin/haproxy /usr/bin/haproxy - - newconfd "${FILESDIR}/${PN}.confd" $PN - newinitd "${FILESDIR}/${PN}.initd-r5" $PN - - doman doc/haproxy.1 - - dosbin haproxy-systemd-wrapper - dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper - systemd_dounit contrib/systemd/haproxy.service - - einstalldocs - - # The errorfiles are used by upstream defaults. - insinto /etc/haproxy/errors/ - doins examples/errorfiles/* - - if use doc; then - dodoc ROADMAP doc/*.txt - #if use lua; then - # TODO: doc/lua-api/ - #fi - fi - - if use tools ; then - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop - fi - - if use examples ; then - docinto examples - dodoc examples/*.cfg - dodoc examples/seamless_reload.txt - fi - - if use vim-syntax ; then - insinto /usr/share/vim/vimfiles/syntax - doins examples/haproxy.vim - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." - ewarn "Make use of them with the \"user\" and \"group\" directives." - - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then - einfo "Please consult the installed documentation for learning the configuration file's syntax." - einfo "The documentation and sample configuration files are installed here:" - einfo " ${EROOT}usr/share/doc/${PF}" - fi - fi -} diff --git a/net-proxy/haproxy/haproxy-1.6.9999-r2.ebuild b/net-proxy/haproxy/haproxy-1.6.9999-r2.ebuild new file mode 100644 index 000000000000..6c77e7061acc --- /dev/null +++ b/net-proxy/haproxy/haproxy-1.6.9999-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +[[ ${PV} == *9999 ]] && SCM="git-r3" +inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM + +MY_P="${PN}-${PV/_beta/-dev}" + +DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" +HOMEPAGE="http://haproxy.1wt.eu" +if [[ ${PV} != *9999 ]]; then + SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~ppc ~x86" +else + EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" + EGIT_BRANCH=master +fi + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" +REQUIRED_USE="pcre-jit? ( pcre ) + device-atlas? ( pcre ) + ?? ( slz zlib )" + +DEPEND=" + pcre? ( + dev-libs/libpcre + pcre-jit? ( dev-libs/libpcre[jit] ) + ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[zlib?] ) + libressl? ( dev-libs/libressl:0= ) + ) + slz? ( dev-libs/libslz:= ) + zlib? ( sys-libs/zlib ) + lua? ( dev-lang/lua:5.3 ) + device-atlas? ( dev-libs/device-atlas-api-c )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) +version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) +CONTRIBS=( halog iprange ) +# ip6range is present in 1.6, but broken. +version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) + +haproxy_use() { + (( $# != 2 )) && die "${FUNCNAME} " + + usex "${1}" "USE_${2}=1" "USE_${2}=" +} + +pkg_setup() { + enewgroup haproxy + enewuser haproxy -1 -1 -1 haproxy + + if use net_ns; then + CONFIG_CHECK="~NET_NS" + linux-info_pkg_setup + fi +} + +src_compile() { + local -a args=( + TARGET=linux2628 + USE_GETADDRINFO=1 + USE_TFO=1 + ) + + args+=( $(haproxy_use crypt LIBCRYPT) ) + args+=( $(haproxy_use net_ns NS) ) + args+=( $(haproxy_use pcre PCRE) ) + args+=( $(haproxy_use pcre-jit PCRE_JIT) ) + args+=( $(haproxy_use ssl OPENSSL) ) + args+=( $(haproxy_use slz SLZ) ) + args+=( $(haproxy_use zlib ZLIB) ) + args+=( $(haproxy_use lua LUA) ) + args+=( $(haproxy_use 51degrees 51DEGREES) ) + args+=( $(haproxy_use device-atlas DEVICEATLAS) ) + args+=( $(haproxy_use wurfl WURFL) ) + + # For now, until the strict-aliasing breakage will be fixed + append-cflags -fno-strict-aliasing + + emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + emake -C contrib/systemd SBINDIR=/usr/sbin + + if use tools ; then + for contrib in ${CONTRIBS[@]} ; do + emake -C contrib/${contrib} \ + CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + done + fi +} + +src_install() { + dosbin haproxy + dosym /usr/sbin/haproxy /usr/bin/haproxy + + newconfd "${FILESDIR}/${PN}.confd" $PN + newinitd "${FILESDIR}/${PN}.initd-r6" $PN + + doman doc/haproxy.1 + + dosbin haproxy-systemd-wrapper + dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper + systemd_dounit contrib/systemd/haproxy.service + + einstalldocs + + # The errorfiles are used by upstream defaults. + insinto /etc/haproxy/errors/ + doins examples/errorfiles/* + + if use doc; then + dodoc ROADMAP doc/*.txt + #if use lua; then + # TODO: doc/lua-api/ + #fi + fi + + if use tools ; then + has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog + has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange + has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range + has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example + has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example + has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop + fi + + if use examples ; then + docinto examples + dodoc examples/*.cfg + dodoc examples/seamless_reload.txt + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/syntax + doins examples/haproxy.vim + fi +} + +pkg_postinst() { + if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then + ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." + ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." + ewarn "Make use of them with the \"user\" and \"group\" directives." + + if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then + einfo "Please consult the installed documentation for learning the configuration file's syntax." + einfo "The documentation and sample configuration files are installed here:" + einfo " ${EROOT}usr/share/doc/${PF}" + fi + fi +} diff --git a/net-proxy/haproxy/haproxy-1.7.7.ebuild b/net-proxy/haproxy/haproxy-1.7.7.ebuild deleted file mode 100644 index 43c58bdf5bc1..000000000000 --- a/net-proxy/haproxy/haproxy-1.7.7.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -[[ ${PV} == *9999 ]] && SCM="git-r3" -inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM - -MY_P="${PN}-${PV/_beta/-dev}" - -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" -HOMEPAGE="http://haproxy.1wt.eu" -if [[ ${PV} != *9999 ]]; then - SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc ~x86" -else - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" - EGIT_BRANCH=master -fi - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" -REQUIRED_USE="pcre-jit? ( pcre ) - device-atlas? ( pcre ) - ?? ( slz zlib )" - -DEPEND=" - pcre? ( - dev-libs/libpcre - pcre-jit? ( dev-libs/libpcre[jit] ) - ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[zlib?] ) - libressl? ( dev-libs/libressl:0= ) - ) - slz? ( dev-libs/libslz:= ) - zlib? ( sys-libs/zlib ) - lua? ( dev-lang/lua:5.3 ) - device-atlas? ( dev-libs/device-atlas-api-c )" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${MY_P}" - -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) -version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) -CONTRIBS=( halog iprange ) -# ip6range is present in 1.6, but broken. -version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) - -haproxy_use() { - (( $# != 2 )) && die "${FUNCNAME} " - - usex "${1}" "USE_${2}=1" "USE_${2}=" -} - -pkg_setup() { - enewgroup haproxy - enewuser haproxy -1 -1 -1 haproxy - - if use net_ns; then - CONFIG_CHECK="~NET_NS" - linux-info_pkg_setup - fi -} - -src_compile() { - local -a args=( - TARGET=linux2628 - USE_GETADDRINFO=1 - USE_TFO=1 - ) - - args+=( $(haproxy_use crypt LIBCRYPT) ) - args+=( $(haproxy_use net_ns NS) ) - args+=( $(haproxy_use pcre PCRE) ) - args+=( $(haproxy_use pcre-jit PCRE_JIT) ) - args+=( $(haproxy_use ssl OPENSSL) ) - args+=( $(haproxy_use slz SLZ) ) - args+=( $(haproxy_use zlib ZLIB) ) - args+=( $(haproxy_use lua LUA) ) - args+=( $(haproxy_use 51degrees 51DEGREES) ) - args+=( $(haproxy_use device-atlas DEVICEATLAS) ) - args+=( $(haproxy_use wurfl WURFL) ) - - # For now, until the strict-aliasing breakage will be fixed - append-cflags -fno-strict-aliasing - - emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - emake -C contrib/systemd SBINDIR=/usr/sbin - - if use tools ; then - for contrib in ${CONTRIBS[@]} ; do - emake -C contrib/${contrib} \ - CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - done - fi -} - -src_install() { - dosbin haproxy - dosym /usr/sbin/haproxy /usr/bin/haproxy - - newconfd "${FILESDIR}/${PN}.confd" $PN - newinitd "${FILESDIR}/${PN}.initd-r5" $PN - - doman doc/haproxy.1 - - dosbin haproxy-systemd-wrapper - dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper - systemd_dounit contrib/systemd/haproxy.service - - einstalldocs - - # The errorfiles are used by upstream defaults. - insinto /etc/haproxy/errors/ - doins examples/errorfiles/* - - if use doc; then - dodoc ROADMAP doc/*.txt - #if use lua; then - # TODO: doc/lua-api/ - #fi - fi - - if use tools ; then - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop - fi - - if use examples ; then - docinto examples - dodoc examples/*.cfg - dodoc examples/seamless_reload.txt - fi - - if use vim-syntax ; then - insinto /usr/share/vim/vimfiles/syntax - doins examples/haproxy.vim - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." - ewarn "Make use of them with the \"user\" and \"group\" directives." - - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then - einfo "Please consult the installed documentation for learning the configuration file's syntax." - einfo "The documentation and sample configuration files are installed here:" - einfo " ${EROOT}usr/share/doc/${PF}" - fi - fi -} diff --git a/net-proxy/haproxy/haproxy-1.7.8.ebuild b/net-proxy/haproxy/haproxy-1.7.8.ebuild deleted file mode 100644 index 43c58bdf5bc1..000000000000 --- a/net-proxy/haproxy/haproxy-1.7.8.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -[[ ${PV} == *9999 ]] && SCM="git-r3" -inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM - -MY_P="${PN}-${PV/_beta/-dev}" - -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" -HOMEPAGE="http://haproxy.1wt.eu" -if [[ ${PV} != *9999 ]]; then - SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc ~x86" -else - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" - EGIT_BRANCH=master -fi - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" -REQUIRED_USE="pcre-jit? ( pcre ) - device-atlas? ( pcre ) - ?? ( slz zlib )" - -DEPEND=" - pcre? ( - dev-libs/libpcre - pcre-jit? ( dev-libs/libpcre[jit] ) - ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[zlib?] ) - libressl? ( dev-libs/libressl:0= ) - ) - slz? ( dev-libs/libslz:= ) - zlib? ( sys-libs/zlib ) - lua? ( dev-lang/lua:5.3 ) - device-atlas? ( dev-libs/device-atlas-api-c )" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${MY_P}" - -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) -version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) -CONTRIBS=( halog iprange ) -# ip6range is present in 1.6, but broken. -version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) - -haproxy_use() { - (( $# != 2 )) && die "${FUNCNAME} " - - usex "${1}" "USE_${2}=1" "USE_${2}=" -} - -pkg_setup() { - enewgroup haproxy - enewuser haproxy -1 -1 -1 haproxy - - if use net_ns; then - CONFIG_CHECK="~NET_NS" - linux-info_pkg_setup - fi -} - -src_compile() { - local -a args=( - TARGET=linux2628 - USE_GETADDRINFO=1 - USE_TFO=1 - ) - - args+=( $(haproxy_use crypt LIBCRYPT) ) - args+=( $(haproxy_use net_ns NS) ) - args+=( $(haproxy_use pcre PCRE) ) - args+=( $(haproxy_use pcre-jit PCRE_JIT) ) - args+=( $(haproxy_use ssl OPENSSL) ) - args+=( $(haproxy_use slz SLZ) ) - args+=( $(haproxy_use zlib ZLIB) ) - args+=( $(haproxy_use lua LUA) ) - args+=( $(haproxy_use 51degrees 51DEGREES) ) - args+=( $(haproxy_use device-atlas DEVICEATLAS) ) - args+=( $(haproxy_use wurfl WURFL) ) - - # For now, until the strict-aliasing breakage will be fixed - append-cflags -fno-strict-aliasing - - emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - emake -C contrib/systemd SBINDIR=/usr/sbin - - if use tools ; then - for contrib in ${CONTRIBS[@]} ; do - emake -C contrib/${contrib} \ - CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - done - fi -} - -src_install() { - dosbin haproxy - dosym /usr/sbin/haproxy /usr/bin/haproxy - - newconfd "${FILESDIR}/${PN}.confd" $PN - newinitd "${FILESDIR}/${PN}.initd-r5" $PN - - doman doc/haproxy.1 - - dosbin haproxy-systemd-wrapper - dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper - systemd_dounit contrib/systemd/haproxy.service - - einstalldocs - - # The errorfiles are used by upstream defaults. - insinto /etc/haproxy/errors/ - doins examples/errorfiles/* - - if use doc; then - dodoc ROADMAP doc/*.txt - #if use lua; then - # TODO: doc/lua-api/ - #fi - fi - - if use tools ; then - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop - fi - - if use examples ; then - docinto examples - dodoc examples/*.cfg - dodoc examples/seamless_reload.txt - fi - - if use vim-syntax ; then - insinto /usr/share/vim/vimfiles/syntax - doins examples/haproxy.vim - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." - ewarn "Make use of them with the \"user\" and \"group\" directives." - - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then - einfo "Please consult the installed documentation for learning the configuration file's syntax." - einfo "The documentation and sample configuration files are installed here:" - einfo " ${EROOT}usr/share/doc/${PF}" - fi - fi -} diff --git a/net-proxy/haproxy/haproxy-1.7.9-r1.ebuild b/net-proxy/haproxy/haproxy-1.7.9-r1.ebuild new file mode 100644 index 000000000000..6c77e7061acc --- /dev/null +++ b/net-proxy/haproxy/haproxy-1.7.9-r1.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +[[ ${PV} == *9999 ]] && SCM="git-r3" +inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM + +MY_P="${PN}-${PV/_beta/-dev}" + +DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" +HOMEPAGE="http://haproxy.1wt.eu" +if [[ ${PV} != *9999 ]]; then + SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~ppc ~x86" +else + EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" + EGIT_BRANCH=master +fi + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" +REQUIRED_USE="pcre-jit? ( pcre ) + device-atlas? ( pcre ) + ?? ( slz zlib )" + +DEPEND=" + pcre? ( + dev-libs/libpcre + pcre-jit? ( dev-libs/libpcre[jit] ) + ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[zlib?] ) + libressl? ( dev-libs/libressl:0= ) + ) + slz? ( dev-libs/libslz:= ) + zlib? ( sys-libs/zlib ) + lua? ( dev-lang/lua:5.3 ) + device-atlas? ( dev-libs/device-atlas-api-c )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) +version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) +CONTRIBS=( halog iprange ) +# ip6range is present in 1.6, but broken. +version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) + +haproxy_use() { + (( $# != 2 )) && die "${FUNCNAME} " + + usex "${1}" "USE_${2}=1" "USE_${2}=" +} + +pkg_setup() { + enewgroup haproxy + enewuser haproxy -1 -1 -1 haproxy + + if use net_ns; then + CONFIG_CHECK="~NET_NS" + linux-info_pkg_setup + fi +} + +src_compile() { + local -a args=( + TARGET=linux2628 + USE_GETADDRINFO=1 + USE_TFO=1 + ) + + args+=( $(haproxy_use crypt LIBCRYPT) ) + args+=( $(haproxy_use net_ns NS) ) + args+=( $(haproxy_use pcre PCRE) ) + args+=( $(haproxy_use pcre-jit PCRE_JIT) ) + args+=( $(haproxy_use ssl OPENSSL) ) + args+=( $(haproxy_use slz SLZ) ) + args+=( $(haproxy_use zlib ZLIB) ) + args+=( $(haproxy_use lua LUA) ) + args+=( $(haproxy_use 51degrees 51DEGREES) ) + args+=( $(haproxy_use device-atlas DEVICEATLAS) ) + args+=( $(haproxy_use wurfl WURFL) ) + + # For now, until the strict-aliasing breakage will be fixed + append-cflags -fno-strict-aliasing + + emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + emake -C contrib/systemd SBINDIR=/usr/sbin + + if use tools ; then + for contrib in ${CONTRIBS[@]} ; do + emake -C contrib/${contrib} \ + CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + done + fi +} + +src_install() { + dosbin haproxy + dosym /usr/sbin/haproxy /usr/bin/haproxy + + newconfd "${FILESDIR}/${PN}.confd" $PN + newinitd "${FILESDIR}/${PN}.initd-r6" $PN + + doman doc/haproxy.1 + + dosbin haproxy-systemd-wrapper + dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper + systemd_dounit contrib/systemd/haproxy.service + + einstalldocs + + # The errorfiles are used by upstream defaults. + insinto /etc/haproxy/errors/ + doins examples/errorfiles/* + + if use doc; then + dodoc ROADMAP doc/*.txt + #if use lua; then + # TODO: doc/lua-api/ + #fi + fi + + if use tools ; then + has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog + has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange + has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range + has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example + has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example + has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop + fi + + if use examples ; then + docinto examples + dodoc examples/*.cfg + dodoc examples/seamless_reload.txt + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/syntax + doins examples/haproxy.vim + fi +} + +pkg_postinst() { + if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then + ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." + ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." + ewarn "Make use of them with the \"user\" and \"group\" directives." + + if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then + einfo "Please consult the installed documentation for learning the configuration file's syntax." + einfo "The documentation and sample configuration files are installed here:" + einfo " ${EROOT}usr/share/doc/${PF}" + fi + fi +} diff --git a/net-proxy/haproxy/haproxy-1.7.9.ebuild b/net-proxy/haproxy/haproxy-1.7.9.ebuild deleted file mode 100644 index 43c58bdf5bc1..000000000000 --- a/net-proxy/haproxy/haproxy-1.7.9.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -[[ ${PV} == *9999 ]] && SCM="git-r3" -inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM - -MY_P="${PN}-${PV/_beta/-dev}" - -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" -HOMEPAGE="http://haproxy.1wt.eu" -if [[ ${PV} != *9999 ]]; then - SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc ~x86" -else - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" - EGIT_BRANCH=master -fi - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" -REQUIRED_USE="pcre-jit? ( pcre ) - device-atlas? ( pcre ) - ?? ( slz zlib )" - -DEPEND=" - pcre? ( - dev-libs/libpcre - pcre-jit? ( dev-libs/libpcre[jit] ) - ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[zlib?] ) - libressl? ( dev-libs/libressl:0= ) - ) - slz? ( dev-libs/libslz:= ) - zlib? ( sys-libs/zlib ) - lua? ( dev-lang/lua:5.3 ) - device-atlas? ( dev-libs/device-atlas-api-c )" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${MY_P}" - -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) -version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) -CONTRIBS=( halog iprange ) -# ip6range is present in 1.6, but broken. -version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) - -haproxy_use() { - (( $# != 2 )) && die "${FUNCNAME} " - - usex "${1}" "USE_${2}=1" "USE_${2}=" -} - -pkg_setup() { - enewgroup haproxy - enewuser haproxy -1 -1 -1 haproxy - - if use net_ns; then - CONFIG_CHECK="~NET_NS" - linux-info_pkg_setup - fi -} - -src_compile() { - local -a args=( - TARGET=linux2628 - USE_GETADDRINFO=1 - USE_TFO=1 - ) - - args+=( $(haproxy_use crypt LIBCRYPT) ) - args+=( $(haproxy_use net_ns NS) ) - args+=( $(haproxy_use pcre PCRE) ) - args+=( $(haproxy_use pcre-jit PCRE_JIT) ) - args+=( $(haproxy_use ssl OPENSSL) ) - args+=( $(haproxy_use slz SLZ) ) - args+=( $(haproxy_use zlib ZLIB) ) - args+=( $(haproxy_use lua LUA) ) - args+=( $(haproxy_use 51degrees 51DEGREES) ) - args+=( $(haproxy_use device-atlas DEVICEATLAS) ) - args+=( $(haproxy_use wurfl WURFL) ) - - # For now, until the strict-aliasing breakage will be fixed - append-cflags -fno-strict-aliasing - - emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - emake -C contrib/systemd SBINDIR=/usr/sbin - - if use tools ; then - for contrib in ${CONTRIBS[@]} ; do - emake -C contrib/${contrib} \ - CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - done - fi -} - -src_install() { - dosbin haproxy - dosym /usr/sbin/haproxy /usr/bin/haproxy - - newconfd "${FILESDIR}/${PN}.confd" $PN - newinitd "${FILESDIR}/${PN}.initd-r5" $PN - - doman doc/haproxy.1 - - dosbin haproxy-systemd-wrapper - dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper - systemd_dounit contrib/systemd/haproxy.service - - einstalldocs - - # The errorfiles are used by upstream defaults. - insinto /etc/haproxy/errors/ - doins examples/errorfiles/* - - if use doc; then - dodoc ROADMAP doc/*.txt - #if use lua; then - # TODO: doc/lua-api/ - #fi - fi - - if use tools ; then - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop - fi - - if use examples ; then - docinto examples - dodoc examples/*.cfg - dodoc examples/seamless_reload.txt - fi - - if use vim-syntax ; then - insinto /usr/share/vim/vimfiles/syntax - doins examples/haproxy.vim - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." - ewarn "Make use of them with the \"user\" and \"group\" directives." - - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then - einfo "Please consult the installed documentation for learning the configuration file's syntax." - einfo "The documentation and sample configuration files are installed here:" - einfo " ${EROOT}usr/share/doc/${PF}" - fi - fi -} diff --git a/net-proxy/haproxy/haproxy-1.7.9999-r1.ebuild b/net-proxy/haproxy/haproxy-1.7.9999-r1.ebuild deleted file mode 100644 index 43c58bdf5bc1..000000000000 --- a/net-proxy/haproxy/haproxy-1.7.9999-r1.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -[[ ${PV} == *9999 ]] && SCM="git-r3" -inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM - -MY_P="${PN}-${PV/_beta/-dev}" - -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" -HOMEPAGE="http://haproxy.1wt.eu" -if [[ ${PV} != *9999 ]]; then - SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc ~x86" -else - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" - EGIT_BRANCH=master -fi - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" -REQUIRED_USE="pcre-jit? ( pcre ) - device-atlas? ( pcre ) - ?? ( slz zlib )" - -DEPEND=" - pcre? ( - dev-libs/libpcre - pcre-jit? ( dev-libs/libpcre[jit] ) - ) - ssl? ( - !libressl? ( dev-libs/openssl:0=[zlib?] ) - libressl? ( dev-libs/libressl:0= ) - ) - slz? ( dev-libs/libslz:= ) - zlib? ( sys-libs/zlib ) - lua? ( dev-lang/lua:5.3 ) - device-atlas? ( dev-libs/device-atlas-api-c )" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/${MY_P}" - -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) -version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) -CONTRIBS=( halog iprange ) -# ip6range is present in 1.6, but broken. -version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) - -haproxy_use() { - (( $# != 2 )) && die "${FUNCNAME} " - - usex "${1}" "USE_${2}=1" "USE_${2}=" -} - -pkg_setup() { - enewgroup haproxy - enewuser haproxy -1 -1 -1 haproxy - - if use net_ns; then - CONFIG_CHECK="~NET_NS" - linux-info_pkg_setup - fi -} - -src_compile() { - local -a args=( - TARGET=linux2628 - USE_GETADDRINFO=1 - USE_TFO=1 - ) - - args+=( $(haproxy_use crypt LIBCRYPT) ) - args+=( $(haproxy_use net_ns NS) ) - args+=( $(haproxy_use pcre PCRE) ) - args+=( $(haproxy_use pcre-jit PCRE_JIT) ) - args+=( $(haproxy_use ssl OPENSSL) ) - args+=( $(haproxy_use slz SLZ) ) - args+=( $(haproxy_use zlib ZLIB) ) - args+=( $(haproxy_use lua LUA) ) - args+=( $(haproxy_use 51degrees 51DEGREES) ) - args+=( $(haproxy_use device-atlas DEVICEATLAS) ) - args+=( $(haproxy_use wurfl WURFL) ) - - # For now, until the strict-aliasing breakage will be fixed - append-cflags -fno-strict-aliasing - - emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - emake -C contrib/systemd SBINDIR=/usr/sbin - - if use tools ; then - for contrib in ${CONTRIBS[@]} ; do - emake -C contrib/${contrib} \ - CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} - done - fi -} - -src_install() { - dosbin haproxy - dosym /usr/sbin/haproxy /usr/bin/haproxy - - newconfd "${FILESDIR}/${PN}.confd" $PN - newinitd "${FILESDIR}/${PN}.initd-r5" $PN - - doman doc/haproxy.1 - - dosbin haproxy-systemd-wrapper - dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper - systemd_dounit contrib/systemd/haproxy.service - - einstalldocs - - # The errorfiles are used by upstream defaults. - insinto /etc/haproxy/errors/ - doins examples/errorfiles/* - - if use doc; then - dodoc ROADMAP doc/*.txt - #if use lua; then - # TODO: doc/lua-api/ - #fi - fi - - if use tools ; then - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop - fi - - if use examples ; then - docinto examples - dodoc examples/*.cfg - dodoc examples/seamless_reload.txt - fi - - if use vim-syntax ; then - insinto /usr/share/vim/vimfiles/syntax - doins examples/haproxy.vim - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." - ewarn "Make use of them with the \"user\" and \"group\" directives." - - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then - einfo "Please consult the installed documentation for learning the configuration file's syntax." - einfo "The documentation and sample configuration files are installed here:" - einfo " ${EROOT}usr/share/doc/${PF}" - fi - fi -} diff --git a/net-proxy/haproxy/haproxy-1.7.9999-r2.ebuild b/net-proxy/haproxy/haproxy-1.7.9999-r2.ebuild new file mode 100644 index 000000000000..6c77e7061acc --- /dev/null +++ b/net-proxy/haproxy/haproxy-1.7.9999-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +[[ ${PV} == *9999 ]] && SCM="git-r3" +inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM + +MY_P="${PN}-${PV/_beta/-dev}" + +DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments" +HOMEPAGE="http://haproxy.1wt.eu" +if [[ ${PV} != *9999 ]]; then + SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~ppc ~x86" +else + EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/" + EGIT_BRANCH=master +fi + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl" +REQUIRED_USE="pcre-jit? ( pcre ) + device-atlas? ( pcre ) + ?? ( slz zlib )" + +DEPEND=" + pcre? ( + dev-libs/libpcre + pcre-jit? ( dev-libs/libpcre[jit] ) + ) + ssl? ( + !libressl? ( dev-libs/openssl:0=[zlib?] ) + libressl? ( dev-libs/libressl:0= ) + ) + slz? ( dev-libs/libslz:= ) + zlib? ( sys-libs/zlib ) + lua? ( dev-lang/lua:5.3 ) + device-atlas? ( dev-libs/device-atlas-api-c )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) +version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch ) +CONTRIBS=( halog iprange ) +# ip6range is present in 1.6, but broken. +version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop ) + +haproxy_use() { + (( $# != 2 )) && die "${FUNCNAME} " + + usex "${1}" "USE_${2}=1" "USE_${2}=" +} + +pkg_setup() { + enewgroup haproxy + enewuser haproxy -1 -1 -1 haproxy + + if use net_ns; then + CONFIG_CHECK="~NET_NS" + linux-info_pkg_setup + fi +} + +src_compile() { + local -a args=( + TARGET=linux2628 + USE_GETADDRINFO=1 + USE_TFO=1 + ) + + args+=( $(haproxy_use crypt LIBCRYPT) ) + args+=( $(haproxy_use net_ns NS) ) + args+=( $(haproxy_use pcre PCRE) ) + args+=( $(haproxy_use pcre-jit PCRE_JIT) ) + args+=( $(haproxy_use ssl OPENSSL) ) + args+=( $(haproxy_use slz SLZ) ) + args+=( $(haproxy_use zlib ZLIB) ) + args+=( $(haproxy_use lua LUA) ) + args+=( $(haproxy_use 51degrees 51DEGREES) ) + args+=( $(haproxy_use device-atlas DEVICEATLAS) ) + args+=( $(haproxy_use wurfl WURFL) ) + + # For now, until the strict-aliasing breakage will be fixed + append-cflags -fno-strict-aliasing + + emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + emake -C contrib/systemd SBINDIR=/usr/sbin + + if use tools ; then + for contrib in ${CONTRIBS[@]} ; do + emake -C contrib/${contrib} \ + CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]} + done + fi +} + +src_install() { + dosbin haproxy + dosym /usr/sbin/haproxy /usr/bin/haproxy + + newconfd "${FILESDIR}/${PN}.confd" $PN + newinitd "${FILESDIR}/${PN}.initd-r6" $PN + + doman doc/haproxy.1 + + dosbin haproxy-systemd-wrapper + dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper + systemd_dounit contrib/systemd/haproxy.service + + einstalldocs + + # The errorfiles are used by upstream defaults. + insinto /etc/haproxy/errors/ + doins examples/errorfiles/* + + if use doc; then + dodoc ROADMAP doc/*.txt + #if use lua; then + # TODO: doc/lua-api/ + #fi + fi + + if use tools ; then + has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog + has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange + has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range + has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example + has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example + has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop + fi + + if use examples ; then + docinto examples + dodoc examples/*.cfg + dodoc examples/seamless_reload.txt + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/syntax + doins examples/haproxy.vim + fi +} + +pkg_postinst() { + if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then + ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service." + ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created." + ewarn "Make use of them with the \"user\" and \"group\" directives." + + if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then + einfo "Please consult the installed documentation for learning the configuration file's syntax." + einfo "The documentation and sample configuration files are installed here:" + einfo " ${EROOT}usr/share/doc/${PF}" + fi + fi +} -- cgit v1.2.3-18-g5258