VirtualBox

source: vbox/trunk/src/VBox/Installer/darwin/VirtualBox/postflight@ 58268

Last change on this file since 58268 was 57328, checked in by vboxsync, 9 years ago

Installer/darwin/postflight: The El Capitan beta 6 problem is with 'chown' not installd, so first do chown then chmod sticky bits.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 3.3 KB
Line 
1#!/bin/sh
2# $Id: postflight 57328 2015-08-13 14:32:55Z vboxsync $
3## @file
4# Post installation script.
5#
6
7#
8# Copyright (C) 2007-2015 Oracle Corporation
9#
10# This file is part of VirtualBox Open Source Edition (OSE), as
11# available from http://www.virtualbox.org. This file is free software;
12# you can redistribute it and/or modify it under the terms of the GNU
13# General Public License (GPL) as published by the Free Software
14# Foundation, in version 2 as it comes in the "COPYING" file of the
15# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17#
18
19CP="/bin/cp -f"
20CPDIR="${CP} -R"
21
22
23#
24# Install the Python bindings
25#
26VBOX_INSTALL_PATH=/Applications/VirtualBox.app/Contents/MacOS
27PYTHON="python python2.3 python2.5 python2.6 python2.7"
28if [ -e "${VBOX_INSTALL_PATH}/sdk/installer/vboxapisetup.py" ]; then
29 for p in $PYTHON; do
30 # Install the python bindings if python is in the path
31 if [ "`\${p} -c 'print "test"' 2> /dev/null`" = "test" ]; then
32 echo 1>&2 "Python found: ${p}, installing bindings..."
33 # Pass install path via environment
34 export VBOX_INSTALL_PATH
35 /bin/sh -c "cd $VBOX_INSTALL_PATH/sdk/installer && ${p} vboxapisetup.py install"
36 /bin/sh -c "cd $VBOX_INSTALL_PATH/sdk/installer && ${p} vboxapisetup.py clean --all"
37 fi
38 done
39fi
40
41#
42# Install the vboxweb service file for launchd
43#
44VBOXWEBSRV="${VBOX_INSTALL_PATH}/org.virtualbox.vboxwebsrv.plist"
45VBOXWEBSRV_TRG="${HOME}/Library/LaunchAgents"
46if [[ -e "${VBOXWEBSRV}" && -e "${VBOXWEBSRV_TRG}" ]]; then
47 echo "Installing vboxwebsrv launchd file to ${VBOXWEBSRV_TRG}"
48 ${CP} "${VBOXWEBSRV}" "${VBOXWEBSRV_TRG}/"
49 [ "x" != "x${USER}" ] && /usr/sbin/chown "${USER}" "${VBOXWEBSRV_TRG}/org.virtualbox.vboxwebsrv.plist"
50fi
51
52#
53# Install any custom files
54#
55DATAPATH="`/usr/bin/dirname "${0}"`/../../../../../.."
56if [ -d "${DATAPATH}/.custom" ]; then
57 echo 1>&2 "Copy ${DATAPATH}/.custom to ${VBOX_INSTALL_PATH}...";
58 ${CPDIR} "${DATAPATH}/.custom/" "${VBOX_INSTALL_PATH}/custom"
59fi
60
61#
62# Register our file extensions
63#
64LSREGISTER=/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister
65if [[ -e "${LSREGISTER}" && "x" != "x${USER}" ]]; then
66 echo "Register file extensions for \"${USER}\""
67 /usr/bin/sudo -u "${USER}" ${LSREGISTER} -f /Applications/VirtualBox.app
68 /usr/bin/sudo -u "${USER}" ${LSREGISTER} -f /Applications/VirtualBox.app/Contents/Resources/vmstarter.app
69fi
70
71# Check environment.
72if [ "${INSTALLER_TEMP}x" == "x" ]; then
73 echo "Required environment variable INSTALLER_TEMP is missing. Aborting installation."
74 exit 1;
75fi
76
77# Restore previously installed Extension Packs (if any)
78if [ -d "${INSTALLER_TEMP}/ExtensionPacks" ]; then
79 cp -r "${INSTALLER_TEMP}/ExtensionPacks" "${VBOX_INSTALL_PATH}"
80 rm -rf "${INSTALLER_TEMP}/ExtensionPacks"
81fi
82
83#
84# Correct the ownership of the directories in case there
85# was an existing installation.
86#
87chown -R root:admin /Applications/VirtualBox.app
88
89#
90# Workaround for 10.11 beta 6 in which the above chown strips the set-uid-to-root bit.
91#
92SET_UID_BINARIES="VBoxNetAdpCtl"
93SET_UID_BINARIES="${SET_UID_BINARIES} VBoxHeadless VirtualBox VirtualBoxVM VBoxNetDHCP VBoxNetNAT" # WITH_HARDENING
94for bin in ${SET_UID_BINARIES}; do
95 chmod u+s "/Applications/VirtualBox.app/Contents/MacOS/${bin}"
96done
97
98exit 0;
99
Note: See TracBrowser for help on using the repository browser.

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