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 set local and overall rc status to +# 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=""