Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-analyzer/tracebox/, net-analyzer/tracebox/files/
Date: Sun, 01 Aug 2021 19:29:07
Message-Id: 1627846134.96b03e9e2115af0468c8487cd488e2eb54f33397.soap@gentoo
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)