File ptpd.spec of Package ptpd

# spec file for package ptpd
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# 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

Name:           ptpd
Version:        2.3.0
Release:        0
Summary:        Implements the Precision Time protocol as defined by IEEE 1588 standard
License:        BSD-3-Clause
Group:          System/Daemons
Source1:        ptpd2.service
Source2:        ptpd2.conf
Source3:        conf.sysconfig.ptpd
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  libpcap-devel
BuildRequires:  libtool
BuildRequires:  net-snmp-devel
BuildRequires:  openssl-devel
BuildRequires:  systemd-rpm-macros
BuildRequires:  zlib-devel
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

The PTP daemon (PTPd) implements the Precision Time protocol (PTP) as
defined by the IEEE 1588 standard. PTP was developed to provide very
precise time coordination of LAN connected computers.

PTPd is a complete implementation of the IEEE 1588 specification for a
standard (non-boundary) clock. PTPd has been tested with and is known
to work properly with other IEEE 1588 implementations. The source code
for PTPd is freely available under a BSD-style license. Thanks to
contributions from users, PTPd is becoming an increasingly portable,
interoperable, and stable IEEE 1588 implementation.

PTPd can run on most 32-bit little- or big-endian processors. It does
not require an FPU, so it is great for embedded processors. PTPd
currently runs on Linux, uClinux, FreeBSD, and NetBSD. It should also
be easy to port to other platforms.

PTPd is free. Everyone is invited to use and contribute to PTPd.

%setup -q
autoreconf -fiv

%configure \
    --enable-statistics \
    --enable-ntpdc \

make DESTDIR=%{buildroot} install %{?_smp_mflags}
install -D -m 644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}2.service
ln -sv %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}2
install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}2.conf
install -D -m 644 %{SOURCE3} %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.ptpd2
# have to create the below, else ptpd will not log drift
install -d %{buildroot}%{_localstatedir}/log
touch %{buildroot}%{_localstatedir}/log/ptpd2_kernelclock.drift

%defattr(-, root, root)
%config %{_sysconfdir}/%{name}2.conf
%config %ghost %{_localstatedir}/log/ptpd2_kernelclock.drift

%service_add_pre %{name}2.service

%service_del_preun %{name}2.service

%service_add_post %{name}2.service
%{fillup_only -n ptpd2}

%service_del_postun %{name}2.service