From 99c0ea0ee0d46802034f417575f880417bc22746 Mon Sep 17 00:00:00 2001
From: liangzhen <liangzhen>
Date: Wed, 8 Jun 2005 07:48:17 +0000
Subject: [PATCH] Small fix for install/uninstall scripts.

---
 build/osxpack/postflight       |  2 ++
 build/osxpack/preflight        | 22 +++++++--------
 build/osxpack/uninstall_lustre | 51 +++++++++++++++++++---------------
 3 files changed, 41 insertions(+), 34 deletions(-)

diff --git a/build/osxpack/postflight b/build/osxpack/postflight
index 15c1bc6e4f..a4e663300a 100755
--- a/build/osxpack/postflight
+++ b/build/osxpack/postflight
@@ -9,3 +9,5 @@ fi
 if [ -d /System/Library/Caches/com.apple.kernelcaches ]; then
 	rm -rf /System/Library/Caches/com.apple.kernelcaches
 fi
+
+touch /System/Library
diff --git a/build/osxpack/preflight b/build/osxpack/preflight
index e5641b07d6..582aea3449 100755
--- a/build/osxpack/preflight
+++ b/build/osxpack/preflight
@@ -7,17 +7,13 @@ if ! [ -d $backpath ]; then
 	mkdir -p $backpath
 fi
 
-# find and create backup dir for the installation
-idx=1
-while [ -d ${backpath}/SystemBackup$idx ]; do
-	echo "skip $idx"
-	idx=`expr $idx + 1`
-done
+backdir=${backpath}/SystemBackup
 
-backdir=${backpath}/SystemBackup$idx
-if [ -f $backdir ]; then
-	rm -f $backdir > /dev/null
+# If system has been backed up, just exit
+if [ -d ${backdir} ]; then
+	exit 0
 fi
+
 mkdir $backdir
 chmod 700 $backdir
 
@@ -26,6 +22,7 @@ mkdir -p $backdir/System/Library/Frameworks
 mkdir -p $backdir/System/Library/Extensions
 mkdir -p $backdir/usr/lib
 mkdir -p $backdir/usr/include
+mkdir -p $backdir/private/etc
 
 # backup the old system
 cp /mach_kernel $backdir/
@@ -61,7 +58,10 @@ cp -f /usr/lib/libIOKit.A.dylib $backdir/usr/lib/libIOKit.A.dylib
 cp -f /usr/lib/libIOKit.dylib $backdir/usr/lib/libIOKit.dylib
 cp -f /usr/lib/libkmod.a $backdir/usr/lib/libkmod.a
 cp -f /usr/lib/libkmodc++.a $backdir/usr/lib/libkmodc++.a
+if [ -f /private/etc/sysctl.conf ]; then
+	cp -f /private/etc/sysctl.conf $backdir/private/etc/sysctl.conf
+fi
 
 # record sysctem backup path of current installation 
-echo $backdir >> $backpath/lustre-current
-echo $date > $backdir/install_date
+# echo $backdir >> $backpath/lustre-current
+# echo $date > $backdir/install_date
diff --git a/build/osxpack/uninstall_lustre b/build/osxpack/uninstall_lustre
index aa0f02c221..d2624d2d3a 100755
--- a/build/osxpack/uninstall_lustre
+++ b/build/osxpack/uninstall_lustre
@@ -11,24 +11,24 @@ fi
 echo "unloading modules......"
 /sbin/unload_lustre 2 > /dev/null
 
-backpath=/System/LustreBackup
-if ! [ -d $backpath ]; then
+backdir=/System/LustreBackup/SystemBackup
+if ! [ -d $backdir ]; then
 	echo "No backup directory is found, you have not installed lustre or uninstall failed!"
 	exit 1
 fi
 
-if ! [ -f $backpath/lustre-current ]; then
-	echo "No version information of Lustre installation, you have uninstalled or uninstall failed!"
-	exit 2
-fi
-
+# if ! [ -f $backpath/lustre-current ]; then
+#	echo "No version information of Lustre installation, you have uninstalled or uninstall failed!"
+#	exit 2
+# fi
+#
 # get information of the the backup system
-
-backdir=`tail -1 $backpath/lustre-current`
-if ! [ -d $backdir ]; then
-	echo "Miss backup directory, uninstall failed!"
-	exit 3
-fi
+#
+# backdir=`tail -1 $backpath/lustre-current`
+# if ! [ -d $backdir ]; then
+#	echo "Miss backup directory, uninstall failed!"
+#	exit 3
+# fi
 
 # recover the old system
 echo "recover orignal kernel......"
@@ -69,18 +69,23 @@ cp -f $backdir/usr/lib/libIOKit.A.dylib /usr/lib/libIOKit.A.dylib
 cp -f $backdir/usr/lib/libIOKit.dylib /usr/lib/libIOKit.dylib
 cp -f $backdir/usr/lib/libkmod.a /usr/lib/libkmod.a
 cp -f $backdir/usr/lib/libkmodc++.a /usr/lib/libkmodc++.a
-
-# 
-cp $backpath/lustre-current /tmp/lustre-v
-count=`grep "SystemBackup" /tmp/lustre-v|wc -l`
-count=`expr $count - 1`
-if [ $count -gt 0 ]; then
-	head -$count /tmp/lustre-v > $backpath/lustre-current
+if [ -f $backdir/private/etc/sysctl.conf ]; then
+	cp -f $backdir/private/etc/sysctl.conf /private/etc/sysctl.conf
 else
-	# The file should be empty now, it's the last uninstall
-	rm -f $backpath/lustre-current
+	rm -f /private/etc/sysctl.conf
 fi
-rm -f /tmp/lustre-v
+
+# 
+# cp $backpath/lustre-current /tmp/lustre-v
+# count=`grep "SystemBackup" /tmp/lustre-v|wc -l`
+# count=`expr $count - 1`
+# if [ $count -gt 0 ]; then
+# 	head -$count /tmp/lustre-v > $backpath/lustre-current
+# else
+# 	# The file should be empty now, it's the last uninstall
+#	rm -f $backpath/lustre-current
+# fi
+# rm -f /tmp/lustre-v
 
 # remove unused files
 echo "uninstall lustre modules and utilities......"
-- 
GitLab