From: liangzhen Date: Mon, 16 May 2005 18:07:50 +0000 (+0000) Subject: Files needed by OS X package X-Git-Tag: v1_7_100~1324 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=7038e316a102e8b86712b61bd362c25fa9fe1f78 Files needed by OS X package --- diff --git a/build/osxpack/License.txt b/build/osxpack/License.txt new file mode 100644 index 0000000..b24d890 --- /dev/null +++ b/build/osxpack/License.txt @@ -0,0 +1,11 @@ +Lustre(tm) for OS X + +This software is a proprietary product of Cluster File Systems, +Inc. which owns all intellectual property rights to this software. + +You must obtain a license from Cluster File Systems and agree to its +terms before using this software, contact sales@clusterfs.com. + +This software is beta software modifying and running kernel code. +Back up all systems before use. This software is provided to you +without any warranty, fitness for purpose or other guarantees. diff --git a/build/osxpack/ReadMe.txt b/build/osxpack/ReadMe.txt new file mode 100644 index 0000000..01f3157 --- /dev/null +++ b/build/osxpack/ReadMe.txt @@ -0,0 +1,7 @@ +This is release 0.9.2 Beta of the Lustre OS X client. + +This is not a production quality release, use it with care on +non-production systems. The installation will overwrite the OS X +kernel on your system. Un-installing this package will restore your +current kernel. + diff --git a/build/osxpack/Welcome.txt b/build/osxpack/Welcome.txt new file mode 100644 index 0000000..ea66183 --- /dev/null +++ b/build/osxpack/Welcome.txt @@ -0,0 +1,6 @@ +Welcome to the Lustre OS X client installation + +You will be guided through the steps necessary to install this +software. During installation you will be required to reboot your +Mac, so make sure you have saved all your data and closed applications +before continuing the installation. diff --git a/build/osxpack/postflight b/build/osxpack/postflight new file mode 100755 index 0000000..15c1bc6 --- /dev/null +++ b/build/osxpack/postflight @@ -0,0 +1,11 @@ +#!/bin/sh +/usr/sbin/nvram boot-args="debug=0xe zsize=256" + +# Delete cache files +if [ -f /System/Library/Extensions.kextcache ]; then + rm -f /System/Library/Extensions.kextcache +fi + +if [ -d /System/Library/Caches/com.apple.kernelcaches ]; then + rm -rf /System/Library/Caches/com.apple.kernelcaches +fi diff --git a/build/osxpack/preflight b/build/osxpack/preflight new file mode 100755 index 0000000..e5641b0 --- /dev/null +++ b/build/osxpack/preflight @@ -0,0 +1,67 @@ +#!/bin/sh + +date=`date +%Y%m%d_%H%M` + +backpath=/System/LustreBackup +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$idx +if [ -f $backdir ]; then + rm -f $backdir > /dev/null +fi +mkdir $backdir +chmod 700 $backdir + +# create backup directory +mkdir -p $backdir/System/Library/Frameworks +mkdir -p $backdir/System/Library/Extensions +mkdir -p $backdir/usr/lib +mkdir -p $backdir/usr/include + +# backup the old system +cp /mach_kernel $backdir/ +cp -rf /System/Library/Frameworks/IOKit.framework $backdir/System/Library/Frameworks/ +cp -rf /System/Library/Frameworks/Kernel.framework $backdir/System/Library/Frameworks/ +cp -rf /System/Library/Frameworks/System.framework $backdir/System/Library/Frameworks/ +cp -rf /System/Library/Extensions/System.kext $backdir/System/Library/Extensions/ +cp -rf /usr/include/bsm $backdir/usr/include/bsm +cp -rf /usr/include/default_pager $backdir/usr/include/default_pager +cp -rf /usr/include/dev $backdir/usr/include/dev +cp -rf /usr/include/device $backdir/usr/include/device +cp -rf /usr/include/drivers $backdir/usr/include/drivers +cp -rf /usr/include/hfs $backdir/usr/include/hfs +cp -rf /usr/include/isofs $backdir/usr/include/isofs +cp -rf /usr/include/libkern $backdir/usr/include/libkern +cp -rf /usr/include/mach $backdir/usr/include/mach +cp -rf /usr/include/mach_debug $backdir/usr/include/mach_debug +cp -rf /usr/include/machine $backdir/usr/include/machine +cp -rf /usr/include/miscfs $backdir/usr/include/miscfs +cp -rf /usr/include/net $backdir/usr/include/net +cp -rf /usr/include/netat $backdir/usr/include/netat +cp -rf /usr/include/netinet $backdir/usr/include/netinet +cp -rf /usr/include/netinet6 $backdir/usr/include/netinet6 +cp -rf /usr/include/netkey $backdir/usr/include/netkey +cp -rf /usr/include/nfs $backdir/usr/include/nfs +cp -rf /usr/include/pexpert $backdir/usr/include/pexpert +cp -rf /usr/include/ppc $backdir/usr/include/ppc +cp -rf /usr/include/profile $backdir/usr/include/profile +cp -rf /usr/include/sys $backdir/usr/include/sys +cp -rf /usr/include/ufs $backdir/usr/include/ufs +cp -rf /usr/include/vfs $backdir/usr/include/vfs +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 + +# record sysctem backup path of current installation +echo $backdir >> $backpath/lustre-current +echo $date > $backdir/install_date diff --git a/build/osxpack/uninstall_lustre b/build/osxpack/uninstall_lustre new file mode 100755 index 0000000..b3eed8c --- /dev/null +++ b/build/osxpack/uninstall_lustre @@ -0,0 +1,112 @@ +#!/bin/sh +# +# It's the uninstall programe of lustre + +mount | grep lustre > /dev/null +if [ $? -eq 0 ]; then + echo "Please unmount Lustre before uninstall Lustre." + exit 1 +fi + +echo "unloading modules......" +/sbin/unload_lustre 2 > /dev/null + +backpath=/System/LustreBackup +if ! [ -d $backpath ]; 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 + +# 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 + +# recover the old system +echo "recover orignal kernel......" +cp -f $backdir/mach_kernel /mach_kernel +echo "recover orignal frameworks......" +cp -rf $backdir/System/Library/Frameworks/IOKit.framework /System/Library/Frameworks/ +cp -rf $backdir/System/Library/Frameworks/Kernel.framework /System/Library/Frameworks/ +cp -rf $backdir/System/Library/Frameworks/System.framework /System/Library/Frameworks/ +echo "recover orignal kernel extensions......" +cp -rf $backdir/System/Library/Extensions/System.kext /System/Library/Extensions/ +echo "recover orignal system headers......" +cp -rf $backdir/usr/include/bsm /usr/include/bsm +cp -rf $backdir/usr/include/default_pager /usr/include/default_pager +cp -rf $backdir/usr/include/dev /usr/include/dev +cp -rf $backdir/usr/include/device /usr/include/device +cp -rf $backdir/usr/include/drivers /usr/include/drivers +cp -rf $backdir/usr/include/hfs /usr/include/hfs +cp -rf $backdir/usr/include/isofs /usr/include/isofs +cp -rf $backdir/usr/include/libkern /usr/include/libkern +cp -rf $backdir/usr/include/mach /usr/include/mach +cp -rf $backdir/usr/include/mach_debug /usr/include/mach_debug +cp -rf $backdir/usr/include/machine /usr/include/machine +cp -rf $backdir/usr/include/miscfs /usr/include/miscfs +cp -rf $backdir/usr/include/net /usr/include/net +cp -rf $backdir/usr/include/netat /usr/include/netat +cp -rf $backdir/usr/include/netinet /usr/include/netinet +cp -rf $backdir/usr/include/netinet6 /usr/include/netinet6 +cp -rf $backdir/usr/include/netkey /usr/include/netkey +cp -rf $backdir/usr/include/nfs /usr/include/nfs +cp -rf $backdir/usr/include/pexpert /usr/include/pexpert +cp -rf $backdir/usr/include/ppc /usr/include/ppc +cp -rf $backdir/usr/include/profile /usr/include/profile +cp -rf $backdir/usr/include/sys /usr/include/sys +cp -rf $backdir/usr/include/ufs /usr/include/ufs +cp -rf $backdir/usr/include/vfs /usr/include/vfs +echo "recover orignal system libraries......" +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 + rm -f /tmp/lustre-v +else + # The file should be empty now, it's the last uninstall + rm -f $backpath/lustre-current + rm -f /tmp/lustre-v + if [ $count -ne 0 ]; then + # no backup version in the lustre-current file + echo "No backup information anymore, installation is likely failed!" + exit 4 + fi +fi + +# remove unused files +echo "uninstall lustre modules and utilities......" +rm -rf $backdir +rm -f /sbin/lctl +rm -f /sbin/mount_lustre +rm -f /sbin/unload_lustre +rm -rf /System/Library/Extensions/libcfs.kext +rm -rf /System/Library/Extensions/portals.kext +rm -rf /System/Library/Extensions/ksocknal.kext +rm -rf /System/Library/Extensions/lvfs.kext +rm -rf /System/Library/Extensions/obdclass.kext +rm -rf /System/Library/Extensions/ptlrpc.kext +rm -rf /System/Library/Extensions/ptlrpcs.kext +rm -rf /System/Library/Extensions/osc.kext +rm -rf /System/Library/Extensions/lov.kext +rm -rf /System/Library/Extensions/obdecho.kext +rm -rf /System/Library/Extensions/mdc.kext +rm -rf /System/Library/Extensions/llite.kext + +# disable kernel cache by touch /System/Library +touch /System/Library +echo "Uninstall Lustre successfully, please reboot your computer!" diff --git a/build/osxpack/unload_lustre b/build/osxpack/unload_lustre new file mode 100755 index 0000000..54404c1 --- /dev/null +++ b/build/osxpack/unload_lustre @@ -0,0 +1,18 @@ +#!/bin/sh + +mount | grep lustre > /dev/null +if [ $? -eq 0 ]; then + echo "Please unmount lustre before unload modules." + exit 1 +fi +kextunload /System/Library/Extensions/llite.kext +kextunload /System/Library/Extensions/mdc.kext +kextunload /System/Library/Extensions/lov.kext +kextunload /System/Library/Extensions/osc.kext +kextunload /System/Library/Extensions/ptlrpc.kext +kextunload /System/Library/Extensions/ptlrpcs.kext +kextunload /System/Library/Extensions/obdclass.kext +kextunload /System/Library/Extensions/lvfs.kext +kextunload /System/Library/Extensions/ksocknal.kext +kextunload /System/Library/Extensions/portals.kext +kextunload /System/Library/Extensions/libcfs.kext