File ostinato.spec of Package Ostinato
#
# spec file for package Ostinato
#
# Copyright (c) 2020 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 qt5_version 5.9.0
Name: ostinato
Version: 1.2.0
Release: 0
Url: https://ostinato.org/
Source: https://github.com/pstavirs/%{name}/archive/v%{version}.tar.gz
Source1: %{name}.desktop
Summary: Traffic Generator for Network Engineers
License: GPL-3.0+
Group: Productivity/Networking/Other
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libqt5-qtbase-common-devel >= %{qt5_version}
BuildRequires: ImageMagick
BuildRequires: pkgconfig
BuildRequires: pkgconfig(Qt5Core) >= %{qt5_version}
BuildRequires: pkgconfig(Qt5Script) >= %{qt5_version}
BuildRequires: pkgconfig(Qt5Network) >= %{qt5_version}
BuildRequires: pkgconfig(Qt5Widgets) >= %{qt5_version}
BuildRequires: pkgconfig(Qt5Test) >= %{qt5_version}
BuildRequires: pkgconfig(Qt5Xml) >= %{qt5_version}
BuildRequires: pkgconfig(Qt5Svg) >= %{qt5_version}
BuildRequires: protobuf-devel
BuildRequires: libpcap-devel
BuildRequires: libnl3-devel
BuildRequires: update-desktop-files
Requires: %{name}-drone
Recommends: wireshark
%description
Ostinato is a network packet/traffic generator and analyzer
with a friendly GUI. It aims to be "Wireshark in Reverse"
and thus become complementary to Wireshark. It features custom
packet crafting with editing of any field for several protocols:
Ethernet, 802.3, LLC SNAP, VLAN (with Q-in-Q), ARP, IPv4, IPv6,
IP-in-IP a.k.a IP Tunneling, TCP, UDP, ICMPv4, ICMPv6, IGMP, MLD,
HTTP, SIP, RTSP, NNTP, etc. It is useful for both functional and
performance testing.
%package drone
Summary: Drone agent for Ostinato Packet/Traffic Generator and Analyzer
%description drone
Drone agent for the Ostinato packet/traffic generator.
The drone runs as a standalone headless application controlled by the
ostinato UI which can be either remote or locally installed
%prep
%autosetup
%build
qmake-qt5 QMAKE_CFLAGS+="%optflags" QMAKE_CXXFLAGS+="%optflags" QMAKE_STRIP="/bin/true"
%make_build
%install
%make_install INSTALL_ROOT="%buildroot"
mkdir -p %buildroot/%{_bindir}
mv %buildroot/usr/local/bin/* %buildroot/%{_bindir}
mv %buildroot/usr/local/share %buildroot/%{_datadir}
# Install an icon
mkdir -p %{buildroot}%{_datadir}/pixmaps
install -pm 0644 client/icons/logo.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
mogrify -extent "200x200" -background transparent -gravity "south" %{buildroot}%{_datadir}/pixmaps/%{name}.png
mogrify -scale 64x64 -background transparent %{buildroot}%{_datadir}/pixmaps/%{name}.png
rm -f %{buildroot}%{_datadir}/pixmaps/%{name}.png~*
# Install desktop file
%suse_update_desktop_file -i %{name}
%files
%doc README.md
%license COPYING
%{_bindir}/ostinato
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/ostinato-controller
%files drone
%doc README.md
%license COPYING
%{_bindir}/drone
%changelog