- Timestamp:
- Aug 30, 2013 8:33:19 AM (11 years ago)
- Location:
- trunk/src/VBox/Additions/darwin
- Files:
-
- 11 added
- 12 deleted
- 7 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/darwin/Installer/DiskImage/Uninstall.tool
r48076 r48181 21 21 # 22 22 echo "" 23 echo "Welcome to the VirtualBox uninstallerscript."23 echo "Welcome to the VirtualBox Guest Additions uninstall script." 24 24 echo "" 25 25 26 # 27 # Check for arguments and display 28 # 29 my_default_prompt=0 26 # Check if user interraction is required to start uninstall process. 27 fUnattended=0 30 28 if test "$#" != "0"; then 31 29 if test "$#" != "1" -o "$1" != "--unattended"; then 32 echo "Error: Unknown argument(s): $*"33 echo ""34 echo "Usage: uninstall.sh[--unattended]"35 echo ""36 echo "If the '--unattended' option is not given, you will be prompted"37 echo "for a Yes/No before doing the actual uninstallation."38 echo ""30 echo "Error: Unknown argument(s): $*" 31 echo "" 32 echo "Usage: $0 [--unattended]" 33 echo "" 34 echo "If the '--unattended' option is not given, you will be prompted" 35 echo "for a Yes/No before doing the actual uninstallation." 36 echo "" 39 37 exit 4; 40 38 fi 41 my_default_prompt="Yes"39 fUnattended="Yes" 42 40 fi 43 41 44 # 45 # Collect directories and files to remove. 46 # Note: Do NOT attempt adding directories or filenames with spaces! 47 # 48 my_directories="" 49 my_files="" 50 51 # Users files first 52 test -f "${HOME}/Library/LaunchAgents/org.virtualbox.vboxwebsrv.plist" && my_files="$my_files ${HOME}/Library/LaunchAgents/org.virtualbox.vboxwebsrv.plist" 53 54 test -d /Library/StartupItems/VirtualBox/ && my_directories="$my_directories /Library/StartupItems/VirtualBox/" 55 test -d /Library/Receipts/VBoxStartupItems.pkg/ && my_directories="$my_directories /Library/Receipts/VBoxStartupItems.pkg/" 56 57 test -d /Library/Extensions/VBoxDrv.kext/ && my_directories="$my_directories /Library/Extensions/VBoxDrv.kext/" 58 test -d /Library/Extensions/VBoxUSB.kext/ && my_directories="$my_directories /Library/Extensions/VBoxUSB.kext/" 59 test -d /Library/Extensions/VBoxNetFlt.kext/ && my_directories="$my_directories /Library/Extensions/VBoxNetFlt.kext/" 60 test -d /Library/Extensions/VBoxNetAdp.kext/ && my_directories="$my_directories /Library/Extensions/VBoxNetAdp.kext/" 61 # Tiger support is obsolete, but we leave it here for a clean removing of older 62 # VirtualBox versions 63 test -d /Library/Extensions/VBoxDrvTiger.kext/ && my_directories="$my_directories /Library/Extensions/VBoxDrvTiger.kext/" 64 test -d /Library/Extensions/VBoxUSBTiger.kext/ && my_directories="$my_directories /Library/Extensions/VBoxUSBTiger.kext/" 65 test -d /Library/Receipts/VBoxKEXTs.pkg/ && my_directories="$my_directories /Library/Receipts/VBoxKEXTs.pkg/" 66 67 test -f /usr/bin/VirtualBox && my_files="$my_files /usr/bin/VirtualBox" 68 test -f /usr/bin/VBoxManage && my_files="$my_files /usr/bin/VBoxManage" 69 test -f /usr/bin/VBoxVRDP && my_files="$my_files /usr/bin/VBoxVRDP" 70 test -f /usr/bin/VBoxHeadless && my_files="$my_files /usr/bin/VBoxHeadless" 71 test -f /usr/bin/vboxwebsrv && my_files="$my_files /usr/bin/vboxwebsrv" 72 test -f /usr/bin/VBoxBalloonCtrl && my_files="$my_files /usr/bin/VBoxBalloonCtrl" 73 test -f /usr/bin/VBoxAutostart && my_files="$my_files /usr/bin/VBoxAutostart" 74 test -f /usr/bin/vbox-img && my_files="$my_files /usr/bin/vbox-img" 75 test -d /Library/Receipts/VirtualBoxCLI.pkg/ && my_directories="$my_directories /Library/Receipts/VirtualBoxCLI.pkg/" 76 77 test -d /Applications/VirtualBox.app/ && my_directories="$my_directories /Applications/VirtualBox.app/" 78 test -d /Library/Receipts/VirtualBox.pkg/ && my_directories="$my_directories /Library/Receipts/VirtualBox.pkg/" 79 80 # legacy 81 test -d /Library/Receipts/VBoxDrv.pkg/ && my_directories="$my_directories /Library/Receipts/VBoxDrv.pkg/" 82 test -d /Library/Receipts/VBoxUSB.pkg/ && my_directories="$my_directories /Library/Receipts/VBoxUSB.pkg/" 83 84 # python stuff 85 python_versions="2.3 2.5 2.6 2.7" 86 for p in $python_versions; do 87 test -f /Library/Python/$p/site-packages/vboxapi/VirtualBox_constants.py && my_files="$my_files /Library/Python/$p/site-packages/vboxapi/VirtualBox_constants.py" 88 test -f /Library/Python/$p/site-packages/vboxapi/VirtualBox_constants.pyc && my_files="$my_files /Library/Python/$p/site-packages/vboxapi/VirtualBox_constants.pyc" 89 test -f /Library/Python/$p/site-packages/vboxapi/__init__.py && my_files="$my_files /Library/Python/$p/site-packages/vboxapi/__init__.py" 90 test -f /Library/Python/$p/site-packages/vboxapi/__init__.pyc && my_files="$my_files /Library/Python/$p/site-packages/vboxapi/__init__.pyc" 91 test -f /Library/Python/$p/site-packages/vboxapi-1.0-py$p.egg-info && my_files="$my_files /Library/Python/$p/site-packages/vboxapi-1.0-py$p.egg-info" 92 test -d /Library/Python/$p/site-packages/vboxapi/ && my_directories="$my_directories /Library/Python/$p/site-packages/vboxapi/" 93 done 94 95 # 96 # Collect KEXTs to remove. 97 # Note that the unload order is significant. 98 # 99 my_kexts="" 100 for kext in org.virtualbox.kext.VBoxUSB org.virtualbox.kext.VBoxNetFlt org.virtualbox.kext.VBoxNetAdp org.virtualbox.kext.VBoxDrv; do 101 if /usr/sbin/kextstat -b $kext -l | grep -q $kext; then 102 my_kexts="$my_kexts $kext" 103 fi 104 done 105 106 # 107 # Collect packages to forget 108 # 109 my_pb='org\.virtualbox\.pkg\.' 110 my_pkgs=`/usr/sbin/pkgutil --pkgs="${my_pb}vboxkexts|${my_pb}vboxstartupitems|${my_pb}virtualbox|${my_pb}virtualboxcli"` 111 112 # 113 # Did we find anything to uninstall? 114 # 115 if test -z "$my_directories" -a -z "$my_files" -a -z "$my_kexts" -a -z "$my_pkgs"; then 116 echo "No VirtualBox files, directories, KEXTs or packages to uninstall." 117 echo "Done." 118 exit 0; 119 fi 120 121 # 122 # Look for running VirtualBox processes and warn the user 123 # if something is running. Since deleting the files of 124 # running processes isn't fatal as such, we will leave it 125 # to the user to choose whether to continue or not. 126 # 127 # Note! comm isn't supported on Tiger, so we make -c to do the stripping. 128 # 129 my_processes="`ps -axco 'pid uid command' | grep -wEe '(VirtualBox|VirtualBoxVM|VBoxManage|VBoxHeadless|vboxwebsrv|VBoxXPCOMIPCD|VBoxSVC|VBoxNetDHCP|VBoxNetNAT)' | grep -vw grep | grep -vw VirtualBox_Uninstall.tool | tr '\n' '\a'`"; 130 if test -n "$my_processes"; then 131 echo 'Warning! Found the following active VirtualBox processes:' 132 echo "$my_processes" | tr '\a' '\n' 133 echo "" 134 echo "We recommend that you quit all VirtualBox processes before" 135 echo "uninstalling the product." 136 echo "" 137 if test "$my_default_prompt" != "Yes"; then 138 echo "Do you wish to continue none the less (Yes/No)?" 139 read my_answer 140 if test "$my_answer" != "Yes" -a "$my_answer" != "YES" -a "$my_answer" != "yes"; then 141 echo "Aborting uninstall. (answer: '$my_answer')". 142 exit 2; 143 fi 144 echo "" 145 my_answer="" 146 fi 147 fi 148 149 # 150 # Display the files and directories that will be removed 151 # and get the user's consent before continuing. 152 # 153 if test -n "$my_files" -o -n "$my_directories"; then 154 echo "The following files and directories (bundles) will be removed:" 155 for file in $my_files; do echo " $file"; done 156 for dir in $my_directories; do echo " $dir"; done 157 fi 158 if test -n "$my_kexts"; then 159 echo "And the following KEXTs will be unloaded:" 160 for kext in $my_kexts; do echo " $kext"; done 161 fi 162 if test -n "$my_pkgs"; then 163 echo "And the traces of following packages will be removed:" 164 for kext in $my_pkgs; do echo " $kext"; done 165 fi 166 echo "" 167 168 if test "$my_default_prompt" != "Yes"; then 169 echo "Do you wish to uninstall VirtualBox (Yes/No)?" 170 read my_answer 171 if test "$my_answer" != "Yes" -a "$my_answer" != "YES" -a "$my_answer" != "yes"; then 172 echo "Aborting uninstall. (answer: '$my_answer')". 42 if test "$fUnattended" != "Yes"; then 43 echo "Do you wish to continue none the less (Yes/No)?" 44 read fUnattended 45 if test "$fUnattended" != "Yes" -a "$fUnattended" != "YES" -a "$fUnattended" != "yes"; then 46 echo "Aborting uninstall. (answer: '$fUnattended')". 173 47 exit 2; 174 48 fi … … 176 50 fi 177 51 178 # 179 # Unregister has to be done before the files are removed. 180 # 181 LSREGISTER=/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister 182 if [ -e ${LSREGISTER} ]; then 183 ${LSREGISTER} -u /Applications/VirtualBox.app > /dev/null 184 ${LSREGISTER} -u /Applications/VirtualBox.app/Contents/Resources/vmstarter.app > /dev/null 185 fi 52 # Stop services 53 echo "Checking running services..." 54 unload() 55 { 56 ITEM_ID=$1 57 ITEM_PATH=$2 58 FORCED_USER=$3 186 59 187 # 188 # Display the sudo usage instructions and execute the command. 189 # 190 echo "The uninstallation processes requires administrative privileges" 191 echo "because some of the installed files cannot be removed by a normal" 192 echo "user. You may be prompted for your password now..." 193 echo "" 60 echo "Unloading $ITEM_ID" 194 61 195 if test -n "$my_files" -o -n "$my_directories"; then 196 /usr/bin/sudo -p "Please enter %u's password:" /bin/rm -Rf $my_files $my_directories 197 my_rc=$? 198 if test "$my_rc" -ne 0; then 199 echo "An error occurred durning 'sudo rm', there should be a message above. (rc=$my_rc)" 200 test -x /usr/bin/sudo || echo "warning: Cannot find /usr/bin/sudo or it's not an executable." 201 test -x /bin/rm || echo "warning: Cannot find /bin/rm or it's not an executable" 202 echo "" 203 echo "The uninstall failed. Please retry." 204 exit 1; 62 63 loaded="NO" 64 test -n "$(sudo -u "$FORCED_USER" launchctl list | grep $ITEM_ID)" && loaded="YES" 65 if [ "$loaded" = "YES" ] ; then 66 sudo -p "Please enter $FORCED_USER's password (unloading $ITEM_ID):" sudo -u "$FORCED_USER" launchctl unload -F "$ITEM_PATH/$ITEM_ID.plist" 205 67 fi 206 fi207 68 208 my_rc=0 209 for kext in $my_kexts; do 210 echo unloading $kext 211 /usr/bin/sudo -p "Please enter %u's password (unloading $kext):" /sbin/kextunload -m $kext 212 my_rc2=$? 213 if test "$my_rc2" -ne 0; then 214 echo "An error occurred durning 'sudo /sbin/kextunload -m $kext', there should be a message above. (rc=$my_rc2)" 215 test -x /usr/bin/sudo || echo "warning: Cannot find /usr/bin/sudo or it's not an executable." 216 test -x /sbin/kextunload || echo "warning: Cannot find /sbin/kextunload or it's not an executable" 217 my_rc=$my_rc2 69 } 70 71 unload "org.virtualbox.additions.vboxservice" "/Library/LaunchDaemons" "root" 72 unload "org.virtualbox.additions.vboxclient" "/Library/LaunchAgents" `whoami` 73 74 # Unload kernel extensions 75 echo "Checking running kernel extensions..." 76 items="VBoxGuest" 77 for item in $items; do 78 kext_item="org.virtualbox.kext.$item" 79 loaded=`kextstat | grep $kext_item` 80 if [ ! -z "$loaded" ] ; then 81 echo "Unloading $item kernel extension" 82 sudo -p "Please enter %u's password (unloading $item):" kextunload -b $kext_item 218 83 fi 219 84 done 220 if test "$my_rc" -eq 0; then 221 echo "Successfully unloaded VirtualBox kernel extensions." 222 else 223 echo "Failed to unload one or more KEXTs, please reboot the machine to complete the uninstall." 224 exit 1; 225 fi 85 86 # Remove files and directories 87 echo "Checking files and directories..." 88 sudo -p "Please enter %u's password (removing files and directories):" rm -rf "/Library/Application Support/VirtualBox Guest Additions" 89 sudo -p "Please enter %u's password (removing files and directories):" rm -rf "/Library/Extensions/VBoxGuest.kext" 90 sudo -p "Please enter %u's password (removing files and directories):" rm -rf "/Library/LaunchAgents/org.virtualbox.additions.vboxclient.plist" 91 sudo -p "Please enter %u's password (removing files and directories):" rm -rf "/Library/LaunchDaemons/org.virtualbox.additions.vboxservice.plist" 226 92 227 93 # Cleaning up pkgutil database 228 for my_pkg in $my_pkgs; do 229 /usr/bin/sudo -p "Please enter %u's password (removing $my_pkg):" /usr/sbin/pkgutil --forget "$my_pkg" 94 echo "Checking package database ..." 95 items="kexts tools-and-services" 96 for item in $items; do 97 pkg_item="org.virtualbox.pkg.additions.$item" 98 installed=`pkgutil --pkgs="$pkg_item"` 99 if [ ! -z "$installed" ] ; then 100 sudo -p "Please enter %u's password (removing $pkg_item):" pkgutil --forget "$pkg_item" 101 fi 230 102 done 231 103 232 104 echo "Done." 233 105 exit 0; 234 -
trunk/src/VBox/Additions/darwin/Installer/Makefile.kmk
r47894 r48181 1 1 # $Id$ 2 2 ## @file 3 # Install misc stuff and create dist packages for Mac OS X .4 # 5 6 # 7 # Copyright (C) 2006-201 2Oracle Corporation3 # Install misc stuff and create dist packages for Mac OS X Guest Additions. 4 # 5 6 # 7 # Copyright (C) 2006-2013 Oracle Corporation 8 8 # 9 9 # This file is part of VirtualBox Open Source Edition (OSE), as … … 16 16 # 17 17 18 SUB_DEPTH = ../../../.. 18 SUB_DEPTH = ../../../../.. 19 19 include $(KBUILD_PATH)/subheader.kmk 20 20 … … 24 24 # 25 25 VBOX_PATH_DI_SRC := $(PATH_SUB_CURRENT) 26 VBOX_DI_OUT_DIR := $(PATH_TARGET)/ Installer/darwin26 VBOX_DI_OUT_DIR := $(PATH_TARGET)/additions/Installer 27 27 BLDDIRS += $(VBOX_DI_OUT_DIR) 28 28 29 29 ifdef VBOX_WITH_COMBINED_PACKAGE 30 30 ifeq ($(KBUILD_TARGET_ARCH),x86) 31 VBOX_PATH_DIST_32 = $(VBOX_PATH_DIST) 32 VBOX_PATH_DIST_64 = $(PATH_OUT_BASE)/darwin.amd64/$(KBUILD_TYPE)/dist 31 VBOX_PATH_DIST_32 = $(VBOX_PATH_DIST)/additions 32 VBOX_PATH_DIST_64 = $(PATH_OUT_BASE)/darwin.amd64/$(KBUILD_TYPE)/dist/additions 33 33 else 34 VBOX_PATH_DIST_64 = $(VBOX_PATH_DIST) 34 VBOX_PATH_DIST_64 = $(VBOX_PATH_DIST)/additions 35 35 VBOX_PATH_DIST_32 = $(PATH_OUT_BASE)/darwin.x86/$(KBUILD_TYPE)/dist 36 36 endif … … 40 40 VBOX_DI_LIPO = lipo 41 41 else 42 VBOX_DI_FN_DEP_BOTH = $(VBOX_PATH_DIST)/ $142 VBOX_DI_FN_DEP_BOTH = $(VBOX_PATH_DIST)/additions/$1 43 43 ifeq ($(KBUILD_TARGET_ARCH),x86) 44 VBOX_DI_FN_DEP_32 = $(VBOX_PATH_DIST)/ $144 VBOX_DI_FN_DEP_32 = $(VBOX_PATH_DIST)/additions/$1 45 45 VBOX_DI_FN_DEP_64 = 46 46 else 47 VBOX_DI_FN_DEP_64 = $(VBOX_PATH_DIST)/ $147 VBOX_DI_FN_DEP_64 = $(VBOX_PATH_DIST)/additions/$1 48 48 VBOX_DI_FN_DEP_32 = 49 49 endif … … 82 82 # The packing. 83 83 # 84 PACKING += $(VBOX_PATH_DIST)/V irtualBox-$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)-r$(VBOX_SVN_REV).dmg84 PACKING += $(VBOX_PATH_DIST)/VBoxDarwinAdditions-$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)-r$(VBOX_SVN_REV).dmg 85 85 #OTHER_CLEAN = TODO 86 86 … … 106 106 endif 107 107 108 109 # Check for additional manuals110 VBOX_ADD_MANUALS := $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/UserManual_$(f).pdf)111 112 VBOX_ADD_MANUAL_de_DE := $(filter $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/UserManual_de_DE.pdf,$(VBOX_ADD_MANUALS))113 VBOX_ADD_MANUAL_fr_FR := $(filter $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/UserManual_fr_FR.pdf,$(VBOX_ADD_MANUALS))114 115 108 # 116 109 # The disk image. 117 110 # 118 $(VBOX_PATH_DIST)/V irtualBox-$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)-r$(VBOX_SVN_REV).dmg: \119 $(VBOX_PATH_PACK_TMP)/DiskImage/V irtualBox.pkg \111 $(VBOX_PATH_DIST)/VBoxDarwinAdditions-$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)-r$(VBOX_SVN_REV).dmg: \ 112 $(VBOX_PATH_PACK_TMP)/DiskImage/VBoxGuestAdditions.pkg \ 120 113 $(VBOX_BRAND_DARWIN_DISKIMAGE_BG) \ 121 114 $(VBOX_BRAND_DARWIN_DISKIMAGE_DS_STORE) \ 122 115 $$(wildcard $(VBOX_PATH_DI_SRC)/DiskImage/*) \ 123 $(if $(VBOX_WITH_DOCS_PACKING), \ 124 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/UserManual.pdf \ 125 $(VBOX_ADD_MANUALS)) \ 116 $(VBOX_PATH_DI_SRC)/DiskImage/Uninstall.tool \ 126 117 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE) 127 118 $(call MSG_TOOL,hdiutil,,,$@) … … 129 120 sudo rm -Rf $(VBOX_PATH_PACK_TMP)/DiskImage.tmp 130 121 $(MKDIR) -p $(VBOX_PATH_PACK_TMP)/DiskImage.tmp/ 131 sudo mv $(VBOX_PATH_PACK_TMP)/DiskImage/V irtualBox.pkg $(VBOX_PATH_PACK_TMP)/DiskImage.tmp/122 sudo mv $(VBOX_PATH_PACK_TMP)/DiskImage/VBoxGuestAdditions.pkg $(VBOX_PATH_PACK_TMP)/DiskImage.tmp/ 132 123 sudo rm -Rf \ 133 124 $@ \ … … 135 126 sudo mv $(VBOX_PATH_PACK_TMP)/DiskImage.tmp $(VBOX_PATH_PACK_TMP)/DiskImage 136 127 @# Remove .dmg packages from old depend builds 137 $(QUIET)$(RM) -f $(wildcard $(VBOX_PATH_DIST)/V irtualBox-*-r*.dmg)128 $(QUIET)$(RM) -f $(wildcard $(VBOX_PATH_DIST)/VBoxDarwinAdditions-*-r*.dmg) 138 129 @# Populate the image with uninstaller, readme, picture, and .VolumeIcon.icns. (TODO) 139 $(INSTALL) $(VBOX_PATH_DI_SRC)/DiskImage/ VirtualBox_Uninstall.tool $(VBOX_PATH_PACK_TMP)/DiskImage/130 $(INSTALL) $(VBOX_PATH_DI_SRC)/DiskImage/Uninstall.tool $(VBOX_PATH_PACK_TMP)/DiskImage/ 140 131 ifeq (1,1) 141 132 @# Pedantic mode... … … 143 134 $(MKDIR) $(VBOX_PATH_PACK_TMP)/DiskImage/.background 144 135 $(INSTALL) -m 644 $(VBOX_BRAND_DARWIN_DISKIMAGE_BG) $(VBOX_PATH_PACK_TMP)/DiskImage/.background/vbox_folder.tiff 145 ifdef VBOX_WITH_BUNDLED_INSTALLER146 $(if $(VBOX_WITH_DOCS_PACKING), \147 $(INSTALL) -m 644 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/UserManual.pdf $(VBOX_PATH_PACK_TMP)/DiskImage/User\ Manual.pdf$(NLTAB) \148 $(if $(VBOX_ADD_MANUAL_de_DE),$(INSTALL) -m 644 $(VBOX_ADD_MANUAL_de_DE) "$(VBOX_PATH_PACK_TMP)/DiskImage/$(VBOX_BRAND_de_DE_MANUAL_NAME).pdf"$(NLTAB)) \149 $(if $(VBOX_ADD_MANUAL_fr_FR),$(INSTALL) -m 644 $(VBOX_ADD_MANUAL_fr_FR) "$(VBOX_PATH_PACK_TMP)/DiskImage/$(VBOX_BRAND_fr_FR_MANUAL_NAME).pdf"$(NLTAB)))150 # Rename the main package151 else152 $(if $(VBOX_WITH_DOCS_PACKING), $(INSTALL) $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/UserManual.pdf $(VBOX_PATH_PACK_TMP)/DiskImage/)153 $(LN) -s /Applications/ $(VBOX_PATH_PACK_TMP)/DiskImage/Applications154 endif155 136 endif 156 137 @# Change the owners. 157 138 sudo chown -R root:admin $(VBOX_PATH_PACK_TMP)/DiskImage 158 139 @# Create the image. 159 sudo hdiutil create -format UDBZ -volname "VirtualBox " -srcfolder "$(VBOX_PATH_PACK_TMP)/DiskImage" "$@"140 sudo hdiutil create -format UDBZ -volname "VirtualBox Guest Additions" -srcfolder "$(VBOX_PATH_PACK_TMP)/DiskImage" "$@" 160 141 @# Change (back) the owner so it can be deleted by the user. 161 142 sudo chown "$(shell whoami)" "$@" … … 165 146 # The meta-package. 166 147 # 167 $(VBOX_PATH_PACK_TMP)/DiskImage/VirtualBox.pkg: \ 168 $(VBOX_PATH_PACK_TMP)/Packages/VBoxStartupItems.pkg \ 169 $(VBOX_PATH_PACK_TMP)/Packages/VBoxKEXTs.pkg \ 170 $(VBOX_PATH_PACK_TMP)/Packages/VirtualBoxCLI.pkg \ 171 $(VBOX_PATH_PACK_TMP)/Packages/VirtualBox.pkg \ 172 $$(wildcard $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/* \ 173 $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/*.lproj/*) \ 148 149 $(VBOX_PATH_PACK_TMP)/DiskImage/VBoxGuestAdditions.pkg: \ 150 $(VBOX_PATH_PACK_TMP)/Packages/VBoxGuestAdditionsKEXTs.pkg \ 151 $(VBOX_PATH_PACK_TMP)/Packages/VBoxGuestAdditionsToolsAndServices.pkg \ 152 $$(wildcard $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/* \ 153 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/*.lproj/*) \ 174 154 $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES), $(VBOX_BRAND_$(f)_VIRTUALBOX_WELCOME_RTF)) \ 155 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/Welcome.rtf \ 156 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/Conclusion.rtf \ 175 157 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE) 176 158 $(call MSG_TOOL,productbuild,,,$@) … … 178 160 sudo rm -Rf \ 179 161 $@ \ 180 $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.root \181 $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.desc \182 $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.res162 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.root \ 163 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.desc \ 164 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res 183 165 @# Correct directory permissions are important. 184 166 $(MKDIR) -p \ 185 167 $(@D) \ 186 $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.desc \ 187 $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res \ 188 $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res/English.lproj 168 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.desc \ 169 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res \ 170 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/English.lproj 171 189 172 @# Do keyword replacement in the package info and description files. 190 173 $(SED) \ … … 196 179 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \ 197 180 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \ 198 --output $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.res/English.lproj/Welcome.rtf \199 $(VBOX_PATH_DI_SRC)/V irtualBox_mpkg/Welcome.rtf181 --output $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/English.lproj/Welcome.rtf \ 182 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/Welcome.rtf 200 183 @# Copy the resources. 201 $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/Conclusion.rtf $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res/English.lproj/Conclusion.rtf 184 $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/Conclusion.rtf $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/English.lproj/Conclusion.rtf 185 202 186 $(SED) \ 203 187 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \ 204 188 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \ 205 189 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \ 206 --output $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res/English.lproj/Localizable.strings \ 207 $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/Localizable.strings 208 $(INSTALL) -m 0644 $(VBOX_BRAND_DARWIN_INSTALLER_BG) $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res/background.tif 190 --output $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/English.lproj/Localizable.strings \ 191 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/Localizable.strings 192 $(INSTALL) -m 0644 $(VBOX_BRAND_DARWIN_INSTALLER_BG) $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/background.tif 193 209 194 $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES), \ 210 195 $(MKDIR) -p \ 211 $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj$(NLTAB) \196 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj$(NLTAB) \ 212 197 $(SED) \ 213 198 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \ … … 215 200 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \ 216 201 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \ 217 --output $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Welcome.rtf \202 --output $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Welcome.rtf \ 218 203 $(VBOX_BRAND_$(f)_VIRTUALBOX_WELCOME_RTF)$(NLTAB) \ 219 $(INSTALL) -m 0644 $(VBOX_BRAND_$(f)_VIRTUALBOX_CONCLUSION_RTF) $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Conclusion.rtf$(NLTAB) \204 $(INSTALL) -m 0644 $(VBOX_BRAND_$(f)_VIRTUALBOX_CONCLUSION_RTF) $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Conclusion.rtf$(NLTAB) \ 220 205 $(SED) \ 221 206 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \ 222 207 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \ 223 208 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \ 224 --output $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Localizable.strings \209 --output $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Localizable.strings \ 225 210 $(VBOX_BRAND_$(f)_VIRTUALBOX_LOCALIZABLE_STRINGS)$(NLTAB) \ 226 211 ) 212 227 213 @# Build the package. 228 214 $(VBOX_PRODUCTBUILD) \ 229 --distribution $(VBOX_PATH_DI_SRC)/V irtualBox_mpkg/distribution.dist \215 --distribution $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/distribution.dist \ 230 216 --package-path $(VBOX_PATH_PACK_TMP)/Packages \ 231 --resources $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.res \232 --identifier org.VirtualBox.mpkg. virtualbox\217 --resources $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res \ 218 --identifier org.VirtualBox.mpkg.GuestAdditions \ 233 219 --version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 234 220 $(if $(VBOX_MACOSX_INSTALLER_SIGN),--sign "$(VBOX_MACOSX_INSTALLER_SIGN)",) \ 235 221 $@ 222 236 223 @# Cleanup. 237 224 sudo rm -Rf \ 238 $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.root \239 $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.desc \240 $(VBOX_PATH_PACK_TMP)/V irtualBox.dist.res241 242 V irtualBox.pkg:: $(VBOX_PATH_PACK_TMP)/DiskImage/VirtualBox.pkg225 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.root \ 226 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.desc \ 227 $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res 228 229 VBoxDarwinAdditions.pkg:: $(VBOX_PATH_PACK_TMP)/DiskImage/VBoxDarwinAdditions.pkg 243 230 244 231 # 245 232 # The VirtualBox Kernel extensions. 246 233 # 247 VBOX_DI_KEXTS_UNIVERSAL = VBox Drv VBoxNetFlt VBoxNetAdp VBoxUSB234 VBOX_DI_KEXTS_UNIVERSAL = VBoxGuest 248 235 VBOX_DI_KEXTS = $(VBOX_DI_KEXTS_UNIVERSAL) 249 236 250 $(VBOX_PATH_PACK_TMP)/Packages/VBox KEXTs.pkg: \237 $(VBOX_PATH_PACK_TMP)/Packages/VBoxGuestAdditionsKEXTs.pkg: \ 251 238 $(foreach kext,$(VBOX_DI_KEXTS_UNIVERSAL), $(call VBOX_DI_FN_DEP_BOTH,$(kext).kext/Contents/MacOS/$(kext))) \ 252 $(foreach kext,$(VBOX_DI_KEXTS), $(VBOX_PATH_DIST)/ $(kext).kext/Contents/Info.plist) \253 $$(wildcard $(VBOX_PATH_DI_SRC)/VBox KEXTs/* \254 $(VBOX_PATH_DI_SRC)/VBox KEXTs/*.lproj/*) \239 $(foreach kext,$(VBOX_DI_KEXTS), $(VBOX_PATH_DIST)/additions//$(kext).kext/Contents/Info.plist) \ 240 $$(wildcard $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsKEXTs/* \ 241 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsKEXTs/*.lproj/*) \ 255 242 $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES), \ 256 243 $(VBOX_BRAND_$(f)_VBOXKEXTS_DESCRIPTION_PLIST) \ 257 244 $(VBOX_BRAND_$(f)_VBOXKEXTS_README_HTML) \ 258 245 $(VBOX_BRAND_$(f)_VBOXKEXTS_INSTALLATIONCHECK_STRINGS)) \ 246 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsKEXTs/postflight \ 247 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsKEXTs/PkgBuildComponent.plist \ 259 248 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE) 260 249 $(call MSG_TOOL,pkgbuild,,,$@) … … 262 251 sudo rm -Rf \ 263 252 $@ \ 264 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root \265 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.desc \266 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.res253 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root \ 254 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.desc \ 255 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.res 267 256 @# Correct directory permissions are important. 268 257 $(MKDIR) -p \ 269 258 $(@D) \ 270 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.desc \271 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.res \272 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.res/English.lproj273 $(MKDIR) -p -m 1775 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root/Library259 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.desc \ 260 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.res \ 261 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.res/English.lproj 262 $(MKDIR) -p -m 1775 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library 274 263 $(MKDIR) -p -m 0755 \ 275 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root/Library/Extensions \264 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions \ 276 265 $(foreach kext,$(VBOX_DI_KEXTS), \ 277 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root/Library/Extensions/$(kext).kext \278 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents \279 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents/MacOS )266 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions/$(kext).kext \ 267 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents \ 268 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents/MacOS ) 280 269 @# Copy the common files (Info.plist). 281 270 $(foreach kext,$(VBOX_DI_KEXTS), \ 282 $(NLTAB)$(INSTALL) -m 0644 $(VBOX_PATH_DIST)/ $(kext).kext/Contents/Info.plist $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents/)271 $(NLTAB)$(INSTALL) -m 0644 $(VBOX_PATH_DIST)/additions/$(kext).kext/Contents/Info.plist $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents/) 283 272 @# Copy the binaries and invoking lipo. 284 273 ifdef VBOX_WITH_COMBINED_PACKAGE 285 274 $(foreach kext,$(VBOX_DI_KEXTS_UNIVERSAL), \ 286 275 $(NLTAB)$(VBOX_DI_LIPO) -create \ 287 $(VBOX_PATH_DIST_32)/ $(kext).kext/Contents/MacOS/$(kext) \288 $(VBOX_PATH_DIST_64)/ $(kext).kext/Contents/MacOS/$(kext) \289 -output $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents/MacOS/$(kext))276 $(VBOX_PATH_DIST_32)/additions/$(kext).kext/Contents/MacOS/$(kext) \ 277 $(VBOX_PATH_DIST_64)/additions/$(kext).kext/Contents/MacOS/$(kext) \ 278 -output $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents/MacOS/$(kext)) 290 279 else 291 280 $(foreach kext,$(VBOX_DI_KEXTS), \ 292 $(NLTAB)$(INSTALL) -m 0755 $(VBOX_PATH_DIST)/ $(kext).kext/Contents/MacOS/$(kext) $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents/MacOS/)281 $(NLTAB)$(INSTALL) -m 0755 $(VBOX_PATH_DIST)/additions/$(kext).kext/Contents/MacOS/$(kext) $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents/MacOS/) 293 282 endif 294 283 @# Signed the kext bundles. 295 284 ifdef VBOX_SIGNING_MODE 296 285 $(foreach kext,$(VBOX_DI_KEXTS), \ 297 $(NLTAB)$(call VBOX_SIGN_BUNDLE_FN,$(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root/Library/Extensions/$(kext).kext,) )286 $(NLTAB)$(call VBOX_SIGN_BUNDLE_FN,$(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions/$(kext).kext,) ) 298 287 endif 299 288 @# Set the correct owners. 300 sudo chown root:admin $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library 301 sudo chown -R root:wheel $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library/Extensions 302 @# Do keyword replacement in the package info and description files. 303 $(SED) \ 304 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \ 305 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \ 306 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \ 307 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \ 308 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \ 309 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \ 310 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \ 311 --output $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.desc/PkgBuildComponent.plist \ 312 $(VBOX_PATH_DI_SRC)/VBoxKEXTs/PkgBuildComponent.plist 313 @# Copy the resources. 314 $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/VBoxKEXTs/postflight $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.res/ 289 sudo chown root:admin $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library 290 sudo chown -R root:wheel $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions 291 292 # Copy package internal files 293 $(INSTALL) $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsKEXTs/PkgBuildComponent.plist $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.desc/PkgBuildComponent.plist 294 295 # Copy installer scripts 296 $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsKEXTs/postflight $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.res 297 315 298 @# Build the package. 316 299 $(VBOX_PKGBUILD) \ 317 --root $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root/Library/Extensions/ \318 --component-plist $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.desc/PkgBuildComponent.plist \319 --script $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.res \320 --identifier org.virtualbox.pkg. vboxkexts \300 --root $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions/ \ 301 --component-plist $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.desc/PkgBuildComponent.plist \ 302 --script $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.res \ 303 --identifier org.virtualbox.pkg.additions.kexts \ 321 304 --version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 322 305 --install-location /Library/Extensions/ \ … … 325 308 $@ 326 309 @# Cleanup 327 sudo chown -R "$(shell whoami)"\328 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root329 sudo rm -Rf\330 $(VBOX_PATH_PACK_TMP)/VBox KEXTs.pkg.root \331 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.desc \ 332 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.res 333 334 335 # 336 # The VirtualBox Startupitems. 337 # 338 $(VBOX_PATH_PACK_TMP)/Packages/ VBoxStartupItems.pkg: \339 $ $(wildcard $(VBOX_PATH_DI_SRC)/VBoxStartupItems/VirtualBox/*\340 $(VBOX_PATH_DI_SRC)/VBoxStartupItems/VirtualBox/Resources/*.lproj/*) \341 $ $(wildcard $(VBOX_PATH_DI_SRC)/VBoxStartupItems/*\342 $(VBOX_PATH_DI_SRC)/VBoxStartupItems/*.lproj/*)\343 $( foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES),\344 $(VBOX_BRAND_$(f)_VBOXSTARTUPITEMS_DESCRIPTION_PLIST))\310 sudo rm -Rf \ 311 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root \ 312 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.desc \ 313 $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.res 314 315 # 316 # The VirtualBox Guest Additions Tools & Services. 317 # 318 319 VBOX_GA_PKG=VBoxGuestAdditionsToolsAndServices.pkg 320 VBOX_DI_VB_GA_BINARIES=VBoxClient VBoxControl VBoxService 321 $(VBOX_PATH_PACK_TMP)/Packages/$(VBOX_GA_PKG): \ 322 $(foreach f, $(VBOX_DI_VB_GA_BINARIES)\ 323 ,$(call VBOX_DI_FN_DEP_BOTH,$(f)) ) \ 324 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxclient.plist \ 325 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxservice.plist \ 326 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper \ 327 $(VBOX_PATH_DI_SRC)/DiskImage/Uninstall.tool \ 345 328 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE) 346 329 $(call MSG_TOOL,pkgbuild,,,$@) … … 348 331 sudo rm -Rf \ 349 332 $@ \ 350 $(VBOX_PATH_PACK_TMP)/ VBoxStartupItems.pkg.root \351 $(VBOX_PATH_PACK_TMP)/ VBoxStartupItems.pkg.desc \352 $(VBOX_PATH_PACK_TMP)/ VBoxStartupItems.pkg.res333 $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root \ 334 $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).desc \ 335 $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).res 353 336 @# Correct directory permissions are important. 354 337 $(MKDIR) -p \ 355 338 $(@D) \ 356 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.desc \ 357 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.res \ 358 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.res/English.lproj 359 $(MKDIR) -p -m 0775 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library 360 $(MKDIR) -p -m 0755 \ 361 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library/StartupItems \ 362 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library/StartupItems/VirtualBox \ 363 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library/StartupItems/VirtualBox/Resources \ 364 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library/StartupItems/VirtualBox/Resources/English.lproj 365 @# Copy the files. 366 $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/VBoxStartupItems/VirtualBox/StartupParameters.plist $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library/StartupItems/VirtualBox/ 367 $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/VBoxStartupItems/VirtualBox/VirtualBox $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library/StartupItems/VirtualBox/ 368 $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/VBoxStartupItems/VirtualBox/Resources/English.lproj/Localizable.strings $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library/StartupItems/VirtualBox/Resources/English.lproj/ 369 @# Set the correct owners. 370 sudo chown root:admin $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library 371 sudo chown -R root:wheel $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library/StartupItems 339 $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).desc \ 340 $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).res \ 341 $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).res/English.lproj 342 343 @# Create directory structure within a package w/ proper permittions 344 $(MKDIR) -p -m 0775 \ 345 "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/Application Support/VirtualBox Guest Additions" \ 346 "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/LaunchAgents" \ 347 "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/LaunchDaemons" 348 349 @# Install binaries 350 ifdef VBOX_WITH_COMBINED_PACKAGE 351 $(foreach binary, $(VBOX_DI_VB_GA_BINARIES) \ 352 ,$(VBOX_DI_LIPO) -create \ 353 $(VBOX_PATH_DIST_32)/additions/$(binary) \ 354 $(VBOX_PATH_DIST_64)/additions/$(binary) \ 355 -output "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/Application Support/VirtualBox Guest Additions/$(binary)"$(NLTAB)) 356 $(foreach binary, $(VBOX_DI_VB_GA_BINARIES), \ 357 $(NLTAB)$(INSTALL) -m 0755 $(VBOX_PATH_DIST_32)/additions/$(binary) "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/Application Support/VirtualBox Guest Additions/$(binary)-x86" \ 358 $(NLTAB)$(INSTALL) -m 0755 $(VBOX_PATH_DIST_64)/additions/$(binary) "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/Application Support/VirtualBox Guest Additions/$(binary)-amd64" ) 359 else 360 $(foreach binary, $(VBOX_DI_VB_GA_BINARIES) \ 361 ,$(INSTALL) -m 0755 $(VBOX_PATH_DIST)/additions/$(binary) "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/Application Support/VirtualBox Guest Additions/$(binary)"$(NLTAB)) 362 $(foreach binary, $(VBOX_DI_VB_GA_BINARIES) \ 363 ,$(INSTALL) -m 0755 $(VBOX_PATH_DIST)/additions/$(binary) "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/Application Support/VirtualBox Guest Additions/$(binary)-$(KBUILD_TARGET_ARCH)"$(NLTAB)) 364 endif 365 # Add Uninstall.tool 366 $(INSTALL) $(VBOX_PATH_DI_SRC)/DiskImage/Uninstall.tool "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/Application Support/VirtualBox Guest Additions/" \ 367 368 @# Install launchd stuff 369 $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper \ 370 "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/Application Support/VirtualBox Guest Additions/" 371 $(INSTALL) -m 644 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxclient.plist \ 372 "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/LaunchAgents/" 373 $(INSTALL) -m 644 $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxservice.plist \ 374 "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/LaunchDaemons/" 375 376 @# Correct ownership 377 sudo chown -R root:wheel "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/" 378 372 379 @# Build the package. 373 380 $(VBOX_PKGBUILD) \ 374 --root $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library/StartupItems/ \ 375 --identifier org.virtualbox.pkg.vboxstartupitems \ 381 --root "$(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root/Library/" \ 382 --script $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).res \ 383 --identifier org.virtualbox.pkg.additions.tools-and-services \ 376 384 --version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 377 --install-location /Library/StartupItems/\385 --install-location "/Library/" \ 378 386 --ownership preserve \ 379 387 $(if $(VBOX_MACOSX_INSTALLER_SIGN),--sign "$(VBOX_MACOSX_INSTALLER_SIGN)",) \ 380 388 $@ 381 389 @# Cleanup 382 sudo chown -R "$(shell whoami)" \ 383 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root/Library 384 sudo rm -Rf \ 385 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root \ 386 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.desc \ 387 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.res 388 389 390 # 391 # Figure out which languages that we support and construct 392 # .qm and .lproj lists for these. 393 # 394 include $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk 395 VBOX_INSTALL_LANG_FILES := $(foreach f,$(VBOX_APPROVED_GUI_LANGUAGES), VirtualBox_$(f).qm qt_$(f).qm) 396 VBOX_INSTALL_LANG_LPROJ := $(addsuffix .lproj,$(VBOX_APPROVED_GUI_LANGUAGES)) 397 398 399 # 400 # The VirtualBox Application. 401 # 402 403 VBOX_DI_VBAPP_DYLIBS = \ 404 $(foreach qtmod, $(VBOX_QT4_MOD_NAMES), Frameworks/$(qtmod).framework/Versions/4/$(qtmod)) \ 405 MacOS/VBoxDD.dylib \ 406 MacOS/VBoxDD2.dylib \ 407 MacOS/VBoxDDU.dylib \ 408 MacOS/VBoxREM.dylib \ 409 MacOS/VBoxRT.dylib \ 410 $(if $(VBOX_WITH_SHARED_FOLDERS),MacOS/VBoxSharedFolders.dylib,) \ 411 $(if $(VBOX_WITH_SHARED_CLIPBOARD),MacOS/VBoxSharedClipboard.dylib,) \ 412 $(if $(VBOX_WITH_DRAG_AND_DROP),MacOS/VBoxDragAndDropSvc.dylib,) \ 413 $(if $(VBOX_WITH_GUEST_PROPS),MacOS/VBoxGuestPropSvc.dylib,) \ 414 MacOS/VBoxHostChannel.dylib \ 415 MacOS/VBoxVMM.dylib \ 416 MacOS/VBoxXPCOM.dylib \ 417 MacOS/VBoxXPCOMC.dylib \ 418 MacOS/components/VBoxC.dylib \ 419 MacOS/components/VBoxSVCM.dylib \ 420 MacOS/components/VBoxXPCOMIPCC.dylib \ 421 MacOS/VBoxAuth.dylib \ 422 MacOS/VBoxAuthSimple.dylib \ 423 $(if $(VBOX_WITH_GUEST_CONTROL),MacOS/VBoxGuestControlSvc.dylib,) 424 ifneq ($(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/accessible/libqtaccessiblewidgets.dylib),) 425 VBOX_DI_VBAPP_DYLIBS += \ 426 MacOS/accessible/libqtaccessiblewidgets.dylib 427 endif 428 if defined(VBOX_WITH_VRDP) && !defined(VBOX_WITH_EXTPACK_PUEL) 429 VBOX_DI_VBAPP_DYLIBS += \ 430 MacOS/VBoxVRDP.dylib 431 endif 432 ifdef VBOX_WITH_CROGL 433 VBOX_DI_VBAPP_DYLIBS += \ 434 MacOS/VBoxOGLhostcrutil.dylib \ 435 MacOS/VBoxOGLhosterrorspu.dylib \ 436 MacOS/VBoxOGLrenderspu.dylib \ 437 MacOS/VBoxSharedCrOpenGL.dylib 438 endif 439 ifdef VBOX_WITH_DEBUGGER_GUI 440 VBOX_DI_VBAPP_DYLIBS += \ 441 MacOS/VBoxDbg.dylib 442 endif 443 ifdef VBOX_WITH_HARDENING 444 VBOX_DI_VBAPP_DYLIBS += \ 445 MacOS/VirtualBox.dylib \ 446 MacOS/VBoxNetDHCP.dylib \ 447 MacOS/VBoxNetNAT.dylib \ 448 MacOS/VBoxHeadless.dylib 449 endif 450 ifdef VBOX_WITH_HDDPARALLELS_INSTALL 451 VBOX_DI_VBAPP_DYLIBS += \ 452 MacOS/VBoxHDDParallels.dylib 453 endif 454 if defined(VBOX_WITH_PYTHON) && !defined(VBOX_WITHOUT_VBOXPYTHON_FOR_OSX_10_6) 455 VBOX_DI_VBAPP_DYLIBS += \ 456 MacOS/VBoxPython2_6.so 457 endif 458 if defined(VBOX_WITH_PYTHON) && !defined(VBOX_WITHOUT_VBOXPYTHON_FOR_OSX_10_7) 459 VBOX_DI_VBAPP_DYLIBS += \ 460 MacOS/VBoxPython2_7.so 461 endif 462 463 VBOX_DI_VBAPP_DYLIBS.x86 := \ 464 MacOS/VBoxREM32.dylib \ 465 MacOS/VBoxREM64.dylib 466 ifdef VBOX_WITH_PYTHON 467 VBOX_DI_VBAPP_DYLIBS.x86 += \ 468 MacOS/VBoxPython2_5.so \ 469 $(if-expr defined(VBOX_WITH_MAC_OS_X_10_4_SUPPORT),MacOS/VBoxPython2_3.so,) 470 endif 471 472 VBOX_DI_VBAPP_DYLIBS.amd64 := 473 if defined(VBOX_WITH_PYTHON) && defined(VBOX_WITHOUT_VBOXPYTHON_FOR_OSX_10_6) 474 VBOX_DI_VBAPP_DYLIBS.amd64 += \ 475 MacOS/VBoxPython2_6.so 476 endif 477 478 if defined(VBOX_WITH_JXPCOM) 479 VBOX_DI_VBAPP_DYLIBS += \ 480 MacOS/libvboxjxpcom.jnilib 481 endif 482 483 if1of ($(VBOX_DI_VBAPP_DYLIBS.amd64), $(VBOX_DI_VBAPP_DYLIBS.x86)) 484 $(error Conflict.$(NLTAB)VBOX_DI_VBAPP_DYLIBS.amd64=$(VBOX_DI_VBAPP_DYLIBS.amd64)$(NLTAB)VBOX_DI_VBAPP_DYLIBS.x86 =$(VBOX_DI_VBAPP_DYLIBS.x86)) 485 endif 486 if1of ($(VBOX_DI_VBAPP_DYLIBS.amd64) $(VBOX_DI_VBAPP_DYLIBS.x86),$(VBOX_DI_VBAPP_DYLIBS)) 487 $(error Conflict.$(NLTAB)VBOX_DI_VBAPP_DYLIBS.amd64=$(VBOX_DI_VBAPP_DYLIBS.amd64)$(NLTAB)VBOX_DI_VBAPP_DYLIBS.x86 =$(VBOX_DI_VBAPP_DYLIBS.x86)$(NLTAB)VBOX_DI_VBAPP_DYLIBS=$(VBOX_DI_VBAPP_DYLIBS)) 488 endif 489 490 VBOX_DI_VBAPP_PROGS = \ 491 MacOS/VBoxManage \ 492 MacOS/VBoxSVC \ 493 MacOS/VBoxHeadless \ 494 MacOS/VBoxXPCOMIPCD \ 495 MacOS/VirtualBox \ 496 MacOS/VirtualBoxVM \ 497 MacOS/VBoxNetAdpCtl \ 498 MacOS/VBoxNetDHCP \ 499 MacOS/VBoxNetNAT \ 500 MacOS/VBoxExtPackHelperApp \ 501 MacOS/VBoxBalloonCtrl \ 502 MacOS/VBoxAutostart 503 ifdef VBOX_WITH_WEBSERVICES 504 VBOX_DI_VBAPP_PROGS += \ 505 MacOS/vboxwebsrv 506 endif 507 508 VBOX_DI_VBAPP_UNIVERSAL_PROGS = \ 509 MacOS/vmstarter 510 511 VBOX_DI_VBAPP_OTHER_UNIVERSAL_BINS = \ 512 MacOS/VMMR0.r0 \ 513 MacOS/VBoxDDR0.r0 \ 514 MacOS/VBoxDD2R0.r0 515 516 VBOX_DI_VBAPP_OTHER_BINS = \ 517 MacOS/VMMGC.gc \ 518 MacOS/VBoxDDGC.gc \ 519 MacOS/VBoxDD2GC.gc 520 521 VBOX_DI_VBAPP_DUPLICATED_RESOURCE_FILES = \ 522 Resources/virtualbox.icns \ 523 Resources/virtualbox.png \ 524 Resources/virtualbox-vbox.icns \ 525 Resources/virtualbox-vbox-extpack.icns \ 526 Resources/virtualbox-ovf.icns \ 527 Resources/virtualbox-ova.icns \ 528 Resources/virtualbox-vdi.icns \ 529 Resources/virtualbox-vmdk.icns \ 530 Resources/virtualbox-vhd.icns \ 531 Resources/virtualbox-hdd.icns 532 533 VBOX_DI_VBAPP_MISC_FILES = \ 534 Info.plist \ 535 PkgInfo \ 536 $(VBOX_DI_VBAPP_DUPLICATED_RESOURCE_FILES) \ 537 MacOS/components/VBoxXPCOMBase.xpt \ 538 MacOS/components/VirtualBox_XPCOM.xpt \ 539 Resources/VirtualBoxVM.app/Contents/Info.plist \ 540 Resources/VirtualBoxVM.app/Contents/PkgInfo \ 541 $(addprefix Resources/VirtualBoxVM.app/Contents/,$(VBOX_DI_VBAPP_DUPLICATED_RESOURCE_FILES)) \ 542 Resources/vmstarter.app/Contents/Info.plist \ 543 Resources/vmstarter.app/Contents/PkgInfo \ 544 $(addprefix Resources/vmstarter.app/Contents/,$(VBOX_DI_VBAPP_DUPLICATED_RESOURCE_FILES)) 545 ifdef VBOX_WITH_DOCS_PACKING 546 VBOX_DI_VBAPP_MISC_FILES += \ 547 MacOS/UserManual.pdf 548 endif 549 ifdef VBOX_WITH_ADDITIONS_PACKING 550 ifneq ($(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso),) 551 VBOX_DI_VBAPP_MISC_FILES += \ 552 MacOS/VBoxGuestAdditions.iso 553 endif 554 endif 555 ifdef VBOX_WITH_EFIFW_PACKING 556 VBOX_DI_VBAPP_MISC_FILES += \ 557 MacOS/VBoxEFI32.fd \ 558 MacOS/VBoxEFI64.fd 559 endif 560 VBOX_DI_VBAPP_MISC_FILES += \ 561 Frameworks/QtGui$(VBOX_QT4_INFIX).framework/Versions/4/Resources/qt_menu.nib/classes.nib \ 562 Frameworks/QtGui$(VBOX_QT4_INFIX).framework/Versions/4/Resources/qt_menu.nib/info.nib \ 563 Frameworks/QtGui$(VBOX_QT4_INFIX).framework/Versions/4/Resources/qt_menu.nib/keyedobjects.nib 564 565 VBOX_DI_VBAPP_SYMLINKS = \ 566 Resources/VirtualBoxVM.app/Contents/MacOS=>../../../MacOS/ \ 567 Resources/vmstarter.app/Contents/MacOS=>../../../MacOS/ \ 568 $(foreach qtmod, $(VBOX_QT4_MOD_NAMES), Frameworks/$(qtmod).framework/$(qtmod)=>Versions/4/$(qtmod)) \ 569 Frameworks/QtGui$(VBOX_QT4_INFIX).framework/Resources=>Versions/4/Resources/ 570 571 ifdef VBOX_WITH_PYTHON 572 # Python XPCOM glue 573 VBOX_DI_VBAPP_PYTHON_FILES = \ 574 $(foreach f,$(notdir $(wildcard $(VBOX_PATH_DIST)/sdk/bindings/xpcom/python/xpcom/*.py)),sdk/bindings/xpcom/python/xpcom/$(f)) \ 575 sdk/bindings/xpcom/python/xpcom/client/__init__.py \ 576 sdk/bindings/xpcom/python/xpcom/server/__init__.py \ 577 sdk/bindings/xpcom/python/xpcom/server/enumerator.py \ 578 sdk/bindings/xpcom/python/xpcom/server/factory.py \ 579 sdk/bindings/xpcom/python/xpcom/server/loader.py \ 580 sdk/bindings/xpcom/python/xpcom/server/module.py \ 581 sdk/bindings/xpcom/python/xpcom/server/policy.py \ 582 sdk/installer/vboxapisetup.py \ 583 sdk/installer/vboxapi/__init__.py \ 584 sdk/installer/vboxapi/VirtualBox_constants.py 585 endif 586 587 588 # (The dependencies are including way too much here because I'm lazy.) 589 $(VBOX_PATH_PACK_TMP)/Packages/VirtualBox.pkg: \ 590 $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES), \ 591 $(VBOX_BRAND_$(f)_VIRTUALBOX_DESCRIPTION_PLIST)) \ 592 $(foreach f, $(VBOX_DI_VBAPP_DYLIBS) $(VBOX_DI_VBAPP_OTHER_UNIVERSAL_BINS) $(VBOX_DI_VBAPP_UNIVERSAL_PROGS) $(VBOX_DI_VBAPP_OTHER_BINS) $(VBOX_DI_VBAPP_PROGS) $(VBOX_DI_VBAPP_MISC_FILES)\ 593 ,$(call VBOX_DI_FN_DEP_BOTH,VirtualBox.app/Contents/$(f)) ) \ 594 $(foreach f, $(VBOX_DI_VBAPP_DYLIBS.x86) $(VBOX_DI_VBAPP_MISC_FILES.x86)\ 595 ,$(call VBOX_DI_FN_DEP_32,VirtualBox.app/Contents/$(f)) ) \ 596 $(foreach f, $(VBOX_DI_VBAPP_DYLIBS.amd64) $(VBOX_DI_VBAPP_MISC_FILES.amd64)\ 597 ,$(call VBOX_DI_FN_DEP_64,VirtualBox.app/Contents/$(f)) ) \ 598 \ 599 $(if $(VBOX_WITH_DOCS_PACKING),$(VBOX_ADD_MANUALS),) \ 600 $(VBOX_BRAND_LICENSE_TXT) \ 601 $(wildcard $(VBOX_PATH_DI_SRC)/VirtualBox/*) \ 602 $(wildcard $(VBOX_PATH_DI_SRC)/VirtualBox/*.lproj/*) \ 603 $$(addprefix $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/nls/,$(VBOX_INSTALL_LANG_FILES)) \ 604 \ 605 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/*) \ 606 $(filter-out Disabled, $(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/*)) \ 607 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/Resources/*) \ 608 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/*) \ 609 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/Resources/*) \ 610 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/Resources/*.lproj/*) \ 611 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/Resources/vmstarter.app/Contents/*) \ 612 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/Resources/vmstarter.app/Contents/Resources/*) \ 613 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/Resources/vmstarter.app/Contents/Resources/*.lproj/*) \ 614 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/Resources/*.lproj/*) \ 615 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/*) \ 616 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/additions/*) \ 617 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/components/*) \ 618 $$(wildcard $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/accessible/*) \ 619 $(if-expr defined(VBOX_WITH_PYTHON), $(addprefix $(VBOX_PATH_DIST)/, $(VBOX_DI_VBAPP_PYTHON_FILES)),) \ 620 $(if-expr defined(VBOX_WITH_JXPCOM), $(addprefix $(VBOX_PATH_DIST)/, sdk/bindings/xpcom/java/vboxjxpcom.jar),) \ 621 $(if $(VBOX_WITH_WEBSERVICES),$(VBOX_PATH_DI_SRC)/VirtualBox/org.virtualbox.vboxwebsrv.plist,) \ 622 $(VBOX_PATH_DI_SRC)/VirtualBox/org.virtualbox.vboxballoonctrl.plist \ 623 $(VBOX_PATH_DI_SRC)/VirtualBox/org.virtualbox.vboxautostart.plist \ 624 $(VBOX_PATH_DI_SRC)/VirtualBox/VBoxAutostartDarwin.sh \ 625 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE) 626 $(call MSG_TOOL,pkgbuild,,,$@) 627 @# Cleanup any previously failed attempts. 628 sudo rm -Rf \ 629 $@ \ 630 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root \ 631 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.desc \ 632 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.res 633 @# Correct directory permissions are important. 634 $(MKDIR) -p \ 635 $(@D) \ 636 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.desc \ 637 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.res \ 638 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.res/English.lproj 639 $(MKDIR) -p -m 0775 \ 640 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications 641 $(MKDIR) -p -m 0755 $(sort \ 642 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents \ 643 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS \ 644 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/components \ 645 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/nls \ 646 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/accessible \ 647 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Resources \ 648 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app \ 649 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents \ 650 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Resources/vmstarter.app \ 651 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Resources/vmstarter.app/Contents \ 652 $(if-expr defined(VBOX_WITH_PYTHON), \ 653 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk \ 654 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/installer \ 655 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/installer/vboxapi \ 656 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/bindings/ \ 657 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/bindings/xpcom \ 658 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/bindings/xpcom/python \ 659 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/bindings/xpcom/python/xpcom \ 660 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/bindings/xpcom/python/xpcom/client \ 661 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/bindings/xpcom/python/xpcom/server,) \ 662 $(if-expr defined(VBOX_WITH_JXPCOM), \ 663 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/bindings/xpcom/java,) \ 664 $(addprefix $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/,$(dir \ 665 $(VBOX_DI_VBAPP_DYLIBS) $(VBOX_DI_VBAPP_OTHER_UNIVERSAL_BINS) $(VBOX_DI_VBAPP_UNIVERSAL_PROGS) $(VBOX_DI_VBAPP_OTHER_BINS) $(VBOX_DI_VBAPP_PROGS) $(VBOX_DI_VBAPP_MISC_FILES) \ 666 $(if-expr defined(VBOX_WITH_COMBINED_PACKAGE) || "$(KBUILD_TARGET_ARCH)" == "amd64",$(VBOX_DI_VBAPP_DYLIBS.amd64) $(VBOX_DI_VBAPP_MISC_FILES.amd64),) \ 667 $(if-expr defined(VBOX_WITH_COMBINED_PACKAGE) || "$(KBUILD_TARGET_ARCH)" == "x86", $(VBOX_DI_VBAPP_DYLIBS.x86) $(VBOX_DI_VBAPP_MISC_FILES.x86),) \ 668 ))\ 669 ) 670 @# Create the .lproj language directories 671 $(MKDIR) -p -m 0755 \ 672 $(addprefix $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Resources/,$(VBOX_INSTALL_LANG_LPROJ)) 673 @# Install all supported language files 674 $(foreach f, $(VBOX_INSTALL_LANG_FILES) \ 675 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/nls/$(f) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/nls/$(f)$(NLTAB)) 676 ifdef VBOX_WITH_WEBSERVICES 677 $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/VirtualBox/org.virtualbox.vboxwebsrv.plist $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/ 678 endif 679 $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/VirtualBox/org.virtualbox.vboxballoonctrl.plist $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/ 680 $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/VirtualBox/org.virtualbox.vboxautostart.plist $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/ 681 $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/VirtualBox/VBoxAutostartDarwin.sh $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/ 682 @# Install the python stuff 683 ifdef VBOX_WITH_PYTHON 684 $(foreach f,$(VBOX_DI_VBAPP_PYTHON_FILES) \ 685 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST)/$(f) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/$(f)$(NLTAB) ) 686 $(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Frontends/VBoxShell/vboxshell.py $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS 687 endif 688 ifdef VBOX_WITH_JXPCOM 689 $(INSTALL) -m 0755 $(VBOX_PATH_DIST)/sdk/bindings/xpcom/java/vboxjxpcom.jar $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/sdk/bindings/xpcom/java/vboxjxpcom.jar 690 endif 691 @# Copy misc files. 692 $(foreach f,$(VBOX_DI_VBAPP_MISC_FILES) \ 693 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/$(f) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(f)$(NLTAB) ) 694 ifdef VBOX_WITH_COMBINED_PACKAGE 695 $(foreach f,$(VBOX_DI_VBAPP_MISC_FILES.x86) \ 696 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST_32)/VirtualBox.app/Contents/$(f) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(f)$(NLTAB) ) 697 $(foreach f,$(VBOX_DI_VBAPP_MISC_FILES.amd64) \ 698 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST_64)/VirtualBox.app/Contents/$(f) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(f)$(NLTAB) ) 699 endif 700 $(INSTALL) -m 644 $(VBOX_BRAND_LICENSE_TXT) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Resources/LICENSE 701 ifdef VBOX_WITH_DOCS_PACKING 702 $(foreach f,$(VBOX_ADD_MANUALS) \ 703 ,$(INSTALL) -m 0644 $(f) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/$(NLTAB)) 704 endif 705 @# Create symlinks. 706 ifdef VBOX_WITH_COMBINED_PACKAGE 707 $(foreach symlink,$(VBOX_DI_VBAPP_SYMLINKS) $(VBOX_DI_VBAPP_SYMLINKS.amd64) $(VBOX_DI_VBAPP_SYMLINKS.x86) \ 708 ,$(LN) -s $(word 2,$(subst =>, ,$(symlink))) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(word 1,$(subst =>, ,$(symlink)))$(NLTAB)) 709 else 710 $(foreach symlink,$(VBOX_DI_VBAPP_SYMLINKS) $(VBOX_DI_VBAPP_SYMLINKS.$(KBUILD_TARGET_ARCH)) \ 711 ,$(LN) -s $(word 2,$(subst =>, ,$(symlink))) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(word 1,$(subst =>, ,$(symlink)))$(NLTAB)) 712 endif 713 @# Copy the dylibs. 714 ifdef VBOX_WITH_COMBINED_PACKAGE 715 $(foreach dylib, $(VBOX_DI_VBAPP_DYLIBS) \ 716 ,$(VBOX_DI_LIPO) -create \ 717 $(VBOX_PATH_DIST_32)/VirtualBox.app/Contents/$(dylib) \ 718 $(VBOX_PATH_DIST_64)/VirtualBox.app/Contents/$(dylib) \ 719 -output $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(dylib)$(NLTAB)) 720 $(foreach dylib, $(VBOX_DI_VBAPP_DYLIBS.x86) \ 721 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST_32)/VirtualBox.app/Contents/$(dylib) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(dylib)$(NLTAB)) 722 $(foreach dylib, $(VBOX_DI_VBAPP_DYLIBS.amd64) \ 723 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST_64)/VirtualBox.app/Contents/$(dylib) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(dylib)$(NLTAB)) 724 else 725 $(foreach dylib, $(VBOX_DI_VBAPP_DYLIBS) $(VBOX_DI_VBAPP_DYLIBS.$(KBUILD_TARGET_ARCH)) \ 726 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/$(dylib) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(dylib)$(NLTAB)) 727 endif 728 @# Copy the other binaries. 729 ifdef VBOX_WITH_COMBINED_PACKAGE 730 $(foreach otherbin, $(VBOX_DI_VBAPP_OTHER_UNIVERSAL_BINS) \ 731 ,$(VBOX_DI_LIPO) -create \ 732 $(VBOX_PATH_DIST_32)/VirtualBox.app/Contents/$(otherbin) \ 733 $(VBOX_PATH_DIST_64)/VirtualBox.app/Contents/$(otherbin) \ 734 -output $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(otherbin)$(NLTAB)) 735 $(foreach otherbin, $(VBOX_DI_VBAPP_OTHER_BINS), \ 736 $(NLTAB)$(INSTALL) -m 0644 $(VBOX_PATH_DIST_32)/VirtualBox.app/Contents/$(otherbin) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(otherbin)-x86 \ 737 $(NLTAB)$(INSTALL) -m 0644 $(VBOX_PATH_DIST_64)/VirtualBox.app/Contents/$(otherbin) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(otherbin)-amd64 ) 738 else 739 $(foreach otherbin, $(VBOX_DI_VBAPP_OTHER_UNIVERSAL_BINS) \ 740 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/$(otherbin) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(otherbin)$(NLTAB)) 741 $(foreach otherbin, $(VBOX_DI_VBAPP_OTHER_BINS) \ 742 ,$(INSTALL) -m 0644 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/$(otherbin) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(otherbin)-$(KBUILD_TARGET_ARCH)$(NLTAB)) 743 endif 744 @# Create/copy the universal executable binaries. 745 ifdef VBOX_WITH_COMBINED_PACKAGE 746 $(foreach otherbin, $(VBOX_DI_VBAPP_UNIVERSAL_PROGS) \ 747 ,$(VBOX_DI_LIPO) -create \ 748 $(VBOX_PATH_DIST_32)/VirtualBox.app/Contents/$(otherbin) \ 749 $(VBOX_PATH_DIST_64)/VirtualBox.app/Contents/$(otherbin) \ 750 -output $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(otherbin)$(NLTAB)) 751 else 752 $(foreach otherbin, $(VBOX_DI_VBAPP_UNIVERSAL_PROGS) \ 753 ,$(INSTALL) -m 0755 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/$(otherbin) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(otherbin)$(NLTAB)) 754 endif 755 @# Copy the binaries. 756 ifdef VBOX_WITH_COMBINED_PACKAGE 757 $(foreach prog, $(VBOX_DI_VBAPP_PROGS) \ 758 ,$(INSTALL) -m 0755 $(VBOX_PATH_DIST_32)/VirtualBox.app/Contents/$(prog) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(prog)-x86$(NLTAB) \ 759 $(INSTALL) -m 0755 $(VBOX_PATH_DIST_64)/VirtualBox.app/Contents/$(prog) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(prog)-amd64$(NLTAB)) 760 else 761 $(foreach prog, $(VBOX_DI_VBAPP_PROGS) \ 762 ,$(INSTALL) -m 0755 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/$(prog) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(prog)-$(KBUILD_TARGET_ARCH)$(NLTAB)) 763 endif 764 #ifdef VBOX_WITH_HARDENING - disabled temporarily 765 if 1 766 @# We cannot use @executable_path together with setuid binaries, dyld gets upset about it. So, fix Qt libs and users. 767 $(foreach qtmod, $(VBOX_QT4_MOD_NAMES) \ 768 ,install_name_tool -id /Applications/VirtualBox.app/Contents/Frameworks/$(qtmod).framework/Versions/4/$(qtmod) \ 769 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Frameworks/$(qtmod).framework/Versions/4/$(qtmod)$(NLTAB) ) 770 $(foreach f, \ 771 $(VBOX_DI_VBAPP_DYLIBS) \ 772 $(if-expr defined(VBOX_WITH_COMBINED_PACKAGE), \ 773 $(VBOX_DI_VBAPP_DYLIBS.x86) \ 774 $(VBOX_DI_VBAPP_DYLIBS.amd64) \ 775 $(addsuffix -x86, $(VBOX_DI_VBAPP_PROGS)) \ 776 $(addsuffix -amd64, $(VBOX_DI_VBAPP_PROGS)) \ 777 ,$(VBOX_DI_VBAPP_DYLIBS.$(KBUILD_TARGET_ARCH)) \ 778 $(addsuffix -$(KBUILD_TARGET_ARCH), $(VBOX_DI_VBAPP_PROGS)) \ 779 ) \ 780 ,install_name_tool \ 781 $(foreach qtmod, $(VBOX_QT4_MOD_NAMES), \ 782 -change @executable_path/../Frameworks/$(qtmod).framework/Versions/4/$(qtmod) \ 783 /Applications/VirtualBox.app/Contents/Frameworks/$(qtmod).framework/Versions/4/$(qtmod) \ 784 -change $(VBOX_PATH_QT4)/Frameworks/$(qtmod).framework/Versions/4/$(qtmod) \ 785 /Applications/VirtualBox.app/Contents/Frameworks/$(qtmod).framework/Versions/4/$(qtmod) \ 786 -change $(PATH_SDK_QT4)/$(qtmod).framework/Versions/4/$(qtmod) \ 787 /Applications/VirtualBox.app/Contents/Frameworks/$(qtmod).framework/Versions/4/$(qtmod) \ 788 -change $(qtmod).framework/Versions/4/$(qtmod) \ 789 /Applications/VirtualBox.app/Contents/Frameworks/$(qtmod).framework/Versions/4/$(qtmod) \ 790 ) \ 791 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(f)$(NLTAB) ) 792 endif 793 @# Signed the binaries and the application bundle. 794 @# Note #1 - We cannot sign the application binary here, since we switch to match the kernel bitness. 795 @# Note #2 - Must sign -amd64/-x86 suffixed binaries without the suffix, or verification fails. (Too lazy to do this for *.gc.) 796 ifdef VBOX_SIGNING_MODE 797 $(foreach qtmod, $(VBOX_QT4_MOD_NAMES) \ 798 ,$(NLTAB)$(call VBOX_SIGN_MACHO_FN,$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Frameworks/$(qtmod).framework/Versions/4/$(qtmod),org.virtualbox.app.frameworks.$(qtmod)) ) 799 $(foreach dylib, \ 800 $(VBOX_DI_VBAPP_DYLIBS) \ 801 $(if-expr defined(VBOX_WITH_COMBINED_PACKAGE), \ 802 $(VBOX_DI_VBAPP_DYLIBS.x86) \ 803 $(VBOX_DI_VBAPP_DYLIBS.amd64) \ 804 ,$(VBOX_DI_VBAPP_DYLIBS.$(KBUILD_TARGET_ARCH)) ) \ 805 , $(NLTAB)$(call VBOX_SIGN_MACHO_FN,$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(dylib),org.virtualbox.app.macos.$(notdir $(dylib))) ) 806 $(foreach bin, $(VBOX_DI_VBAPP_UNIVERSAL_PROGS) \ 807 , $(NLTAB)$(call VBOX_SIGN_MACHO_FN,$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(bin),org.virtualbox.app.macos.$(notdir $(bin))) ) 808 $(foreach arch, $(if-expr defined(VBOX_WITH_COMBINED_PACKAGE), amd64 x86, $(KBUILD_TARGET_ARCH)) \ 809 , $(foreach bin, $(VBOX_DI_VBAPP_PROGS) \ 810 , \ 811 $(NLTAB)$(MV) -- $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(bin)-$(arch) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(bin) \ 812 $(NLTAB)$(call VBOX_SIGN_MACHO_FN,$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(bin),org.virtualbox.app.macos.$(notdir $(bin))) \ 813 $(NLTAB)$(MV) -- $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(bin) $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(bin)-$(arch) \ 814 )) 815 $(foreach other, $(VBOX_DI_VBAPP_OTHER_UNIVERSAL_BINS) \ 816 , $(NLTAB)$(call VBOX_SIGN_VMM_MOD_FN,$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(other),org.virtualbox.app.macos.$(notdir $(other))) ) 817 $(foreach arch, $(if-expr defined(VBOX_WITH_COMBINED_PACKAGE), amd64 x86, $(KBUILD_TARGET_ARCH)) \ 818 , $(foreach other, $(VBOX_DI_VBAPP_OTHER_BINS) \ 819 , $(NLTAB)$(call VBOX_SIGN_VMM_MOD_FN,$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(other)-$(arch),org.virtualbox.app.macos.$(notdir $(other))-$(arch)) ) ) 820 if 0 # requires codesign+framworks from Lion or later. Snow Leopard codesign says object file format invalid or unsuitable. 821 $(call VBOX_SIGN_BUNDLE_FN,$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app,) 822 $(call VBOX_SIGN_BUNDLE_FN,$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/Resources/vmstarter.app,) 823 $(call VBOX_SIGN_BUNDLE_FN,$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app,) 824 endif 825 endif 826 @# Set the correct owner and set the set-user-ID-on-execution bit on the relevant executables. 827 sudo chown -R root:admin $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root 828 ifdef VBOX_WITH_HARDENING 829 ifdef VBOX_WITH_COMBINED_PACKAGE 830 sudo chmod u+s \ 831 $(foreach bin,VBoxHeadless VirtualBox VirtualBoxVM VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT,\ 832 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/$(bin)-x86 \ 833 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/$(bin)-amd64) 834 else 835 sudo chmod u+s \ 836 $(foreach bin,VBoxHeadless VirtualBox VirtualBoxVM VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT,\ 837 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/$(bin)-$(KBUILD_TARGET_ARCH)) 838 endif 839 endif 840 @# Do keyword replacement in the package info and description files. 841 $(SED) \ 842 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \ 843 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \ 844 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \ 845 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \ 846 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \ 847 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \ 848 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \ 849 --output $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.desc/PkgBuildComponent.plist \ 850 $(VBOX_PATH_DI_SRC)/VirtualBox/PkgBuildComponent.plist 851 @# Copy the resources. 852 $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/VirtualBox/preflight $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.res/ 853 $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/VirtualBox/postflight $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.res/ 854 @# Build the package. 855 $(VBOX_PKGBUILD) \ 856 --root $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/ \ 857 --component-plist $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.desc/PkgBuildComponent.plist \ 858 --script $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.res \ 859 --identifier org.virtualbox.pkg.virtualbox \ 860 --version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 861 --install-location /Applications/ \ 862 --ownership preserve \ 863 $(if $(VBOX_MACOSX_INSTALLER_SIGN),--sign "$(VBOX_MACOSX_INSTALLER_SIGN)",) \ 864 $@ 865 @# Cleanup 866 sudo chown -R "$(shell whoami)" \ 867 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root 868 sudo chmod -R a-s \ 869 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root 870 sudo rm -Rf \ 871 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root \ 872 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.desc \ 873 $(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.res 874 875 # 876 # The VirtualBox CLI wrapper scripts. 877 # 878 $(VBOX_PATH_PACK_TMP)/Packages/VirtualBoxCLI.pkg: \ 879 $$(wildcard $(VBOX_PATH_DI_SRC)/VirtualBoxCLI/* \ 880 $(VBOX_PATH_DI_SRC)/VirtualBoxCLI/*.lproj/*) \ 881 $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES) \ 882 ,$(VBOX_BRAND_$(f)_VIRTUALBOXCLI_DESCRIPTION_PLIST)) \ 883 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE) 884 $(call MSG_TOOL,pkgbuild,,,$@) 885 @# Cleanup any previously failed attempts. 886 sudo rm -Rf \ 887 $@ \ 888 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root \ 889 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.desc \ 890 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.res 891 @# Correct directory permissions are important. 892 $(MKDIR) -p \ 893 $(@D) \ 894 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.desc \ 895 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.res \ 896 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.res/English.lproj 897 $(MKDIR) -p -m 0755 \ 898 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr \ 899 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin 900 @# Generate the wrapper scripts. 901 $(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VirtualBox \ 902 '#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VirtualBox "$$@"' 903 $(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxManage \ 904 '#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VBoxManage "$$@"' 905 $(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxVRDP \ 906 '#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless "$$@"' 907 $(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxHeadless \ 908 '#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless "$$@"' 909 ifdef VBOX_WITH_WEBSERVICES 910 $(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/vboxwebsrv \ 911 '#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/vboxwebsrv "$$@"' 912 endif 913 $(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxBalloonCtrl \ 914 '#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VBoxBalloonCtrl "$$@"' 915 $(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxAutostart \ 916 '#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VBoxAutostart "$$@"' 917 @# Set the correct owners and file permissions. 918 sudo chmod 0755 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/* 919 sudo chown root:admin $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root 920 sudo chown -R root:wheel $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr 921 @# Build the package. 922 $(VBOX_PKGBUILD) \ 923 --root $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin \ 924 --identifier org.virtualbox.pkg.virtualboxcli \ 925 --version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 926 --install-location /usr/bin \ 927 --ownership preserve \ 928 $(if $(VBOX_MACOSX_INSTALLER_SIGN),--sign "$(VBOX_MACOSX_INSTALLER_SIGN)",) \ 929 $@ 930 @# Cleanup 931 sudo chown -R "$(shell whoami)" \ 932 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root 933 sudo rm -Rf \ 934 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root \ 935 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.desc \ 936 $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.res 937 938 390 sudo rm -Rf \ 391 $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).root \ 392 $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).desc \ 393 $(VBOX_PATH_PACK_TMP)/$(VBOX_GA_PKG).res -
trunk/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsKEXTs/PkgBuildComponent.plist
r42987 r48181 3 3 <plist version="1.0"> 4 4 <array> 5 <dict> 6 <key>RootRelativeBundlePath</key> <string>VBoxDrv.kext</string> 7 <key>BundleIsRelocatable</key> <false/> 8 <key>BundleIsVersionChecked</key> <false/> 9 <key>BundleHasStrictIdentifier</key> <false/> 10 <key>BundleOverwriteAction</key> <string>upgrade</string> 11 </dict> 12 <dict> 13 <key>RootRelativeBundlePath</key> <string>VBoxNetAdp.kext</string> 14 <key>BundleIsRelocatable</key> <false/> 15 <key>BundleIsVersionChecked</key> <false/> 16 <key>BundleHasStrictIdentifier</key> <false/> 17 <key>BundleOverwriteAction</key> <string>upgrade</string> 18 </dict> 19 <dict> 20 <key>RootRelativeBundlePath</key> <string>VBoxNetFlt.kext</string> 21 <key>BundleIsRelocatable</key> <false/> 22 <key>BundleIsVersionChecked</key> <false/> 23 <key>BundleHasStrictIdentifier</key> <false/> 24 <key>BundleOverwriteAction</key> <string>upgrade</string> 25 </dict> 26 <dict> 27 <key>RootRelativeBundlePath</key> <string>VBoxUSB.kext</string> 28 <key>BundleIsRelocatable</key> <false/> 29 <key>BundleIsVersionChecked</key> <false/> 30 <key>BundleHasStrictIdentifier</key> <false/> 31 <key>BundleOverwriteAction</key> <string>upgrade</string> 32 <key>BundlePostInstallScriptPath</key> <string>postflight</string> 33 </dict> 5 <dict> 6 <key>RootRelativeBundlePath</key> <string>VBoxGuest.kext</string> 7 <key>BundleIsRelocatable</key> <false/> 8 <key>BundleIsVersionChecked</key> <false/> 9 <key>BundleHasStrictIdentifier</key> <false/> 10 <key>BundleOverwriteAction</key> <string>upgrade</string> 11 <key>BundlePostInstallScriptPath</key> <string>postflight</string> 12 </dict> 34 13 </array> 35 14 </plist> -
trunk/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsKEXTs/postflight
-
Property svn:keywords
set to
Author Date Id Revision
r31673 r48181 2 2 3 3 # 4 # Copyright (C) 2007-201 0Oracle Corporation4 # Copyright (C) 2007-2013 Oracle Corporation 5 5 # 6 6 # This file is part of VirtualBox Open Source Edition (OSE), as … … 13 13 # 14 14 15 # 16 # Unload any old extension that might be loaded already (ignore failures). 17 # 18 sync 19 if kextstat -lb org.virtualbox.kext.VBoxNetAdp 2>&1 | grep -q org.virtualbox.kext.VBoxNetAdp; then 20 kextunload -m org.virtualbox.kext.VBoxNetAdp 21 fi 22 if kextstat -lb org.virtualbox.kext.VBoxNetFlt 2>&1 | grep -q org.virtualbox.kext.VBoxNetFlt; then 23 kextunload -m org.virtualbox.kext.VBoxNetFlt 24 fi 25 if kextstat -lb org.virtualbox.kext.VBoxUSB 2>&1 | grep -q org.virtualbox.kext.VBoxUSB; then 26 kextunload -m org.virtualbox.kext.VBoxUSB 27 fi 28 if kextstat -lb org.virtualbox.kext.VBoxDrv 2>&1 | grep -q org.virtualbox.kext.VBoxDrv; then 29 kextunload -m org.virtualbox.kext.VBoxDrv 30 fi 15 set -e 31 16 32 # 33 # Load the extension, exit on first error. 34 # 35 sync 36 kextload /Library/Extensions/VBoxDrv.kext 37 kextload -d /Library/Extensions/VBoxDrv.kext /Library/Extensions/VBoxUSB.kext 38 kextload -d /Library/Extensions/VBoxDrv.kext /Library/Extensions/VBoxNetFlt.kext 39 kextload -d /Library/Extensions/VBoxDrv.kext /Library/Extensions/VBoxNetAdp.kext 17 # Setup environment. 18 export PATH="/bin:/usr/bin:/sbin:/usr/sbin:$PATH" 40 19 20 unload_service() 21 { 22 ITEM_ID=$1 23 ITEM_PATH=$2 24 FORCED_USER=$3 25 26 loaded="NO" 27 test -n "$(sudo -u "$FORCED_USER" launchctl list | grep $ITEM_ID)" && loaded="YES" 28 if [ "$loaded" = "YES" ] ; then 29 echo "Unloading previously installed service: $ITEM_ID" 30 sudo -u "$FORCED_USER" launchctl unload -F "$ITEM_PATH/$ITEM_ID.plist" 31 fi 32 } 33 34 load_service() 35 { 36 ITEM_ID=$1 37 ITEM_PATH=$2 38 FORCED_USER=$3 39 40 echo "Loading newly installed service: $ITEM_ID" 41 sudo -u "$FORCED_USER" launchctl load -F "$ITEM_PATH/$ITEM_ID.plist" 42 } 43 44 unload_service "org.virtualbox.additions.vboxservice" "/Library/LaunchDaemons" "root" 45 unload_service "org.virtualbox.additions.vboxclient" "/Library/LaunchAgents" "${USER}" 46 47 items="VBoxGuest" 48 for item in $items; do 49 kext_item="org.virtualbox.kext.$item" 50 51 loaded="NO" 52 test -n "$(kextstat | grep $kext_item)" && loaded="YES" 53 if [ "$loaded" = "YES" ] ; then 54 echo "Unloading $item kernel extension..." 55 kextunload -b $kext_item 56 fi 57 done 58 echo "Loading newly installed kernel extensions." 59 kextload "/Library/Extensions/VBoxGuest.kext" 60 61 load_service "org.virtualbox.additions.vboxservice" "/Library/LaunchDaemons" "root" 62 load_service "org.virtualbox.additions.vboxclient" "/Library/LaunchAgents" "${USER}" 63 64 echo "Done." 65 66 exit 0; -
Property svn:keywords
set to
-
trunk/src/VBox/Additions/darwin/Installer/VBoxGuestAdditions_mpkg/Localizable.strings
-
Property svn:keywords
set to
Author Date Id Revision
r43008 r48181 1 1 'VirtualBox_title' = '@VBOX_PRODUCT@'; 2 2 3 'choiceVBoxKEXTs_title' = ' @VBOX_PRODUCT@Kernel Extensions';4 'choiceVBoxKEXTs_msg' = 'Installs the @VBOX_PRODUCT@ Kernel Extensions into /Library/Extensions.';3 'choiceVBoxKEXTs_title' = 'Kernel Extensions'; 4 'choiceVBoxKEXTs_msg' = 'Installs the @VBOX_PRODUCT@ Guest Additions Kernel Extensions into /Library/Extensions.'; 5 5 6 'choiceVBoxStartup_title' = '@VBOX_PRODUCT@ Startup Items'; 7 'choiceVBoxStartup_msg' = 'Installs the @VBOX_PRODUCT@ Startup Items to /Library/StartupItems/VirtualBox.'; 8 9 'choiceVBox_title' = '@VBOX_PRODUCT@'; 10 'choiceVBox_msg' = 'Installs the @VBOX_PRODUCT@ application into /Applications.'; 11 12 'choiceVBoxCLI_title' = '@VBOX_PRODUCT@ Command Line Utilities'; 13 'choiceVBoxCLI_msg' = 'Installs the @VBOX_PRODUCT@ command line utilities into /usr/bin.'; 14 15 'RUNNING_VMS_TLE' = "Running VirtualBox VM's detected!"; 16 'RUNNING_VMS_MSG' = "The installer has detected running Virtual Machines. Please shutdown all running VirtualBox machines and then restart the installation."; 17 18 'UNSUPPORTED_HW_MACHINE_TLE' = "Unsupported hardware architecture detected!"; 19 'UNSUPPORTED_HW_MACHINE_MSG' = "The installer has detected an unsupported architecture. VirtualBox only runs on the x86 and amd64 architectures."; 6 'choiceVBoxToolsAndServices_title' = 'Tools and Services'; 7 'choiceVBoxToolsAndServices_msg' = 'Installs the @VBOX_PRODUCT@ Guest Additions Tools and Services to /Library/Application Support/VirtualBox Guest Additions.'; 20 8 21 9 'UNSUPPORTED_OS_TLE' = "Unsupported OS version detected!"; 22 'UNSUPPORTED_OS_MSG' = "The installer has detected an unsupported operation system. VirtualBox requires Mac OS X 10.6 or later."; 23 10 'UNSUPPORTED_OS_MSG' = "The installer has detected an unsupported operation system. VirtualBox Guest Additions require Mac OS X 10.6 or later."; -
Property svn:keywords
set to
-
trunk/src/VBox/Additions/darwin/Installer/VBoxGuestAdditions_mpkg/distribution.dist
-
Property svn:keywords
set to
Author Date Id Revision
r47894 r48181 2 2 <!-- 3 3 # 4 # Copyright (C) 2008-201 2Oracle Corporation4 # Copyright (C) 2008-2013 Oracle Corporation 5 5 # 6 6 # This file is part of VirtualBox Open Source Edition (OSE), as … … 24 24 try 25 25 { 26 test = system.sysctl('hw.machine');27 system.log("Hardware architecture detected: " + test);28 result = (test == 'i386' || test == 'x86_64');29 } catch (e) { system.log(e); result = false; }30 31 if (!result)32 {33 my.result.type = 'Fatal';34 my.result.title = system.localizedString('UNSUPPORTED_HW_MACHINE_TLE');35 my.result.message = system.localizedString('UNSUPPORTED_HW_MACHINE_MSG');36 return result;37 }38 39 try40 {41 26 test = system.version['ProductVersion']; 42 27 system.log("OS version detected: " + test); … … 52 37 } 53 38 54 try55 {56 /* Embedded scripts are not available here. So, just do a command57 line checking for running VMs instead. */58 rcScript = system.run('/bin/sh', '-c', '/bin/ps -e | /usr/bin/grep -E "VirtualBoxVM.*startvm|VBoxNetDHCP|VBoxNetNAT" | /usr/bin/grep -qv grep');59 result = (rcScript != 0);60 system.log("system.run /bin/sh .. returned: " + rcScript + " result=" + result);61 } catch (e) { system.log(e); result = false; }62 63 if (!result)64 {65 my.result.type = 'Fatal';66 my.result.title = system.localizedString('RUNNING_VMS_TLE');67 my.result.message = system.localizedString('RUNNING_VMS_MSG');68 return result;69 }70 71 39 system.log("result:" + result); 72 40 return result; … … 77 45 <welcome file="Welcome.rtf" mime-type="text/rtf" uti="public.rtf"/> 78 46 <choices-outline> 47 <line choice="choiceVBoxToolsAndServices"></line> 79 48 <line choice="choiceVBoxKEXTs"></line> 80 <line choice="choiceVBoxStartup"></line>81 <line choice="choiceVBox"></line>82 <line choice="choiceVBoxCLI"></line>83 49 </choices-outline> 50 51 <choice id="choiceVBoxToolsAndServices" title="choiceVBoxToolsAndServices_title" description="choiceVBoxToolsAndServices_msg" start_selected="true" start_enabled="false" start_visible="true"> 52 <pkg-ref id="org.virtualbox.pkg.additions.tools-and-services"></pkg-ref> 53 </choice> 84 54 <choice id="choiceVBoxKEXTs" title="choiceVBoxKEXTs_title" description="choiceVBoxKEXTs_msg" start_selected="true" start_enabled="false" start_visible="true"> 85 <pkg-ref id="org.virtualbox.pkg. vboxkexts"></pkg-ref>55 <pkg-ref id="org.virtualbox.pkg.additions.kexts"></pkg-ref> 86 56 </choice> 87 <choice id="choiceVBoxStartup" title="choiceVBoxStartup_title" description="choiceVBoxStartup_msg" start_selected="true" start_enabled="false" start_visible="true"> 88 <pkg-ref id="org.virtualbox.pkg.vboxstartupitems"></pkg-ref> 89 </choice> 90 <choice id="choiceVBox" title="choiceVBox_title" description="choiceVBox_msg" start_selected="true" start_enabled="false" start_visible="true"> 91 <pkg-ref id="org.virtualbox.pkg.virtualbox"></pkg-ref> 92 </choice> 93 <choice id="choiceVBoxCLI" title="choiceVBoxCLI_title" description="choiceVBoxCLI_msg" start_selected="true" start_enabled="true" start_visible="true"> 94 <pkg-ref id="org.virtualbox.pkg.virtualboxcli"></pkg-ref> 95 </choice> 96 <pkg-ref id="org.virtualbox.pkg.vboxkexts" auth="Root">file:./Contents/Packages/VBoxKEXTs.pkg</pkg-ref> 97 <pkg-ref id="org.virtualbox.pkg.vboxstartupitems" auth="Root">file:./Contents/Packages/VBoxStartupItems.pkg</pkg-ref> 98 <pkg-ref id="org.virtualbox.pkg.virtualbox" auth="Root">file:./Contents/Packages/VirtualBox.pkg</pkg-ref> 99 <pkg-ref id="org.virtualbox.pkg.virtualboxcli" auth="Root">file:./Contents/Packages/VirtualBoxCLI.pkg</pkg-ref> 57 58 <pkg-ref id="org.virtualbox.pkg.additions.tools-and-services" auth="Root">file:./Contents/Packages/VBoxGuestAdditionsToolsAndServices.pkg</pkg-ref> 59 <pkg-ref id="org.virtualbox.pkg.additions.kexts" auth="Root">file:./Contents/Packages/VBoxGuestAdditionsKEXTs.pkg</pkg-ref> 60 100 61 </installer-gui-script> 101 -
Property svn:keywords
set to
Note:
See TracChangeset
for help on using the changeset viewer.