home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- #
- # Rebase and prebind all the binaries that we install from this package
- # IMPORTANT: The order in which the split seg binaries are done are dependent on how they are prebound in the system!
- #
-
- REDO_PREBINDING="$1"/Contents/Resources/redo_prebinding
- SEG_ADDR_TABLE="$1"/Contents/Resources/seg_addr_table.Jaguar
-
- #echo "DEBUG: rebasing core audio...";
- COREAUDIO_FILEPATH="/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio"
- if [ -f "$COREAUDIO_FILEPATH" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$COREAUDIO_FILEPATH"
- fi
- #echo "DEBUG: rebasing audio unit...";
- AUDIOUNIT_FILEPATH="/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit"
- if [ -f "$AUDIOUNIT_FILEPATH" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$AUDIOUNIT_FILEPATH"
- fi
- #echo "DEBUG: rebasing audio toolbox...";
- AUDIOTOOLBOX_FILEPATH="/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox"
- if [ -f "$AUDIOTOOLBOX_FILEPATH" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$AUDIOTOOLBOX_FILEPATH"
- fi
- #echo "DEBUG: rebasing carbon sound...";
- CARBONDSOUND_FILEPATH="/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound"
- if [ -f "$CARBONDSOUND_FILEPATH" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$CARBONDSOUND_FILEPATH"
- fi
-
- #echo "DEBUG: Redo prebinding Carbon."
- CARBON_FILEPATHS="/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
- /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
- /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
- /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
- /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices
- /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
- /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
- /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
- /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering
- /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
- /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon"
- for i in $CARBON_FILEPATHS; do
- if [ -f "$i" ]; then
- "$REDO_PREBINDING" -r "$3" "$i"
- fi
- done
-
- #echo "DEBUG: rebasing quicktime...";
- QUICKTIME_FILEPATH="/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime"
- if [ -f "$QUICKTIME_FILEPATH" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$QUICKTIME_FILEPATH"
- fi
-
- # These are non-split set libraries
- # NOTE: These can be done in any order and do not have any dependencies
- # If they are not done here, theoretically they will be moved automatically the first time they are loaded by the dylib loader
- #echo "DEBUG: rebasing all the non-split seg libraries"
- QUICKTIME_PLUGIN="/Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin"
- if [ -f "$QUICKTIME_PLUGIN" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$QUICKTIME_PLUGIN"
- fi
- QUICKTIME_3GPP="/System/Library/QuickTime/QuickTime3GPP.component/Contents/MacOS/QuickTime3GPP"
- if [ -f "$QUICKTIME_3GPP" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$QUICKTIME_3GPP"
- fi
- QUICKTIME_VR="/System/Library/QuickTime/QuickTimeVR.component/Contents/MacOS/QuickTimeVR"
- if [ -f "$QUICKTIME_VR" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$QUICKTIME_VR"
- fi
- QUICKTIME_MPEG="/System/Library/QuickTime/QuickTimeMPEG.component/Contents/MacOS/QuickTimeMPEG"
- if [ -f "$QUICKTIME_MPEG" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$QUICKTIME_MPEG"
- fi
- QUICKTIME_FIREWIREDV="/System/Library/QuickTime/QuickTimeFirewireDV.component/Contents/MacOS/QuickTimeFirewireDV"
- if [ -f "$QUICKTIME_FIREWIREDV" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$QUICKTIME_FIREWIREDV"
- fi
- QUICKTIME_MPEG4="/System/Library/QuickTime/QuickTimeMPEG4.component/Contents/MacOS/QuickTimeMPEG4"
- if [ -f "$QUICKTIME_MPEG4" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$QUICKTIME_MPEG4"
- fi
- QUICKTIME_STREAMING="/System/Library/QuickTime/QuickTimeStreaming.component/Contents/MacOS/QuickTimeStreaming"
- if [ -f "$QUICKTIME_STREAMING" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$QUICKTIME_STREAMING"
- fi
- QUICKTIME_COMPONENTS="/System/Library/QuickTime/QuickTimeComponents.component/Contents/MacOS/QuickTimeComponents"
- if [ -f "$QUICKTIME_COMPONENTS" ]; then
- "$REDO_PREBINDING" -r "$3" -seg_addr_table "$SEG_ADDR_TABLE" "$QUICKTIME_COMPONENTS"
- fi
-
- # These are extra binaries that we must prebind
- #echo "DEBUG: Redo prebinding QuickTime Player"
- QUICKTIME_PLAYER="/Applications/QuickTime Player.app/Contents/MacOS/QuickTime Player"
- if [ -f "$QUICKTIME_PLAYER" ]; then
- "$REDO_PREBINDING" -r "$3" "$QUICKTIME_PLAYER"
- fi
-
- #echo "DEBUG: Redo prebinding QuickTime Updater"
- QUICKTIME_UPDATER="/System/Library/QuickTime/QuickTime Updater.app/Contents/MacOS/QuickTime Updater"
- if [ -f "$QUICKTIME_UPDATER" ]; then
- "$REDO_PREBINDING" -r "$3" "$QUICKTIME_UPDATER"
- fi
-
- #echo "DONE!"
- exit 0
-