[Buildroot] [PATCH 1/2] package/wireshark: bump to version 3.0.1
Arnout Vandecappelle
arnout at mind.be
Mon Apr 15 17:59:54 UTC 2019
On 15/04/2019 18:10, Fabrice Fontaine wrote:
> - Remove patch (already in version)
> - Move package to cmake infrastructure
I actually would have liked this to be done in a separate patch.
> - gtk ui is no more available
> - --disables-guides option is not avaiable with cmake
> - QT UI now requires:
> - qt5multimedia and qt5svg at build time
> - qt5fontconfig, qt5png and udev at runtime
> - Add host-python3 dependency
> - Add a hook to build host-lemon
> - Disable static build (some libraries such as
> plugins/3.0/codecs/l16mono.so does not support static building)
This is very unfortunate. It is useful to be able to statically build a tshark
to copy into a system that you don't control.
Isn't there a way to disable those plugins?
[snip]
> -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
> + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> + depends on BR2_PACKAGE_HAS_UDEV
Could you add # reason markers here?
> + 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
This deprecation of gtk gui and conversion from depends into select could have
been in a separate patch, but OK.
> 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
> diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash
> index 071940e1c1..99aa433bb4 100644
> --- a/package/wireshark/wireshark.hash
> +++ b/package/wireshark/wireshark.hash
> @@ -1,4 +1,4 @@
> -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.6.7.txt
> -sha256 747b3e7a37414942959f76f198be49dcbcca936bda538c4408942ce71bfd2b71 wireshark-2.6.7.tar.xz
> +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-3.0.1.txt
> +sha256 86864c3d0f6c2311992a98d8ea7dfd429097fe62dae2e5516e1a2f6bef2ac08c wireshark-3.0.1.tar.xz
> # Locally calculated
> sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING
> diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk
> index a917efb5f6..691f0140b5 100644
> --- a/package/wireshark/wireshark.mk
> +++ b/package/wireshark/wireshark.mk
> @@ -4,152 +4,141 @@
> #
> ################################################################################
>
> -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
Ah nice, I was struggling with this when I tried to do the CMake conversion.
Regards,
Arnout
>
> -# 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
> @@ -159,4 +148,4 @@ endef
>
> WIRESHARK_POST_INSTALL_TARGET_HOOKS += WIRESHARK_REMOVE_DOCS
>
> -$(eval $(autotools-package))
> +$(eval $(cmake-package))
>
More information about the buildroot
mailing list