+++ /dev/null
-From 020e25b660250c97c8085e64cf85074ccfcdd06b Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Tue, 5 Mar 2019 20:59:49 +0100
-Subject: [PATCH] packet-gtp.c: remove unneeded named structures
-
-In uclibc, _header is already in sigcontext.h:
-
-packet-gtp.c:2361:16: error: redefinition of 'struct _header'
- typedef struct _header {
- ^~~~~~~
-In file included from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/bits/sigcontext.h:30:0,
- from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/signal.h:311,
- from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib/gbacktrace.h:36,
- from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib.h:34,
- from ../../epan/proto.h:28,
- from ../../epan/packet.h:14,
- from packet-gtp.c:43:
-/home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/asm/sigcontext.h:173:8: note: originally defined here
- struct _header {
-
-To fix this issue, transform _header and other named structures (with
-the exception of gtp_conv_info_t) into unnamed structures
-
-Fixes:
- - http://autobuild.buildroot.org/results/c41d42fe3489bc63c42e7ce7a9eccb1b4ca7b9b2
-
-Change-Id: I78116233c2a8dd7c54723b7cb558254bd5143bd2
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Reviewed-on: https://code.wireshark.org/review/32335
-Petri-Dish: Guy Harris <guy@alum.mit.edu>
-Tested-by: Petri Dish Buildbot
-Reviewed-by: Guy Harris <guy@alum.mit.edu>
-[Retrieved from:
-https://github.com/wireshark/wireshark/commit/020e25b660250c97c8085e64cf85074ccfcdd06b]
----
- epan/dissectors/packet-gtp.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c
-index 4c40e7aa54..971197e4ae 100644
---- a/epan/dissectors/packet-gtp.c
-+++ b/epan/dissectors/packet-gtp.c
-@@ -2170,7 +2170,7 @@ GHashTable* session_table;
- /* Relation between <teid,ip> -> frame */
- wmem_tree_t* frame_tree;
-
--typedef struct gtp_info {
-+typedef struct {
- guint32 teid;
- guint32 frame;
- } gtp_info_t;
-@@ -2482,7 +2482,7 @@ static int decode_gtp_node_addr(tvbuff_t * tvb, int offset, packet_info * pinfo,
- static int decode_gtp_priv_ext(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree * tree, session_args_t * args _U_);
- static int decode_gtp_unknown(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree * tree, session_args_t * args _U_);
-
--typedef struct _gtp_opt {
-+typedef struct {
- int optcode;
- int (*decode) (tvbuff_t *, int, packet_info *, proto_tree *, session_args_t *);
- } gtp_opt_t;
-@@ -2661,12 +2661,12 @@ id_to_str(tvbuff_t *tvb, gint offset)
- /* Next definitions and function check_field_presence checks if given field
- * in GTP packet is compliant with ETSI
- */
--typedef struct _header {
-+typedef struct {
- guint8 code;
- guint8 presence;
- } ext_header;
-
--typedef struct _message {
-+typedef struct {
- guint8 code;
- ext_header fields[32];
- } _gtp_mess_items;
depends on BR2_USE_MMU # fork(), glib2
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
+ depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_LIBPCAP
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBGLIB2
if BR2_PACKAGE_WIRESHARK
-config BR2_PACKAGE_WIRESHARK_QT
- bool
+config BR2_PACKAGE_WIRESHARK_GUI
+ bool "Qt5 GUI"
default y
- depends on BR2_PACKAGE_QT5BASE_WIDGETS
- depends on BR2_PACKAGE_QT5TOOLS
+ depends on BR2_INSTALL_LIBSTDCPP # qt5
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # qt5
+ depends on BR2_PACKAGE_HAS_UDEV # qt5 input
+ select BR2_PACKAGE_QT5
+ select BR2_PACKAGE_QT5BASE
+ select BR2_PACKAGE_QT5BASE_FONTCONFIG # runtime
+ select BR2_PACKAGE_QT5BASE_PNG # runtime
+ select BR2_PACKAGE_QT5BASE_WIDGETS
+ select BR2_PACKAGE_QT5MULTIMEDIA
+ select BR2_PACKAGE_QT5SVG
+ select BR2_PACKAGE_QT5TOOLS
select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
+ help
+ Enable Qt5 GUI
-config BR2_PACKAGE_WIRESHARK_GUI
- bool
- default y if BR2_PACKAGE_LIBGTK2
- default y if BR2_PACKAGE_LIBGTK3
- default y if BR2_PACKAGE_WIRESHARK_QT
+comment "Qt5 GUI needs a udev /dev management and a toolchain w/ C++, NPTL"
+ depends on !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_HAS_THREADS_NPTL
endif # BR2_PACKAGE_WIRESHARK
-comment "wireshark needs a toolchain w/ wchar, threads"
+comment "wireshark needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+ BR2_STATIC_LIBS
#
################################################################################
-WIRESHARK_VERSION = 2.6.7
+WIRESHARK_VERSION = 3.0.1
WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz
WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions
WIRESHARK_LICENSE = wireshark license
WIRESHARK_LICENSE_FILES = COPYING
-WIRESHARK_DEPENDENCIES = host-pkgconf libgcrypt libpcap libglib2
-WIRESHARK_CONF_ENV = \
- LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \
- PCAP_CONFIG=$(STAGING_DIR)/usr/bin/pcap-config
+WIRESHARK_DEPENDENCIES = host-pkgconf host-python3 libgcrypt libpcap libglib2
+
+WIRESHARK_MAKE_ENV = \
+ $(TARGET_MAKE_ENV) \
+ PATH="$(@D)/bin:$(BR_PATH)"
WIRESHARK_CONF_OPTS = \
- --disable-guides \
- --enable-static=no \
- --with-libsmi=no \
- --with-pcap=yes
-
-# wireshark GUI options
-ifeq ($(BR2_PACKAGE_LIBGTK3),y)
-WIRESHARK_CONF_OPTS += --with-gtk=3
-WIRESHARK_DEPENDENCIES += libgtk3
-else ifeq ($(BR2_PACKAGE_LIBGTK2),y)
-WIRESHARK_CONF_OPTS += --with-gtk=2
-WIRESHARK_DEPENDENCIES += libgtk2
-else
-WIRESHARK_CONF_OPTS += --with-gtk=no
-endif
+ -DENABLE_PCAP=ON \
+ -DENABLE_SMI=OFF \
+ -DENABLE_STATIC=OFF \
+ -DBUILD_sdjournal=OFF
+
+# wireshark needs the host version of lemon during compilation.
+# This binrary is provided by sqlite-src (which is different from
+# sqlite-autotools that is currently packaged in buildroot) moreover wireshark
+# adds several patches.
+# So, instead of creating a separate host package and installing lemon to
+# $(HOST_DIR), this binary is compiled on-the-fly
+define WIRESHARK_BUILD_LEMON_TOOL
+ cd $(@D); \
+ mkdir -p $(@D)/bin; \
+ $(HOSTCC) $(HOST_CFLAGS) -o $(@D)/bin/lemon tools/lemon/lemon.c
+endef
-# Qt4 needs accessibility, we don't support it
-ifeq ($(BR2_PACKAGE_WIRESHARK_QT),y)
-WIRESHARK_CONF_OPTS += --with-qt=5
-WIRESHARK_DEPENDENCIES += qt5base qt5tools
-WIRESHARK_CONF_ENV += ac_cv_path_QTCHOOSER=""
-# Seems it expects wrappers and passes a -qt=X parameter for version
-WIRESHARK_MAKE_OPTS += \
- MOC="$(HOST_DIR)/bin/moc" \
- RCC="$(HOST_DIR)/bin/rcc" \
- UIC="$(HOST_DIR)/bin/uic"
-else
-WIRESHARK_CONF_OPTS += --with-qt=no
-endif
+WIRESHARK_PRE_BUILD_HOOKS += WIRESHARK_BUILD_LEMON_TOOL
-# No GUI at all
-ifeq ($(BR2_PACKAGE_WIRESHARK_GUI),)
-WIRESHARK_CONF_OPTS += --disable-wireshark
+ifeq ($(BR2_PACKAGE_WIRESHARK_GUI),y)
+WIRESHARK_CONF_OPTS += -DBUILD_wireshark=ON
+WIRESHARK_DEPENDENCIES += qt5base qt5multimedia qt5svg qt5tools
+else
+WIRESHARK_CONF_OPTS += -DBUILD_wireshark=OFF
endif
ifeq ($(BR2_PACKAGE_BCG729),y)
-WIRESHARK_CONF_OPTS += --with-bcg729=$(STAGING_DIR)/usr
+WIRESHARK_CONF_OPTS += -DENABLE_BCG729=ON
WIRESHARK_DEPENDENCIES += bcg729
else
-WIRESHARK_CONF_OPTS += --without-bcg729
+WIRESHARK_CONF_OPTS += -DENABLE_BCG729=OFF
endif
ifeq ($(BR2_PACKAGE_C_ARES),y)
-WIRESHARK_CONF_OPTS += --with-c-ares=$(STAGING_DIR)/usr
+WIRESHARK_CONF_OPTS += -DENABLE_CARES=ON
WIRESHARK_DEPENDENCIES += c-ares
else
-WIRESHARK_CONF_OPTS += --without-c-ares
+WIRESHARK_CONF_OPTS += -DENABLE_CARES=OFF
endif
ifeq ($(BR2_PACKAGE_GNUTLS),y)
-WIRESHARK_CONF_OPTS += --with-gnutls=yes
+WIRESHARK_CONF_OPTS += -DENABLE_GNUTLS=ON
WIRESHARK_DEPENDENCIES += gnutls
else
-WIRESHARK_CONF_OPTS += --with-gnutls=no
+WIRESHARK_CONF_OPTS += -DENABLE_GNUTLS=OFF
endif
ifeq ($(BR2_PACKAGE_LIBKRB5),y)
-WIRESHARK_CONF_OPTS += --with-krb5=$(STAGING_DIR)/usr
+WIRESHARK_CONF_OPTS += -DENABLE_KERBEROS=ON
WIRESHARK_DEPENDENCIES += libkrb5
else
-WIRESHARK_CONF_OPTS += --without-krb5
+WIRESHARK_CONF_OPTS += -DENABLE_KERBEROS=OFF
endif
ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y)
-WIRESHARK_CONF_OPTS += --with-maxminddb=$(STAGING_DIR)/usr
+WIRESHARK_CONF_OPTS += -DBUILD_mmdbresolve=ON
WIRESHARK_DEPENDENCIES += libmaxminddb
else
-WIRESHARK_CONF_OPTS += --without-maxminddb
+WIRESHARK_CONF_OPTS += -DBUILD_mmdbresolve=OFF
endif
ifeq ($(BR2_PACKAGE_LIBNL),y)
-WIRESHARK_CONF_OPTS += --with-libnl
+WIRESHARK_CONF_OPTS += -DENABLE_NETLINK=ON
WIRESHARK_DEPENDENCIES += libnl
else
-WIRESHARK_CONF_OPTS += --without-libnl
+WIRESHARK_CONF_OPTS += -DENABLE_NETLINK=OFF
endif
ifeq ($(BR2_PACKAGE_LIBSSH),y)
-WIRESHARK_CONF_OPTS += --with-libssh=$(STAGING_DIR)/usr
+WIRESHARK_CONF_OPTS += -DENABLE_LIBSSH=ON
WIRESHARK_DEPENDENCIES += libssh
else
-WIRESHARK_CONF_OPTS += --without-libssh
+WIRESHARK_CONF_OPTS += -DENABLE_LIBSSH=OFF
endif
ifeq ($(BR2_PACKAGE_LIBXML2),y)
-WIRESHARK_CONF_OPTS += --with-libxml2
+WIRESHARK_CONF_OPTS += -DENABLE_LIBXML2=ON
WIRESHARK_DEPENDENCIES += libxml2
else
-WIRESHARK_CONF_OPTS += --without-libxml2
+WIRESHARK_CONF_OPTS += -DENABLE_LIBXML2=OFF
endif
# no support for lua53 yet
ifeq ($(BR2_PACKAGE_LUA_5_1),y)
-WIRESHARK_CONF_OPTS += --with-lua
+WIRESHARK_CONF_OPTS += -DENABLE_LUA=ON
WIRESHARK_DEPENDENCIES += lua
else
-WIRESHARK_CONF_OPTS += --without-lua
+WIRESHARK_CONF_OPTS += -DENABLE_LUA=OFF
endif
ifeq ($(BR2_PACKAGE_LZ4),y)
-WIRESHARK_CONF_OPTS += --with-lz4=$(STAGING_DIR)/usr
+WIRESHARK_CONF_OPTS += -DENABLE_LZ4=ON
WIRESHARK_DEPENDENCIES += lz4
else
-WIRESHARK_CONF_OPTS += --without-lz4
+WIRESHARK_CONF_OPTS += -DENABLE_LZ4=OFF
endif
ifeq ($(BR2_PACKAGE_NGHTTP2),y)
-WIRESHARK_CONF_OPTS += --with-nghttp2=$(STAGING_DIR)/usr
+WIRESHARK_CONF_OPTS += -DENABLE_NGHTTP2=ON
WIRESHARK_DEPENDENCIES += nghttp2
else
-WIRESHARK_CONF_OPTS += --without-nghttp2
+WIRESHARK_CONF_OPTS += -DENABLE_NGHTTP2=OFF
endif
ifeq ($(BR2_PACKAGE_SBC),y)
-WIRESHARK_CONF_OPTS += --with-sbc=yes
+WIRESHARK_CONF_OPTS += -DENABLE_SBC=ON
WIRESHARK_DEPENDENCIES += sbc
else
-WIRESHARK_CONF_OPTS += --with-sbc=no
+WIRESHARK_CONF_OPTS += -DENABLE_SBC=OFF
endif
ifeq ($(BR2_PACKAGE_SNAPPY),y)
-WIRESHARK_CONF_OPTS += --with-snappy=$(STAGING_DIR)/usr
+WIRESHARK_CONF_OPTS += -DENABLE_SNAPPY=ON
WIRESHARK_DEPENDENCIES += snappy
-ifeq ($(BR2_STATIC_LIBS),y)
-WIRESHARK_CONF_ENV += LIBS=-lstdc++
-endif
else
-WIRESHARK_CONF_OPTS += --without-snappy
+WIRESHARK_CONF_OPTS += -DENABLE_SNAPPY=OFF
endif
ifeq ($(BR2_PACKAGE_SPANDSP),y)
-WIRESHARK_CONF_OPTS += --with-spandsp
+WIRESHARK_CONF_OPTS += -DENABLE_SPANDSP=ON
WIRESHARK_DEPENDENCIES += spandsp
else
-WIRESHARK_CONF_OPTS += --without-spandsp
+WIRESHARK_CONF_OPTS += -DENABLE_SPANDSP=OFF
endif
define WIRESHARK_REMOVE_DOCS
WIRESHARK_POST_INSTALL_TARGET_HOOKS += WIRESHARK_REMOVE_DOCS
-$(eval $(autotools-package))
+$(eval $(cmake-package))