1 |
commit: 96b03e9e2115af0468c8487cd488e2eb54f33397 |
2 |
Author: David Seifert <soap <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Aug 1 19:28:54 2021 +0000 |
4 |
Commit: David Seifert <soap <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Aug 1 19:28:54 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96b03e9e |
7 |
|
8 |
net-analyzer/tracebox: Fix build with GCC 11 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/786687 |
11 |
Signed-off-by: David Seifert <soap <AT> gentoo.org> |
12 |
|
13 |
...4-deps.patch => tracebox-0.4.4-autotools.patch} | 57 ++++++++++++++++++++++ |
14 |
.../files/tracebox-0.4.4-include-crafter.patch | 44 +++++++++++++++++ |
15 |
net-analyzer/tracebox/tracebox-0.4.4-r100.ebuild | 50 +++++++------------ |
16 |
3 files changed, 119 insertions(+), 32 deletions(-) |
17 |
|
18 |
diff --git a/net-analyzer/tracebox/files/tracebox-0.4.4-deps.patch b/net-analyzer/tracebox/files/tracebox-0.4.4-autotools.patch |
19 |
similarity index 81% |
20 |
rename from net-analyzer/tracebox/files/tracebox-0.4.4-deps.patch |
21 |
rename to net-analyzer/tracebox/files/tracebox-0.4.4-autotools.patch |
22 |
index 43c0132a49a..612132d157f 100644 |
23 |
--- a/net-analyzer/tracebox/files/tracebox-0.4.4-deps.patch |
24 |
+++ b/net-analyzer/tracebox/files/tracebox-0.4.4-autotools.patch |
25 |
@@ -1,3 +1,8 @@ |
26 |
+- do not link to bundled |
27 |
+ * dev-libs/json-c |
28 |
+ * net-libs/libcrafter |
29 |
+- allow different lua versions |
30 |
+ |
31 |
--- a/configure.ac |
32 |
+++ b/configure.ac |
33 |
@@ -14,6 +14,8 @@ |
34 |
@@ -155,3 +160,55 @@ |
35 |
|
36 |
ac_configure_args="$ac_configure_args_pre" |
37 |
]) |
38 |
+@@ -271,7 +190,6 @@ |
39 |
+ |
40 |
+ AC_CONFIG_FILES([ |
41 |
+ Makefile |
42 |
+- noinst/Makefile |
43 |
+ src/Makefile |
44 |
+ src/tracebox/Makefile |
45 |
+ tests/Makefile |
46 |
+--- a/Makefile.am |
47 |
++++ b/Makefile.am |
48 |
+@@ -8,8 +8,8 @@ |
49 |
+ MAYBE_DOC = doc |
50 |
+ endif |
51 |
+ |
52 |
+-SUBDIRS = noinst src $(MAYBE_OPT) $(MAYBE_DOC) |
53 |
+-DIST_SUBDIRS = noinst src tests doc |
54 |
++SUBDIRS = src $(MAYBE_OPT) $(MAYBE_DOC) |
55 |
++DIST_SUBDIRS = src tests doc |
56 |
+ |
57 |
+ debian-package: |
58 |
+ dpkg-buildpackage -rfakeroot -tc -us -uc |
59 |
+--- a/noinst/Makefile.am |
60 |
++++ b/noinst/Makefile.am |
61 |
+@@ -1,4 +1,3 @@ |
62 |
+-DIST_SUBDIRS = libcrafter/libcrafter |
63 |
+ |
64 |
+ all-local: |
65 |
+ cd libcrafter/libcrafter && $(MAKE) $(AM_MAKEFLAGS) all |
66 |
+--- a/src/tracebox/Makefile.am |
67 |
++++ b/src/tracebox/Makefile.am |
68 |
+@@ -4,7 +4,6 @@ |
69 |
+ |
70 |
+ dist_man_MANS = tracebox.1 |
71 |
+ |
72 |
+-dist_bin_SCRIPTS = luatracebox |
73 |
+ |
74 |
+ SUBDIRS = examples |
75 |
+ |
76 |
+@@ -78,13 +77,11 @@ |
77 |
+ |
78 |
+ tracebox_LDADD = \ |
79 |
+ $(EXTRALIBS) \ |
80 |
+- $(abs_top_builddir)/noinst/libcrafter/libcrafter/libcrafter.la \ |
81 |
+ $(LUA_LIB) \ |
82 |
+ $(PCAPLIB) \ |
83 |
+ $(JSON_LIB) |
84 |
+ |
85 |
+ tracebox_CPPFLAGS = \ |
86 |
+- -I$(top_srcdir)/noinst/libcrafter/libcrafter \ |
87 |
+ $(LUA_INCLUDE) \ |
88 |
+ $(PCAPINC) \ |
89 |
+ $(JSON_INCLUDE) \ |
90 |
|
91 |
diff --git a/net-analyzer/tracebox/files/tracebox-0.4.4-include-crafter.patch b/net-analyzer/tracebox/files/tracebox-0.4.4-include-crafter.patch |
92 |
new file mode 100644 |
93 |
index 00000000000..bedd0208303 |
94 |
--- /dev/null |
95 |
+++ b/net-analyzer/tracebox/files/tracebox-0.4.4-include-crafter.patch |
96 |
@@ -0,0 +1,44 @@ |
97 |
+--- a/src/tracebox/PacketModification.h |
98 |
++++ b/src/tracebox/PacketModification.h |
99 |
+@@ -8,7 +8,7 @@ |
100 |
+ #ifndef __PACKETMODIFICATION_H__ |
101 |
+ #define __PACKETMODIFICATION_H__ |
102 |
+ |
103 |
+-#include "crafter.h" |
104 |
++#include <crafter.h> |
105 |
+ #ifdef HAVE_LIBJSON |
106 |
+ #include <json/json.h> |
107 |
+ #endif |
108 |
+--- a/src/tracebox/PartialHeader.h |
109 |
++++ b/src/tracebox/PartialHeader.h |
110 |
+@@ -8,7 +8,7 @@ |
111 |
+ #ifndef __PARTIALHEADER_H__ |
112 |
+ #define __PARTIALHEADER_H__ |
113 |
+ |
114 |
+-#include "crafter.h" |
115 |
++#include <crafter.h> |
116 |
+ |
117 |
+ /* ICMP message can contains partial header information */ |
118 |
+ |
119 |
+--- a/src/tracebox/script.h |
120 |
++++ b/src/tracebox/script.h |
121 |
+@@ -9,7 +9,7 @@ |
122 |
+ #ifndef __TRACEBOX_SCRIPT_H__ |
123 |
+ #define __TRACEBOX_SCRIPT_H__ |
124 |
+ |
125 |
+-#include "crafter.h" |
126 |
++#include <crafter.h> |
127 |
+ |
128 |
+ Crafter::Packet *script_packet(std::string& cmd); |
129 |
+ int script_exec(const char*, int, char**); |
130 |
+--- a/src/tracebox/tracebox.h |
131 |
++++ b/src/tracebox/tracebox.h |
132 |
+@@ -11,7 +11,7 @@ |
133 |
+ |
134 |
+ #include <memory> |
135 |
+ |
136 |
+-#include "crafter.h" |
137 |
++#include <crafter.h> |
138 |
+ #include "config.h" |
139 |
+ #include "PacketModification.h" |
140 |
+ |
141 |
|
142 |
diff --git a/net-analyzer/tracebox/tracebox-0.4.4-r100.ebuild b/net-analyzer/tracebox/tracebox-0.4.4-r100.ebuild |
143 |
index 63a8ba122cb..7278ad0ab73 100644 |
144 |
--- a/net-analyzer/tracebox/tracebox-0.4.4-r100.ebuild |
145 |
+++ b/net-analyzer/tracebox/tracebox-0.4.4-r100.ebuild |
146 |
@@ -1,11 +1,11 @@ |
147 |
-# Copyright 1999-2020 Gentoo Authors |
148 |
+# Copyright 1999-2021 Gentoo Authors |
149 |
# Distributed under the terms of the GNU General Public License v2 |
150 |
|
151 |
-EAPI=7 |
152 |
+EAPI=8 |
153 |
|
154 |
LUA_COMPAT=( lua5-{1..4} luajit ) |
155 |
|
156 |
-inherit autotools lua-single |
157 |
+inherit autotools flag-o-matic lua-single |
158 |
|
159 |
DESCRIPTION="A Middlebox Detection Tool" |
160 |
HOMEPAGE="http://www.tracebox.org/" |
161 |
@@ -15,51 +15,37 @@ LICENSE="GPL-2" |
162 |
SLOT="0" |
163 |
KEYWORDS="~amd64 ~x86" |
164 |
IUSE="curl sniffer" |
165 |
- |
166 |
REQUIRED_USE="${LUA_REQUIRED_USE}" |
167 |
+RESTRICT="test" |
168 |
|
169 |
RDEPEND="${LUA_DEPS} |
170 |
>=net-libs/libcrafter-0.3_p20171019 |
171 |
dev-libs/json-c |
172 |
net-libs/libpcap |
173 |
curl? ( net-misc/curl ) |
174 |
- sniffer? ( net-libs/libnetfilter_queue ) |
175 |
-" |
176 |
-DEPEND=" |
177 |
- ${RDEPEND} |
178 |
-" |
179 |
-BDEPEND=" |
180 |
- virtual/pkgconfig |
181 |
-" |
182 |
-RESTRICT="test" |
183 |
+ sniffer? ( net-libs/libnetfilter_queue )" |
184 |
+DEPEND="${RDEPEND}" |
185 |
+BDEPEND="virtual/pkgconfig" |
186 |
+ |
187 |
PATCHES=( |
188 |
- "${FILESDIR}"/${PN}-0.4.4-deps.patch |
189 |
+ "${FILESDIR}"/${P}-autotools.patch |
190 |
+ "${FILESDIR}"/${P}-include-crafter.patch |
191 |
) |
192 |
|
193 |
src_prepare() { |
194 |
default |
195 |
- |
196 |
- sed -i -e '/SUBDIRS/s|noinst||g' Makefile.am || die |
197 |
- sed -i -e '/DIST_SUBDIRS.*libcrafter/d' noinst/Makefile.am || die |
198 |
- |
199 |
- sed -i \ |
200 |
- -e '/[[:graph:]]*libcrafter[[:graph:]]*/d' \ |
201 |
- -e '/dist_bin_SCRIPTS/d' \ |
202 |
- src/${PN}/Makefile.am \ |
203 |
- || die |
204 |
- |
205 |
- sed -i \ |
206 |
- -e 's|"crafter.h"|<crafter.h>|g' \ |
207 |
- src/${PN}/PacketModification.h \ |
208 |
- src/${PN}/PartialHeader.h \ |
209 |
- src/${PN}/script.h \ |
210 |
- src/${PN}/${PN}.h \ |
211 |
- || die |
212 |
- |
213 |
+ # remove bundled |
214 |
+ # - dev-libs/json-c |
215 |
+ # - net-libs/libcrafter |
216 |
+ rm -r noinst || die |
217 |
eautoreconf |
218 |
} |
219 |
|
220 |
src_configure() { |
221 |
+ # https://bugs.gentoo.org/786687 |
222 |
+ # std::byte clashes with crafter/Types.h typedef |
223 |
+ append-cxxflags -std=c++14 |
224 |
+ |
225 |
econf \ |
226 |
$(use_enable curl) \ |
227 |
$(use_enable sniffer) |