From patchwork Mon Feb 18 06:18:11 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [v6] wireshark: new package X-Patchwork-Submitter: Baruch Siach X-Patchwork-Id: 221146 Message-Id: To: buildroot@busybox.net Date: Mon, 18 Feb 2013 08:18:11 +0200 From: Baruch Siach List-Id: Discussion and development of buildroot This is only the bare minimum needed to build the textual tshark utility. Support for more options, including the wireshark GUI, can be added later. Cc: Stefan Fröberg Signed-off-by: Baruch Siach Acked-by: Gustavo Zacarias Tested-by: Gustavo Zacarias --- Changes v5 -> v6: * add --with-gnutls=no to fix build when OpenSSL and GnuTLS are both installed (Stefan Fröberg) Changes v4 -> v5: * update to version 1.8.5 as suggested by Gustavo Zacarias * added fixup for pcap-config (Gustavo Zacarias) Changes v3 -> v4: * Update to version 1.8.4 Changes v2 -> v3: * Use an upstreamable patch as suggested by Thomas Petazzoni * Add license info Changes v1 -> v2: * Patch configure.in and enable autoreconf, instead of overriding $prefix * Remove --with-sysroot as suggested by Arnout Vandecappelle package/Config.in | 1 + package/wireshark/Config.in | 14 +++++++ .../wireshark/wireshark-dont-include-prefix.patch | 41 ++++++++++++++++++++ package/wireshark/wireshark.mk | 19 +++++++++ 4 files changed, 75 insertions(+) create mode 100644 package/wireshark/Config.in create mode 100644 package/wireshark/wireshark-dont-include-prefix.patch create mode 100644 package/wireshark/wireshark.mk diff --git a/package/Config.in b/package/Config.in index faee5c3..c57c0d8 100644 --- a/package/Config.in +++ b/package/Config.in @@ -728,6 +728,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/wget/Config.in" endif source "package/wireless_tools/Config.in" +source "package/wireshark/Config.in" source "package/wpa_supplicant/Config.in" source "package/xinetd/Config.in" source "package/xl2tp/Config.in" diff --git a/package/wireshark/Config.in b/package/wireshark/Config.in new file mode 100644 index 0000000..e6d4e72 --- /dev/null +++ b/package/wireshark/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_WIRESHARK + bool "wireshark" + select BR2_PACKAGE_LIBPCAP + select BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_LIBGLIB2 + depends on BR2_USE_WCHAR # glib2 + help + Network traffic sniffer and protocol decoder. Currently only tshark, + the console interface, is enabled. + + http://www.wireshark.org + +comment "wireshark requires a toolchain with WCHAR support" + depends on !BR2_USE_WCHAR diff --git a/package/wireshark/wireshark-dont-include-prefix.patch b/package/wireshark/wireshark-dont-include-prefix.patch new file mode 100644 index 0000000..567af9a --- /dev/null +++ b/package/wireshark/wireshark-dont-include-prefix.patch @@ -0,0 +1,41 @@ +configure.in: don't add the build host's /usr/include and /usr/lib to the +search path of include files and libraries. This is not what you want when +cross compiling. + +Sent upstream as https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7926. + +Signed-off-by: Baruch Siach +--- +diff -Nuar wireshark-1.8.3.orig/configure.in wireshark-1.8.3/configure.in +--- wireshark-1.8.3.orig/configure.in 2012-08-15 23:33:32.000000000 +0300 ++++ wireshark-1.8.3/configure.in 2012-10-28 10:07:54.864388531 +0200 +@@ -635,29 +635,6 @@ + AC_SUBST(CORESERVICES_FRAMEWORKS) + AC_SUBST(LAUNCHSERVICES_FRAMEWORKS) + +-# +-# If using $prefix we add "$prefix/include" to the include search path +-# and "$prefix/lib" to the library search path. +-# +-if test "x$prefix" != "x" ; then +- AC_MSG_CHECKING(whether to use $prefix for headers and libraries) +- if test -d $prefix/include ; then +- AC_MSG_RESULT(yes) +- # +- # Arrange that we search for header files in "$prefix/include", as +- # various packages we use may have been installed under "$prefix/include". +- # +- CPPFLAGS="$CPPFLAGS -I$prefix/include" +- +- # +- # Arrange that we search for libraries in "$prefix/lib". +- # +- AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib) +- else +- AC_MSG_RESULT(no) +- fi +-fi +- + dnl Look in /usr/local for header files and libraries ? + dnl XXX FIXME don't include /usr/local if it is already in the system + dnl search path as this causes gcc 3.2 on Linux to complain about a change diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk new file mode 100644 index 0000000..46e5ce3 --- /dev/null +++ b/package/wireshark/wireshark.mk @@ -0,0 +1,19 @@ +############################################################# +# +# wireshark +# +############################################################# + +WIRESHARK_VERSION = 1.8.5 +WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2 +WIRESHARK_SITE = http://www.wireshark.org/download/src/all-versions +WIRESHARK_LICENSE = wireshark license +WIRESHARK_LICENSE_FILES = COPYING +WIRESHARK_DEPENDENCIES = libpcap libgcrypt libglib2 +WIRESHARK_AUTORECONF = YES +WIRESHARK_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \ + ac_cv_path_PCAP_CONFIG=$(STAGING_DIR)/usr/bin/pcap-config +WIRESHARK_CONF_OPT = --disable-wireshark --without-krb5 --disable-usr-local \ + --enable-static=no --with-gnutls=no + +$(eval $(call autotools-package))