SHA256
1
0
forked from pool/scamper
scamper/scamper.spec
Sebastian Wagner a6bce56c48 * update to version 20240503:
* scamper:
   * improvements with -N squeries; let -Q send all probes when using -N.
     add -H wait-probe-hop, which specifies the minimum delay between
     probes with the same TTL.  identify the hop that would have caused
     traceroute to stop when not using -N so that a normal traceroute
     path with one hop representing the destination or stopping hop in
     the path is rendered.  in the json output, put extra hops beyond
     the stopping hop into a extra_hops array.
   * make ring-nolocked the default when using -O ring.
   * improvements with udpprobe: provide ability to send multiple copies
     of the same payload, add json output, reuse available UDP sockets
     where possible.
   * consistently set and record the IPv4 tos and IPv6 tclass fields for
     both ping and trace.
   * fix warts.bz2 and warts.xz output, which could previously use all
     available space on the file system.
   * speed up rendering of byte arrays as hex in json output.
   * fix obtaining IPv6 hoplimit on received packets on MacOS.
   * record the name of the interface that received IPv4 and IPv6 ICMP
     responses in ping.
   * add TXT queries to host command; add chaos query class; add
     DNS-over-TCP.
   * fix use of ctype functions according to netbsd (cast all parameters
     to unsigned char).  make pass through use of ctype functions to do
     ctype function calls last in most logical statements.
   * cleanup scamper_file_warts.h so that only necessary struct
     definitions are in that header.
 * libscamperfile:
   * add new functions, bump library version due to udpprobe changes.

OBS-URL: https://build.opensuse.org/package/show/network:utilities/scamper?expand=0&rev=66
2024-05-05 14:25:28 +00:00

168 lines
6.1 KiB
RPMSpec

#
# spec file for package scamper
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2016, Martin Hauke <mardnh@gmx.de>
#
# 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/
#
Name: scamper
Version: 20240503
Release: 0
Summary: Parallel Internet measurement utility
License: GPL-2.0-only
Group: Productivity/Networking/Diagnostic
URL: https://www.caida.org/catalog/software/scamper/
Source: https://www.caida.org/tools/measurement/%{name}/code/%{name}-cvs-%{version}.tar.gz
BuildRequires: libopenssl-devel
# for the Python module
BuildRequires: python3
BuildRequires: python3-Cython0
# for sc_uptime
BuildRequires: pkgconfig(sqlite3)
# for sc_hoiho
BuildRequires: pkgconfig(libpcre2-8)
BuildRequires: pkgconfig(libpcre)
%description
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
Scamper can do ICMP-based Path MTU discovery. scamper starts with the
outgoing interface's MTU and discovers the location of Path MTU
bottlenecks. scamper performs a PMTUD search when an ICMP
fragmentation required message is not returned to establish the PMTU
to the next point in the network, followed by a TTL limited search to
infer where the failure appears to occur.
This also contains the Python module.
%package -n libscamperfile9
Summary: File access library for scamper's binary dump format
Group: System/Libraries
Obsoletes: libscamperfile1 < %{version}
Obsoletes: libscamperfile2 < %{version}
Obsoletes: libscamperfile3 < %{version}
Obsoletes: libscamperfile4 < %{version}
Obsoletes: libscamperfile5 < %{version}
Obsoletes: libscamperfile6 < %{version}
Obsoletes: libscamperfile8 < %{version}
%description -n libscamperfile9
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
This package contains the library that provides access to the binary output
files that scamper can produce in certain modes.
%package -n libscamperfile-devel
Summary: Development headers for scamper's binary dump file access library
Group: Development/Libraries/Other
Requires: libscamperfile8 = %{version}-%{release}
%description -n libscamperfile-devel
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
This package contains development headers and other ancillary files for the
libscamperfile library.
%package -n libscamperctrl2
Summary: Control library for scamper
Group: System/Libraries
Obsoletes: libscamperctl1 < %{version}
%description -n libscamperctrl2
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
This package contains thee library that provides functions to interact
with a collection of scamper instances.
%package -n libscamperctrl-devel
Summary: Development headers for scamper's control library
Group: Development/Libraries/Other
Requires: libscamperctrl2 = %{version}-%{release}
%description -n libscamperctrl-devel
Scamper is a program that is able to conduct Internet measurement
tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to
fill a specified packets-per-second rate. Currently, it supports the
well-known ping and traceroute techniques, as well as MDA traceroute,
alias resolution, some parts of tbit, sting, and neighbour discovery.
This package contains development headers and other ancillary files for the
libscamperctrl library.
%prep
%setup -q -n %{name}-cvs-%{version}
%build
export PYTHON=%{_bindir}/python3
# disable pcre2 build in 20240229 because of build failure. Reported upstream
#%%configure --disable-static --without-debugfile --with-pcre2 --enable-sc_hoiho --enable-sc_uptime --with-python --enable-tests
%configure --disable-static --without-debugfile --enable-sc_uptime --with-python --enable-tests
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%check
pushd tests
make %{?_smp_mflags}
popd
%post -n libscamperfile9 -p /sbin/ldconfig
%post -n libscamperctrl2 -p /sbin/ldconfig
%postun -n libscamperfile9 -p /sbin/ldconfig
%postun -n libscamperctrl2 -p /sbin/ldconfig
%files
%license COPYING
%{_bindir}/sc_*
%{_bindir}/scamper
%{_mandir}/man1/*
%{_mandir}/man5/*
%{python3_sitelib}/scamper.so
%files -n libscamperfile9
%{_libdir}/libscamperfile.so.*
%files -n libscamperfile-devel
%{_includedir}/scamper_*
%{_libdir}/libscamperfile.so
%{_mandir}/man3/*
%files -n libscamperctrl2
%{_libdir}/libscamperctrl.so.*
%files -n libscamperctrl-devel
%{_includedir}/libscamperctrl.h
%{_libdir}/libscamperctrl.so
%changelog