From 3db19835e88f9cbf913cce4a42c6c1539b41abe6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Sat, 2 Jun 2012 16:21:40 +0000 Subject: [PATCH] - use setcaps instead of .desktop file hacks http://wiki.wireshark.org/CaptureSetup/CapturePrivileges Changed files: wireshark-desktop.patch -> 1.5 wireshark.spec -> 1.239 --- wireshark-desktop.patch | 33 ++++++--------------------------- wireshark.spec | 34 +++++++++++++++++++++++----------- 2 files changed, 29 insertions(+), 38 deletions(-) diff --git a/wireshark-desktop.patch b/wireshark-desktop.patch index 79fc4c6..72c9f44 100644 --- a/wireshark-desktop.patch +++ b/wireshark-desktop.patch @@ -1,35 +1,14 @@ ---- wireshark-1.2.4/wireshark-kde.desktop 2009-12-09 10:09:05.765409184 +0200 -+++ wireshark-1.2.4/wireshark-kde.desktop 2009-12-09 10:18:48.798894254 +0200 -@@ -71,7 +71,11 @@ -+Comment[ja]=The Wireshark ネットワーク・アナライザー -+Comment[pl]=Wireshark - analizator ruchu w sieci - Icon=wireshark.png - TryExec=wireshark - Exec=wireshark %f - Terminal=false -+X-KDE-SubstituteUID=true -+OnlyShowIn=KDE; - MimeType=application/vnd.tcpdump.pcap; - # Categorie entry according to version 1.0 of - # http://www.freedesktop.org/wiki/Specifications/menu-spec --Categories=System;Monitor;GTK; -+Categories=GTK;Network; ---- wireshark-1.2.4/wireshark.desktop~ 2009-11-16 22:33:26.000000000 +0200 -+++ wireshark-1.2.4/wireshark.desktop 2009-12-09 10:16:55.333281083 +0200 -@@ -68,10 +68,13 @@ +--- wireshark-1.6.7/wireshark.desktop 2012-06-02 18:29:44.784985048 +0300 ++++ wireshark-1.6.7/wireshark.desktop 2012-06-02 18:30:27.236953001 +0300 +@@ -67,6 +67,8 @@ + Comment=Network traffic analyzer Comment[fi]=Verkkoliikenne analysaattori Comment[fr]=Analyseur de trafic réseau - Comment[sv]=Nätverkstrafikanalysator +Comment[ja]=The Wireshark ネットワーク・アナライザー +Comment[pl]=Wireshark - analizator ruchu w sieci + Comment[sv]=Nätverkstrafikanalysator Icon=wireshark.png TryExec=wireshark --Exec=wireshark %f -+Exec=gksu -u root wireshark -+NotShowIn=KDE; - Terminal=false - MimeType=application/vnd.tcpdump.pcap; - # Categorie entry according to version 1.0 of - # http://www.freedesktop.org/wiki/Specifications/menu-spec +@@ -78 +80 @@ -Categories=System;Monitor;GTK; +Categories=GTK;Network; diff --git a/wireshark.spec b/wireshark.spec index 59be986..528e141 100644 --- a/wireshark.spec +++ b/wireshark.spec @@ -1,5 +1,6 @@ # TODO -# - use policykit to gain root instead of .desktop file hacks +# - use policykit to gain root +# - use %caps when rpm supports it: %attr(750,root,wireshark) %caps(cap_net_raw,cap_net_admin=eip) %{_sbindir}/dumpcap # - think of loosing dependency loop: # Executing rpm --upgrade -vh --root /... # error: LOOP: @@ -25,7 +26,7 @@ Summary(ru.UTF-8): Анализатор сетевого траффика Summary(uk.UTF-8): Аналізатор мережевого трафіку Name: wireshark Version: 1.6.7 -Release: 1 +Release: 2 License: GPL Group: Networking/Utilities Source0: http://www.wireshark.org/download/src/%{name}-%{version}.tar.bz2 @@ -104,8 +105,11 @@ Group: Networking Requires: libwiretap = %{version}-%{release} Provides: %{name}-tools Provides: ethereal-common +Provides: group(wireshark) Obsoletes: ethereal-common Obsoletes: wireshark-tools +Requires(post,postun): /sbin/ldconfig +Requires(post,postun): /sbin/setcap %description common Wireshark is the name for powerful graphical network sniffer, traffic @@ -216,8 +220,7 @@ Pliki nagłówkowe biblioteki libwiretap służącej do przechwytywania pakietów. %prep -%setup -q -n %{name}-%{version} -cp wireshark.desktop wireshark-kde.desktop +%setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -251,9 +254,8 @@ install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},%{_includedir}/wiretap} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -cp -a image/hi48-app-wireshark.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png -cp -a wireshark.desktop $RPM_BUILD_ROOT%{_desktopdir} -cp -a wireshark-kde.desktop $RPM_BUILD_ROOT%{_desktopdir} +cp -p image/hi48-app-wireshark.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png +cp -p wireshark.desktop $RPM_BUILD_ROOT%{_desktopdir} cp -a wiretap/*.h $RPM_BUILD_ROOT%{_includedir}/wiretap @@ -266,8 +268,19 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libwireshark.{so,la} %clean rm -rf $RPM_BUILD_ROOT -%post common -p /sbin/ldconfig -%postun common -p /sbin/ldconfig +%pre common +%groupadd -P %{name}-common -g 104 wireshark + +%post common +/sbin/ldconfig +/sbin/setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' %{_bindir}/dumpcap +exit 0 + +%postun common +/sbin/ldconfig +if [ "$1" = "0" ]; then + %groupremove wireshark +fi %post -n libwiretap -p /sbin/ldconfig %postun -n libwiretap -p /sbin/ldconfig @@ -281,7 +294,6 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/%{name}/plugins/%{version}*/*.so %{_datadir}/%{name} %{_desktopdir}/%{name}.desktop -%{_desktopdir}/%{name}-kde.desktop %{_pixmapsdir}/*.png %{_mandir}/man1/wireshark.1* @@ -290,7 +302,7 @@ rm -rf $RPM_BUILD_ROOT %doc AUTHORS* ChangeLog NEWS README{,.[lv]*} doc/{randpkt.txt,README.*} %attr(755,root,root) %{_bindir}/capinfos %attr(755,root,root) %{_bindir}/dftest -%attr(755,root,root) %{_bindir}/dumpcap +%attr(750,root,wireshark) %{_bindir}/dumpcap %attr(755,root,root) %{_bindir}/editcap %attr(755,root,root) %{_bindir}/idl2wrs %attr(755,root,root) %{_bindir}/mergecap -- 2.44.0