Small fixes and improvements to new migration & building

Signed-off-by: Jeffrey Morgan <jmorganca@gmail.com>
This commit is contained in:
Jeffrey Morgan 2015-08-27 17:36:04 -07:00
parent 8a8a9a13d5
commit 13472352e2
17 changed files with 80 additions and 75 deletions

View File

@ -18,8 +18,8 @@ RUN curl -fsSL https://github.com/mackyle/xar/archive/xar-1.6.1.tar.gz | tar xvz
./autogen.sh && ./configure && \
make && make install
ENV VBOX_VERSION 5.0.2
ENV VBOX_REV 102096
ENV VBOX_VERSION 5.0.0
ENV VBOX_REV 101573
RUN curl -fsSL -o /vbox.dmg http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VirtualBox-$VBOX_VERSION-$VBOX_REV-OSX.dmg \
&& echo "$(curl -fsSL 'http://download.virtualbox.org/virtualbox/'"$VBOX_VERSION"'/SHA256SUMS' | awk '$2 ~ /-OSX.dmg$/ { print $1 }') */vbox.dmg" | sha256sum -c -
@ -68,10 +68,10 @@ RUN cd /mpkg/vbox && \
rm -rf vbox
# Add components
COPY mpkg/Distribution /mpkg/Distribution
COPY osx/mpkg/Distribution /mpkg/Distribution
# docker.pkg
COPY mpkg/docker.pkg /mpkg/docker.pkg
COPY osx/mpkg/docker.pkg /mpkg/docker.pkg
RUN cd /mpkg/docker.pkg && \
mkdir rootfs && \
cd rootfs && \
@ -89,7 +89,7 @@ RUN cd /mpkg/docker.pkg && \
rm -rf ./rootfs
# kitematicapp.pkg
COPY mpkg/kitematicapp.pkg /mpkg/kitematicapp.pkg
COPY osx/mpkg/kitematicapp.pkg /mpkg/kitematicapp.pkg
RUN cd /mpkg/kitematicapp.pkg && \
mkdir ./rootfs && \
cd ./rootfs && \
@ -107,7 +107,7 @@ RUN cd /mpkg/kitematicapp.pkg && \
rm -rf ./rootfs
# dockermachine.pkg
COPY mpkg/dockermachine.pkg /mpkg/dockermachine.pkg
COPY osx/mpkg/dockermachine.pkg /mpkg/dockermachine.pkg
RUN cd /mpkg/dockermachine.pkg && \
mkdir rootfs && \
cd rootfs && \
@ -125,7 +125,7 @@ RUN cd /mpkg/dockermachine.pkg && \
rm -rf ./rootfs
# dockercompose.pkg
COPY mpkg/dockercompose.pkg /mpkg/dockercompose.pkg
COPY osx/mpkg/dockercompose.pkg /mpkg/dockercompose.pkg
RUN cd /mpkg/dockercompose.pkg && \
mkdir rootfs && \
cd rootfs && \
@ -143,7 +143,7 @@ RUN cd /mpkg/dockercompose.pkg && \
rm -rf ./rootfs
# boot2dockeriso.pkg
COPY mpkg/boot2dockeriso.pkg /mpkg/boot2dockeriso.pkg
COPY osx/mpkg/boot2dockeriso.pkg /mpkg/boot2dockeriso.pkg
RUN cd /mpkg/boot2dockeriso.pkg && \
cd Scripts && find . | cpio -o --format odc | gzip -c > ../Scripts.bin && cd .. && \
rm -r Scripts && mv Scripts.bin Scripts && \
@ -161,8 +161,8 @@ RUN cd /mpkg/boot2dockeriso.pkg && \
rm -rf ./rootfs
# dockerquickstartterminalapp.pkg
COPY mpkg/dockerquickstartterminalapp.pkg /mpkg/dockerquickstartterminalapp.pkg
COPY mpkg/quickstart.app /mpkg/quickstart.app
COPY osx/mpkg/dockerquickstartterminalapp.pkg /mpkg/dockerquickstartterminalapp.pkg
COPY osx/mpkg/quickstart.app /mpkg/quickstart.app
RUN cd /mpkg/dockerquickstartterminalapp.pkg && \
mkdir ./rootfs && \
cd ./rootfs && \
@ -177,8 +177,8 @@ RUN cd /mpkg/dockerquickstartterminalapp.pkg && \
cd .. && \
rm -rf ./rootfs
COPY mpkg/Resources /mpkg/Resources
COPY mpkg/Plugins /mpkg/Plugins
COPY osx/mpkg/Resources /mpkg/Resources
COPY osx/mpkg/Plugins /mpkg/Plugins
RUN sed -i \
-e "s/%MIXPANEL_TOKEN%/$MIXPANEL_TOKEN/g" \

