Skip to content

Commit ef2cab4

Browse files
authored
Merge pull request #230 from insidegui/fix-guest-image-missing
Always using default library directory for guest image, failing gracefully when guest image is missing
2 parents 4a52b1f + cbce7e6 commit ef2cab4

File tree

3 files changed

+10
-20
lines changed

3 files changed

+10
-20
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
MARKETING_VERSION = 1.3
2-
CURRENT_PROJECT_VERSION = 104
1+
MARKETING_VERSION = 1.3.1
2+
CURRENT_PROJECT_VERSION = 105
33
DYLIB_CURRENT_VERSION = $(CURRENT_PROJECT_VERSION)
44
VERSIONING_SYSTEM = apple-generic

VirtualCore/Source/GuestSupport/GuestAdditionsDiskImage.swift

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,9 @@ public final class GuestAdditionsDiskImage {
7070
}
7171
}
7272

73-
private let imageNameSuffix: String = {
74-
#if DEBUG
75-
return "-DEBUG"
76-
#else
77-
return ""
78-
#endif
79-
}()
80-
81-
private var imageName: String { "VirtualBuddyGuest\(imageNameSuffix)" }
73+
private var imageName: String { "VirtualBuddyGuest" }
8274

83-
private var libraryURL: URL { VBSettingsContainer.current.settings.libraryURL }
84-
85-
private var imagesRootURL: URL { libraryURL.appendingPathComponent("_GuestImage") }
75+
private var imagesRootURL: URL { URL.defaultVirtualBuddyLibraryURL.appendingPathComponent("_GuestImage") }
8676

8777
private var installedImageDigestURL: URL {
8878
imagesRootURL
@@ -159,8 +149,7 @@ public final class GuestAdditionsDiskImage {
159149
p.arguments = [
160150
scriptPath,
161151
guestPath,
162-
digest,
163-
imageNameSuffix
152+
digest
164153
]
165154
let outPipe = Pipe()
166155
let errPipe = Pipe()
@@ -201,10 +190,12 @@ public final class GuestAdditionsDiskImage {
201190

202191
extension VZVirtioBlockDeviceConfiguration {
203192

204-
static var guestAdditionsDisk: VZVirtioBlockDeviceConfiguration {
193+
static var guestAdditionsDisk: VZVirtioBlockDeviceConfiguration? {
205194
get throws {
206195
let guestImageURL = GuestAdditionsDiskImage.current.installedImageURL
207196

197+
guard FileManager.default.fileExists(atPath: guestImageURL.path) else { return nil }
198+
208199
let guestAttachment = try VZDiskImageStorageDeviceAttachment(url: guestImageURL, readOnly: true)
209200

210201
return VZVirtioBlockDeviceConfiguration(attachment: guestAttachment)

VirtualCore/Source/Virtualization/Helpers/MacOSVirtualMachineConfigurationHelper.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ struct MacOSVirtualMachineConfigurationHelper: VirtualMachineConfigurationHelper
3030
func createAdditionalBlockDevices() async throws -> [VZVirtioBlockDeviceConfiguration] {
3131
var devices = try vm.additionalBlockDevices
3232

33-
if vm.configuration.guestAdditionsEnabled {
34-
let guestDisk = try VZVirtioBlockDeviceConfiguration.guestAdditionsDisk
35-
devices.append(guestDisk)
33+
if vm.configuration.guestAdditionsEnabled, let disk = try? VZVirtioBlockDeviceConfiguration.guestAdditionsDisk {
34+
devices.append(disk)
3635
}
3736

3837
return devices

0 commit comments

Comments
 (0)