diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-11 08:17:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-11 08:17:27 +0000 |
commit | f215e02bf85f68d3a6106c2a1f4f7f063f819064 (patch) | |
tree | 6bb5b92c046312c4e95ac2620b10ddf482d3fa8b /src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices | |
parent | Initial commit. (diff) | |
download | virtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.tar.xz virtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.zip |
Adding upstream version 7.0.14-dfsg.upstream/7.0.14-dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices')
3 files changed, 95 insertions, 0 deletions
diff --git a/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper b/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper new file mode 100755 index 00000000..864fc76b --- /dev/null +++ b/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper @@ -0,0 +1,63 @@ +#!/bin/sh +## @file +# VBoxService wrapper script. +# +# Load required kernel extensions before start service (if necessary). +# + +# +# Copyright (C) 2007-2023 Oracle and/or its affiliates. +# +# This file is part of VirtualBox base platform packages, as +# available from https://www.virtualbox.org. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation, in version 3 of the +# License. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see <https://www.gnu.org/licenses>. +# +# SPDX-License-Identifier: GPL-3.0-only +# + +export PATH="/bin:/usr/bin:/sbin:/usr/sbin:$PATH" + +echo "Check if kernel extensions loaded..." +items="VBoxGuest" +for item in $items; do + kext_item="org.virtualbox.kext.$item" + loaded=`kextstat | grep $kext_item` + if [ -z "$loaded" ] ; then + echo "Loading $item kernel extension..." + XNU_VERSION=`LC_ALL=C uname -r | LC_ALL=C cut -d . -f 1` + if [ "$XNU_VERSION" -ge "10" ]; then + kextutil /Library/Extensions/$item.kext + else + kextload /Library/Extensions/$item.kext + fi + fi +done + +echo "Check if VBoxClient is added for all non-system users" +for user in $(dscl . -list /Users | grep -v -e'^_' -e'root'); do + system_user="YES" + test -n "$(dscl . -read /Users/$user NFSHomeDirectory | grep '/Users')" && system_user="NO" + if [ "$system_user" = "NO" ]; then + loaded="NO" + test -n "$(sudo -u "$user" launchctl list | grep 'org.virtualbox.additions.vboxclient')" && loaded="YES" + if [ "$loaded" = "NO" ] ; then + echo "Loading org.virtualbox.additions.vboxclient for $user" + sudo -u "$user" launchctl load -F "/Library/LaunchAgents/org.virtualbox.additions.vboxclient.plist" + fi + fi +done + +exec "/Library/Application Support/VirtualBox Guest Additions/VBoxService" -f + diff --git a/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxclient.plist b/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxclient.plist new file mode 100644 index 00000000..6b8b6b05 --- /dev/null +++ b/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxclient.plist @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>Disabled</key> <false/> + <key>RunAtLoad</key> <true/> + <key>KeepAlive</key> <true/> + <key>Label</key> <string>org.virtualbox.additions.vboxclient</string> + + <key>ProgramArguments</key> + <array> + <string>/Library/Application Support/VirtualBox Guest Additions/VBoxClient</string> + <string>-f</string> + </array> +</dict> +</plist> + diff --git a/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxservice.plist b/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxservice.plist new file mode 100644 index 00000000..d462b50d --- /dev/null +++ b/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/org.virtualbox.additions.vboxservice.plist @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>Disabled</key> <false/> + <key>RunAtLoad</key> <true/> + <key>KeepAlive</key> <true/> + <key>Label</key> <string>org.virtualbox.additions.vboxservice</string> + + <key>ProgramArguments</key> + <array> + <string>/Library/Application Support/VirtualBox Guest Additions/VBoxServiceWrapper</string> + </array> +</dict> +</plist> |