View File

@ -20,29 +20,31 @@
@implementation Mixpanel
+ (NSString *) uuid {
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *cacheDirPath = [NSString pathWithComponents:[NSArray arrayWithObjects:cachePath, @"io.docker.pkg.toolbox", nil]];
NSString *cacheFilePath = [NSString pathWithComponents:[NSArray arrayWithObjects:cacheDirPath, @"id", nil]];
NSString *appPath = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *appDirPath = [NSString pathWithComponents:[NSArray arrayWithObjects:appPath, @"DockerToolbox", nil]];
NSString *appFilePath = [NSString pathWithComponents:[NSArray arrayWithObjects:appDirPath, @"id", nil]];
NSString *uuid = [NSString stringWithContentsOfFile:cacheFilePath encoding:NSUTF8StringEncoding error:nil];
NSString *uuid = [NSString stringWithContentsOfFile:appFilePath encoding:NSUTF8StringEncoding error:nil];
if (!uuid || ![uuid length]) {
uuid = [[NSUUID UUID] UUIDString];
[[NSFileManager defaultManager] createDirectoryAtPath:appDirPath withIntermediateDirectories:YES attributes:nil error:nil];
[uuid writeToFile:appFilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
}
[[NSFileManager defaultManager] createDirectoryAtPath:cacheDirPath withIntermediateDirectories:YES attributes:nil error:nil];
[uuid writeToFile:cacheFilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
return uuid;
}
+ (void) trackEvent:(NSString *)name forPane:(InstallerPane*)pane withProperties:(NSDictionary *)properties {
BOOL trackingDisabled = [[[[pane section] sharedDictionary] objectForKey:@"disableTracking"] boolValue];
NSString *uuid = [self uuid];
if (!uuid || trackingDisabled) {
if (trackingDisabled) {
return;
}
NSString *uuid = [self uuid];
if (!uuid) {
return;
}
NSString *props = @"";
for (NSString *key in properties) {
props = [props stringByAppendingFormat:@",\"%@\": \"%@\"", key, [properties objectForKey:key]];

View File

@ -51,9 +51,9 @@
1B4C91BE1B85198100A06068 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/quickstartplugin.xib; sourceTree = "<group>"; };
1B4C91C11B85198100A06068 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
1B4C91C31B85198100A06068 /* InstallerSections.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = InstallerSections.plist; sourceTree = "<group>"; };
1B763C8B1B8F7F2A00981AA8 /* informationplugin.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = informationplugin.bundle; path = /Users/jmorgan/workspace/toolbox/osx/installerplugins/build/Debug/informationplugin.bundle; sourceTree = "<absolute>"; };
1B8417E71B85261F00B1FA4D /* kitematic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = kitematic.png; sourceTree = "<group>"; };
1B8417E81B85261F00B1FA4D /* quickstart.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = quickstart.png; sourceTree = "<group>"; };
1BF1029E1B8B940500FCB650 /* informationplugin.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = informationplugin.bundle; path = /Users/jmorgan/workspace/toolbox/osx/installerplugins/../mpkg/Plugins/informationplugin.bundle; sourceTree = "<absolute>"; };
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 = "<group>"; };
1BF102C01B8BDEDA00FCB650 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
@ -241,7 +241,7 @@
);
name = informationplugin;
productName = informationplugin;
productReference = 1BF1029E1B8B940500FCB650 /* informationplugin.bundle */;
productReference = 1B763C8B1B8F7F2A00981AA8 /* informationplugin.bundle */;
productType = "com.apple.product-type.bundle";
};
1BF102BA1B8BDEDA00FCB650 /* overviewplugin */ = {
@ -701,6 +701,7 @@
1BF102CF1B8BDEDA00FCB650 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};

View File

@ -32,15 +32,15 @@ NSString *dockerMachinePath = @"/usr/local/bin/docker-machine";
}
// Boot2Docker certs exist
if (![[NSFileManager defaultManager] fileExistsAtPath:@"~/.boot2docker/certs/boot2docker-vm/ca.pem"] ||
![[NSFileManager defaultManager] fileExistsAtPath:@"~/.boot2docker/certs/boot2docker-vm/cert.pem"] ||
![[NSFileManager defaultManager] fileExistsAtPath:@"~/.boot2docker/certs/boot2docker-vm/key.pem"]) {
if (![[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/.boot2docker/certs/boot2docker-vm/ca.pem", NSHomeDirectory()]] ||
![[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/.boot2docker/certs/boot2docker-vm/cert.pem", NSHomeDirectory()]] ||
![[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/.boot2docker/certs/boot2docker-vm/key.pem", NSHomeDirectory()]]) {
return NO;
}
// Boot2Docker ssh keys exist
if (![[NSFileManager defaultManager] fileExistsAtPath:@"~/.ssh/id_boot2docker"] ||
![[NSFileManager defaultManager] fileExistsAtPath:@"~/.ssh/id_boot2docker.pub"]) {
if (![[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/.ssh/id_boot2docker", NSHomeDirectory()]] ||
![[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/.ssh/id_boot2docker.pub", NSHomeDirectory()]]) {
return NO;
}
@ -59,7 +59,7 @@ NSString *dockerMachinePath = @"/usr/local/bin/docker-machine";
[removeVMTask waitUntilExit];
// Remove the VM dir in case there's anything left over
NSTask* removeDirTask = [NSTask launchedTaskWithLaunchPath:@"/bin/rm" arguments:[NSArray arrayWithObjects:@"-rf", @"~/.docker/machine/machines/default", nil]];
NSTask* removeDirTask = [NSTask launchedTaskWithLaunchPath:@"/bin/rm" arguments:[NSArray arrayWithObjects:@"-rf", [NSString stringWithFormat:@"%@/.docker/machine/machines/default", NSHomeDirectory()], nil]];
[removeDirTask waitUntilExit];
// Do the migration
@ -179,7 +179,7 @@ NSString *dockerMachinePath = @"/usr/local/bin/docker-machine";
[self migrateBoot2DockerVM];
return NO;
} else if (self.migrateCheckbox.state == NSOffState) {
[Mixpanel trackEvent:@"Skipped Boot2Docker Migration" forPane:self];
[Mixpanel trackEvent:@"Boot2Docker Migration Skipped" forPane:self];
}
return YES;
}

View File

@ -25,21 +25,21 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView fixedFrame="YES" borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="0.0" verticalPageScroll="0.0" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="e5n-p7-Zro">
<rect key="frame" x="20" y="160" width="378" height="150"/>
<rect key="frame" x="20" y="46" width="378" height="283"/>
<clipView key="contentView" misplaced="YES" id="GuL-k4-Axf">
<rect key="frame" x="1" y="1" width="223" height="133"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textView editable="NO" importsGraphics="NO" verticallyResizable="NO" findStyle="panel" continuousSpellChecking="YES" allowsUndo="YES" usesRuler="YES" usesFontPanel="YES" allowsNonContiguousLayout="YES" quoteSubstitution="YES" dashSubstitution="YES" spellingCorrection="YES" smartInsertDelete="YES" id="cgA-DY-Gw8">
<rect key="frame" x="0.0" y="0.0" width="223" height="207"/>
<textView horizontalCompressionResistancePriority="250" editable="NO" importsGraphics="NO" verticallyResizable="NO" findStyle="panel" continuousSpellChecking="YES" allowsUndo="YES" usesRuler="YES" usesFontPanel="YES" allowsNonContiguousLayout="YES" quoteSubstitution="YES" dashSubstitution="YES" spellingCorrection="YES" smartInsertDelete="YES" id="cgA-DY-Gw8">
<rect key="frame" x="0.0" y="0.0" width="223" height="100"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<size key="minSize" width="378" height="150"/>
<size key="maxSize" width="463" height="150"/>
<size key="minSize" width="378" height="283"/>
<size key="maxSize" width="463" height="283"/>
<color key="insertionPointColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<size key="minSize" width="378" height="150"/>
<size key="maxSize" width="463" height="150"/>
<size key="minSize" width="378" height="283"/>
<size key="maxSize" width="463" height="283"/>
</textView>
</subviews>
<animations/>
@ -51,29 +51,23 @@
<autoresizingMask key="autoresizingMask"/>
<animations/>
</scroller>
<scroller key="verticalScroller" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="gzS-9C-bOX">
<scroller key="verticalScroller" verticalHuggingPriority="750" horizontal="NO" id="gzS-9C-bOX">
<rect key="frame" x="224" y="1" width="15" height="133"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</scroller>
</scrollView>
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="h63-BP-4UP">
<rect key="frame" x="21" y="127" width="22" height="18"/>
<rect key="frame" x="18" y="11" width="382" height="24"/>
<animations/>
<buttonCell key="cell" type="check" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Jjb-SP-XI0">
<buttonCell key="cell" type="check" title="Send one-time anonymous metrics to improve this installer." bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Jjb-SP-XI0">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="checkboxChanged:" target="Qsn-FY-4qK" id="mbj-pc-e04"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yWs-7K-0pR">
<rect key="frame" x="47" y="109" width="353" height="43"/>
<animations/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Send one-time, anonymous metrics to improve the Docker Toolbox installer." id="3PO-tg-q3r">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<animations/>
<point key="canvasLocation" x="737" y="529"/>

View File

@ -4,6 +4,7 @@
<title>Docker Toolbox for Mac OS X</title>
</head>
<body style="font-family: Helvetica, Sans-Serif;">
<br>
<p>
The Docker Toolbox installer includes the following:
</p>

View File

@ -9,6 +9,7 @@
#import <InstallerPlugins/InstallerPlugins.h>
@interface overviewpluginPane : InstallerPane
- (IBAction)checkboxChanged:(id)sender;
@property (unsafe_unretained) IBOutlet NSTextView *textView;
@property (weak) IBOutlet NSButton *checkbox;
@end

View File

@ -33,7 +33,7 @@
[[self.textView textStorage] setAttributedString:formattedHTML];
if (self.firstTime) {
[Mixpanel trackEvent:@"Installer Started" forPane:self];
self.firstTime = YES;
self.firstTime = NO;
}
}
@ -41,15 +41,18 @@
if (dir != InstallerDirectionForward) {
return;
}
if (self.checkbox.state != NSOnState) {
[Mixpanel trackEvent:@"Continued from Overview" forPane:self];
}
- (IBAction)checkboxChanged:(id)sender {
if ([(NSButton*)sender state] == NSOnState) {
[Mixpanel trackEvent:@"Enabled Tracking" forPane:self];
[[[self section] sharedDictionary] removeObjectForKey:@"disableTracking"];
} else {
[Mixpanel trackEvent:@"Disabled Tracking" forPane:self];
[[[self section] sharedDictionary] setObject:[NSNumber numberWithBool:YES] forKey:@"disableTracking"];
return;
}
[[[self section] sharedDictionary] removeObjectForKey:@"disableTracking"];
[Mixpanel trackEvent:@"Enabled Tracking" forPane:self];
}
@end

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="8164.2" systemVersion="15A244d" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="15A263e" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="8164.2"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="InstallerSection">
@ -26,19 +26,10 @@
<rect key="frame" x="0.0" y="0.0" width="418" height="330"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="h81-Lr-9M8">
<rect key="frame" x="18" y="36" width="382" height="34"/>
<animations/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="You can also find these later in the Docker directory under Applications." id="Svq-5c-kHJ">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="r4S-fa-yRm">
<rect key="frame" x="18" y="293" width="250" height="17"/>
<rect key="frame" x="18" y="293" width="254" height="17"/>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Choose a tool to get started with Docker" id="hiV-rm-oN0">
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Choose a tool to get started with Docker:" id="hiV-rm-oN0">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
@ -80,7 +71,16 @@ Terminal</string>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jKy-qa-eNn">
<rect key="frame" x="250" y="100" width="107" height="39"/>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Kitematic" id="fs6-3u-0I6">
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Kitematic (Beta)" id="fs6-3u-0I6">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="h81-Lr-9M8">
<rect key="frame" x="18" y="41" width="382" height="34"/>
<animations/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="You can also find these later in the Docker directory under Applications." id="Svq-5c-kHJ">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>

View File

@ -15,9 +15,11 @@
return [[NSBundle bundleForClass:[self class]] localizedStringForKey:@"PaneTitle" value:nil table:nil];
}
- (void) willEnterPane:(InstallerSectionDirection)dir {
- (void) didEnterPane:(InstallerSectionDirection)dir {
self.previousEnabled = NO;
}
- (void) willEnterPane:(InstallerSectionDirection)dir {
BOOL kitematicInstalled = [[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Docker/Kitematic (Beta).app"];
BOOL quickstartInstalled = [[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Docker/Docker Quickstart Terminal.app"];

View File

@ -4,6 +4,7 @@
<title>Docker Toolbox for Mac OS X</title>
</head>
<body style="font-family: Helvetica, Sans-Serif;">
<br>
<p>
The Docker Toolbox installer includes the following:
</p>

View File

@ -13,10 +13,10 @@
'choiceBoot2DockerISO_msg' = 'Installs the boot2docker.iso into /usr/local/share/';
'choiceDockerQuickstartTerminalAPP_title' = 'Docker Quickstart Terminal';
'choiceDockerQuickstartTerminalAPP_msg' = 'Installs the Docker Quickstart Terminal application into /Applications/';
'choiceDockerQuickstartTerminalAPP_msg' = 'Installs the Docker Quickstart Terminal application into /Applications/Docker/';
'choiceKitematicAPP_title' = 'Kitematic %KITEMATICAPP_VERSION%';
'choiceKitematicAPP_msg' = 'Installs Kitematic into /Applications/';
'choiceKitematicAPP_msg' = 'Installs Kitematic into /Applications/Docker/';
'choiceVBox_title' = 'Oracle VM VirtualBox %VBOX_VERSION%';
'choiceVBox_msg' = 'Installs or Upgrades the Oracle VM VirtualBox application into /Applications if it is not already installed.';