1 |
commit: aa21372a486469fc40fab5a32e618cbbcb4bae56 |
2 |
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com> |
3 |
AuthorDate: Thu Apr 30 22:45:23 2020 +0000 |
4 |
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Apr 30 22:45:33 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa21372a |
7 |
|
8 |
net-firewall/nftlb: New package |
9 |
|
10 |
Copyright: Sony Interactive Entertainment Inc. |
11 |
Package-Manager: Portage-2.3.99, Repoman-2.3.22 |
12 |
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org> |
13 |
|
14 |
net-firewall/nftlb/Manifest | 1 + |
15 |
net-firewall/nftlb/files/nftlb-0.6-tests.patch | 47 ++++++++++++++++++++++ |
16 |
net-firewall/nftlb/metadata.xml | 8 ++++ |
17 |
net-firewall/nftlb/nftlb-0.6.ebuild | 55 ++++++++++++++++++++++++++ |
18 |
4 files changed, 111 insertions(+) |
19 |
|
20 |
diff --git a/net-firewall/nftlb/Manifest b/net-firewall/nftlb/Manifest |
21 |
new file mode 100644 |
22 |
index 00000000000..db2d378839c |
23 |
--- /dev/null |
24 |
+++ b/net-firewall/nftlb/Manifest |
25 |
@@ -0,0 +1 @@ |
26 |
+DIST nftlb-0.6.tar.gz 121216 BLAKE2B 98b69c35070eb733a218ac1b1aaa7816de1e4f149c8447fee298b4cf50c57610c816fb178d4115e1e7af5cea0f5b20df36eb5b79655e0d7c69ff30e363985104 SHA512 95b879cfc187fe94cc6876f4af3fe77795c1e0228850cfb38b95206685d9065076b6905d365da7ec5f92773cf8f72f6e441d9140d9b10b02eaf9b6c862c31006 |
27 |
|
28 |
diff --git a/net-firewall/nftlb/files/nftlb-0.6-tests.patch b/net-firewall/nftlb/files/nftlb-0.6-tests.patch |
29 |
new file mode 100644 |
30 |
index 00000000000..05baa7ee03a |
31 |
--- /dev/null |
32 |
+++ b/net-firewall/nftlb/files/nftlb-0.6-tests.patch |
33 |
@@ -0,0 +1,47 @@ |
34 |
+diff --git a/tests/exec_tests.sh b/tests/exec_tests.sh |
35 |
+index d96eaa3..b7f812d 100755 |
36 |
+--- a/tests/exec_tests.sh |
37 |
++++ b/tests/exec_tests.sh |
38 |
+@@ -33,6 +33,8 @@ fi |
39 |
+ |
40 |
+ echo "-- Executing configuration tests" |
41 |
+ |
42 |
++retval=0 |
43 |
++ |
44 |
+ for test in `ls -d ${TESTS}`; do |
45 |
+ if [[ ! ${test} =~ ^..._ ]]; then |
46 |
+ continue; |
47 |
+@@ -55,14 +57,16 @@ for test in `ls -d ${TESTS}`; do |
48 |
+ |
49 |
+ if [ $statusexec -ne 0 ]; then |
50 |
+ echo -e "\e[31mNFT EXEC ERROR\e[0m" |
51 |
++ retval=1 |
52 |
+ continue; |
53 |
+ fi |
54 |
+ |
55 |
+ #~ nftfile=`echo ${file} | awk -F'.' '{ print $1 }'` |
56 |
+- $NFTBIN list ruleset > ${reportfile} |
57 |
++ $NFTBIN list ruleset > ${reportfile} || retval=1 |
58 |
+ |
59 |
+ if [ ! -f ${outputfile} ]; then |
60 |
+ echo "Dump file doesn't exist" |
61 |
++ retval=1 |
62 |
+ continue; |
63 |
+ fi |
64 |
+ |
65 |
+@@ -74,6 +78,7 @@ for test in `ls -d ${TESTS}`; do |
66 |
+ rm -f ${reportfile} |
67 |
+ else |
68 |
+ echo -e "\e[31mNFT DUMP ERROR\e[0m" |
69 |
++ retval=1 |
70 |
+ fi |
71 |
+ done |
72 |
+ |
73 |
+@@ -83,4 +88,7 @@ fi |
74 |
+ |
75 |
+ if [ "`grep 'nft command error' /var/log/syslog`" != "" ]; then |
76 |
+ echo -e "\e[33m* command errors found, please check syslog\e[0m" |
77 |
++ retval=1 |
78 |
+ fi |
79 |
++ |
80 |
++exit ${retval} |
81 |
|
82 |
diff --git a/net-firewall/nftlb/metadata.xml b/net-firewall/nftlb/metadata.xml |
83 |
new file mode 100644 |
84 |
index 00000000000..56cae167d37 |
85 |
--- /dev/null |
86 |
+++ b/net-firewall/nftlb/metadata.xml |
87 |
@@ -0,0 +1,8 @@ |
88 |
+<?xml version="1.0" encoding="UTF-8"?> |
89 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
90 |
+<pkgmetadata> |
91 |
+ <maintainer type="person"> |
92 |
+ <email>chutzpah@g.o</email> |
93 |
+ <name>Patrick McLean</name> |
94 |
+ </maintainer> |
95 |
+</pkgmetadata> |
96 |
|
97 |
diff --git a/net-firewall/nftlb/nftlb-0.6.ebuild b/net-firewall/nftlb/nftlb-0.6.ebuild |
98 |
new file mode 100644 |
99 |
index 00000000000..2cb16c51601 |
100 |
--- /dev/null |
101 |
+++ b/net-firewall/nftlb/nftlb-0.6.ebuild |
102 |
@@ -0,0 +1,55 @@ |
103 |
+# Copyright 2020 Gentoo Authors |
104 |
+# Distributed under the terms of the GNU General Public License v2 |
105 |
+ |
106 |
+EAPI=7 |
107 |
+ |
108 |
+inherit linux-info autotools |
109 |
+ |
110 |
+DESCRIPTION="nftables load balancer" |
111 |
+HOMEPAGE="https://github.com/zevenet/nftlb" |
112 |
+SRC_URI="https://github.com/zevenet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
113 |
+ |
114 |
+LICENSE="AGPL-3" |
115 |
+SLOT="0" |
116 |
+KEYWORDS="~amd64 ~x86" |
117 |
+ |
118 |
+DEPEND=" |
119 |
+ net-firewall/nftables:=[modern-kernel] |
120 |
+ dev-libs/jansson:= |
121 |
+ dev-libs/libev:= |
122 |
+" |
123 |
+RDEPEND="${DEPEND}" |
124 |
+ |
125 |
+# tests need root access |
126 |
+RESTRICT="test" |
127 |
+ |
128 |
+PATCHES=( |
129 |
+ "${FILESDIR}/nftlb-0.6-tests.patch" |
130 |
+) |
131 |
+ |
132 |
+pkg_setup() { |
133 |
+ local CONFIG_CHECK="~NF_TABLES ~NFT_NUMGEN |
134 |
+ ~NFT_HASH ~NF_NAT ~IP_NF_NAT" |
135 |
+ |
136 |
+ linux-info_pkg_setup |
137 |
+ |
138 |
+ if kernel_is lt 4 19; then |
139 |
+ eerror "${PN} requires kernel version 4.19 or newer" |
140 |
+ fi |
141 |
+} |
142 |
+ |
143 |
+src_prepare() { |
144 |
+ default |
145 |
+ eautoreconf |
146 |
+} |
147 |
+ |
148 |
+src_test() { |
149 |
+ pushd tests >/dev/null || die |
150 |
+ |
151 |
+ sed -e "s:/var/log/syslog:\"${T}/tests.log\":" \ |
152 |
+ -i exec_tests.sh || die |
153 |
+ |
154 |
+ ./exec_tests.sh || die "tests failed" |
155 |
+ |
156 |
+ popd >/dev/null || die |
157 |
+} |