Skip to contentSkip to conversation

wireshark: new package

PATCH New Baruch Siach 2 participants 4 messages Oct 22, 2012 – Oct 24, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 wireshark: new package

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.
---
I override the $prefix configure variable because otherwise the host /usr/include is added to the -I and -L paths. I'm not sure this is a good idea though, since it clutters the tshark RPATH with directories from the local build paths. If you have a better I'd be glad to hear.

 package/Config.in              |    1 +
 package/wireshark/Config.in    |   14 ++++++++++++++
 package/wireshark/wireshark.mk |   10 ++++++++++
 3 files changed, 25 insertions(+)
 create mode 100644 package/wireshark/Config.in
 create mode 100644 package/wireshark/wireshark.mk
package/Config.in +1 -0
index 1650c71..cd8d9ba 100644
@@ -646,6 +646,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"
package/wireshark/Config.in new file +14 -0
new file mode 100644
index 0000000..e6d4e72
@@ -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
package/wireshark/wireshark.mk new file +10 -0
new file mode 100644
index 0000000..c89fbf8
@@ -0,0 +1,10 @@
+WIRESHARK_VERSION = 1.8.3
+WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2
+WIRESHARK_SITE = http://www.wireshark.org/download/src/all-versions
+WIRESHARK_DEPENDENCIES = libpcap libgcrypt libglib2
+WIRESHARK_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config
+WIRESHARK_CONF_OPT = --disable-wireshark --without-krb5 --disable-usr-local \
+		     prefix=$(STAGING_DIR)/usr --with-sysroot=$(STAGING_DIR) \
+		     --enable-static=no
+
+$(eval $(call autotools-package))
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 1/1 wireshark: new package

Quoted 7 lines · Baruch Siach

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.
---
I override the $prefix configure variable because otherwise the host /usr/include is added to the -I and -L paths. I'm not sure this is a good idea though, since it clutters the tshark RPATH with directories from the local build paths. If you have a better I'd be glad to hear.

That usually means there's a broken Makefile.am and we fix it with a patch.
However, does installation still work with the prefix override?

[snip]

package/wireshark/wireshark.mk line 7

Quoted 13 lines
package/wireshark/wireshark.mk new file +7 -0
new file mode 100644
index 0000000..c89fbf8
@@ -0,0 +1,10 @@
+WIRESHARK_VERSION = 1.8.3
+WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2
+WIRESHARK_SITE = http://www.wireshark.org/download/src/all-versions
+WIRESHARK_DEPENDENCIES = libpcap libgcrypt libglib2
+WIRESHARK_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config
+WIRESHARK_CONF_OPT = --disable-wireshark --without-krb5 --disable-usr-local \
+		     prefix=$(STAGING_DIR)/usr --with-sysroot=$(STAGING_DIR) \

Why is the --with-sysroot needed?

package/wireshark/wireshark.mk line 8

Quoted 1 line
package/wireshark/wireshark.mk new file +1 -0
+		     --enable-static=no

We normally build both dynamic and static libraries, and remove the static
library in the target. Doesn't that work in wireshark? Can you add a comment to explain that?

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH 1/1 wireshark: new package

Hi Anout,

Thanks for reviewing.

Quoted 11 lines · Arnout Vandecappelle
Quoted 7 lines · Baruch Siach

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.
---
I override the $prefix configure variable because otherwise the host /usr/include is added to the -I and -L paths. I'm not sure this is a good idea though, since it clutters the tshark RPATH with directories from the local build paths. If you have a better I'd be glad to hear.

That usually means there's a broken Makefile.am and we fix it with a patch.
However, does installation still work with the prefix override?

Yes. However I see $prefix added to the tshark binary RPATH, which is not nice. I'll try patching configure.in.

Quoted 16 lines

[snip]

package/wireshark/wireshark.mk line 7

Quoted 13 lines
package/wireshark/wireshark.mk new file +7 -0
new file mode 100644
index 0000000..c89fbf8
@@ -0,0 +1,10 @@
+WIRESHARK_VERSION = 1.8.3
+WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2
+WIRESHARK_SITE = http://www.wireshark.org/download/src/all-versions
+WIRESHARK_DEPENDENCIES = libpcap libgcrypt libglib2
+WIRESHARK_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config
+WIRESHARK_CONF_OPT = --disable-wireshark --without-krb5 --disable-usr-local \
+		     prefix=$(STAGING_DIR)/usr --with-sysroot=$(STAGING_DIR) \

Why is the --with-sysroot needed?

Removing --with-sysroot doesn't negatively affect build or run of tshark. I get the following line during configure, however:

checking for sysroot... no

Is it significant?

Quoted 5 lines

package/wireshark/wireshark.mk line 8

Quoted 1 line
package/wireshark/wireshark.mk new file +1 -0
+		     --enable-static=no

We normally build both dynamic and static libraries, and remove the static
library in the target. Doesn't that work in wireshark? Can you add a comment to explain that?

Without --enable-static=no build fails with:

ld: tshark: hidden symbol `__GI_atan' isn't defined

My toolchain is external:

powerpc-linux-gnu-gcc (Sourcery G++ Lite 2011.03-38) 4.5.2

Any ideas?

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#3 lore raw

PATCH 1/1 wireshark: new package

On 24/10/12 09:31, Baruch Siach wrote:
[snip]

Quoted 16 lines
Quoted 7 lines
Quoted 7 lines
package/wireshark/wireshark.mk new file +1 -0
new file mode 100644
index 0000000..c89fbf8
@@ -0,0 +1,10 @@
+WIRESHARK_VERSION = 1.8.3
Quoted 8 lines

package/wireshark/wireshark.mk line 7

Quoted 6 lines
package/wireshark/wireshark.mk new file +6 -0
+WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2
+WIRESHARK_SITE = http://www.wireshark.org/download/src/all-versions
+WIRESHARK_DEPENDENCIES = libpcap libgcrypt libglib2
+WIRESHARK_CONF_ENV = LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config
+WIRESHARK_CONF_OPT = --disable-wireshark --without-krb5 --disable-usr-local \
+		     prefix=$(STAGING_DIR)/usr --with-sysroot=$(STAGING_DIR) \

Why is the --with-sysroot needed?

Quoted 6 lines

Removing --with-sysroot doesn't negatively affect build or run of tshark. I get the following line during configure, however:

checking for sysroot... no

Is it significant?

You'll see that for most autoconf packages.

Quoted 8 lines
Quoted 5 lines

package/wireshark/wireshark.mk line 8

Quoted 1 line
package/wireshark/wireshark.mk new file +1 -0
+		     --enable-static=no

We normally build both dynamic and static libraries, and remove the static
library in the target. Doesn't that work in wireshark? Can you add a comment to explain that?

Without --enable-static=no build fails with:

Quoted 7 lines

ld: tshark: hidden symbol `__GI_atan' isn't defined

My toolchain is external:

powerpc-linux-gnu-gcc (Sourcery G++ Lite 2011.03-38) 4.5.2

Any ideas?

Nothing right away, except maybe a missing -lm but then I don't see why it
doesn't fail in the non-static case. But we probably don't want the static build of tshark anyway, so just keep the --enable-static=no and add comment explaining why it doesn't work without it.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F