Procházet zdrojové kódy

Changes to Solaris install/uninstall -- redirects and svcadm restart

John C. Frickson před 9 roky
rodič
revize
bcf1d78470
2 změnil soubory, kde provedl 73 přidání a 20 odebrání
  1. 11 5
      Makefile.in
  2. 62 15
      uninstall.in

+ 11 - 5
Makefile.in

@@ -101,14 +101,18 @@ install-inetd:
 		SRC_INETD_FILE=`echo "$(SRC_INETD)" | sed -e 's/socket/socket-svc/'`; \
 		echo $(INSTALL) -m 644 startup/$$SRC_INETD_FILE $(INETD_DIR)/$(INIT_FILE); \
 		$(INSTALL) -m 644 startup/$$SRC_INETD_FILE $(INETD_DIR)/$(INIT_FILE); \
+	elif test $(INETD_TYPE) = smf10 -o $(INETD_TYPE) = smf11; then \
+		echo $(INSTALL) -m 775 -g sys -d $(INETD_DIR)
+		$(INSTALL) -m 775 -g sys -d $(INETD_DIR)
+		echo $(INSTALL) -m 644 startup/$(SRC_INETD) $(INETD_DIR)/$(INETD_FILE); \
+		$(INSTALL) -m 644 startup/$(SRC_INETD) $(INETD_DIR)/$(INETD_FILE); \
+		$(INSTALL) -m 775 -d $(INETD_DIR)
+		echo svccfg import $(INETD_DIR)/$(INETD_FILE); \
+		svccfg import $(INETD_DIR)/$(INETD_FILE); \
+		echo "*** Run 'svcadm enable nrpe' to start it"; \
 	else\
 		echo $(INSTALL) -m 644 startup/$(SRC_INETD) $(INETD_DIR)/$(INETD_FILE); \
 		$(INSTALL) -m 644 startup/$(SRC_INETD) $(INETD_DIR)/$(INETD_FILE); \
-		if test $(INETD_TYPE) = smf10 -o $(INETD_TYPE) = smf11; then \
-			echo svccfg import $(INETD_DIR)/$(INETD_FILE); \
-			svccfg import $(INETD_DIR)/$(INETD_FILE); \
-			echo "*** Run 'svcadm enable nrpe' to start it"; \
-		fi;\
 	fi
 	@$(EGREP) -q "^nrpe[\t ]+5666/tcp" /etc/services || \
 		echo "***** MAKE SURE 'nrpe 5666/tcp' IS IN YOUR /etc/services FILE"
@@ -127,6 +131,8 @@ install-init:
 		echo $(INSTALL) -m 644 startup/$(SRC_INIT) $(INIT_DIR)/$(INIT_FILE); \
 		$(INSTALL) -m 644 startup/$(SRC_INIT) $(INIT_DIR)/$(INIT_FILE); \
 	elif test $(INETD_TYPE) = smf10 -o $(INETD_TYPE) = smf11; then \
+		echo $(INSTALL) -m 775 -g sys -d $(INETD_DIR)
+		$(INSTALL) -m 775 -g sys -d $(INITD_DIR)
 		echo $(INSTALL) -m 644 startup/$(SRC_INIT) $(INIT_DIR)/$(INIT_FILE); \
 		$(INSTALL) -m 644 startup/$(SRC_INIT) $(INIT_DIR)/$(INIT_FILE); \
 		echo svccfg import $(INIT_DIR)/$(INIT_FILE); \

+ 62 - 15
uninstall.in

@@ -220,6 +220,10 @@ rm_startup() {
 					prt_msg 2 0 1 "($INETD_TYPE) Delete $INETD_DIR/$INETD_FILE" && {
 						rm $force "$INETD_DIR/$INETD_FILE"
 					}
+				elif test "$INETD_TYPE" = smf10 -o "$INETD_TYPE" = smf11; then
+					prt_msg 2 0 1 "($INIT_TYPE) svcadm restart svc:/system/manifest-import" && {
+						svcadm restart svc:/system/manifest-import
+					}
 				fi
 			}
 		fi
@@ -267,6 +271,10 @@ rm_startup() {
 					prt_msg 2 0 1 "($INIT_TYPE) initctl reload-configuration" && {
 						initctl reload-configuration
 					}
+				elif test "$INETD_TYPE" = smf10 -o "$INETD_TYPE" = smf11; then
+					prt_msg 2 0 1 "($INIT_TYPE) svcadm restart svc:/system/manifest-import" && {
+						svcadm restart svc:/system/manifest-import
+					}
 				fi
 			}
 		fi
