From 6c547e9108579cba71e5d4ae6c24de57f3d7cbe3 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Sat, 29 Aug 2015 12:25:20 -0700 Subject: [PATCH] Run migration with proper user environment Signed-off-by: Jeffrey Morgan --- .../project.pbxproj | 4 ++-- .../managevmplugin/managevmpluginPane.m | 19 +++++++++++------- .../Base.lproj/overviewplugin.xib | 10 ++++----- .../Contents/MacOS/managevmplugin | Bin 43388 -> 43452 bytes .../Resources/Base.lproj/overviewplugin.nib | Bin 7759 -> 7759 bytes 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/osx/installerplugins/installerplugins.xcodeproj/project.pbxproj b/osx/installerplugins/installerplugins.xcodeproj/project.pbxproj index e38a243b43..2a5a1f1f66 100644 --- a/osx/installerplugins/installerplugins.xcodeproj/project.pbxproj +++ b/osx/installerplugins/installerplugins.xcodeproj/project.pbxproj @@ -53,7 +53,7 @@ 1B4C91C31B85198100A06068 /* InstallerSections.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = InstallerSections.plist; sourceTree = ""; }; 1B8417E71B85261F00B1FA4D /* kitematic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = kitematic.png; sourceTree = ""; }; 1B8417E81B85261F00B1FA4D /* quickstart.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = quickstart.png; sourceTree = ""; }; - 1BDCE93A1B914EE2009C3488 /* informationplugin.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = informationplugin.bundle; path = /Users/jmorgan/workspace/toolbox/osx/installerplugins/build/Debug/informationplugin.bundle; sourceTree = ""; }; + 1BBD8C711B9236E600E2B28A /* informationplugin.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = informationplugin.bundle; path = /Users/jmorgan/workspace/toolbox/osx/installerplugins/build/Debug/informationplugin.bundle; sourceTree = ""; }; 1BF102BB1B8BDEDA00FCB650 /* overviewplugin.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = overviewplugin.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 1BF102BE1B8BDEDA00FCB650 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 1BF102C01B8BDEDA00FCB650 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; @@ -241,7 +241,7 @@ ); name = informationplugin; productName = informationplugin; - productReference = 1BDCE93A1B914EE2009C3488 /* informationplugin.bundle */; + productReference = 1BBD8C711B9236E600E2B28A /* informationplugin.bundle */; productType = "com.apple.product-type.bundle"; }; 1BF102BA1B8BDEDA00FCB650 /* overviewplugin */ = { diff --git a/osx/installerplugins/managevmplugin/managevmpluginPane.m b/osx/installerplugins/managevmplugin/managevmpluginPane.m index 4fac1f86ec..a2b22b55b8 100644 --- a/osx/installerplugins/managevmplugin/managevmpluginPane.m +++ b/osx/installerplugins/managevmplugin/managevmpluginPane.m @@ -20,7 +20,7 @@ NSString *vBoxManagePath = @"/Applications/VirtualBox.app/Contents/MacOS/VBoxMan NSString *dockerMachinePath = @"/usr/local/bin/docker-machine"; - (BOOL) vmExists:(NSString*)name { - NSTask* task = [NSTask launchedTaskWithLaunchPath:@"/usr/bin/sudo" arguments:[NSArray arrayWithObjects:@"-u", NSUserName(), vBoxManagePath, @"showvminfo", name, nil]]; + NSTask* task = [NSTask launchedTaskWithLaunchPath:@"/usr/bin/sudo" arguments:[NSArray arrayWithObjects:@"-i", @"-u", NSUserName(), vBoxManagePath, @"showvminfo", name, nil]]; [task waitUntilExit]; return [task terminationStatus] != 1; } @@ -55,7 +55,7 @@ NSString *dockerMachinePath = @"/usr/local/bin/docker-machine"; self.migrating = YES; // Remove existing vm if it exists (obviously user must have deleted the - NSTask* removeVMTask = [NSTask launchedTaskWithLaunchPath:@"/usr/bin/sudo" arguments:[NSArray arrayWithObjects:@"-u", NSUserName(), dockerMachinePath, @"rm", @"-f", @"default", nil]]; + NSTask* removeVMTask = [NSTask launchedTaskWithLaunchPath:@"/usr/bin/sudo" arguments:[NSArray arrayWithObjects:@"-i", @"-u", NSUserName(), dockerMachinePath, @"rm", @"-f", @"default", nil]]; [removeVMTask waitUntilExit]; // Remove the VM dir in case there's anything left over @@ -65,16 +65,15 @@ NSString *dockerMachinePath = @"/usr/local/bin/docker-machine"; // Do the migration NSTask* migrateTask = [[NSTask alloc] init]; migrateTask.launchPath = @"/usr/bin/sudo"; - migrateTask.arguments = [NSArray arrayWithObjects:@"-u", NSUserName(), dockerMachinePath, @"-D", @"create", @"-d", @"virtualbox", @"--virtualbox-import-boot2docker-vm", @"boot2docker-vm", @"default", nil]; + migrateTask.arguments = [NSArray arrayWithObjects:@"-i", @"-u", NSUserName(), dockerMachinePath, @"-D", @"create", @"-d", @"virtualbox", @"--virtualbox-memory", @"2048", @"--virtualbox-import-boot2docker-vm", @"boot2docker-vm", @"default", nil]; // Remove certificates, ssh keys from logs NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"BEGIN.*END" options:NSRegularExpressionDotMatchesLineSeparators error:NULL]; NSFont *font = [NSFont fontWithName:@"Menlo" size:10.0]; NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName]; - NSMutableData* fullData = [[NSMutableData alloc] init]; - migrateTask.standardOutput = [NSPipe pipe]; - [[migrateTask.standardOutput fileHandleForReading] setReadabilityHandler:^(NSFileHandle *file) { + + void (^appendOutput)(NSFileHandle*) = ^(NSFileHandle *file) { NSData *data = [file availableData]; [fullData appendData:data]; NSMutableString *str = [[NSMutableString alloc] initWithData:fullData encoding:NSUTF8StringEncoding]; @@ -84,7 +83,13 @@ NSString *dockerMachinePath = @"/usr/local/bin/docker-machine"; [self.migrationLogsTextView.textStorage setAttributedString:[[NSAttributedString alloc] initWithString:str attributes:attrsDictionary]]; [self.migrationLogsTextView scrollRangeToVisible:NSMakeRange([[self.migrationLogsTextView string] length], 0)]; }); - }]; + }; + + migrateTask.standardOutput = [NSPipe pipe]; + migrateTask.standardError = [NSPipe pipe]; + + [[migrateTask.standardOutput fileHandleForReading] setReadabilityHandler:appendOutput]; + [[migrateTask.standardError fileHandleForReading] setReadabilityHandler:appendOutput]; migrateTask.terminationHandler = ^(NSTask* task) { dispatch_async(dispatch_get_main_queue(), ^{ diff --git a/osx/installerplugins/overviewplugin/Base.lproj/overviewplugin.xib b/osx/installerplugins/overviewplugin/Base.lproj/overviewplugin.xib index e75f62f894..013230f146 100644 --- a/osx/installerplugins/overviewplugin/Base.lproj/overviewplugin.xib +++ b/osx/installerplugins/overviewplugin/Base.lproj/overviewplugin.xib @@ -31,15 +31,15 @@ - + - - + + - - + + diff --git a/osx/mpkg/Plugins/managevmplugin.bundle/Contents/MacOS/managevmplugin b/osx/mpkg/Plugins/managevmplugin.bundle/Contents/MacOS/managevmplugin index a631a8ab80fe9c3adad0224b11090c2e85d6bc73..8d6f30bfbfad0a72109ba3637f266fd48e1900f0 100755 GIT binary patch literal 43452 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 M$sE-gbg1mV0p}1zng9R* literal 43388 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 diff --git a/osx/mpkg/Plugins/overviewplugin.bundle/Contents/Resources/Base.lproj/overviewplugin.nib b/osx/mpkg/Plugins/overviewplugin.bundle/Contents/Resources/Base.lproj/overviewplugin.nib index 21ebc2a50acc96310a6f1560c8efceaf8306caf4..d02ae3ecb5f45c9085ff315d87c6c9898c4bb212 100644 GIT binary patch delta 23 ecmX?abKYh{0ymS9$>t>P*{sY)Cgz(2{doanz6Tiq delta 23 ecmX?abKYh{0ymSP>E