summaryrefslogtreecommitdiff
path: root/net-misc/pingu
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/pingu')
-rw-r--r--net-misc/pingu/Manifest9
-rw-r--r--net-misc/pingu/files/pingu-1.5-makefile.patch21
-rw-r--r--net-misc/pingu/files/pingu.confd5
-rw-r--r--net-misc/pingu/files/pingu.initd13
-rw-r--r--net-misc/pingu/files/pingu.service11
-rw-r--r--net-misc/pingu/files/pingu.tmpfile1
-rw-r--r--net-misc/pingu/metadata.xml19
-rw-r--r--net-misc/pingu/pingu-1.5.ebuild57
-rw-r--r--net-misc/pingu/pingu-9999.ebuild50
9 files changed, 186 insertions, 0 deletions
diff --git a/net-misc/pingu/Manifest b/net-misc/pingu/Manifest
new file mode 100644
index 000000000000..d6893fa3d488
--- /dev/null
+++ b/net-misc/pingu/Manifest
@@ -0,0 +1,9 @@
+AUX pingu-1.5-makefile.patch 601 BLAKE2B 4a651802ecd4549671ca99bf16836f117a2292a254f437fd00bcd7aee65d0fb008a1934aecc39c108c754c7eefb6ac322b8d32df9b0d015a0e7319b032b66bf7 SHA512 ed567b42e7d7b3d549092d97e8c0b9bb4ee78c8ef8b8624e0f8f27701faf8a6cecdbba9bc622aee261ff7868fcc0358fce12a54060d2a9de7fbe52da759dfc99
+AUX pingu.confd 107 BLAKE2B e0718a9bd9d364e90bb32dfc6140786a9e798946c13527d8b0f7022ee481fb9d83fb297e9b4805d60c222f1e05b8319cabbdb6ab5b6475363986d2f7b2642e36 SHA512 86a67a154be6973bda53e1de00e3342d42c2af5ccb8d9c01dffb429a27d11f648fa9637cd3573d7245b98f8e4648c5054f5698f4913c20f40dc1e7f2e1338938
+AUX pingu.initd 292 BLAKE2B 5237192fe86acb4c10b0f4b34ff3609b8efbc7da90a028e1d6e9f8b77c080899e1a9d0faaed0a94308b87e08306882b63d23abb53c441889a492c3f36d156b2e SHA512 53062de7bd025b2d02649222a6811fad8e01758cf29491180370e11d4c3dcc5e78f50cdf0980196c682d34ef305e726a446db68afaadb1d6dc20751c40fffe2e
+AUX pingu.service 171 BLAKE2B 62a47288ec37613de21022ccbfae46a549dfda21699788c32da170ac674e2321a17968484b982e4e3fa386bca5fcc2ee1f3169ebc50f466bbd2cbcf183e79d21 SHA512 114b3a0c50ef9d737509fe3ea9386bdc4a138d7851d3f81ed13c886dd1be5e9593d513e3bfa0b4ff30b478780caf6c709038ab98a63d143a559ffde480fe62ef
+AUX pingu.tmpfile 28 BLAKE2B 210f520d7b30a5c33747f481674dfa588c690589ca5cc03d5a450505f47b83231ecedf9f40afb0a67634206e3eda305a03335d93b1eb19b879c9fe5d06ac222d SHA512 e7e396baf936f5a04c5cdbe2e56058aa4b1a3a85bcf60137ce673da4662b8d02227e773da243f9ae2606fb7112eec2cd226de57524a3aec55e84331d1891e6cf
+DIST pingu-1.5.tar.gz 31565 BLAKE2B 13d1fa075f32d5a32cece55c5292cda08f72e711a8567cc8b25ce0e2bb0325395f1346e9feb96eb266c93d10d04609d87562192f7b7d0c22730fd4a8561c6c1a SHA512 71e5fbe93f831f24d168957cdeaff2817a22f407575316d6515755bec760d10724821070549eaab562924237b96976a1a776ca903d5fe0cd9f9b69a38eadd8c9
+EBUILD pingu-1.5.ebuild 1298 BLAKE2B 00ddb5cffca604bfdcb620ebd450e633e7e2aff732eed954f3d1ed2b8adb47d0a85040a0fb8914d29b2e50a48f304530158882265ee93f15f2d06d779057105d SHA512 96387332ec8643e9b75d1931e1430ce3d0cb0efad3adfa0024ebfc09774f957f952533df2bb47a3e9d633c0e824be920057cc7de7da818b7f7d6af4deb114760
+EBUILD pingu-9999.ebuild 1139 BLAKE2B 4513781ea236033d279d7c5db84d896d37d88275d533b56ce18bab50db81dede0d173d930b86bdaafa86011c379ec0265bcfe9e9c516244bee224245ef65e8c9 SHA512 be1dd4c24a21f51578e92a28ae023e7c51ab26c713e11ab4a12e9db0d118352956c2cbb37806d22e3d7420d2c8315db9a3e38ea78ed03426eae425db8744e7da
+MISC metadata.xml 590 BLAKE2B 94c0dffa914dc9d92714f494729ae239a9f086ac62d8aebac8b2e47f4ec89e17c8f27cc8c268ec1e613cad0c2a79d3f15b64cb8753ed3d675cdffcfe847084df SHA512 9ad09d7d667e80a83d41543eb18735728f39fe7e20d782d649359954e7bcb95c2f882436e0d6972ac9650c129358d230b98a8e57125d4ed82d089e18a4bd6c38
diff --git a/net-misc/pingu/files/pingu-1.5-makefile.patch b/net-misc/pingu/files/pingu-1.5-makefile.patch
new file mode 100644
index 000000000000..a4c04aac31f2
--- /dev/null
+++ b/net-misc/pingu/files/pingu-1.5-makefile.patch
@@ -0,0 +1,21 @@
+--- a/src/Makefile 2017-11-25 18:39:32.667570139 +0200
++++ b/src/Makefile 2017-11-25 18:41:29.285573031 +0200
+@@ -17,7 +17,7 @@
+
+ rundir ?= $(localstatedir)/run
+
+-pingustatedir = $(rundir)/pingu
++pingustatedir = /run/pingu
+
+ DESTDIR ?=
+
+@@ -93,8 +93,7 @@
+ $(MAKE) -C $@
+
+ install: $(TARGETS) $(INSTALL_LUA_TARGET)
+- $(INSTALLDIR) $(DESTDIR)/$(bindir) $(DESTDIR)/$(sbindir) \
+- $(DESTDIR)/$(pingustatedir)
++ $(INSTALLDIR) $(DESTDIR)/$(bindir) $(DESTDIR)/$(sbindir)
+ $(INSTALL) $(BIN_TARGETS) $(DESTDIR)/$(bindir)
+ $(INSTALL) $(SBIN_TARGETS) $(DESTDIR)/$(sbindir)
+ for dir in $(SUBDIRS); do \
diff --git a/net-misc/pingu/files/pingu.confd b/net-misc/pingu/files/pingu.confd
new file mode 100644
index 000000000000..ae4ae8603fd0
--- /dev/null
+++ b/net-misc/pingu/files/pingu.confd
@@ -0,0 +1,5 @@
+# Config file for /etc/init.d/pingu
+
+# Various options.
+# run `pingu -h` for valid cmdline options
+OPTS=""
diff --git a/net-misc/pingu/files/pingu.initd b/net-misc/pingu/files/pingu.initd
new file mode 100644
index 000000000000..c4de6a754c31
--- /dev/null
+++ b/net-misc/pingu/files/pingu.initd
@@ -0,0 +1,13 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command=/usr/sbin/pingu
+command_args="-d ${OPTS}"
+description="Policy routing daemon"
+name="Policy routing daemon"
+pidfile=/run/pingu/pingu.pid
+
+depend() {
+ need net
+}
diff --git a/net-misc/pingu/files/pingu.service b/net-misc/pingu/files/pingu.service
new file mode 100644
index 000000000000..6677e9b8efd8
--- /dev/null
+++ b/net-misc/pingu/files/pingu.service
@@ -0,0 +1,11 @@
+[Unit]
+Description="Policy routing daemon"
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/sbin/pingu -d
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/pingu/files/pingu.tmpfile b/net-misc/pingu/files/pingu.tmpfile
new file mode 100644
index 000000000000..c48124d1e470
--- /dev/null
+++ b/net-misc/pingu/files/pingu.tmpfile
@@ -0,0 +1 @@
+d /run/pingu 0755 root root
diff --git a/net-misc/pingu/metadata.xml b/net-misc/pingu/metadata.xml
new file mode 100644
index 000000000000..4a306e8d3616
--- /dev/null
+++ b/net-misc/pingu/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>spiderx@spiderx.dp.ua</email>
+ <name>Vladimir Pavljuchenkov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription lang="en">
+ Pingu is a daemon that takes care of policy routing and
+ fail-over in multi ISP setups.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">ncopa/pingu</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-misc/pingu/pingu-1.5.ebuild b/net-misc/pingu/pingu-1.5.ebuild
new file mode 100644
index 000000000000..1d074daa34ea
--- /dev/null
+++ b/net-misc/pingu/pingu-1.5.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="Policy routing daemon with failover and load-balancing"
+HOMEPAGE="https://github.com/ncopa/pingu"
+SRC_URI="https://github.com/ncopa/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc"
+
+RDEPEND="dev-libs/libev:="
+DEPEND="${RDEPEND}
+ sys-kernel/linux-headers
+ virtual/pkgconfig
+ doc? ( app-text/asciidoc )"
+
+# Fix QA with install into path /run/pingu must be created at runtime
+PATCHES=( "${FILESDIR}"/"${P}"-makefile.patch )
+
+src_prepare() {
+ default
+
+ # Fix compilation issue
+ sed -i '/icp->un.frag.__unused = 0;/d' src/icmp.c \
+ || die "sed failed for src/icmp.c"
+}
+
+src_configure() {
+ ./configure "$(use_enable debug)" "$(use_enable doc)" \
+ --prefix=/usr || die "configure failed"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+
+ newtmpfiles "${FILESDIR}"/pingu.tmpfile pingu.conf
+ newinitd "${FILESDIR}"/pingu.initd pingu
+ newconfd "${FILESDIR}"/pingu.confd pingu
+ systemd_dounit "${FILESDIR}"/pingu.service
+ keepdir /var/lib/pingu
+ insinto /etc/pingu
+ newins pingu.conf pingu.conf.example
+}
+
+pkg_postinst() {
+ tmpfiles_process pingu.conf
+}
diff --git a/net-misc/pingu/pingu-9999.ebuild b/net-misc/pingu/pingu-9999.ebuild
new file mode 100644
index 000000000000..30ea3b2eab70
--- /dev/null
+++ b/net-misc/pingu/pingu-9999.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit git-r3 systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="Policy routing daemon with failover and load-balancing"
+HOMEPAGE="https://github.com/ncopa/pingu"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/ncopa/${PN}.git"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug doc"
+
+RDEPEND="dev-libs/libev:="
+DEPEND="${RDEPEND}
+ sys-kernel/linux-headers
+ virtual/pkgconfig
+ doc? ( app-text/asciidoc )"
+
+# Fix QA with install into path /run/pingu must be created at runtime
+PATCHES=( "${FILESDIR}"/"${PN}"-1.5-makefile.patch )
+
+src_configure() {
+ ./configure "$(use_enable debug)" "$(use_enable doc)" \
+ --prefix=/usr || die "configure failed"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+
+ newtmpfiles "${FILESDIR}"/pingu.tmpfile pingu.conf
+ newinitd "${FILESDIR}"/pingu.initd pingu
+ newconfd "${FILESDIR}"/pingu.confd pingu
+ systemd_dounit "${FILESDIR}"/pingu.service
+ keepdir /var/lib/pingu
+ insinto /etc/pingu
+ newins pingu.conf pingu.conf.example
+}
+
+pkg_postinst() {
+ tmpfiles_process pingu.conf
+}