VirtualBox

Changeset 48181 in vbox for trunk


Ignore:
Timestamp:
Aug 30, 2013 8:33:19 AM (11 years ago)
Author:
vboxsync
Message:

Darwin additions: restore svn history for installer package; export to OSE installer and VBocClient.

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  
    2121#
    2222echo ""
    23 echo "Welcome to the VirtualBox uninstaller script."
     23echo "Welcome to the VirtualBox Guest Additions uninstall script."
    2424echo ""
    2525
    26 #
    27 # Check for arguments and display
    28 #
    29 my_default_prompt=0
     26# Check if user interraction is required to start uninstall process.
     27fUnattended=0
    3028if test "$#" != "0"; then
    3129    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 ""
    3937        exit 4;
    4038    fi
    41     my_default_prompt="Yes"
     39    fUnattended="Yes"
    4240fi
    4341
    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')".
     42if 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')".
    17347        exit 2;
    17448    fi
     
    17650fi
    17751
    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
     53echo "Checking running services..."
     54unload()
     55{
     56    ITEM_ID=$1
     57    ITEM_PATH=$2
     58    FORCED_USER=$3
    18659
    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"
    19461
    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"
    20567    fi
    206 fi
    20768
    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
     71unload "org.virtualbox.additions.vboxservice" "/Library/LaunchDaemons" "root"
     72unload "org.virtualbox.additions.vboxclient" "/Library/LaunchAgents" `whoami`
     73
     74# Unload kernel extensions
     75echo "Checking running kernel extensions..."
     76items="VBoxGuest"
     77for 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
    21883    fi
    21984done
    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
     87echo "Checking files and directories..."
     88sudo -p "Please enter %u's password (removing files and directories):" rm -rf "/Library/Application Support/VirtualBox Guest Additions"
     89sudo -p "Please enter %u's password (removing files and directories):" rm -rf "/Library/Extensions/VBoxGuest.kext"
     90sudo -p "Please enter %u's password (removing files and directories):" rm -rf "/Library/LaunchAgents/org.virtualbox.additions.vboxclient.plist"
     91sudo -p "Please enter %u's password (removing files and directories):" rm -rf "/Library/LaunchDaemons/org.virtualbox.additions.vboxservice.plist"
    22692
    22793# 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"
     94echo "Checking package database ..."
     95items="kexts tools-and-services"
     96for 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
    230102done
    231103
    232104echo "Done."
    233105exit 0;
    234 
  • trunk/src/VBox/Additions/darwin/Installer/Makefile.kmk

    r47894 r48181  
    11# $Id$
    22## @file
    3 # Install misc stuff and create dist packages for Mac OS X.
    4 #
    5 
    6 #
    7 # Copyright (C) 2006-2012 Oracle Corporation
     3# Install misc stuff and create dist packages for Mac OS X Guest Additions.
     4#
     5
     6#
     7# Copyright (C) 2006-2013 Oracle Corporation
    88#
    99# This file is part of VirtualBox Open Source Edition (OSE), as
     
    1616#
    1717
    18 SUB_DEPTH = ../../../..
     18SUB_DEPTH = ../../../../..
    1919include $(KBUILD_PATH)/subheader.kmk
    2020
     
    2424#
    2525VBOX_PATH_DI_SRC := $(PATH_SUB_CURRENT)
    26 VBOX_DI_OUT_DIR  := $(PATH_TARGET)/Installer/darwin
     26VBOX_DI_OUT_DIR  := $(PATH_TARGET)/additions/Installer
    2727BLDDIRS += $(VBOX_DI_OUT_DIR)
    2828
    2929ifdef VBOX_WITH_COMBINED_PACKAGE
    3030 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
    3333 else
    34   VBOX_PATH_DIST_64 = $(VBOX_PATH_DIST)
     34  VBOX_PATH_DIST_64 = $(VBOX_PATH_DIST)/additions
    3535  VBOX_PATH_DIST_32 = $(PATH_OUT_BASE)/darwin.x86/$(KBUILD_TYPE)/dist
    3636 endif
     
    4040 VBOX_DI_LIPO = lipo
    4141else
    42  VBOX_DI_FN_DEP_BOTH = $(VBOX_PATH_DIST)/$1
     42 VBOX_DI_FN_DEP_BOTH = $(VBOX_PATH_DIST)/additions/$1
    4343 ifeq ($(KBUILD_TARGET_ARCH),x86)
    44   VBOX_DI_FN_DEP_32  = $(VBOX_PATH_DIST)/$1
     44  VBOX_DI_FN_DEP_32  = $(VBOX_PATH_DIST)/additions/$1
    4545  VBOX_DI_FN_DEP_64  =
    4646 else
    47   VBOX_DI_FN_DEP_64  = $(VBOX_PATH_DIST)/$1
     47  VBOX_DI_FN_DEP_64  = $(VBOX_PATH_DIST)/additions/$1
    4848  VBOX_DI_FN_DEP_32  =
    4949 endif
     
    8282# The packing.
    8383#
    84 PACKING += $(VBOX_PATH_DIST)/VirtualBox-$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)-r$(VBOX_SVN_REV).dmg
     84PACKING += $(VBOX_PATH_DIST)/VBoxDarwinAdditions-$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)-r$(VBOX_SVN_REV).dmg
    8585#OTHER_CLEAN = TODO
    8686
     
    106106endif
    107107
    108 
    109 # Check for additional manuals
    110 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 
    115108#
    116109# The disk image.
    117110#
    118 $(VBOX_PATH_DIST)/VirtualBox-$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)-r$(VBOX_SVN_REV).dmg: \
    119                 $(VBOX_PATH_PACK_TMP)/DiskImage/VirtualBox.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 \
    120113                $(VBOX_BRAND_DARWIN_DISKIMAGE_BG) \
    121114                $(VBOX_BRAND_DARWIN_DISKIMAGE_DS_STORE) \
    122115                $$(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 \
    126117                $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    127118        $(call MSG_TOOL,hdiutil,,,$@)
     
    129120        sudo rm -Rf $(VBOX_PATH_PACK_TMP)/DiskImage.tmp
    130121        $(MKDIR) -p $(VBOX_PATH_PACK_TMP)/DiskImage.tmp/
    131         sudo mv $(VBOX_PATH_PACK_TMP)/DiskImage/VirtualBox.pkg $(VBOX_PATH_PACK_TMP)/DiskImage.tmp/
     122        sudo mv $(VBOX_PATH_PACK_TMP)/DiskImage/VBoxGuestAdditions.pkg $(VBOX_PATH_PACK_TMP)/DiskImage.tmp/
    132123        sudo rm -Rf \
    133124                $@ \
     
    135126        sudo mv $(VBOX_PATH_PACK_TMP)/DiskImage.tmp $(VBOX_PATH_PACK_TMP)/DiskImage
    136127        @# Remove .dmg packages from old depend builds
    137         $(QUIET)$(RM) -f $(wildcard $(VBOX_PATH_DIST)/VirtualBox-*-r*.dmg)
     128        $(QUIET)$(RM) -f $(wildcard $(VBOX_PATH_DIST)/VBoxDarwinAdditions-*-r*.dmg)
    138129        @# 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/
    140131ifeq (1,1)
    141132        @# Pedantic mode...
     
    143134        $(MKDIR) $(VBOX_PATH_PACK_TMP)/DiskImage/.background
    144135        $(INSTALL) -m 644 $(VBOX_BRAND_DARWIN_DISKIMAGE_BG)                 $(VBOX_PATH_PACK_TMP)/DiskImage/.background/vbox_folder.tiff
    145  ifdef VBOX_WITH_BUNDLED_INSTALLER
    146         $(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 package
    151  else
    152         $(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/Applications
    154  endif
    155136endif
    156137        @# Change the owners.
    157138        sudo chown -R root:admin $(VBOX_PATH_PACK_TMP)/DiskImage
    158139        @# 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" "$@"
    160141        @# Change (back) the owner so it can be deleted by the user.
    161142        sudo chown "$(shell whoami)" "$@"
     
    165146# The meta-package.
    166147#
    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/*) \
    174154                $(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 \
    175157                $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    176158        $(call MSG_TOOL,productbuild,,,$@)
     
    178160        sudo rm -Rf \
    179161                $@ \
    180                 $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.root \
    181                 $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.desc \
    182                 $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res
     162                $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.root \
     163                $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.desc \
     164                $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res
    183165        @# Correct directory permissions are important.
    184166        $(MKDIR) -p \
    185167                $(@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       
    189172        @# Do keyword replacement in the package info and description files.
    190173        $(SED) \
     
    196179                -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    197180                -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
    198                 --output $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res/English.lproj/Welcome.rtf \
    199                 $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/Welcome.rtf
     181                --output $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/English.lproj/Welcome.rtf \
     182                $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/Welcome.rtf
    200183        @# 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       
    202186        $(SED) \
    203187                -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
    204188                -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    205189                -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       
    209194        $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES), \
    210195                $(MKDIR) -p \
    211                         $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj$(NLTAB) \
     196                        $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj$(NLTAB) \
    212197                $(SED) \
    213198                        -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
     
    215200                        -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
    216201                        -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
    217                         --output $(VBOX_PATH_PACK_TMP)/VirtualBox.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 \
    218203                        $(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) \
    220205                $(SED) \
    221206                        -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
    222207                        -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    223208                        -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
    224                         --output $(VBOX_PATH_PACK_TMP)/VirtualBox.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 \
    225210                        $(VBOX_BRAND_$(f)_VIRTUALBOX_LOCALIZABLE_STRINGS)$(NLTAB) \
    226211        )
     212       
    227213        @# Build the package.
    228214        $(VBOX_PRODUCTBUILD) \
    229                 --distribution $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/distribution.dist \
     215                --distribution $(VBOX_PATH_DI_SRC)/VBoxGuestAdditions_mpkg/distribution.dist \
    230216                --package-path $(VBOX_PATH_PACK_TMP)/Packages \
    231                 --resources $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res \
    232                 --identifier org.VirtualBox.mpkg.virtualbox \
     217                --resources $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res \
     218                --identifier org.VirtualBox.mpkg.GuestAdditions \
    233219                --version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \
    234220                $(if $(VBOX_MACOSX_INSTALLER_SIGN),--sign "$(VBOX_MACOSX_INSTALLER_SIGN)",) \
    235221                $@
     222       
    236223        @# Cleanup.
    237224        sudo rm -Rf \
    238                 $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.root \
    239                 $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.desc \
    240                 $(VBOX_PATH_PACK_TMP)/VirtualBox.dist.res
    241 
    242 VirtualBox.pkg:: $(VBOX_PATH_PACK_TMP)/DiskImage/VirtualBox.pkg
     225                $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.root \
     226                $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.desc \
     227                $(VBOX_PATH_PACK_TMP)/VBoxDarwinAdditions.dist.res
     228
     229VBoxDarwinAdditions.pkg:: $(VBOX_PATH_PACK_TMP)/DiskImage/VBoxDarwinAdditions.pkg
    243230
    244231#
    245232# The VirtualBox Kernel extensions.
    246233#
    247 VBOX_DI_KEXTS_UNIVERSAL = VBoxDrv VBoxNetFlt VBoxNetAdp VBoxUSB
     234VBOX_DI_KEXTS_UNIVERSAL = VBoxGuest
    248235VBOX_DI_KEXTS = $(VBOX_DI_KEXTS_UNIVERSAL)
    249236
    250 $(VBOX_PATH_PACK_TMP)/Packages/VBoxKEXTs.pkg: \
     237$(VBOX_PATH_PACK_TMP)/Packages/VBoxGuestAdditionsKEXTs.pkg: \
    251238                $(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)/VBoxKEXTs/* \
    254                             $(VBOX_PATH_DI_SRC)/VBoxKEXTs/*.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/*) \
    255242                $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES), \
    256243                        $(VBOX_BRAND_$(f)_VBOXKEXTS_DESCRIPTION_PLIST) \
    257244                        $(VBOX_BRAND_$(f)_VBOXKEXTS_README_HTML) \
    258245                        $(VBOX_BRAND_$(f)_VBOXKEXTS_INSTALLATIONCHECK_STRINGS)) \
     246                $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsKEXTs/postflight \
     247                $(VBOX_PATH_DI_SRC)/VBoxGuestAdditionsKEXTs/PkgBuildComponent.plist \
    259248                $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    260249        $(call MSG_TOOL,pkgbuild,,,$@)
     
    262251        sudo rm -Rf \
    263252                $@ \
    264                 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root \
    265                 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.desc \
    266                 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.res
     253                $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root \
     254                $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.desc \
     255                $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.res
    267256        @# Correct directory permissions are important.
    268257        $(MKDIR) -p \
    269258                $(@D) \
    270                 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.desc \
    271                 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.res \
    272                 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.res/English.lproj
    273         $(MKDIR) -p -m 1775 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library
     259                $(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
    274263        $(MKDIR) -p -m 0755 \
    275                 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library/Extensions \
     264                $(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions \
    276265                $(foreach kext,$(VBOX_DI_KEXTS), \
    277                         $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library/Extensions/$(kext).kext \
    278                         $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library/Extensions/$(kext).kext/Contents \
    279                         $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.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 )
    280269        @# Copy the common files (Info.plist).
    281270        $(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/)
    283272        @# Copy the binaries and invoking lipo.
    284273ifdef VBOX_WITH_COMBINED_PACKAGE
    285274        $(foreach kext,$(VBOX_DI_KEXTS_UNIVERSAL), \
    286275                $(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)/VBoxKEXTs.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))
    290279else
    291280        $(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/)
    293282endif
    294283        @# Signed the kext bundles.
    295284ifdef VBOX_SIGNING_MODE
    296285        $(foreach kext,$(VBOX_DI_KEXTS), \
    297                 $(NLTAB)$(call VBOX_SIGN_BUNDLE_FN,$(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library/Extensions/$(kext).kext,) )
     286                $(NLTAB)$(call VBOX_SIGN_BUNDLE_FN,$(VBOX_PATH_PACK_TMP)/VBoxGuestAdditionsKEXTs.pkg.root/Library/Extensions/$(kext).kext,) )
    298287endif
    299288        @# 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       
    315298        @# Build the package.
    316299        $(VBOX_PKGBUILD) \
    317                 --root   $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root/Library/Extensions/ \
    318                 --component-plist $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.desc/PkgBuildComponent.plist \
    319                 --script $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.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 \
    321304                --version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \
    322305                --install-location /Library/Extensions/ \
     
    325308                $@
    326309        @# Cleanup
    327         sudo chown -R "$(shell whoami)" \
    328                 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.pkg.root
    329         sudo rm -Rf \
    330                 $(VBOX_PATH_PACK_TMP)/VBoxKEXTs.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
     319VBOX_GA_PKG=VBoxGuestAdditionsToolsAndServices.pkg
     320VBOX_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 \
    345328                $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    346329        $(call MSG_TOOL,pkgbuild,,,$@)
     
    348331        sudo rm -Rf \
    349332                $@ \
    350                 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.root \
    351                 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.desc \
    352                 $(VBOX_PATH_PACK_TMP)/VBoxStartupItems.pkg.res
     333                $(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
    353336        @# Correct directory permissions are important.
    354337        $(MKDIR) -p \
    355338                $(@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
     350ifdef 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" )
     359else
     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))
     364endif
     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       
    372379        @# Build the package.
    373380        $(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 \
    376384                --version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \
    377                 --install-location /Library/StartupItems/ \
     385                --install-location "/Library/" \
    378386                --ownership preserve \
    379387                $(if $(VBOX_MACOSX_INSTALLER_SIGN),--sign "$(VBOX_MACOSX_INSTALLER_SIGN)",) \
    380388                $@
    381389        @# 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  
    33<plist version="1.0">
    44<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>
    3413</array>
    3514</plist>
  • trunk/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsKEXTs/postflight

    • Property svn:keywords set to Author Date Id Revision
    r31673 r48181  
    22
    33#
    4 # Copyright (C) 2007-2010 Oracle Corporation
     4# Copyright (C) 2007-2013 Oracle Corporation
    55#
    66# This file is part of VirtualBox Open Source Edition (OSE), as
     
    1313#
    1414
    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
     15set -e
    3116
    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.
     18export PATH="/bin:/usr/bin:/sbin:/usr/sbin:$PATH"
    4019
     20unload_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
     34load_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
     44unload_service "org.virtualbox.additions.vboxservice" "/Library/LaunchDaemons" "root"
     45unload_service "org.virtualbox.additions.vboxclient" "/Library/LaunchAgents" "${USER}"
     46
     47items="VBoxGuest"
     48for 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
     57done
     58echo "Loading newly installed kernel extensions."
     59kextload "/Library/Extensions/VBoxGuest.kext"
     60
     61load_service "org.virtualbox.additions.vboxservice" "/Library/LaunchDaemons" "root"
     62load_service "org.virtualbox.additions.vboxclient" "/Library/LaunchAgents" "${USER}"
     63
     64echo "Done."
     65
     66exit 0;
  • trunk/src/VBox/Additions/darwin/Installer/VBoxGuestAdditions_mpkg/Localizable.strings

    • Property svn:keywords set to Author Date Id Revision
    r43008 r48181  
    11'VirtualBox_title' = '@VBOX_PRODUCT@';
    22
    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.';
    55
    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.';
    208
    219'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.";
  • trunk/src/VBox/Additions/darwin/Installer/VBoxGuestAdditions_mpkg/distribution.dist

    • Property svn:keywords set to Author Date Id Revision
    r47894 r48181  
    22<!--
    33#
    4 # Copyright (C) 2008-2012 Oracle Corporation
     4# Copyright (C) 2008-2013 Oracle Corporation
    55#
    66# This file is part of VirtualBox Open Source Edition (OSE), as
     
    2424       try
    2525       {
    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        try
    40        {
    4126           test = system.version['ProductVersion'];
    4227           system.log("OS version detected: " + test);
     
    5237       }
    5338
    54        try
    55        {
    56            /* Embedded scripts are not available here. So, just do a command
    57               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 
    7139       system.log("result:" + result);
    7240       return result;
     
    7745    <welcome file="Welcome.rtf" mime-type="text/rtf" uti="public.rtf"/>
    7846    <choices-outline>
     47        <line choice="choiceVBoxToolsAndServices"></line>
    7948        <line choice="choiceVBoxKEXTs"></line>
    80         <line choice="choiceVBoxStartup"></line>
    81         <line choice="choiceVBox"></line>
    82         <line choice="choiceVBoxCLI"></line>
    8349    </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>
    8454    <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>
    8656    </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
    10061</installer-gui-script>
    101 
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette