Gentoo Archives: gentoo-commits

From: Patrick McLean <chutzpah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-firewall/nftlb/files/, net-firewall/nftlb/
Date: Thu, 30 Apr 2020 22:45:48
Message-Id: 1588286733.aa21372a486469fc40fab5a32e618cbbcb4bae56.chutzpah@gentoo
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 +}