# Initially generated by go2rpm 1.3 %bcond_without check # https://github.com/facebook/time %global goipath github.com/facebook/time %global commit 83c4193bc7b7c50a3cf8dcff197cfe1c8897adbf %gometa %global common_description %{expand: Collection of Facebook's NTP and PTP libraries.} %global golicenses LICENSE %global godocs CODE_OF_CONDUCT.md CONTRIBUTING.md Name: %{goname} Version: 0 Release: 0.5%{?dist} Summary: Facebook's NTP and PTP libraries # Upstream license specification: Apache-2.0 License: ASL 2.0 URL: %{gourl} Source0: %{gosource} BuildRequires: golang(github.com/davecgh/go-spew/spew) BuildRequires: golang(github.com/jsimonetti/rtnetlink/rtnl) BuildRequires: golang(github.com/fatih/color) BuildRequires: golang(github.com/go-ini/ini) BuildRequires: golang(github.com/hashicorp/go-version) BuildRequires: golang(github.com/google/gopacket) BuildRequires: golang(github.com/google/gopacket/layers) BuildRequires: golang(github.com/google/gopacket/pcap) BuildRequires: golang(github.com/google/gopacket/pcapgo) BuildRequires: golang(github.com/olekukonko/tablewriter) BuildRequires: golang(github.com/sirupsen/logrus) BuildRequires: golang(github.com/spf13/cobra) BuildRequires: golang(github.com/vtolstov/go-ioctl) BuildRequires: golang(golang.org/x/net/icmp) BuildRequires: golang(golang.org/x/net/ipv6) BuildRequires: golang(golang.org/x/sync/errgroup) BuildRequires: golang(golang.org/x/sys/unix) %if %{with check} # Tests BuildRequires: golang(github.com/golang/mock/gomock) BuildRequires: golang(github.com/stretchr/testify/assert) BuildRequires: golang(github.com/stretchr/testify/require) %endif %description %{common_description} %package -n calnex Summary: CLI for a Calnex Sentinel device %description -n calnex - calnex CLI supports several basic commands such as: - Firmware upgrade - Configuration of the device - Measurement data export - Device reboot - Device clear - Device problem report export %package -n ntpcheck Summary: CLI to perform various NTP-related tasks %description -n ntpcheck ntpcheck is a CLI to perform various NTP-related tasks: - replacement for ntptime and ntpdate commands - human-readable diagnostics for typical problems with NTP based on data from chrony/ntpd - server stats and peer stats taken from chrony/ntpd with output in JSON %package -n ntpresponder Summary: Simple NTP server implementation with kernel timestamps support Provides: responder = %{version}-%{release} Obsoletes: responder < 0-0.5 %description -n ntpresponder ntpresponder is a simple NTP server implementation with kernel timestamps support, designed for scale and security. %package -n pshark Summary: Simple tool to print PTP packets from pcap/pcapng captures %description -n pshark pshark is a simple tool to read pcap/pcapng captures and parse and print PTP packets from there. Allows to test our protocol parser implementation against arbitrary tcpdump capture. Also the code shows integration with GoPacket library. %package -n ptpcheck Summary: CLI to perform various PTP-related tasks %description -n ptpcheck CLI and library to perform various PTP-related tasks, including: - reporting stats taken from local PTP instance in JSON format - running basic unicast client to showcase or debug PTP protocol internals - running human-readable diagnostics for basic problems with PTP based on data from local PTP client (ptp4l) - comparing system time with PHC time - mapping PHC devices to network cards and vice versa %package -n ptp4u Summary: Scalable unicast PTP server %description -n ptp4u ptp4u is a scalable unicast PTP server. %package -n ziffy Summary: CLI tool to triangulate switches that are not operating correctly as PTP Transparent Clocks. %description -n ziffy CLI tool to triangulate datacenter switches that are not operating correctly as PTP Transparent Clocks. Ziffy sends PTP SYNC/DELAY_REQ packets between two hosts to get data about the topology. It supports sending packets from a range of source ports to encourage hashing of traffic over multiple paths. In case the hashing is done using only destination IP and source IP, Ziffy can target multiple IPs in the same /64 prefix as the destination. %gopkg %prep %goprep %build for cmd in calnex ntpcheck ntpresponder pshark ptpcheck ptp4u ziffy; do %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/cmd/$cmd done %install %gopkginstall install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ %if %{with check} %check %gocheck %endif %files -n calnex %license LICENSE %doc calnex/README.md %{_bindir}/calnex %files -n ntpcheck %license LICENSE %doc README.md %{_bindir}/ntpcheck %files -n ntpresponder %license LICENSE %doc README.md %{_bindir}/ntpresponder %files -n pshark %license LICENSE %doc README.md %{_bindir}/pshark %files -n ptpcheck %license LICENSE %doc README.md %{_bindir}/ptpcheck %files -n ptp4u %license LICENSE %doc ptp/ptp4u/README.md %{_bindir}/ptp4u %files -n ziffy %license LICENSE %doc cmd/ziffy/README.md %{_bindir}/ziffy %gopkgfiles %changelog * Fri Jan 14 2022 Alexander Bulimov - 0-0.5.20220113git83c4193 - Initial package