From bd592525018d9fcae7b49099b9bf7dc548f9f857 Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verizon.net>
Date: Thu, 2 Dec 2010 03:48:36 +0000
Subject: wireshark: upgrade

---
 abs/extra/wireshark/PKGBUILD              | 62 ++++++++++++++++++++++---------
 abs/extra/wireshark/wireshark-gtk.install | 11 ++++++
 abs/extra/wireshark/wireshark.install     | 19 ++++++++++
 3 files changed, 75 insertions(+), 17 deletions(-)
 create mode 100644 abs/extra/wireshark/wireshark-gtk.install
 create mode 100644 abs/extra/wireshark/wireshark.install

diff --git a/abs/extra/wireshark/PKGBUILD b/abs/extra/wireshark/PKGBUILD
index 4b7a88c..3d6b90e 100644
--- a/abs/extra/wireshark/PKGBUILD
+++ b/abs/extra/wireshark/PKGBUILD
@@ -1,26 +1,54 @@
-# $Id: PKGBUILD 34765 2009-04-11 14:17:32Z hugo $
-# Maintainer: Hugo Doria <hugo@archlinux.org>
-
-pkgname=wireshark
-pkgver=1.2.0
-pkgrel=3
-pkgdesc="A free network protocol analyzer for Unix/Linux and Windows"
+# $Id: PKGBUILD 94904 2010-10-12 06:47:49Z guillaume $
+# Maintainer: Guillaume ALAUX <guillaume at alaux dot net>
+# Contributor: Florian Pritz <bluewind at jabber dot ccc dot de>
+pkgname=(wireshark-cli wireshark-gtk)
+pkgbase=wireshark
+pkgver=1.4.1
+pkgrel=1
 arch=('i686' 'x86_64')
 license=('GPL2')
-depends=('gtk2>=2.14.5' 'heimdal>=1.2.1' 'libpcap>=1.0.0' 'bash' 'gnutls>=2.4.1' 'libcap>=2.16')
-makedepends=('bison' 'flex')
+makedepends=('bison' 'flex' 'gtk2' 'heimdal' 'libpcap' 'bash' 'gnutls' 'libcap')
 url="http://www.wireshark.org/"
-replaces=('ethereal')
 options=(!libtool)
-source=(http://www.wireshark.org/download/src/${pkgname}-${pkgver}.tar.gz wireshark.desktop wireshark.png)
+source=(http://www.wireshark.org/download/src/${pkgbase}-${pkgver}.tar.bz2)
+md5sums=('1719d20a10990e7c2cb261df7021aab6')
 
 build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
+  cd "${srcdir}/${pkgbase}-${pkgver}"
   export CFLAGS="-fno-unit-at-a-time ${CFLAGS}"
-  ./configure --prefix=/usr --with-ssl || return 1
-  make all || return 1
-  make DESTDIR=${pkgdir} install || return 1
 
-  install -Dm644 ${srcdir}/wireshark.png ${pkgdir}/usr/share/icons/wireshark.png
-  install -Dm644 ${srcdir}/wireshark.desktop ${pkgdir}/usr/share/applications/wireshark.desktop
+  ./configure --prefix=/usr --with-ssl
+  make all
+}
+
+package_wireshark-cli() {
+  pkgdesc="A free network protocol analyzer for Unix/Linux and Windows - CLI version"
+  depends=('heimdal' 'libpcap' 'bash' 'gnutls' 'libcap' 'glib2')
+  install=wireshark.install
+  conflicts=(wireshark)
+
+  cd "${srcdir}/${pkgbase}-${pkgver}"
+
+  make DESTDIR="${pkgdir}" install
+
+  #wireshark uid group is 150
+  chgrp 150 "${pkgdir}/usr/bin/dumpcap"
+  chmod 754 "${pkgdir}/usr/bin/dumpcap"
+  rm "$pkgdir/usr/bin/wireshark"
+}
+
+package_wireshark-gtk() {
+  pkgdesc="A free network protocol analyzer for Unix/Linux and Windows - GTK frontend"
+  depends=('gtk2' 'wireshark-cli')
+  install=wireshark-gtk.install
+  replaces=(wireshark)
+  conflicts=(wireshark)
+
+  cd "${srcdir}/${pkgbase}-${pkgver}"
+
+  install -Dm755 .libs/wireshark "$pkgdir/usr/bin/wireshark"
+  for d in 16 32 48; do
+      install -Dm644 image/hi${d}-app-wireshark.png ${pkgdir}/usr/share/icons/hicolor/${d}x${d}/apps/wireshark.png
+  done
+  install -Dm644 wireshark.desktop ${pkgdir}/usr/share/applications/wireshark.desktop
 }
diff --git a/abs/extra/wireshark/wireshark-gtk.install b/abs/extra/wireshark/wireshark-gtk.install
new file mode 100644
index 0000000..6b1b64b
--- /dev/null
+++ b/abs/extra/wireshark/wireshark-gtk.install
@@ -0,0 +1,11 @@
+post_install() {
+    gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+    post_install
+}
+
+post_remove() {
+    post_install
+}
diff --git a/abs/extra/wireshark/wireshark.install b/abs/extra/wireshark/wireshark.install
new file mode 100644
index 0000000..8936256
--- /dev/null
+++ b/abs/extra/wireshark/wireshark.install
@@ -0,0 +1,19 @@
+post_install() {
+    if getent group wireshark >/dev/null 2>&1; then
+        groupmod -g 150 wireshark &>/dev/null
+    else
+        groupadd -g 150 wireshark &>/dev/null
+    fi
+    setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' usr/bin/dumpcap
+    echo "NOTE: To run wireshark as normal user you have to add yourself into wireshark group"
+}
+
+post_upgrade() {
+    post_install $1
+}
+
+post_remove() {
+    if getent group wireshark >/dev/null 2>&1; then
+        groupdel wireshark
+    fi
+}
-- 
cgit v0.12

