Bugzilla – Attachment 330736 Details for
Bug 559534
Installing lighttpd patch crashes webyast
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Forgot Password
start script for WebYaST service
yastws (text/plain), 10.02 KB, created by
Stefan Schubert
on 2009-12-03 12:04:26 UTC
(
hide
)
Description:
start script for WebYaST service
Filename:
MIME Type:
Creator:
Stefan Schubert
Created:
2009-12-03 12:04:26 UTC
Size:
10.02 KB
patch
obsolete
>#! /bin/sh ># Copyright (c) 1995-2009 SUSE Linux AG, Nuernberg, Germany. ># All rights reserved. ># ># Author: Kurt Garloff, Stefan Schubert ># Please send feedback to http://www.suse.de/feedback/ ># ># /etc/init.d/yastws ># and its symbolic link ># /(usr/)sbin/rcyastws ># ># This program is free software; you can redistribute it and/or modify ># it under the terms of the GNU General Public License as published by ># the Free Software Foundation; either version 2 of the License, or ># (at your option) any later version. ># ># This program 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 General Public License for more details. ># ># You should have received a copy of the GNU General Public License ># along with this program; if not, write to the Free Software ># Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ># ># Template system startup script for some example service/daemon yastws ># ># LSB compatible service control script; see http://www.linuxbase.org/spec/ ># ># Note: This template uses functions rc_XXX defined in /etc/rc.status on ># UnitedLinux (UL) based Linux distributions. If you want to base your ># script on this template and ensure that it works on non UL based LSB ># compliant Linux distributions, you either have to provide the rc.status ># functions from UL or change the script to work without them. ># >### BEGIN INIT INFO ># Provides: yastws ># Required-Start: $syslog $remote_fs ># Should-Start: $time ypbind sendmail yastwc ># Required-Stop: $syslog $remote_fs ># Should-Stop: $time ypbind sendmail yastwc ># Default-Start: 3 5 ># Default-Stop: 0 1 2 6 ># Short-Description: yastws ># Description: Start yastws >### END INIT INFO ># ># Any extensions to the keywords given above should be preceeded by ># X-VendorTag- (X-UnitedLinux- X-SuSE- for us) according to LSB. ># ># Notes on Required-Start/Should-Start: ># * There are two different issues that are solved by Required-Start ># and Should-Start ># (a) Hard dependencies: This is used by the runlevel editor to determine ># which services absolutely need to be started to make the start of ># this service make sense. Example: nfsserver should have ># Required-Start: $portmap ># Also, required services are started before the dependent ones. ># The runlevel editor will warn about such missing hard dependencies ># and suggest enabling. During system startup, you may expect an error, ># if the dependency is not fulfilled. ># (b) Specifying the init script ordering, not real (hard) dependencies. ># This is needed by insserv to determine which service should be ># started first (and at a later stage what services can be started ># in parallel). The tag Should-Start: is used for this. ># It tells, that if a service is available, it should be started ># before. If not, never mind. ># * When specifying hard dependencies or ordering requirements, you can ># use names of services (contents of their Provides: section) ># or pseudo names starting with a $. The following ones are available ># according to LSB (1.1): ># $local_fs all local file systems are mounted ># (most services should need this!) ># $remote_fs all remote file systems are mounted ># (note that /usr may be remote, so ># many services should Require this!) ># $syslog system logging facility up ># $network low level networking (eth card, ...) ># $named hostname resolution available ># $netdaemons all network daemons are running ># The $netdaemons pseudo service has been removed in LSB 1.2. ># For now, we still offer it for backward compatibility. ># These are new (LSB 1.2): ># $time the system time has been set correctly ># $portmap SunRPC portmapping service available ># UnitedLinux extensions: ># $ALL indicates that a script should be inserted ># at the end ># * The services specified in the stop tags ># (Required-Stop/Should-Stop) ># specify which services need to be still running when this service ># is shut down. Often the entries there are just copies or a subset ># from the respective start tag. ># * Should-Start/Stop are now part of LSB as of 2.0, ># formerly SUSE/Unitedlinux used X-UnitedLinux-Should-Start/-Stop. ># insserv does support both variants. ># * X-UnitedLinux-Default-Enabled: yes/no is used at installation time ># (%fillup_and_insserv macro in %post of many RPMs) to specify whether ># a startup script should default to be enabled after installation. ># It's not used by insserv. ># ># Note on runlevels: ># 0 - halt/poweroff 6 - reboot ># 1 - single user 2 - multiuser without network exported ># 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm) ># ># Note on script names: ># http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html ># A registry has been set up to manage the init script namespace. ># http://www.lanana.org/ ># Please use the names already registered or register one or use a ># vendor prefix. > > ># Check for missing binaries (stale symlinks should not happen) ># Note: Special treatment of stop for LSB conformance >LIGHTTPD_BIN=/usr/sbin/lighttpd >test -x $LIGHTTPD_BIN || { echo "$LIGHTTPD_BIN not installed"; > if [ "$1" = "stop" ]; then exit 0; > else exit 5; fi; } > ># Check for existence of needed config file and read it >LIGHTTPD_CONFIG=/etc/yastws/lighttpd.conf >test -r $LIGHTTPD_CONFIG || { echo "$LIGHTTPD_CONFIG not existing"; > if [ "$1" = "stop" ]; then exit 0; > else exit 6; fi; } > >PID_FILE=/var/run/yastws.pid >IGNORE_FILE=/var/run/yastwc.pid > ># Source LSB init functions ># providing start_daemon, killproc, pidofproc, ># log_success_msg, log_failure_msg and log_warning_msg. ># This is currently not used by UnitedLinux based distributions and ># not needed for init scripts for UnitedLinux only. If it is used, ># the functions from rc.status should not be sourced or used. >#. /lib/lsb/init-functions > ># 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 yastws " > > #Waiting for yastwc until he has really written his pid file (currently just a hack) > sleep 4 > > startproc -p $PID_FILE -i $IGNORE_FILE $LIGHTTPD_BIN -f $LIGHTTPD_CONFIG > > # Remember status and be verbose > rc_status -v > ;; > stop) > echo -n "Shutting down yastws " > ## Stop daemon with killproc(8) and if this fails > ## killproc sets the return value according to LSB. > killproc -TERM -p $PID_FILE -i $IGNORE_FILE $LIGHTTPD_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. > > echo -n "Reload service yastws " > ## if it supports it: > killproc -HUP -p $PID_FILE -i $IGNORE_FILE $LIGHTTPD_BIN > #touch /var/run/lighttpd.pid > rc_status -v > > ## Otherwise: > #$0 try-restart > #rc_status > ;; > reload) > ## Like force-reload, but if daemon does not support > ## signaling, do nothing (!) > > # If it supports signaling: > echo -n "Reload service yastws " > killproc -HUP -p $PID_FILE -i $IGNORE_FILE $LIGHTTPD_BIN > #touch /var/run/lighttpd.pid > rc_status -v > > ## Otherwise if it does not support reload: > #rc_failed 3 > #rc_status -v > ;; > status) > echo -n "Checking for service yastws " > ## 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. > checkproc -p $PID_FILE -i $IGNORE_FILE $LIGHTTPD_BIN > # NOTE: rc_status knows that we called this init script with > # "status" option and adapts its messages accordingly. > rc_status -v > ;; > *) > echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" > exit 1 > ;; >esac >rc_exit
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
Attachments on
bug 559534
:
330735
| 330736 |
330771
|
330994
|
331020
|
331050
|
331340