Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:gargerakis
wireshark
wireshark.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File wireshark.spec of Package wireshark
# Note that this is NOT a relocatable package # XXX is this still true? https://fedoraproject.org/wiki/Packaging:Cmake # says that recent CMake versions take care of rpathification. # To do: # - Set version in version.h # - Add bcond_with clang %bcond_with ninja %bcond_with ccache %bcond_without qt5 %bcond_with lua %bcond_with mmdbresolve %bcond_with lz4_and_snappy %bcond_with c_ares %bcond_with spandsp %bcond_with bcg729 %bcond_with libxml2 %bcond_with nghttp2 %bcond_with sdjournal %bcond_with guides %bcond_with brotli %bcond_with zstd # Set at most one of these two: # Note that setcap requires rpmbuild 4.7.0 or later. %global setuid_dumpcap 0 %global setcap_dumpcap 1 %global _prefix /opt/nio # Set to 1 if you want a group called 'wireshark' which users must be a member # of in order to run dumpcap. Only used if setuid_dumpcap or setcap_dumpcap # are set. %global use_wireshark_group 1 %global package_version 3.2.0 AutoReqProv: no Summary: Wireshark is the world's foremost protocol analyzer Name: wireshark Version: 3.2.0 Release: 1 License: GPLv2+ Group: Applications/Internet #Source: https://www.wireshark.org/download/src/%{name}-%{package_version}.tar.xz # Or this URL for automated builds: #Source: https://www.wireshark.org/download/automated/src/%%{name}-%%{package_version}.tar.xz Source: https://1.na.dl.wireshark.org/src/%{name}-%{package_version}.tar.xz #Source: wireshark-3.2.0.tar.gz URL: https://www.wireshark.org/ Packager: Gerald Combs <gerald[AT]wireshark.org> BuildRoot: /tmp/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %if 0%{?rhel} BuildRequires: cmake3 >= 3.5 %else BuildRequires: cmake >= 3.5 %endif BuildRequires: python3 BuildRequires: gcc BuildRequires: perl BuildRequires: flex BuildRequires: bison %if %{with guides} BuildRequires: asciidoctor %endif BuildRequires: glib2-devel >= 2.32.0 Requires: glib2 BuildRequires: libpcap-devel %if 0%{?suse_version} Requires: libpcap1 %else Requires: libpcap %endif BuildRequires: zlib-devel Requires: zlib BuildRequires: libgcrypt-devel %if 0%{?suse_version} Requires: libgcrypt20 %else Requires: libgcrypt %endif %if %{with lz4_and_snappy} %if 0%{?suse_version} BuildRequires: liblz4-devel %if 0%{?sle_version} >= 150000 Requires: liblz4-1 %else Requires: liblz4-1_4 %endif BuildRequires: snappy-devel Requires: libsnappy1 %else BuildRequires: lz4-devel Requires: lz4 BuildRequires: snappy-devel Requires: snappy %endif %endif %if %{with c_ares} %if 0%{?suse_version} # SUSE uses these package names (yes 2!): BuildRequires: libcares-devel Requires: libcares2 %else # ... while Red Hat uses this one: # (What other RPM-based distros do will have to be determined...) BuildRequires: c-ares-devel Requires: c-ares %endif %endif %if %{with lua} %if 0%{?fedora} BuildRequires: compat-lua-devel < 5.3 Requires: compat-lua < 5.3 %else %if 0%{?suse_version} BuildRequires: lua51-devel Requires: lua51 %else BuildRequires: lua-devel < 5.3 Requires: lua < 5.3 %endif %endif %endif %if %{with nghttp2} BuildRequires: libnghttp2-devel %if 0%{?suse_version} Requires: libnghttp2-14 %else Requires: libnghttp2 %endif %endif %if %{with sdjournal} BuildRequires: systemd-devel %if 0%{?suse_version} Requires: libsystemd0 %else Requires: systemd-libs %endif %endif %if %{with brotli} %if 0%{?suse_version} BuildRequires: libbrotli-devel # On SUSE libbrotli-devel installs the libbrotlidec.so, libbrotlienc.so # and libbrotlicommon.so symlinks, but only installs the libbrotlicommon1 and libbrotlienc1 # packages, leaving the libbrotlidec.so symlink broken, so we have to include libbrotlidec1 # as a build-time dependency... BuildRequires: libbrotlidec1 Requires: libbrotlidec1 %else BuildRequires: brotli-devel Requires: brotli %endif %endif %if %{with zstd} BuildRequires: libzstd-devel %if 0%{?suse_version} Requires: libzstd1 %else Requires: libzstd %endif %endif # Uncomment these if you want to be sure you get them... #BuildRequires: krb5-devel #BuildRequires: libsmi-devel #BuildRequires: pcre-devel #BuildRequires: libselinux #BuildRequires: gnutls-devel #BuildRequires: libcap-devel %if %{with mmdbresolve} BuildRequires: libmaxminddb-devel %if 0%{?suse_version} Requires: libmaxminddb0 %else Requires: libmaxminddb %endif %endif %if %{use_wireshark_group} %if 0%{?suse_version} # SUSE's groupadd is in this package: Requires(pre): pwdutils %else # ... while Red Hat's is in this one: Requires(pre): shadow-utils %endif %endif %if %{setcap_dumpcap} # Actually we require rpmbuild (the program) >= 4.7.0 but the package name # where we can find it varies. So we check the 'rpm' version because either # rpmbuild is in that package (e.g., in older distros) or it's in the # 'rpm-build' package which generally requires a matching version of 'rpm'. # # All of this is to save users the trouble of getting through an full compile # only to have rpmbuild barf because it doesn't understand capabilities. BuildRequires: rpm >= 4.7.0 %endif # NOTE: the below description has been copied to wireshark.appdata.xml (in the # top-level directory). %description Wireshark allows you to examine protocol data stored in files or as it is captured from wired or wireless (WiFi or Bluetooth) networks, USB devices, and many other sources. It supports dozens of protocol capture file formats and understands more than a thousand protocols. It has many powerful features including a rich display filter language and the ability to reassemble multiple protocol packets in order to, for example, view a complete TCP stream, save the contents of a file which was transferred over HTTP or CIFS, or play back an RTP audio stream. This package contains command-line utilities, plugins, and documentation for Wireshark. A Qt graphical user interface is packaged separately. %if %{with qt5} %package qt Summary: Wireshark's Qt-based GUI Group: Applications/Internet Obsoletes: wireshark-gnome wireshark-gtk %description qt This package contains the Qt Wireshark GUI and desktop integration files. Requires: %{name} = %{version}-%{release} BuildRequires: gcc-c++ %if 0%{?suse_version} BuildRequires: libQt5Core-devel Requires: libQt5Core5 BuildRequires: libQt5Gui-devel Requires: libQt5Gui5 BuildRequires: libQt5Widgets-devel Requires: libQt5Widgets5 BuildRequires: libQt5PrintSupport-devel Requires: libQt5PrintSupport5 BuildRequires: libqt5-qtmultimedia-devel Requires: libQt5Multimedia5 # Need this for SUSE's suse_update_desktop_file macro BuildRequires: update-desktop-files %else BuildRequires: qt5-qtbase-devel Requires: qt5-qtbase Requires: qt5-qtbase-gui BuildRequires: qt5-qtmultimedia-devel Requires: qt5-qtmultimedia %endif Requires: xdg-utils Requires: hicolor-icon-theme BuildRequires: desktop-file-utils Requires(post): desktop-file-utils # Add this for more readable fonts on some distributions/versions #Requires: dejavu-sans-mono-fonts %endif %package devel Summary: Development headers for Wireshark Group: Applications/Internet Requires: %{name} = %{version}-%{release} %description devel The wireshark-devel package contains the header and other files required for development of Wireshark scripts and plugins. %prep %setup -q -n %{name}-%{package_version} %if 0%{?rhel} cmake3 \ %else %cmake \ %endif %if %{with ccache} -DENABLE_CCACHE=OFF \ %endif -DCMAKE_INSTALL_PREFIX=/opt/nio \ -DBUILD_wireshark=OFF \ -DBUILD_tshark=ON \ -DENABLE_LUA=OFF \ -DBUILD_mmdbresolve=OFF \ -DENABLE_LZ4=ON \ -DENABLE_SNAPPY=ON \ %if %{with c_ares} -DENABLE_CARES=ON \ %else -DENABLE_CARES=OFF \ %endif %if %{with spandsp} -DENABLE_SPANDSP=ON \ %else -DENABLE_SPANDSP=OFF \ %endif %if %{with bcg729} -DENABLE_BCG729=ON \ %else -DENABLE_BCG729=OFF \ %endif %if %{with libxml2} -DENABLE_LIBXML2=ON \ %else -DENABLE_LIBXML2=OFF \ %endif -DENABLE_NGHTTP2=OFF \ %if %{with sdjournal} -DBUILD_sdjournal=ON \ %else -DBUILD_sdjournal=OFF \ %endif %if %{with brotli} -DENABLE_BROTLI=ON \ %else -DENABLE_BROTLI=OFF \ %endif -DDISABLE_WERROR=ON \ %if %{with ninja} -G Ninja \ %endif %if %{with ninja} # Older RPM-based distributions used ninja-build in order to prevent a collision with # the Ninja IRC client: https://bugzilla.redhat.com/show_bug.cgi?id=1166135 NINJA=$(type ninja >/dev/null 2>&1 && echo ninja || echo ninja-build) $NINJA %else # Suggestion: put this in your ~/.rpmmacros (without the hash sign, of course): # %_smp_mflags -j %(grep -c processor /proc/cpuinfo) make %{?_smp_mflags} %endif %install rm -rf $RPM_BUILD_ROOT %if 0%{?suse_version} cd build %endif %if %{with ninja} NINJA=$(type ninja >/dev/null 2>&1 && echo ninja || echo ninja-build) DESTDIR=$RPM_BUILD_ROOT $NINJA install %if %{with guides} DESTDIR=$RPM_BUILD_ROOT $NINJA install_guides %endif %else make DESTDIR=$RPM_BUILD_ROOT install %if %{with guides} make DESTDIR=$RPM_BUILD_ROOT install_guides %endif %endif %if 0%{?suse_version} cd - %endif # If we're being installed in an unusual prefix tell the loader where # to find our libraries. %if "%{_prefix}" != "/usr" %define install_ld_so_conf 1 mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d echo %{_libdir} > $RPM_BUILD_ROOT/etc/ld.so.conf.d/wireshark.conf %endif %clean rm -rf $RPM_BUILD_ROOT %if %{use_wireshark_group} %pre getent group wireshark >/dev/null || groupadd -r wireshark %endif %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL NEWS README* # Include the User Guide: %docdir %{_datadir}/doc/wireshark/ %{_datadir}/doc/wireshark/ # Don't pick up any of the wireshark (GUI) binaries here %{_bindir}/* #%exclude %{_bindir}/wireshark* # This generates a warning because dumpcap is listed twice. That's # probably preferable to listing each program (and keeping the list up to # date)... %if %{use_wireshark_group} && %{setuid_dumpcap} # Setuid but only executable by members of the 'wireshark' group %attr(4750, root, wireshark) %{_bindir}/dumpcap %else %if %{use_wireshark_group} && %{setcap_dumpcap} # Setcap but only executable by members of the 'wireshark' group %attr(0750, root, wireshark) %caps(cap_net_raw,cap_net_admin=ep) %{_bindir}/dumpcap %else %if %{setuid_dumpcap} # Setuid and executable by all %attr(4755, root, root) %{_bindir}/dumpcap %else %if %{setcap_dumpcap} # Setcap and executable by all %attr(0755, root, root) %caps(cap_net_raw,cap_net_admin=ep) %{_bindir}/dumpcap %else # Executable by all but with no special permissions %attr(0755, root, root) %{_bindir}/dumpcap %endif %endif %endif %endif ####################################%{_libdir}/lib*.so* %exclude %{_prefix}/lib64/lib*.so %{_prefix}/lib64/lib*.so.* # Don't pick up the cmake files here #%exclude %{_libdir}/wireshark/cmake #%{_libdir}/wireshark %exclude %{_prefix}/lib64/wireshark/cmake %{_prefix}/lib64/wireshark # Don't pick up the wireshark (GUI) man page here %exclude %{_mandir}/man1/wireshark.* %{_mandir}/man1/* %{_mandir}/man4/* %{_datadir}/wireshark %if 0%{?install_ld_so_conf} /etc/ld.so.conf.d/wireshark.conf %endif #%{_datadir}/appdata/wireshark.appdata.xml #%{_datadir}/icons/hicolor/*/apps/* #%{_datadir}/icons/hicolor/*/mimetypes/* #%{_datadir}/mime/packages/wireshark.xml %{_bindir}/tshark %{_mandir}/man1/wireshark.* #Devel files %{_includedir}/wireshark #%{_libdir}/wireshark/cmake #%{_libdir}/pkgconfig/wireshark.pc %{_prefix}/lib64/pkgconfig/wireshark.pc %{_prefix}/lib64/wireshark/cmake %changelog * Thu Aug 15 2019 Gerald Combs - Add zstd
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor