Sync from SUSE:ALP:Source:Standard:1.0 wireshark revision 9e3af06cb8865f576e286e7c903c640c

This commit is contained in:
Adrian Schröter 2023-12-19 16:31:14 +01:00
commit 52d32ccf90
9 changed files with 5027 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

19
_constraints Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0"?>
<constraints>
<hardware>
<disk>
<size unit="G">5</size>
</disk>
</hardware>
<overwrite>
<conditions>
<arch>ppc</arch>
<arch>ppc64le</arch>
</conditions>
<hardware>
<physicalmemory>
<size unit="G">5</size>
</physicalmemory>
</hardware>
</overwrite>
</constraints>

View File

@ -0,0 +1,14 @@
Index: wireshark-3.6.1/wsutil/glib-compat.h
===================================================================
--- wireshark-3.6.1.orig/wsutil/glib-compat.h
+++ wireshark-3.6.1/wsutil/glib-compat.h
@@ -21,6 +21,9 @@ extern "C" {
#endif /* __cplusplus */
#if !GLIB_CHECK_VERSION(2, 68, 0)
+
+#include <string.h>
+
static inline gpointer
g_memdup2(gconstpointer mem, gsize byte_size)
{

View File

@ -0,0 +1,75 @@
commit 1865e02e6c22ee55b0bb11b8c78330d4e65a1132
Author: Robert Frohl <rfrohl@suse.com>
Date: Wed Jan 13 14:18:36 2021 +0100
Warn if user can't access dumpcap.
diff --git a/capchild/capture_sync.c b/capchild/capture_sync.c
index f31914886a..d3baab6c50 100644
--- a/capture/capture_sync.c
+++ b/capture/capture_sync.c
@@ -24,6 +24,10 @@
#include <wsutil/wslog.h>
#include <wsutil/ws_assert.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <grp.h>
+
#ifdef _WIN32
#include <wsutil/unicode-utils.h>
#include <wsutil/win32-utils.h>
@@ -592,11 +596,22 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session, inf
* Child process - run dumpcap with the right arguments to make
* it just capture with the specified capture parameters
*/
+ char * grp_warning = calloc(1, 256);
dup2(sync_pipe[PIPE_WRITE], 2);
ws_close(sync_pipe[PIPE_READ]);
execv(argv[0], argv);
- snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
- argv[0], g_strerror(errno));
+ if (errno == EPERM || errno == EACCES) {
+ struct stat statbuf;
+ struct group *grp;
+ if(stat("/usr/bin/dumpcap", &statbuf) == 0) {
+ if ((grp = getgrgid(statbuf.st_gid)) != NULL) {
+ snprintf(grp_warning , 256, "\nYou need to be a member of the '%s' group. Try running\n'usermod -a -G %s <YOUR_USERNAME>' as root.", grp->gr_name, grp->gr_name);
+ }
+ }
+ }
+ snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s%s",
+ argv[0], g_strerror(errno), grp_warning);
+ free(grp_warning);
sync_pipe_errmsg_to_parent(2, errmsg, "");
/* Exit with "_exit()", so that we don't close the connection
@@ -827,6 +842,7 @@ sync_pipe_open_command(char* const argv[], int *data_read_fd,
* Child process - run dumpcap with the right arguments to make
* it just capture with the specified capture parameters
*/
+ char * grp_warning = calloc(1, 256);
dup2(data_pipe[PIPE_WRITE], 1);
ws_close(data_pipe[PIPE_READ]);
ws_close(data_pipe[PIPE_WRITE]);
@@ -834,8 +850,18 @@ sync_pipe_open_command(char* const argv[], int *data_read_fd,
ws_close(sync_pipe[PIPE_READ]);
ws_close(sync_pipe[PIPE_WRITE]);
execv(argv[0], argv);
- snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
- argv[0], g_strerror(errno));
+ if (errno == EPERM || errno == EACCES) {
+ struct stat statbuf;
+ struct group *grp;
+ if(stat("/usr/bin/dumpcap", &statbuf) == 0) {
+ if ((grp = getgrgid(statbuf.st_gid)) != NULL) {
+ snprintf(grp_warning , 256, "\nYou need to be a member of the '%s' group. Try running\n'usermod -a -G %s <YOUR_USERNAME>' as root.", grp->gr_name, grp->gr_name);
+ }
+ }
+ }
+ snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s%s",
+ argv[0], g_strerror(errno), grp_warning);
+ free(grp_warning);
sync_pipe_errmsg_to_parent(2, errmsg, "");
/* Exit with "_exit()", so that we don't close the connection

BIN
wireshark-4.0.11.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,49 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
wireshark-4.0.11.tar.xz: 43153680 bytes
SHA256(wireshark-4.0.11.tar.xz)=4c341cc33a6c512d983f4126e6f3e5c249f604e14ab7f337d38b1cbe58199e3d
SHA1(wireshark-4.0.11.tar.xz)=4af3140d69f9d41e1c4e161fad66304a6920ddce
Wireshark-win64-4.0.11.exe: 79609384 bytes
SHA256(Wireshark-win64-4.0.11.exe)=f3bb3156ef2c3470d45d4150038c2cc86ae0d04d501ff2c662196eeeaf85d633
SHA1(Wireshark-win64-4.0.11.exe)=24f51cc40b0c404146f5436223ec29c35476c353
Wireshark-win64-4.0.11.msi: 54325248 bytes
SHA256(Wireshark-win64-4.0.11.msi)=b06fab0a8d02788f71a21cf9473c4c38c2d93195b8029825d3de00e9bf199ca9
SHA1(Wireshark-win64-4.0.11.msi)=13eebda94ff1bb39fcd039ca7070e26cf990134a
WiresharkPortable64_4.0.11.paf.exe: 46772200 bytes
SHA256(WiresharkPortable64_4.0.11.paf.exe)=686c04c42fdd101986e664216033d2b5a13911b379ffc93c3546ec354245e998
SHA1(WiresharkPortable64_4.0.11.paf.exe)=cf1417b2fc190a118e5d8711966eaa2521a50a23
Wireshark 4.0.11 Arm 64.dmg: 65048706 bytes
SHA256(Wireshark 4.0.11 Arm 64.dmg)=f8bf18df6c74624c18d79f937c537588f53e1cca5ecfd5d59edbcaa6029ce852
SHA1(Wireshark 4.0.11 Arm 64.dmg)=519322ec6cdc5e9e9831fc62597ee1aff1923550
Wireshark 4.0.11 Intel 64.dmg: 68640199 bytes
SHA256(Wireshark 4.0.11 Intel 64.dmg)=b9a0dc1942c5f78214a986773b22180bba720f51b45e2da4260318b83b504d0d
SHA1(Wireshark 4.0.11 Intel 64.dmg)=8712a3168703935032b828ea69fd1ae12620b20d
You can validate these hashes using the following commands (among others):
Windows: certutil -hashfile Wireshark-win64-x.y.z.exe SHA256
Linux (GNU Coreutils): sha256sum wireshark-x.y.z.tar.xz
macOS: shasum -a 256 "Wireshark x.y.z Arm 64.dmg"
Other: openssl sha256 wireshark-x.y.z.tar.xz
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEWlrbp9vqbD+HIk8ZgiRKeOb+ruoFAmVVHrsACgkQgiRKeOb+
rur9yQ//Ti9zIrOVFcjkrSVRlI/DmuK5LH4A+phpMRztbd9z3Idzpk8XjyMwQc+q
5bgWuVEFky6h8bQUILJqAaFH1eUIYWXztNP0QwKPkRu3qB0g6cSiAl3q1Ef9/onl
C191aFjb+NaAJl2oU0/5KxbMrcRw66d4FkW7AiPcDibGq804Q1ZUwRnzkrnud8l/
VJPRu9Ps8nCN0W59RqgGq2NV6DXGXLh8LpHMyqcygX8l19DIQRWeuWwRmXse5vtz
F5a9kOOeQ7i/QWkhDMLqbQRdB/xt2MN2BHilX8sbWsanCODCJhUx5mIe71FDvVrR
8knGIu0TajJBAQwavMfZTfst/Qi9LGJ7ChfBhIysfqetS0ns3kiAsE6bLwPddCo0
wnh5cDXj83fX4LkGoeF+NhKnx48pLcV9r+QjYVIZrtipRdK7wruzw5gnO57JXFZI
naQjGYjT9qwHKw9iqFhn4P70Tvlu1OUH81DCE60rT2aRof5ovzoRanjKqLNp6mFb
a6jT7lHamHi2PyW1Z5jYcEHImWK5YIXpeo5MblLb0EebfiCNl2xmVSMFhrSWkGBa
9WJsHGDOa5q/a+RbLOFs532pPkJonGx5ch65BfOvvg862HtUEwilBNO3aQrXVVpv
0RBpClnBRzFY/s10NjHemyFoEtC6Z44+xJLq4rZDvQYyno6LthI=
=T37X
-----END PGP SIGNATURE-----

4471
wireshark.changes Normal file

File diff suppressed because it is too large Load Diff

67
wireshark.keyring Normal file
View File

@ -0,0 +1,67 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQINBFb7GpMBEADwNvKCk7Sabp4nIRocLA5dXf/0t3FisLO1qT0j/7cQna0Y6Vxn
ls9d152002/sAeFIbV2eueIw6SfRsvSJr/9xhqx/F8WtsTCW2z/alGVuGUlVoQc8
LdMBtFBxs8RNKXOSEGS53dddhZ+S3+h9xYxWHq1TgJGudx1RMLFUg+rf7F6nJ9yi
iIWDY3we2aTEYM01KqBiDSnw9tPVeFm58+zipIUpnSuCPx79OFwDyTqefHZ7G8q7
qUKORdFmGfSBVFV2e3mwkVm+lqV41b4fkdXax9XfU9plqpCC4hE4ig2gjIuaNLvJ
Xfo+YBwLwpaz/wuTIUyJMLw+sOUEd7CNgbrEUINbeShzi3+LQO+sk4egETZd4nt4
H1R/pMo10CJWWlfj30bj/vE2ZHkSBISdfFj3rF7/iF8Fqbe55TsH+CeavvCkceFw
illy0+KlzhtYjWIpJ0dlSY+GnmyO9xptWmZVnTRfCevPfVqWmcWEPS0hfwvND/5N
dkbFDNrI0x2MmluimbB4AUv3z6oKb/Osocio8CJ3m9bvitgNqfsrQWD3WYiB7C/I
3lBpzZASNcBos5J8tcL8SeuqOWUhg0jXYxZp3BLMAqrVgsAiYGEZl8dCh9P1MDak
Htf7hGIDYo7tks6lx5MuBYZmWYGVWFWYtrwFiUiez8+UBQHCD55beZaPuQARAQAB
tCNHZXJhbGQgQ29tYnMgPGdlcmFsZEB3aXJlc2hhcmsub3JnPokCNwQTAQoAIQUC
Vvsa/QIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRCCJEp45v6u6tt3EADq
T6kkz6+lhll+ClgowcWqS+GiuUgMhemZ2LkHwiRiy844yRd/m6Q/9JyZPkh86DUf
ZHDHzPKA2/L3yjrG5n4lMJN5Y5BkwHqHbEb+CsH6QS/7uyQ8VlStq42EbG+P57zH
Hrcb9VbO+BGvHWCgPr1Re6/BskEFcO/xV2jwLZ3Z8jk31Zz8IImzWKcOpbwn3j9d
/z0LOHUxorenUi/2kmaaEuLkho5xnafC5O62bIDx4IqsjhURv0iu75h5dLnkcTe3
GGgFx3XrnyC2Y2Tp1sEeJVsW2D1mquHmVKvAITRbDG3muwImubGS/kAT+IANd/ay
c2uVZyqlEQvKHHWNVCzUEVeInhI7ZlUzU6f/GgEhLEj+vGGhhfeXfy06Ylk8TPIa
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
/d6RXj1z84lvlb1iRxNM1bymERhZgIsQLUCz
=eisl
-----END PGP PUBLIC KEY BLOCK-----

306
wireshark.spec Normal file
View File

@ -0,0 +1,306 @@
#
# spec file for package wireshark
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# define libraries
%define libcodecs libwscodecs2
%define libtap libwiretap13
%define libutil libwsutil14
%define libwire libwireshark16
%define org_name org.wireshark.Wireshark
%if 0%{?suse_version} >= 1500
%bcond_without lz4
%else
%bcond_with lz4
%endif
Name: wireshark
Version: 4.0.11
Release: 0
Summary: A Network Traffic Analyser
License: GPL-2.0-or-later AND GPL-3.0-or-later
Group: Productivity/Networking/Diagnostic
URL: https://www.wireshark.org/
Source: https://www.wireshark.org/download/src/%{name}-%{version}.tar.xz
Source2: https://www.wireshark.org/download/SIGNATURES-%{version}.txt#/%{name}-%{version}.tar.xz.hash
Source3: https://www.wireshark.org/download/gerald_at_wireshark_dot_org.gpg#/wireshark.keyring
# PATCH-FIX-UPSTREAM wireshark-0000-wsutil-implicit_declaration_memcpy.patch
Patch0: wireshark-0000-wsutil-implicit_declaration_memcpy.patch
# PATCH-FEATURE-SLE wireshark-0010-dumpcap-permission-denied.patch bsc#1180102
Patch10: wireshark-0010-dumpcap-permission-denied.patch
BuildRequires: %{rb_default_ruby_suffix}-rubygem-asciidoctor
BuildRequires: bison
BuildRequires: flex
BuildRequires: glib2-devel >= 2.32
BuildRequires: hicolor-icon-theme
BuildRequires: krb5-devel
BuildRequires: libbrotli-devel
# keep until libbrotli-devel bug is fixed
BuildRequires: libbrotlidec1
BuildRequires: libcap-devel
BuildRequires: libcares-devel >= 1.5.0
BuildRequires: libgcrypt-devel >= 1.4.2
BuildRequires: libgnutls-devel >= 3.2
BuildRequires: libpcap-devel
BuildRequires: libqt5-linguist-devel
BuildRequires: libsmi-devel
BuildRequires: libtool
BuildRequires: lua51-devel
BuildRequires: net-snmp-devel
BuildRequires: openssl-devel
BuildRequires: pcre2-devel
BuildRequires: pkgconfig
BuildRequires: portaudio-devel
BuildRequires: snappy-devel
BuildRequires: spandsp-devel
BuildRequires: tcpd-devel
BuildRequires: update-desktop-files
BuildRequires: zlib-devel
BuildRequires: pkgconfig(Qt5Concurrent) >= 5.3.0
BuildRequires: pkgconfig(Qt5Core) >= 5.3.0
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Multimedia)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(libmaxminddb)
BuildRequires: pkgconfig(libnghttp2)
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libssh) >= 0.6.0
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(minizip)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(sbc)
BuildRequires: pkgconfig(speexdsp)
# keep until libbrotli-devel bug is fixed
Requires: libbrotlidec1
Requires(pre): permissions
Requires(pre): shadow
Recommends: wireshark-ui = %{version}
Provides: ethereal = %{version}
Obsoletes: %{libcodecs} < %{version}
Obsoletes: ethereal < %{version}
Provides: group(wireshark)
%if 0%{?is_opensuse} && 0%{?suse_version} >= 1550
# enable ITU G.729 Annex A/B speech codec only in Tumbleweed
BuildRequires: pkgconfig(libbcg729)
%endif
%if %{with lz4}
BuildRequires: pkgconfig(liblz4)
# in openSUSE Leap 42.3, lz4 was incorrectly packaged
BuildConflicts: pkgconfig(liblz4) = 124
%endif
%description
Wireshark is a network protocol analyzer. It allows examining data
from a live network or from a capture file on disk. You can
interactively browse the capture data, viewing summary and detailed
information for each packet. Wireshark has several features,
including a rich display filter language and the ability to view the
reconstructed stream of a TCP session.
%package -n %{libutil}
Summary: Library for wireshark utilities
Group: System/Libraries
%description -n %{libutil}
The libwsutil library provides utility functions for libwireshark.
%package -n %{libwire}
Summary: Network packet dissection library
Group: System/Libraries
%description -n %{libwire}
The libwireshark library provides the network packet dissection services
developed by the Wireshark project.
%package -n %{libtap}
Summary: Wireshark library for tapping
Group: System/Libraries
%description -n %{libtap}
Wiretap, part of the Wireshark project, is a library that allows one to read
and write several packet capture file formats.
%package devel
Summary: A Network Traffic Analyser
Group: Development/Libraries/C and C++
Requires: %{libtap} = %{version}
Requires: %{libutil} = %{version}
Requires: %{libwire} = %{version}
Requires: %{name} = %{version}
Requires: glib2-devel
Requires: glibc-devel
Provides: ethereal-devel = %{version}
Obsoletes: ethereal-devel < %{version}
%description devel
Wireshark is a network protocol analyzer. It allows examining data
from a live network or from a capture file on disk.
%package ui-qt
Summary: A Network Traffic Analyser - Qt UI
Group: Productivity/Networking/Diagnostic
Requires: %{name} = %{version}
Requires: hicolor-icon-theme
Requires: xdg-utils
Provides: %{name}-ui = %{version}
# gtk is the deprecated ui so ensure its uninstall
Provides: %{name}-ui-gtk = %{version}
Obsoletes: %{name}-ui-gtk < %{version}
%description ui-qt
This package contains the Qt based UI for Wireshark.
%prep
# The publisher doesn't sign the source tarball, but a signatures file containing multiple hashes.
# Verify hashes in that file against source tarball.
echo "`grep %{name}-%{version}.tar.xz %{SOURCE2} | grep SHA256 | head -n1 | cut -d= -f2` %{SOURCE0}" | sha256sum -c
%autosetup -p1
%build
%cmake -DCMAKE_INSTALL_LIBDIR='%{_lib}/'
%if 0%{?is_opensuse}
%cmake_build
%else
# if the cmake_build makro does not exit we build it by hand...
%{_bindir}/make \
%if "%{_bindir}/make" == "%{_bindir}/make"
-O VERBOSE=1 \
%else
-v \
%endif
-j8
%endif
%install
%cmake_install
find %{buildroot} -type f -name "*.la" -delete -print
# Ethereal support (remove when SLE-11 is out of scope
ln -fs wireshark %{buildroot}%{_bindir}/ethereal
ln -fs tshark %{buildroot}%{_bindir}/tethereal
install -d -m 0755 %{buildroot}%{_sysconfdir}
install -d -m 0755 %{buildroot}%{_mandir}/man1/
# -devel
install -d -m 0755 %{buildroot}%{_includedir}/wireshark
IDIR="%{buildroot}%{_includedir}/wireshark"
mkdir -p "${IDIR}/epan"
mkdir -p "${IDIR}/epan/crypt"
mkdir -p "${IDIR}/epan/ftypes"
mkdir -p "${IDIR}/epan/dfilter"
mkdir -p "${IDIR}/epan/dissectors"
mkdir -p "${IDIR}/epan/wmem"
mkdir -p "${IDIR}/wiretap"
mkdir -p "${IDIR}/wsutil"
install -m 644 *.h "${IDIR}/"
install -m 644 build/config.h "${IDIR}/"
install -m 644 epan/*.h "${IDIR}/epan/"
install -m 644 epan/crypt/*.h "${IDIR}/epan/crypt"
install -m 644 epan/ftypes/*.h "${IDIR}/epan/ftypes"
install -m 644 epan/dfilter/*.h "${IDIR}/epan/dfilter"
install -m 644 epan/dissectors/*.h "${IDIR}/epan/dissectors"
install -m 644 wiretap/*.h "${IDIR}/wiretap"
install -m 644 wsutil/*.h "${IDIR}/wsutil"
# desktop file
cp resources/freedesktop/%{org_name}.desktop %{buildroot}%{_datadir}/applications/%{org_name}-su.desktop
sed -i -e 's|Name=Wireshark|Name=Wireshark - Super User Mode|g' %{buildroot}%{_datadir}/applications/%{org_name}-su.desktop
sed -i -e 's|Exec=wireshark %f|Exec=xdg-su -c wireshark %f|g' %{buildroot}%{_datadir}/applications/%{org_name}-su.desktop
%suse_update_desktop_file %{org_name}
%suse_update_desktop_file %{org_name}-su
rm -f %{buildroot}%{_datadir}/doc/wireshark/*.html
%pre
getent group wireshark >/dev/null || groupadd -r wireshark
%verifyscript
%verify_permissions -e %{_bindir}/dumpcap
%post
%set_permissions %{_bindir}/dumpcap
exit 0
%post -n %{libutil} -p /sbin/ldconfig
%postun -n %{libutil} -p /sbin/ldconfig
%post -n %{libwire} -p /sbin/ldconfig
%postun -n %{libwire} -p /sbin/ldconfig
%post -n %{libtap} -p /sbin/ldconfig
%postun -n %{libtap} -p /sbin/ldconfig
%files
%license COPYING
%doc AUTHORS NEWS README.md README.linux
%{_mandir}/man1/[^i]*
%{_mandir}/man4/*
%{_bindir}/capinfos
%{_bindir}/captype
%{_bindir}/editcap
%{_bindir}/idl2wrs
%{_bindir}/mergecap
%{_bindir}/mmdbresolve
%{_bindir}/randpkt
%{_bindir}/rawshark
%{_bindir}/reordercap
%{_bindir}/sharkd
%{_bindir}/tethereal
%{_bindir}/text2pcap
%{_bindir}/tshark
%verify(not mode caps) %attr(0750,root,wireshark) %caps(cap_net_raw,cap_net_admin=ep) %{_bindir}/dumpcap
%{_libdir}/wireshark/
%{_datadir}/wireshark/
%files -n %{libutil}
%{_libdir}/libwsutil*.so.*
%files -n %{libwire}
%{_libdir}/libwireshark.so.*
%files -n %{libtap}
%{_libdir}/libwiretap.so.*
%files devel
%{_includedir}/wireshark
%{_includedir}/wireshark/config.h
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/wireshark.pc
%files ui-qt
%{_bindir}/wireshark
%{_bindir}/ethereal
%{_datadir}/applications/%{org_name}.desktop
%{_datadir}/applications/%{org_name}-su.desktop
%{_datadir}/icons/hicolor/*/apps/%{org_name}.png
%{_datadir}/icons/hicolor/*/mimetypes/%{org_name}-mimetype.png
%{_datadir}/icons/hicolor/scalable/apps/%{org_name}.svg
%{_datadir}/mime/packages/%{org_name}.xml
%{_datadir}/metainfo/%{org_name}.metainfo.xml
%post ui-qt
%desktop_database_post
%icon_theme_cache_post
%postun ui-qt
%desktop_database_postun
%icon_theme_cache_postun
%changelog