OBS User unknown 2007-11-08 23:40:01 +00:00 committed by Git OBS Bridge
parent f394bea2f6
commit 1292991040
5 changed files with 245 additions and 228 deletions

188
conf.ptpd.init Normal file
View 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
View 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=""

View File

@ -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

View File

@ -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

View File

@ -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=""