@@ -303,19 +311,34 @@ rm_user() {
 	prt_msg 2 0 1 "Delete nrpe user:${NRPE_USER} and nagios user:${NAGIOS_USER}" || return
 
 	if test ${OPSYS} = aix; then
-		rmuser -p ${NRPE_USER}
-		rmuser -p ${NAGIOS_USER}
+		if test $redir -eq 1; then
+			rmuser -p ${NRPE_USER} 2>/dev/null
+			rmuser -p ${NAGIOS_USER} 2>/dev/null
+		else
+			rmuser -p ${NRPE_USER}
+			rmuser -p ${NAGIOS_USER}
+		fi
 	elif test ${OPSYS} = osx; then
 		dscl . -delete /Groups/${NRPE_GROUP} GroupMembership ${NRPE_USER}
 		dscl . -delete /Users name ${NRPE_USER}
 		dscl . -delete /Groups/${NAGIOS_GROUP} GroupMembership ${NAGIOS_USER}
 		dscl . -delete /Users name ${NAGIOS_USER}
 	elif test ${DIST} = "freebsd"; then
-		pw del user ${NRPE_USER}
-		pw del user ${NAGIOS_USER}
+		if test $redir -eq 1; then
+			pw del user ${NRPE_USER} 2>/dev/null
+			pw del user ${NAGIOS_USER} 2>/dev/null
+		else
+			pw del user ${NRPE_USER}
+			pw del user ${NAGIOS_USER}
+		fi
 	else
-		userdel -r ${NRPE_USER}
-		userdel -r ${NAGIOS_USER}
+		if test $redir -eq 1; then
+			userdel -r ${NRPE_USER} 2>/dev/null
+			userdel -r ${NAGIOS_USER} 2>/dev/null
+		else
+			userdel -r ${NRPE_USER}
+			userdel -r ${NAGIOS_USER}
+		fi
 	fi
 }
 
@@ -324,17 +347,37 @@ rm_group() {
 	prt_msg 2 0 1 "Delete nrpe group:${NRPE_GROUP} and nagios group:${NAGIOS_GROUP}" || return
 
 	if test ${OPSYS} = aix; then
-		rmgroup -p ${NRPE_GROUP}
-		rmgroup -p ${NAGIOS_GROUP}
+		if test $redir -eq 1; then
+			rmgroup -p ${NRPE_GROUP} 2>/dev/null
+			rmgroup -p ${NAGIOS_GROUP} 2>/dev/null
+		else
+			rmgroup -p ${NRPE_GROUP}
+			rmgroup -p ${NAGIOS_GROUP}
+		fi
 	elif test ${OPSYS} = osx; then
-		dscl . -delete /Groups/${NRPE_GROUP}
-		dscl . -delete /Groups/${NAGIOS_GROUP}
+		if test $redir -eq 1; then
+			dscl . -delete /Groups/${NRPE_GROUP} 2>/dev/null
+			dscl . -delete /Groups/${NAGIOS_GROUP} 2>/dev/null
+		else
+			dscl . -delete /Groups/${NRPE_GROUP}
+			dscl . -delete /Groups/${NAGIOS_GROUP}
+		fi
 	elif test ${DIST} = "freebsd"; then
-		pw del group ${NRPE_GROUP}
-		pw del group ${NAGIOS_GROUP}
+		if test $redir -eq 1; then
+			pw del group ${NRPE_GROUP} 2>/dev/null
+			pw del group ${NAGIOS_GROUP} 2>/dev/null
+		else
+			pw del group ${NRPE_GROUP}
+			pw del group ${NAGIOS_GROUP}
+		fi
 	else
-		groupdel ${NRPE_GROUP}
-		groupdel ${NAGIOS_GROUP}
+		if test $redir -eq 1; then
+			groupdel ${NRPE_GROUP} 2>/dev/null
+			groupdel ${NAGIOS_GROUP} 2>/dev/null
+		else
+			groupdel ${NRPE_GROUP}
+			groupdel ${NAGIOS_GROUP}
+		fi
 	fi
 }
 
@@ -342,7 +385,11 @@ rm_script() {
 	prt_msg 1 0 0 "*** Removing ${myname}"
 	prt_msg 2 0 1 "Delete ${myname}" || return
 
-    rm "${myname)"
+	if test $redir -eq 1; then
+		rm "${myname}" 2>/dev/null
+	else
+		rm "${myname}"
+	fi
 }
 
 get_opts $@