This commit is contained in:
parent
f394bea2f6
commit
1292991040
188
conf.ptpd.init
Normal file
188
conf.ptpd.init
Normal file
@ -0,0 +1,188 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# SuSE system startup script for service/daemon ptpd
|
||||
# Copyright (C) 1995--2007 SUSE / Novell Inc.
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
|
||||
# USA.
|
||||
#
|
||||
# /etc/init.d/ptpd
|
||||
# and its symbolic link
|
||||
# /usr/sbin/rcptpd
|
||||
#
|
||||
# LSB compatible service control script; see http://www.linuxbase.org/spec/
|
||||
# Please send feedback to http://www.suse.de/feedback/
|
||||
#
|
||||
# chkconfig: 345 71 29
|
||||
# description: Precision Time Protocol as defined by IEEE 1588
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: ptpd
|
||||
# Required-Start: $remote_fs $syslog $network
|
||||
# Should-Start: $time
|
||||
# Required-Stop: $remote_fs $syslog $network
|
||||
# Should-Stop: $time
|
||||
# Default-Start: 3 4 5
|
||||
# Default-Stop: 0 1 2 6
|
||||
# Short-Description: Precision Time Protocol as defined by IEEE 1588
|
||||
# Description: PTP is designed to provide very precise
|
||||
# time coordination of LAN connected computers.
|
||||
### END INIT INFO
|
||||
#
|
||||
|
||||
# Check for missing binaries (stale symlinks should not happen)
|
||||
# Note: Special treatment of stop for LSB conformance
|
||||
PTPD_BIN=/usr/sbin/ptpd
|
||||
test -x $PTPD_BIN || { echo "$PTPD_BIN not installed";
|
||||
if [ "$1" = "stop" ]; then exit 0;
|
||||
else exit 5; fi; }
|
||||
|
||||
# Check for existence of needed config file and read it
|
||||
PTPD_CONFIG=/etc/sysconfig/ptpd
|
||||
test -r $PTPD_CONFIG || { echo "$PTPD_CONFIG not existing";
|
||||
if [ "$1" = "stop" ]; then exit 0;
|
||||
else exit 6; fi; }
|
||||
|
||||
# Read config
|
||||
. $PTPD_CONFIG
|
||||
|
||||
# Shell functions sourced from /etc/rc.status:
|
||||
# rc_check check and set local and overall rc status
|
||||
# rc_status check and set local and overall rc status
|
||||
# rc_status -v be verbose in local rc status and clear it afterwards
|
||||
# rc_status -v -r ditto and clear both the local and overall rc status
|
||||
# rc_status -s display "skipped" and exit with status 3
|
||||
# rc_status -u display "unused" and exit with status 3
|
||||
# rc_failed set local and overall rc status to failed
|
||||
# rc_failed <num> set local and overall rc status to <num>
|
||||
# rc_reset clear both the local and overall rc status
|
||||
# rc_exit exit appropriate to overall rc status
|
||||
# rc_active checks whether a service is activated by symlinks
|
||||
. /etc/rc.status
|
||||
|
||||
# Reset status of this service
|
||||
rc_reset
|
||||
|
||||
# Return values acc. to LSB for all commands but status:
|
||||
# 0 - success
|
||||
# 1 - generic or unspecified error
|
||||
# 2 - invalid or excess argument(s)
|
||||
# 3 - unimplemented feature (e.g. "reload")
|
||||
# 4 - user had insufficient privileges
|
||||
# 5 - program is not installed
|
||||
# 6 - program is not configured
|
||||
# 7 - program is not running
|
||||
# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
|
||||
#
|
||||
# Note that starting an already running service, stopping
|
||||
# or restarting a not-running service as well as the restart
|
||||
# with force-reload (in case signaling is not supported) are
|
||||
# considered a success.
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting ptpd "
|
||||
## Start daemon with startproc(8). If this fails
|
||||
## the return value is set appropriately by startproc.
|
||||
/sbin/startproc $PTPD_BIN $PTPD_OPTIONS
|
||||
|
||||
# Remember status and be verbose
|
||||
rc_status -v
|
||||
;;
|
||||
stop)
|
||||
echo -n "Shutting down ptpd "
|
||||
## Stop daemon with killproc(8) and if this fails
|
||||
## killproc sets the return value according to LSB.
|
||||
|
||||
/sbin/killproc -TERM $PTPD_BIN
|
||||
|
||||
# Remember status and be verbose
|
||||
rc_status -v
|
||||
;;
|
||||
try-restart|condrestart)
|
||||
## Do a restart only if the service was active before.
|
||||
## Note: try-restart is now part of LSB (as of 1.9).
|
||||
## RH has a similar command named condrestart.
|
||||
if test "$1" = "condrestart"; then
|
||||
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
|
||||
fi
|
||||
$0 status
|
||||
if test $? = 0; then
|
||||
$0 restart
|
||||
else
|
||||
rc_reset # Not running is not a failure.
|
||||
fi
|
||||
# Remember status and be quiet
|
||||
rc_status
|
||||
;;
|
||||
restart)
|
||||
## Stop the service and regardless of whether it was
|
||||
## running or not, start it again.
|
||||
$0 stop
|
||||
$0 start
|
||||
|
||||
# Remember status and be quiet
|
||||
rc_status
|
||||
;;
|
||||
force-reload)
|
||||
## Signal the daemon to reload its config. Most daemons
|
||||
## do this on signal 1 (SIGHUP).
|
||||
## If it does not support it, restart the service if it
|
||||
## is running.
|
||||
|
||||
echo -n "Reload service ptpd "
|
||||
$0 try-restart
|
||||
rc_status
|
||||
;;
|
||||
reload)
|
||||
## Like force-reload, but if daemon does not support
|
||||
## signaling, do nothing (!)
|
||||
|
||||
## Otherwise if it does not support reload:
|
||||
rc_failed 3
|
||||
rc_status -v
|
||||
;;
|
||||
status)
|
||||
echo -n "Checking for service ptpd "
|
||||
## Check status with checkproc(8), if process is running
|
||||
## checkproc will return with exit status 0.
|
||||
|
||||
# Return value is slightly different for the status command:
|
||||
# 0 - service up and running
|
||||
# 1 - service dead, but /var/run/ pid file exists
|
||||
# 2 - service dead, but /var/lock/ lock file exists
|
||||
# 3 - service not running (unused)
|
||||
# 4 - service status unknown :-(
|
||||
# 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
|
||||
|
||||
# NOTE: checkproc returns LSB compliant status values.
|
||||
/sbin/checkproc $PTPD_BIN
|
||||
# NOTE: rc_status knows that we called this init script with
|
||||
# "status" option and adapts its messages accordingly.
|
||||
rc_status -v
|
||||
;;
|
||||
probe)
|
||||
## Optional: Probe for the necessity of a reload, print out the
|
||||
## argument to this init script which is required for a reload.
|
||||
## Note: probe is not (yet) part of LSB (as of 1.9)
|
||||
|
||||
$0 reload
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
rc_exit
|
22
conf.sysconfig.ptpd
Normal file
22
conf.sysconfig.ptpd
Normal file
@ -0,0 +1,22 @@
|
||||
## Path: Network/PTPD
|
||||
## Description: Precision Time Protocol (PTP) daemon options
|
||||
## Type: string
|
||||
## Default: AUTO-2
|
||||
## ServiceRestart: ptpd
|
||||
#
|
||||
## Type: string
|
||||
## Default: ""
|
||||
#
|
||||
# Additional arguments when starting ptpd. The most important ones would be
|
||||
# -x do not reset the clock if off by more than one second
|
||||
# -t do not adjust the system clock
|
||||
#
|
||||
# -g run as slave only
|
||||
# -p make this a preferred clock
|
||||
#
|
||||
# -b NAME bind PTP to network interface NAME
|
||||
#
|
||||
# -n NAME specify PTP subdomain name (not related to IP or DNS)
|
||||
# -a NUMBER,NUMBER specify clock servo P and I attenuations
|
||||
# -w NUMBER specify one way delay filter stiffness
|
||||
PTPD_OPTIONS=""
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 7 05:28:44 CET 2007 - dbahi@suse.de
|
||||
|
||||
- cleaned up init script and install process
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 2 14:53:04 CET 2007 - dbahi@suse.de
|
||||
|
||||
|
40
ptpd.spec
40
ptpd.spec
@ -13,11 +13,12 @@
|
||||
Name: ptpd
|
||||
Summary: Implements the Precision Time protocol as defined by IEEE 1588 standard
|
||||
Version: 1
|
||||
Release: 2
|
||||
Release: 4
|
||||
License: BSD 3-Clause
|
||||
Group: System/Daemons
|
||||
Source0: %{name}_%{version}rc1.tar.bz2
|
||||
Patch0: system_v_init.patch
|
||||
Source1: conf.ptpd.init
|
||||
Source2: conf.sysconfig.ptpd
|
||||
Patch1: append_to_cflags.patch
|
||||
Url: http://ptpd.sourceforge.net/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
@ -49,7 +50,6 @@ Authors:
|
||||
|
||||
%prep
|
||||
%setup -q -n ptpd
|
||||
%patch0 -p1
|
||||
%patch1
|
||||
|
||||
%build
|
||||
@ -57,13 +57,24 @@ cd src
|
||||
CFLAGS="$RPM_OPT_FLAGS" make
|
||||
|
||||
%install
|
||||
install -m 755 -D src/ptpd ${RPM_BUILD_ROOT}/%{_sbindir}/ptpd
|
||||
install -d ${RPM_BUILD_ROOT}/%{_initrddir}
|
||||
install -m 755 etc/init.d/ptpd ${RPM_BUILD_ROOT}/%{_initrddir}/ptpd
|
||||
install -d ${RPM_BUILD_ROOT}/var/adm/fillup-templates
|
||||
install -m 644 etc/sysconfig/ptpd ${RPM_BUILD_ROOT}/var/adm/fillup-templates/sysconfig.ptpd
|
||||
install -D README ${RPM_BUILD_ROOT}/%{_defaultdocdir}/%{name}/README
|
||||
cp -r COPYRIGHT doc RELEASE_NOTES tools ${RPM_BUILD_ROOT}/%{_defaultdocdir}/%{name}/.
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_initrddir}
|
||||
mkdir -p ${RPM_BUILD_ROOT}/var/adm/fillup-templates
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}
|
||||
install -m 755 src/ptpd $RPM_BUILD_ROOT%{_sbindir}/ptpd
|
||||
#
|
||||
# boot scripts
|
||||
#
|
||||
install -m 755 %{S:1} $RPM_BUILD_ROOT%{_initrddir}/ptpd
|
||||
ln -s ../..%{_initrddir}/ptpd $RPM_BUILD_ROOT%{_sbindir}/rcptpd
|
||||
#
|
||||
# configuration
|
||||
#
|
||||
install -m 644 %{S:2} ${RPM_BUILD_ROOT}/var/adm/fillup-templates/sysconfig.ptpd
|
||||
#
|
||||
# documentation
|
||||
#
|
||||
cp -r README COPYRIGHT doc RELEASE_NOTES tools ${RPM_BUILD_ROOT}/%{_defaultdocdir}/%{name}/.
|
||||
|
||||
%clean
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
@ -75,9 +86,18 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
/var/adm/fillup-templates/*
|
||||
%{_defaultdocdir}/%{name}
|
||||
|
||||
%preun
|
||||
%{stop_on_removal} ptpd
|
||||
|
||||
%post
|
||||
%{fillup_only -n ptpd}
|
||||
|
||||
%postun
|
||||
%restart_on_update ptpd
|
||||
%{insserv_cleanup}
|
||||
%changelog
|
||||
* Wed Nov 07 2007 - dbahi@suse.de
|
||||
- cleaned up init script and install process
|
||||
* Fri Nov 02 2007 - dbahi@suse.de
|
||||
- patch makefile to allow env CFLAGS
|
||||
- adjusted sysconfig to use %%fill_only
|
||||
|
@ -1,218 +0,0 @@
|
||||
diff -Naurp ptpd.orig/etc/init.d/ptpd ptpd/etc/init.d/ptpd
|
||||
--- ptpd.orig/etc/init.d/ptpd 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ptpd/etc/init.d/ptpd 2007-11-02 06:34:14.000000000 +0100
|
||||
@@ -0,0 +1,188 @@
|
||||
+#!/bin/sh
|
||||
+#
|
||||
+# SuSE system startup script for service/daemon ptpd
|
||||
+# Copyright (C) 1995--2007 SUSE / Novell Inc.
|
||||
+#
|
||||
+# This library is free software; you can redistribute it and/or modify it
|
||||
+# under the terms of the GNU Lesser General Public License as published by
|
||||
+# the Free Software Foundation; either version 2.1 of the License, or (at
|
||||
+# your option) any later version.
|
||||
+#
|
||||
+# This library is distributed in the hope that it will be useful, but
|
||||
+# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+# Lesser General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU Lesser General Public
|
||||
+# License along with this library; if not, write to the Free Software
|
||||
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
|
||||
+# USA.
|
||||
+#
|
||||
+# /etc/init.d/ptpd
|
||||
+# and its symbolic link
|
||||
+# /(usr/)sbin/ptpd
|
||||
+#
|
||||
+# LSB compatible service control script; see http://www.linuxbase.org/spec/
|
||||
+# Please send feedback to http://www.suse.de/feedback/
|
||||
+#
|
||||
+# chkconfig: 345 71 29
|
||||
+# description: Precision Time Protocol as defined by IEEE 1588
|
||||
+#
|
||||
+### BEGIN INIT INFO
|
||||
+# Provides: ptpd
|
||||
+# Required-Start: $syslog $network
|
||||
+# Should-Start: $time
|
||||
+# Required-Stop: $syslog $network
|
||||
+# Should-Stop: $time
|
||||
+# Default-Start: 3 4 5
|
||||
+# Default-Stop: 0 1 2 6
|
||||
+# Short-Description: Precision Time Protocol as defined by IEEE 1588
|
||||
+# Description: PTP is designed to provide very precise
|
||||
+# time coordination of LAN connected computers.
|
||||
+### END INIT INFO
|
||||
+#
|
||||
+
|
||||
+# Check for missing binaries (stale symlinks should not happen)
|
||||
+# Note: Special treatment of stop for LSB conformance
|
||||
+PTPD_BIN=/usr/sbin/ptpd
|
||||
+test -x $PTPD_BIN || { echo "$PTPD_BIN not installed";
|
||||
+ if [ "$1" = "stop" ]; then exit 0;
|
||||
+ else exit 5; fi; }
|
||||
+
|
||||
+# Check for existence of needed config file and read it
|
||||
+PTPD_CONFIG=/etc/sysconfig/ptpd
|
||||
+test -r $PTPD_CONFIG || { echo "$PTPD_CONFIG not existing";
|
||||
+ if [ "$1" = "stop" ]; then exit 0;
|
||||
+ else exit 6; fi; }
|
||||
+
|
||||
+# Read config
|
||||
+. $PTPD_CONFIG
|
||||
+
|
||||
+# Shell functions sourced from /etc/rc.status:
|
||||
+# rc_check check and set local and overall rc status
|
||||
+# rc_status check and set local and overall rc status
|
||||
+# rc_status -v be verbose in local rc status and clear it afterwards
|
||||
+# rc_status -v -r ditto and clear both the local and overall rc status
|
||||
+# rc_status -s display "skipped" and exit with status 3
|
||||
+# rc_status -u display "unused" and exit with status 3
|
||||
+# rc_failed set local and overall rc status to failed
|
||||
+# rc_failed <num> set local and overall rc status to <num>
|
||||
+# rc_reset clear both the local and overall rc status
|
||||
+# rc_exit exit appropriate to overall rc status
|
||||
+# rc_active checks whether a service is activated by symlinks
|
||||
+. /etc/rc.status
|
||||
+
|
||||
+# Reset status of this service
|
||||
+rc_reset
|
||||
+
|
||||
+# Return values acc. to LSB for all commands but status:
|
||||
+# 0 - success
|
||||
+# 1 - generic or unspecified error
|
||||
+# 2 - invalid or excess argument(s)
|
||||
+# 3 - unimplemented feature (e.g. "reload")
|
||||
+# 4 - user had insufficient privileges
|
||||
+# 5 - program is not installed
|
||||
+# 6 - program is not configured
|
||||
+# 7 - program is not running
|
||||
+# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
|
||||
+#
|
||||
+# Note that starting an already running service, stopping
|
||||
+# or restarting a not-running service as well as the restart
|
||||
+# with force-reload (in case signaling is not supported) are
|
||||
+# considered a success.
|
||||
+
|
||||
+case "$1" in
|
||||
+ start)
|
||||
+ echo -n "Starting ptpd "
|
||||
+ ## Start daemon with startproc(8). If this fails
|
||||
+ ## the return value is set appropriately by startproc.
|
||||
+ /sbin/startproc $PTPD_BIN $PTPD_OPTIONS
|
||||
+
|
||||
+ # Remember status and be verbose
|
||||
+ rc_status -v
|
||||
+ ;;
|
||||
+ stop)
|
||||
+ echo -n "Shutting down ptpd "
|
||||
+ ## Stop daemon with killproc(8) and if this fails
|
||||
+ ## killproc sets the return value according to LSB.
|
||||
+
|
||||
+ /sbin/killproc -TERM $PTPD_BIN
|
||||
+
|
||||
+ # Remember status and be verbose
|
||||
+ rc_status -v
|
||||
+ ;;
|
||||
+ try-restart|condrestart)
|
||||
+ ## Do a restart only if the service was active before.
|
||||
+ ## Note: try-restart is now part of LSB (as of 1.9).
|
||||
+ ## RH has a similar command named condrestart.
|
||||
+ if test "$1" = "condrestart"; then
|
||||
+ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
|
||||
+ fi
|
||||
+ $0 status
|
||||
+ if test $? = 0; then
|
||||
+ $0 restart
|
||||
+ else
|
||||
+ rc_reset # Not running is not a failure.
|
||||
+ fi
|
||||
+ # Remember status and be quiet
|
||||
+ rc_status
|
||||
+ ;;
|
||||
+ restart)
|
||||
+ ## Stop the service and regardless of whether it was
|
||||
+ ## running or not, start it again.
|
||||
+ $0 stop
|
||||
+ $0 start
|
||||
+
|
||||
+ # Remember status and be quiet
|
||||
+ rc_status
|
||||
+ ;;
|
||||
+ force-reload)
|
||||
+ ## Signal the daemon to reload its config. Most daemons
|
||||
+ ## do this on signal 1 (SIGHUP).
|
||||
+ ## If it does not support it, restart the service if it
|
||||
+ ## is running.
|
||||
+
|
||||
+ echo -n "Reload service ptpd "
|
||||
+ $0 try-restart
|
||||
+ rc_status
|
||||
+ ;;
|
||||
+ reload)
|
||||
+ ## Like force-reload, but if daemon does not support
|
||||
+ ## signaling, do nothing (!)
|
||||
+
|
||||
+ ## Otherwise if it does not support reload:
|
||||
+ rc_failed 3
|
||||
+ rc_status -v
|
||||
+ ;;
|
||||
+ status)
|
||||
+ echo -n "Checking for service ptpd "
|
||||
+ ## Check status with checkproc(8), if process is running
|
||||
+ ## checkproc will return with exit status 0.
|
||||
+
|
||||
+ # Return value is slightly different for the status command:
|
||||
+ # 0 - service up and running
|
||||
+ # 1 - service dead, but /var/run/ pid file exists
|
||||
+ # 2 - service dead, but /var/lock/ lock file exists
|
||||
+ # 3 - service not running (unused)
|
||||
+ # 4 - service status unknown :-(
|
||||
+ # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
|
||||
+
|
||||
+ # NOTE: checkproc returns LSB compliant status values.
|
||||
+ /sbin/checkproc $PTPD_BIN
|
||||
+ # NOTE: rc_status knows that we called this init script with
|
||||
+ # "status" option and adapts its messages accordingly.
|
||||
+ rc_status -v
|
||||
+ ;;
|
||||
+ probe)
|
||||
+ ## Optional: Probe for the necessity of a reload, print out the
|
||||
+ ## argument to this init script which is required for a reload.
|
||||
+ ## Note: probe is not (yet) part of LSB (as of 1.9)
|
||||
+
|
||||
+ $0 reload
|
||||
+ ;;
|
||||
+ *)
|
||||
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
|
||||
+ exit 1
|
||||
+ ;;
|
||||
+esac
|
||||
+rc_exit
|
||||
diff -Naurp ptpd.orig/etc/sysconfig/ptpd ptpd/etc/sysconfig/ptpd
|
||||
--- ptpd.orig/etc/sysconfig/ptpd 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ptpd/etc/sysconfig/ptpd 2007-11-02 06:33:57.000000000 +0100
|
||||
@@ -0,0 +1,22 @@
|
||||
+## Path: Network/PTPD
|
||||
+## Description: Precision Time Protocol (PTP) daemon options
|
||||
+## Type: string
|
||||
+## Default: AUTO-2
|
||||
+## ServiceRestart: ptpd
|
||||
+#
|
||||
+## Type: string
|
||||
+## Default: ""
|
||||
+#
|
||||
+# Additional arguments when starting ptpd. The most important ones would be
|
||||
+# -x do not reset the clock if off by more than one second
|
||||
+# -t do not adjust the system clock
|
||||
+#
|
||||
+# -g run as slave only
|
||||
+# -p make this a preferred clock
|
||||
+#
|
||||
+# -b NAME bind PTP to network interface NAME
|
||||
+#
|
||||
+# -n NAME specify PTP subdomain name (not related to IP or DNS)
|
||||
+# -a NUMBER,NUMBER specify clock servo P and I attenuations
|
||||
+# -w NUMBER specify one way delay filter stiffness
|
||||
+PTPD_OPTIONS=""
|
Loading…
Reference in New Issue
Block a user