From 5cc6f5e5f0531c3905cfdc8c9d3b8c50632baecf Mon Sep 17 00:00:00 2001
From: Elijah Saxon <elijah@riseup.net>
Date: Fri, 1 Jul 2005 20:09:16 +0000
Subject: [PATCH] options to sys

---
 changelog    |  7 ++++---
 handlers/sys | 23 ++++++++++++++---------
 2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/changelog b/changelog
index d58e16f0..62c8788b 100644
--- a/changelog
+++ b/changelog
@@ -2,10 +2,10 @@ version 0.x -- xxxxxxxxxxxxx
 	ldap handler has new options: backup method to use (ldapsearch or
 		slapcat), restart, passwordfile and binddn. Default backup method
 		is set to ldapsearch as this is safer
-	**********************
+	******************************************************************
 	NOTE: to get the previous default behavior with the ldap handler, 
 	you must set "method = slapcat". The new default is ldapsearch.
-	**********************
+	******************************************************************
 	implemented fix so that the main script will echo fatal errors rather
 		than being silent about them, this means an error message every hour
 		if there is a major configuration problem (not a handler problem)
@@ -27,7 +27,8 @@ version 0.x -- xxxxxxxxxxxxx
     fixed bug in mysql handler which caused some passwords to not work.
         (.my.cnf files now have double quotes around password)
     considerably improved and changed the log file output.
-        
+    can now pass options to hwinfo and sfdisk in sys handler.
+
 version 0.5 -- April 12 2005
 	rdiff handler works when remote sshd has a banner
 	rdiff handler supports local dest 
diff --git a/handlers/sys b/handlers/sys
index 9b836a7e..bc117c40 100755
--- a/handlers/sys
+++ b/handlers/sys
@@ -26,6 +26,11 @@ getconf partitionsfile /var/backups/partitions.__star__.txt
 getconf hardware yes
 getconf hardwarefile /var/backups/hardware.txt
 
+getconf SFDISK `which sfdisk`
+getconf HWINFO `which hwinfo`
+getconf sfdisk_options ""
+getconf hwinfo_options ""
+
 # See if vservers are configured
 if [ "$vservers" = "yes" ]
 then
@@ -64,18 +69,18 @@ if [ "$packages" == "yes" ]; then
 fi
 
 if [ "$partitions" == "yes" ]; then
-	if [ ! -x "`which sfdisk`" ]; then
+	if [ ! -x "$SFDISK" ]; then
 		warning "can't find sfdisk, skipping partition report."
 		partitions="no"
 	fi
-	if [ ! -x "`which hwinfo`" ]; then
+	if [ ! -x "$HWINFO" ]; then
 		warning "can't find hwinfo, skipping partition report."
 		partitions="no"
 	fi
 fi
 
 if [ "$hardware" == "yes" ]; then
-	if [ ! -x "`which hwinfo`" ]; then
+	if [ ! -x "$HWINFO" ]; then
 		warning "can't find hwinfo, skipping hardware report."
 		hardware="no"
 	fi
@@ -109,14 +114,14 @@ fi
 # these files can be used to directly partition a disk of the same size.
 
 if [ "$partitions" == "yes" ]; then
-	devices=`hwinfo --disk | grep "Device File" | cut -d\  -f5`
+	devices=`$HWINFO --disk | grep "Device File" | cut -d\  -f5`
 	for dev in $devices; do
 		[ -b $dev ] || continue
 		label=${dev#/dev/}
 		label=${label//\//-}
 		outputfile=${partitionsfile//__star__/$label}
-		debug "sfdisk -d $dev > $outputfile"
-		sfdisk -d $dev > $outputfile
+		debug "$SFDISK $sfdisk_options -d $dev > $outputfile"
+		$SFDISK $sfdisk_options -d $dev > $outputfile
 	done
 fi
 
@@ -133,10 +138,10 @@ if [ "$hardware" == "yes" ]; then
 	fi
 	touch $hardwarefile
 	echo -e "\n\n====================== summary ======================\n" >>  $hardwarefile
-	debug "hwinfo --short --cpu --network --disk --pci  >> $hardwarefile"
-	hwinfo --short --cpu --network --disk --pci  >> $hardwarefile
+	debug "$HWINFO --short --cpu --network --disk --pci  >> $hardwarefile"
+	$HWINFO --short --cpu --network --disk --pci  >> $hardwarefile
 	for flag in cpu network disk bios pci; do
 		echo -e "\n\n====================== $flag ======================\n" >>  $hardwarefile
-		hwinfo --$flag >> $hardwarefile
+		$HWINFO --$flag >> $hardwarefile
 	done
 fi
-- 
GitLab