SHA256
1
0
forked from pool/wireshark

Accepting request 448655 from home:scarabeus_iv:branches:network:utilities

OBS-URL: https://build.opensuse.org/request/show/448655
OBS-URL: https://build.opensuse.org/package/show/network:utilities/wireshark?expand=0&rev=192
This commit is contained in:
Andreas Stieger 2017-01-03 16:35:05 +00:00 committed by Git OBS Bridge
parent 9f63a4e4a5
commit 6259242be5
3 changed files with 192 additions and 188 deletions

View File

@ -1,52 +0,0 @@
From: Andreas Stieger <andreas.stieger@gmx.de>
Date: Thu, 27 Jun 2013 21:02:17 +0100
Subject: [patch] change characters in AUTHORS file to be compatible with pod2man
Upstream: never
* remove some characters for which Pod::Man does not have an escape sequence
* replace cyrillic name with transliteration
Wide character in printf at /usr/lib/perl5/5.18.0/Pod/Simple.pm line 539.
wireshark.pod around line 3455: Non-ASCII character seen before =encoding in 'Moń'. Assuming UTF-8
POD document had syntax errors at /usr/bin/pod2man line 71.
make: *** [wireshark.1] Error 255
error: Bad exit status from /var/tmp/rpm-tmp.PtRL60 (%build)
---
AUTHORS | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: wireshark-2.2.0/AUTHORS
===================================================================
--- wireshark-2.2.0.orig/AUTHORS
+++ wireshark-2.2.0/AUTHORS
@@ -3534,7 +3534,7 @@ Peter Hatina <phatina[AT]redhat.com> {
Gtk3 Wireshark fixes
}
-Tomasz Moń <desowin[AT]gmail.com> {
+Tomasz Mon <desowin[AT]gmail.com> {
USBPcap support
}
@@ -3780,7 +3780,7 @@ Cvetan Ivanov <zezo[AT]spnet.net>
Vasanth Manickam <vasanth.manickam[AT]bt.com>
Julian Onions <julian.onions[AT]gmail.com>
Samuel Thibault <samuel.thibault[AT]ens-lyon.org>
-Peter Kovář <peter.kovar[AT]gmail.com>
+Peter Kovár <peter.kovar[AT]gmail.com>
Paul Ollis <paul.ollis[AT]roke.co.uk>
Dominik Kuhlen <dkuhlen[AT]gmx.net>
Karl Knoebl <karl.knoebl[AT]siemens.com>
@@ -3871,8 +3871,8 @@ Paul Stath <pstath[AT]axxcelera.com>
DeCount <aatrade[AT]libero.it>
Andras Veres-Szentkiralyi <vsza[AT]vsza.hu>
Jakob Hirsch <jh.wireshark-bugzilla[AT]plonk.de>
-Роман Донченко <dpb[AT]corrigendum.ru>
-Роман Донченко <billyjeans[AT]gmail.com>
+Roman Donchenko <dpb[AT]corrigendum.ru>
+Roman Donchenko <billyjeans[AT]gmail.com>
Evan Huus <eapache[AT]gmail.com>
Tom Cook <tcook[AT]ixiacom.com>
Tom Alexander <talexander[AT]ixiacom.com>

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Tue Dec 27 11:33:33 UTC 2016 - tchvatal@suse.com
- Cleanup a bit with spec-cleaner
- Properly set ethereal symlink based on UI and set it to proper subpkg
- Update conditionals on wireshark to only build Qt or GTK depending
on the interface, because upstream now only supports Qt5
- Update the caps code in spec but keep it disabled
- Enable geoip only on platforms that support it
- Enable libnl only on newer releases
- Update desktop file and icon caches
- Drop not really needed patch wireshark-1.10.0-authors-pod2man.patch
- Use full commands for icon/desktop cache for gtk mode as on sle11 it
was not present yet as a macro
- Split shared libraries properly to subpackages
-------------------------------------------------------------------
Wed Dec 14 21:01:01 UTC 2016 - astieger@suse.com

View File

@ -16,18 +16,23 @@
#
# disable caps for now
# define libraries
%define libutil libwsutil7
%define libwire libwireshark8
%define libtap libwiretap6
%define libcodecs libwscodecs1
# disable caps
%define use_caps 0
%define use_gtk3 0%{?suse_version} > 1140
%bcond_without gtk
%if 0%{?suse_version} == 1110
%bcond_with qt
%else
# Enable new Qt gui on new releases and build old GTK2 gui on old releases
%if 0%{?suse_version} > 1140
%bcond_without qt
%bcond_with gtk
%bcond_without geoip
%else
%bcond_with qt
%bcond_without gtk
%bcond_with geoip
%endif
%define use_gnutls 0%{?suse_version} >= 1310 || 0%{?suse_version} == 1110
Name: wireshark
Version: 2.2.3
Release: 0
@ -43,82 +48,66 @@ Patch1: wireshark-1.2.0-disable-warning-dialog.patch
# PATCH-FEATURE-OPENSUSE wireshark-1.2.0-geoip.patch prusnak@suse.cz -- search in /var/lib/GeoIP if user hasn't set any GeoIP folders
Patch2: wireshark-1.2.0-geoip.patch
Patch4: wireshark-1.10.0-enable_lua.patch
Patch5: wireshark-1.10.0-authors-pod2man.patch
# for patch7 wireshark-1.12.6-fix-QT-PIC-PIE.patch
BuildRequires: bison
BuildRequires: cairo-devel
BuildRequires: flex
%if %{with gtk}
%if 0%{use_gtk3}
BuildRequires: gtk3-devel >= 3.0.0
BuildRequires: glib2-devel
BuildRequires: hicolor-icon-theme
BuildRequires: krb5-devel
BuildRequires: libcares-devel
BuildRequires: libgcrypt-devel >= 1.1.92
BuildRequires: libgnutls-devel >= 2.12.0
BuildRequires: libpcap-devel
BuildRequires: libsmi-devel
BuildRequires: libtool
BuildRequires: net-snmp-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: portaudio-devel
BuildRequires: tcpd-devel
BuildRequires: update-desktop-files
BuildRequires: zlib-devel
Requires: hicolor-icon-theme
Requires(pre): shadow
Recommends: wireshark-ui = %{version}
Provides: ethereal = %{version}
Obsoletes: ethereal < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if !0%{use_caps}
Requires: xdg-utils
%else
BuildRequires: libcap-devel
Requires(pre): permissions
%endif
%if %{with geoip}
BuildRequires: GeoIP-devel
Recommends: GeoIP
%endif
%if 0%{?suse_version} < 1140
# GNUTLS 3.0 has incompatible license, yet 3.1 is fine
BuildConflicts: libgnutls-devel >= 3.0.0
%endif
%if 0%{?suse_version} > 1310
BuildRequires: pkgconfig(libnl-3.0)
%endif
%if %{with gtk}
BuildRequires: cairo-devel
BuildRequires: gtk2-devel >= 2.12.0
%endif # use_gtk3
%endif # with gtk
%endif
%if %{with qt}
%if 0%{?suse_version} > 1320
BuildRequires: libqt5-linguist
BuildRequires: pkgconfig(Qt5Core) >= 5.0.0
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Multimedia)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(Qt5Widgets)
%else
%if 0%{?suse_version} >= 1220
BuildRequires: pkgconfig(QtCore) >= 4.7.0
%else
BuildRequires: libqt4-devel >= 4.7.0
%endif # 12.20
%endif
%endif # with qt
BuildRequires: krb5-devel
BuildRequires: libcap-devel
BuildRequires: libcares-devel
BuildRequires: libgcrypt-devel >= 1.1.92
BuildRequires: libpcap-devel
BuildRequires: libsmi-devel
%if 0%{?suse_version} > 1320
BuildRequires: lua52-devel
%else
BuildRequires: lua-devel
%endif
BuildRequires: net-snmp-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: portaudio-devel
BuildRequires: python-devel >= 2.5
BuildRequires: tcpd-devel
BuildRequires: xdg-utils
%if 0%{?suse_version} > 1220
BuildRequires: zlib-devel
%endif
Requires: xdg-utils
Provides: ethereal = %{version}
Obsoletes: ethereal < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version}
BuildRequires: libGeoIP-devel
BuildRequires: update-desktop-files
Recommends: GeoIP
%endif
%if 0%{?use_gnutls}
# pull in licence compatible gnutls
%if 0%{?suse_version} >= 1310
BuildRequires: pkgconfig(gnutls) >= 3.1.10
%endif # >= 13.1
%if 0%{?suse_version} == 1110
BuildRequires: libgnutls-devel >= 2.12.0
BuildConflicts: libgnutls-devel >= 3.0.0
%endif # SLE 11
%endif # use_gnutls
# for patch7 wireshark-1.12.6-fix-QT-PIC-PIE.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libnl-genl-3.0)
BuildRequires: pkgconfig(libnl-route-3.0)
Recommends: wireshark-ui = %{version}
%description
Wireshark is a free network protocol analyzer for Unix and Windows. It
@ -128,9 +117,43 @@ and detail information for each packet. Wireshark has several powerful
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 -n %{libcodecs}
Summary: Network packet dissection codecs library
Group: System/Libraries
%description -n %{libcodecs}
The libwscodecs library provides codec functions for libwireshark.
%package devel
Summary: A Network Traffic Analyser
Group: Development/Libraries/C and C++
Requires: %{libcodecs} = %{version}
Requires: %{libtap} = %{version}
Requires: %{libutil} = %{version}
Requires: %{libwire} = %{version}
Requires: %{name} = %{version}
Requires: glib2-devel
Requires: glibc-devel
@ -146,7 +169,6 @@ features, including a rich display filter language and the ability to
view the reconstructed stream of a TCP session.
%if %{with gtk}
%package ui-gtk
Summary: A Network Traffic Analyser - GTK+ UI
Group: Productivity/Networking/Diagnostic
@ -154,12 +176,10 @@ Requires: %{name} = %{version}
Provides: %{name}-ui = %{version}
%description ui-gtk
This package contains the classic GTK+ UI of Wireshark.
This package contains the GTK+ UI of Wireshark.
%endif
%if %{with qt}
%package ui-qt
Summary: A Network Traffic Analyser - Qt UI
Group: Productivity/Networking/Diagnostic
@ -167,16 +187,15 @@ Requires: %{name} = %{version}
Provides: %{name}-ui = %{version}
%description ui-qt
This package contains the newer Qt based UI for Wireshark.
This package contains the Qt based UI for Wireshark.
%endif
%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.bz2 %{S:2} | grep MD5 | head -n1 | cut -d= -f2` %{S:0}" | md5sum -c
echo "`grep %{name}-%{version}.tar.bz2 %{S:2} | grep SHA1 | head -n1 | cut -d= -f2` %{S:0}" | sha1sum -c
echo "`grep %{name}-%{version}.tar.bz2 %{S:2} | grep SHA256 | head -n1 | cut -d= -f2` %{S:0}" | sha256sum -c
echo "`grep %{name}-%{version}.tar.bz2 %{SOURCE2} | grep MD5 | head -n1 | cut -d= -f2` %{SOURCE0}" | md5sum -c
echo "`grep %{name}-%{version}.tar.bz2 %{SOURCE2} | grep SHA1 | head -n1 | cut -d= -f2` %{SOURCE0}" | sha1sum -c
echo "`grep %{name}-%{version}.tar.bz2 %{SOURCE2} | grep SHA256 | head -n1 | cut -d= -f2` %{SOURCE0}" | sha256sum -c
%setup -q
%patch2 -p1
@ -184,63 +203,40 @@ echo "`grep %{name}-%{version}.tar.bz2 %{S:2} | grep SHA256 | head -n1 | cut -d=
%if ! %{use_caps}
%patch1 -p1
# run as root on 11.3 and older - bnc#349782
sed -i 's!^Exec=wireshark!Exec=/usr/bin/xdg-su -c /usr/bin/wireshark!' wireshark.desktop
# run as root if not using caps
sed -i 's!^Exec=wireshark!Exec=%{_bindir}/xdg-su -c %{_bindir}/wireshark!' wireshark.desktop
%endif
%if %{with qt}
sed -i 's/^Icon=wireshark.png$/Icon=wireshark/' wireshark.desktop
%endif # with qt
%if %{with gtk}
sed -i 's/^Icon=wireshark.png$/Icon=wireshark/' wireshark.desktop
sed \
-e 's/^Name.*Wireshark/& (GTK)/' \
-e 's/^Icon=wireshark/&-gtk/' \
-e '/Exec=/s/wireshark/&-gtk/g' %{name}.desktop > %{name}-gtk.desktop
%endif # with gtk
%patch5 -p1
%endif
%build
# for patch6 wireshark-1.12.x-allow-gdk-pixbuf-deprecation.patch
autoreconf -fiv
# zlib-1.2.5 does not work well with wireshark, so disable it on pre-12.2
export CFLAGS="%optflags -fPIC"
export CXXFLAGS="%optflags -fPIC"
export CFLAGS="%{optflags} -fPIC"
export CXXFLAGS="%{optflags} -fPIC"
export LDFLAGS="-pie"
%if 0%{?suse_version} > 1320
%if %{with qt}
#XXX: buggy autoconf checks..
export PATH="%{_libdir}/qt5/bin:$PATH"
%endif
%configure \
%if 0%{?suse_version} < 1220
--without-zlib \
%endif
%if %{with gtk}
%if 0%{?use_gtk3}
--with-gtk3=yes \
--with-gtk2=no \
%else
--with-gtk3=no \
--with-gtk2=yes \
%endif
%else
--with-gtk3=no \
--with-gtk2=no \
%endif # with gtk
%if %{with qt}
--with-qt=yes \
%else
--with-qt=no \
%endif
--with-ssl \
%if 0%{?use_gnutls}
--with-gnutls=yes \
%endif
--with-gcrypt=yes \
--with-plugins=%{_libdir}/%{name}/plugins/%{version} \
--with-pic=yes
@ -248,25 +244,24 @@ export PATH="%{_libdir}/qt5/bin:$PATH"
make %{?_smp_mflags} V=1
%install
make DESTDIR=%{buildroot} install
find %{buildroot} -name "*.la" -delete -print
make %{?_smp_mflags} DESTDIR=%{buildroot} install
find %{buildroot} -type f -name "*.la" -delete -print
rm -rf %{buildroot}%{_datadir}/%{name}/COPYING
# Ethereal support (remove when SLE-11 is out of scope
%if %{with gtk}
ln -fs wireshark-gtk %{buildroot}%{_bindir}/ethereal
%endif
%if %{with qt}
ln -fs wireshark %{buildroot}%{_bindir}/ethereal
%endif
ln -fs tshark %{buildroot}%{_bindir}/tethereal
install -d -m 0755 %{buildroot}%{_sysconfdir}
install -d -m 0755 %{buildroot}%{_mandir}/man1/
# install -m 0644 *.1 %%{buildroot}%%{_mandir}/man1/
# install separate appdata files corresponding to .desktop files for AppStore integration
install -d -m0755 %{buildroot}%{_datadir}/appdata
install -m644 wireshark.appdata.xml %{buildroot}%{_datadir}/appdata/%{name}-gtk.appdata.xml
sed -i -e "/<description>/i \ \ \ \ <name>Wireshark (GTK) Network Analyzer<\/name>" \
-e "/<description>/i \ \ \ \ <summary>GTK interface for wireshark network traffic analyzer<\/summary>" \
-e "s/wireshark\.desktop/wireshark-gtk.desktop/" \
%{buildroot}%{_datadir}/appdata/%{name}-gtk.appdata.xml
install -m644 wireshark.appdata.xml %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml
sed -i -e "/<description>/i \ \ \ \ <name>Wireshark (QT) Network Analyzer<\/name>" \
-e "/<description>/i \ \ \ \ <summary>QT interface for wireshark network traffic analyzer<\/summary>" \
@ -274,7 +269,7 @@ sed -i -e "/<description>/i \ \ \ \ <name>Wireshark (QT) Network Analyzer<\/name
# -devel
install -d -m 0755 %{buildroot}%{_includedir}/wireshark
IDIR="${RPM_BUILD_ROOT}%{_includedir}/wireshark"
IDIR="%{buildroot}%{_includedir}/wireshark"
mkdir -p "${IDIR}/epan"
mkdir -p "${IDIR}/epan/crypt"
mkdir -p "${IDIR}/epan/ftypes"
@ -296,42 +291,54 @@ install -m 644 wsutil/*.h "${IDIR}/wsutil"
%if %{with gtk}
install -D -m 0644 image/wsicon48.png %{buildroot}%{_datadir}/pixmaps/wireshark-gtk.png
install -D -m 0644 wireshark-gtk.desktop %{buildroot}%{_datadir}/applications/wireshark-gtk.desktop
%if 0%{?suse_version}
%suse_update_desktop_file %{name}-gtk
%endif
%else
# sometimes the gtk.desktop gets autoinstalled by make_install
rm -f %{buildroot}%{_datadir}/applications/wireshark-gtk.desktop
%endif
%if %{with qt}
install -D -m 0644 image/wsicon48.png %{buildroot}%{_datadir}/pixmaps/wireshark.png
install -D -m 0644 wireshark.desktop %{buildroot}%{_datadir}/applications/wireshark.desktop
%if 0%{?suse_version}
%suse_update_desktop_file %{name}
%endif
%endif
%clean
rm -rf %{buildroot}
%if %{use_caps}
%pre
getent group wireshark >/dev/null || groupadd wireshark
getent group wireshark >/dev/null || groupadd -r wireshark
%verifyscript
%{verify_permissions -e %_bindir/dumpcap}
%endif
%post -p /sbin/ldconfig
%post
%if %{use_caps}
%if 0%{?set_permissions:1} > 0
%set_permissions %_bindir/dumpcap
%else
%run_permissions
%endif
%endif # use_caps
exit 0
%postun -p /sbin/ldconfig
%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
%post -n %{libcodecs} -p /sbin/ldconfig
%postun -n %{libcodecs} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc AUTHORS COPYING NEWS README README.linux README.vmware
%doc %{_mandir}/man1/[^i]*
%doc %{_mandir}/man4/*
%{_mandir}/man1/[^i]*
%{_mandir}/man4/*
%{_bindir}/capinfos
%{_bindir}/captype
%{_bindir}/dftest
%{_bindir}/editcap
%{_bindir}/ethereal
%{_bindir}/idl2wrs
%{_bindir}/mergecap
%{_bindir}/randpkt
@ -341,11 +348,10 @@ getent group wireshark >/dev/null || groupadd wireshark
%{_bindir}/text2pcap
%{_bindir}/tshark
%if %{use_caps}
%attr(0750,root,wireshark) %caps(cap_net_raw,cap_net_admin=eip) %{_bindir}/dumpcap
%verify(not mode caps) %attr(0750,root,wireshark) %caps(cap_net_raw,cap_net_admin=eip) %{_bindir}/dumpcap
%else
%{_bindir}/dumpcap
%endif
%{_libdir}/lib*.so.*
%{_libdir}/wireshark/
%{_datadir}/wireshark/
%{_datadir}/icons/hicolor/*/apps/wireshark.png
@ -353,6 +359,22 @@ getent group wireshark >/dev/null || groupadd wireshark
%{_datadir}/icons/hicolor/scalable/apps/wireshark.svg
%{_datadir}/mime/packages/wireshark.xml
%files -n %{libutil}
%defattr(-,root,root)
%{_libdir}/libwsutil*.so.*
%files -n %{libwire}
%defattr(-,root,root)
%{_libdir}/libwireshark.so.*
%files -n %{libtap}
%defattr(-,root,root)
%{_libdir}/libwiretap.so.*
%files -n %{libcodecs}
%defattr(-,root,root)
%{_libdir}/libwscodecs.so.*
%files devel
%defattr(-,root,root)
%doc doc/README.*
@ -361,26 +383,44 @@ getent group wireshark >/dev/null || groupadd wireshark
%{_libdir}/pkgconfig/wireshark.pc
%if %{with gtk}
%files ui-gtk
%defattr(-,root,root)
%{_bindir}/wireshark-gtk
%{_bindir}/ethereal
%{_datadir}/appdata/wireshark-gtk.appdata.xml
%{_datadir}/applications/wireshark-gtk.desktop
%{_datadir}/pixmaps/wireshark-gtk.png
%post ui-gtk
test -f /usr/bin/update-mime-database && /usr/bin/update-mime-database %{_datadir}/mime > /dev/null || :
test -f /usr/bin/update-desktop-database && /usr/bin/update-desktop-database > /dev/null || :
test -f /sbin/conf.d/SuSEconfig.gtk2 && SuSEconfig --module gtk2 > /dev/null || :
test -f /sbin/conf.d/SuSEconfig.glib2 && SuSEconfig --module glib2 > /dev/null || :
%postun ui-gtk
test -f /usr/bin/update-mime-database && /usr/bin/update-mime-database %{_datadir}/mime > /dev/null || :
test -f /usr/bin/update-desktop-database && /usr/bin/update-desktop-database > /dev/null || :
test -f /sbin/conf.d/SuSEconfig.gtk2 && SuSEconfig --module gtk2 > /dev/null || :
test -f /sbin/conf.d/SuSEconfig.glib2 && SuSEconfig --module glib2 > /dev/null || :
%endif
%if %{with qt}
%files ui-qt
%defattr(-,root,root)
%{_bindir}/wireshark
%{_bindir}/ethereal
%dir %{_datadir}/appdata
%{_datadir}/appdata/wireshark.appdata.xml
%{_datadir}/applications/wireshark.desktop
%{_datadir}/pixmaps/wireshark.png
%post ui-qt
%desktop_database_post
%icon_theme_cache_post
%postun ui-qt
%desktop_database_postun
%icon_theme_cache_postun
%endif
%changelog