aboutsummaryrefslogtreecommitdiffstats
path: root/V0_8_1mdk/add-service
diff options
context:
space:
mode:
Diffstat (limited to 'V0_8_1mdk/add-service')
-rwxr-xr-xV0_8_1mdk/add-service68
1 files changed, 68 insertions, 0 deletions
diff --git a/V0_8_1mdk/add-service b/V0_8_1mdk/add-service
new file mode 100755
index 0000000..8901ef0
--- /dev/null
+++ b/V0_8_1mdk/add-service
@@ -0,0 +1,68 @@
+#!/bin/sh
+#---------------------------------------------------------------
+# Project : Mandrake Linux
+# Module : rpm-helper
+# File : add-service
+# Version : $Id$
+# Author : Frederic Lepied
+# Created On : Mon Jul 8 08:14:34 2002
+# Purpose : helper script for rpm scriptlets to add a
+# service.
+#---------------------------------------------------------------
+
+if [ $# != 3 ]; then
+ echo "usage: $0 <pkg name> <number installed> <service name>" 1>&2
+ exit 1
+fi
+
+pkg=$1 # name of the package
+num=$2 # number of packages installed
+srv=$3 # name of the service
+
+if [ $num = 1 ]; then
+ # Install mode: add the services
+ if [ -r /etc/sysconfig/msec ]; then
+ . /etc/sysconfig/msec
+ fi
+ if [[ -n "$SECURE_LEVEL" ]] && [[ "$SECURE_LEVEL" -gt 3 ]]; then
+ # High security: add only authorized services
+ LIST=/etc/security/msec/server
+ # during the install the symlink isn't done so find the right file
+ # by ourseleves
+ if [ -n "$DURING_INSTALL" -a ! -f $LIST ]; then
+ LIST=/etc/security/msec/server.$SECURE_LEVEL
+ fi
+ if [ -f $LIST ]; then
+ if grep -q "^${srv}$" $LIST ; then
+ /sbin/chkconfig --add $srv
+ fi
+ else
+ # do an exception for initscripts services that could be installed
+ # before msec and should anyway be added
+ if [ $pkg = initscripts ]; then
+ /sbin/chkconfig --add $srv
+ else
+ echo "add-service: $srv not added because /etc/security/msec/server is not present." 1>&2
+ echo "You should run msec to correct that." 1>&2
+ fi
+ fi
+ else
+ # Low security: install all the services
+ /sbin/chkconfig --add $srv
+ fi
+else
+ # Upgrade mode: restart the service if already running
+ if [ -f /var/lock/subsys/$srv ]; then
+ /sbin/service $srv restart > /dev/null 2>/dev/null || :
+ # restart services that depend of portmap
+ if [ $srv = portmap ]; then
+ for s in amd autofs bootparamd clusternfs mcserv nfs nfslock ypserv ypbind yppasswdd ypxfrd; do
+ if [ -f /var/lock/subsys/$s ]; then
+ /sbin/service $s restart > /dev/null 2>/dev/null || :
+ fi
+ done
+ fi
+ fi
+fi
+
+# add-service ends here