Move toolbox docs to toolbox subdirectory
|
@ -1,28 +0,0 @@
|
|||
Contributing to Docker Toolbox
|
||||
==================================
|
||||
|
||||
The Docker Toolbox is a part of the [Docker](https://www.docker.com) project, and follows
|
||||
the [contributing guidelines](https://github.com/docker/docker/blob/master/CONTRIBUTING.md). If you're already familiar with the way
|
||||
Docker does things, you'll feel right at home.
|
||||
|
||||
Please [sign your work](https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work) before creating a pull request.
|
||||
|
||||
Thanks for taking the time to improve the Docker Toolbox!
|
||||
|
||||
## License
|
||||
|
||||
By contributing your code, you agree to license your contribution under the [Apache license](https://github.com/docker/toolbox/blob/master/LICENSE/LICENSE).
|
||||
|
||||
## Diff scpt files
|
||||
|
||||
.gitattributes
|
||||
```
|
||||
*.scpt diff=scpt
|
||||
```
|
||||
|
||||
.git/config
|
||||
```
|
||||
[diff "scpt"]
|
||||
textconv = osadecompile
|
||||
binary = true
|
||||
```
|
218
Dockerfile.osx
|
@ -1,218 +0,0 @@
|
|||
FROM debian:jessie
|
||||
|
||||
RUN apt-get update && apt-get -y install \
|
||||
autoconf build-essential curl \
|
||||
libxml2-dev libssl-dev \
|
||||
p7zip-full \
|
||||
hfsplus hfsutils hfsprogs cpio
|
||||
|
||||
# We need the bomutils to create the Mac OS X Bill of Materials (BOM) files.
|
||||
# https://github.com/hogliux/bomutils
|
||||
RUN curl -fsSL https://github.com/hogliux/bomutils/archive/0.2.tar.gz | tar xvz && \
|
||||
cd bomutils-* && \
|
||||
make && make install
|
||||
|
||||
# Needed to pack/unpack the .pkg files
|
||||
RUN curl -fsSL https://github.com/mackyle/xar/archive/xar-1.6.1.tar.gz | tar xvz && \
|
||||
cd xar-*/xar && \
|
||||
./autogen.sh && ./configure && \
|
||||
make && make install
|
||||
|
||||
ENV VBOX_VERSION 5.1.4
|
||||
ENV VBOX_REV 110228
|
||||
|
||||
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 -
|
||||
|
||||
# Download the Docker parts
|
||||
|
||||
ENV INSTALLER_VERSION 1.12.1
|
||||
ENV DOCKER_VERSION 1.12.1
|
||||
|
||||
# Why '--strip-components 3'? The client binary is in usr/local/bin/docker in
|
||||
# the tar archive. If we extract directly, it will create a usr/local/bin
|
||||
# subdirectory (not what we want). So we use --strip-components to remove the
|
||||
# `usr/local/bin` part and drop the bin in the current directory.
|
||||
RUN curl -fsSL -o dockerbins.tgz "https://get.docker.com/builds/Darwin/x86_64/docker-${DOCKER_VERSION}.tgz" && \
|
||||
tar xvf dockerbins.tgz docker/docker --strip-components 1 && \
|
||||
rm dockerbins.tgz
|
||||
|
||||
RUN chmod +x /docker
|
||||
|
||||
|
||||
ENV DOCKER_MACHINE_VERSION 0.8.1
|
||||
RUN curl -fsSL -o /docker-machine https://github.com/docker/machine/releases/download/v$DOCKER_MACHINE_VERSION/docker-machine-Darwin-x86_64
|
||||
|
||||
RUN chmod +x /docker-machine
|
||||
|
||||
ENV DOCKER_COMPOSE_VERSION 1.8.0
|
||||
RUN curl -fsSL -o /docker-compose https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-Darwin-x86_64
|
||||
RUN chmod +x /docker-compose
|
||||
|
||||
ENV BOOT2DOCKER_ISO_VERSION $DOCKER_VERSION
|
||||
RUN curl -fsSL -o /boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v$DOCKER_VERSION/boot2docker.iso
|
||||
|
||||
ENV KITEMATIC_VERSION 0.12.0
|
||||
RUN curl -fsSL -o /kitematic.zip https://github.com/kitematic/kitematic/releases/download/v$KITEMATIC_VERSION/Kitematic-$KITEMATIC_VERSION-Mac.zip
|
||||
|
||||
ENV MIXPANEL_TOKEN c306ae65c33d7d09fe3e546f36493a6e
|
||||
|
||||
# Extract the VirtualBox .pkg
|
||||
RUN mkdir -p /mpkg/vbox && \
|
||||
cd /mpkg/vbox && \
|
||||
7z x /vbox.dmg -ir'!*.hfs' && \
|
||||
7z x `find . -name '*.hfs'` -ir'!*.pkg' && \
|
||||
mv VirtualBox/VirtualBox.pkg . && \
|
||||
rm -rf vbox.dmg && \
|
||||
rm -rf `find . -name '*.hfs'`
|
||||
|
||||
# Extract the .pkg files
|
||||
RUN cd /mpkg/vbox && \
|
||||
mv VirtualBox.pkg /tmp && \
|
||||
xar -xf /tmp/VirtualBox.pkg && \
|
||||
rm -rf /tmp/VirtualBox.pkg
|
||||
|
||||
RUN cd /mpkg/vbox && \
|
||||
mv *.pkg .. && \
|
||||
rm -rf vbox
|
||||
|
||||
# Add components
|
||||
COPY osx/mpkg/Distribution /mpkg/Distribution
|
||||
|
||||
# docker.pkg
|
||||
COPY osx/mpkg/docker.pkg /mpkg/docker.pkg
|
||||
RUN cd /mpkg/docker.pkg && \
|
||||
mkdir rootfs && \
|
||||
cd rootfs && \
|
||||
mkdir -p usr/local/bin && \
|
||||
mv /docker usr/local/bin/ && \
|
||||
ls -al /usr/local/bin/ && \
|
||||
find . | cpio -o --format odc | gzip -c > ../Payload && \
|
||||
mkbom . ../Bom && \
|
||||
sed -i \
|
||||
-e "s/%DOCKER_NUMBER_OF_FILES%/`find . | wc -l`/g" \
|
||||
-e "s/%DOCKER_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \
|
||||
-e "s/%DOCKER_VERSION%/$DOCKER_VERSION/g" \
|
||||
../PackageInfo /mpkg/Distribution && \
|
||||
cd .. && \
|
||||
rm -rf ./rootfs
|
||||
|
||||
# kitematicapp.pkg
|
||||
COPY osx/mpkg/kitematicapp.pkg /mpkg/kitematicapp.pkg
|
||||
RUN cd /mpkg/kitematicapp.pkg && \
|
||||
mkdir ./rootfs && \
|
||||
cd ./rootfs && \
|
||||
7z x /kitematic.zip && \
|
||||
rm -rf ./__MACOSX && \
|
||||
ls -al . && \
|
||||
find . | cpio -o --format odc | gzip -c > ../Payload && \
|
||||
mkbom . ../Bom && \
|
||||
sed -i \
|
||||
-e "s/%KITEMATICAPP_NUMBER_OF_FILES%/`find . | wc -l`/g" \
|
||||
-e "s/%KITEMATICAPP_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \
|
||||
-e "s/%KITEMATICAPP_VERSION%/$KITEMATIC_VERSION/g" \
|
||||
../PackageInfo /mpkg/Distribution && \
|
||||
cd .. && \
|
||||
rm -rf ./rootfs
|
||||
|
||||
# dockermachine.pkg
|
||||
COPY osx/mpkg/dockermachine.pkg /mpkg/dockermachine.pkg
|
||||
RUN cd /mpkg/dockermachine.pkg && \
|
||||
mkdir rootfs && \
|
||||
cd rootfs && \
|
||||
mkdir -p usr/local/bin && \
|
||||
mv /docker-machine usr/local/bin/ && \
|
||||
ls -al /usr/local/bin/ && \
|
||||
find . | cpio -o --format odc | gzip -c > ../Payload && \
|
||||
mkbom . ../Bom && \
|
||||
sed -i \
|
||||
-e "s/%DOCKERMACHINE_NUMBER_OF_FILES%/`find . | wc -l`/g" \
|
||||
-e "s/%DOCKERMACHINE_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \
|
||||
-e "s/%DOCKERMACHINE_VERSION%/$DOCKER_MACHINE_VERSION/g" \
|
||||
../PackageInfo /mpkg/Distribution && \
|
||||
cd .. && \
|
||||
rm -rf ./rootfs
|
||||
|
||||
# dockercompose.pkg
|
||||
COPY osx/mpkg/dockercompose.pkg /mpkg/dockercompose.pkg
|
||||
RUN cd /mpkg/dockercompose.pkg && \
|
||||
mkdir rootfs && \
|
||||
cd rootfs && \
|
||||
mkdir -p usr/local/bin && \
|
||||
mv /docker-compose usr/local/bin/ && \
|
||||
ls -al /usr/local/bin/ && \
|
||||
find . | cpio -o --format odc | gzip -c > ../Payload && \
|
||||
mkbom . ../Bom && \
|
||||
sed -i \
|
||||
-e "s/%DOCKERCOMPOSE_NUMBER_OF_FILES%/`find . | wc -l`/g" \
|
||||
-e "s/%DOCKERCOMPOSE_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \
|
||||
-e "s/%DOCKERCOMPOSE_VERSION%/$DOCKER_COMPOSE_VERSION/g" \
|
||||
../PackageInfo /mpkg/Distribution && \
|
||||
cd .. && \
|
||||
rm -rf ./rootfs
|
||||
|
||||
# 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 && \
|
||||
mkdir ./rootfs && \
|
||||
cd ./rootfs && \
|
||||
cp /boot2docker.iso . && \
|
||||
find . | cpio -o --format odc | gzip -c > ../Payload && \
|
||||
mkbom . ../Bom && \
|
||||
sed -i \
|
||||
-e "s/%BOOT2DOCKER_ISO_NUMBER_OF_FILES%/`find . | wc -l`/g" \
|
||||
-e "s/%BOOT2DOCKER_ISO_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \
|
||||
-e "s/%BOOT2DOCKER_ISO_VERSION%/$BOOT2DOCKER_ISO_VERSION/g" \
|
||||
../PackageInfo /mpkg/Distribution && \
|
||||
cd .. && \
|
||||
rm -rf ./rootfs
|
||||
|
||||
# dockerquickstartterminalapp.pkg
|
||||
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 && \
|
||||
mv /mpkg/quickstart.app ./Docker\ Quickstart\ Terminal.app && \
|
||||
find . | cpio -o --format odc | gzip -c > ../Payload && \
|
||||
mkbom . ../Bom && \
|
||||
sed -i \
|
||||
-e "s/%DOCKERQUICKSTARTTERMINALAPP_NUMBER_OF_FILES%/`find . | wc -l`/g" \
|
||||
-e "s/%DOCKERQUICKSTARTTERMINALAPP_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \
|
||||
-e "s/%DOCKERQUICKSTARTTERMINALAPP_VERSION%/$INSTALLER_VERSION/g" \
|
||||
../PackageInfo /mpkg/Distribution && \
|
||||
cd .. && \
|
||||
rm -rf ./rootfs
|
||||
|
||||
COPY osx/mpkg/Resources /mpkg/Resources
|
||||
COPY osx/mpkg/Plugins /mpkg/Plugins
|
||||
|
||||
RUN sed -i \
|
||||
-e "s/%MIXPANEL_TOKEN%/$MIXPANEL_TOKEN/g" \
|
||||
-e "s/%INSTALLER_VERSION%/$INSTALLER_VERSION/g" \
|
||||
mpkg/Plugins/*.bundle/Contents/Info.plist
|
||||
RUN sed -i \
|
||||
-e "s/%INSTALLER_VERSION%/$INSTALLER_VERSION/g" \
|
||||
mpkg/Plugins/*.bundle/Contents/Resources/*.html
|
||||
RUN sed -i \
|
||||
-e "s/%INSTALLER_VERSION%/$INSTALLER_VERSION/g" \
|
||||
mpkg/Resources/en.lproj/welcome.rtfd/TXT.rtf
|
||||
RUN sed -i \
|
||||
-e "s/%VBOX_VERSION%/$VBOX_VERSION/g" \
|
||||
/mpkg/Distribution && \
|
||||
sed -i \
|
||||
-e "s/%VBOX_VERSION%/$VBOX_VERSION/g" \
|
||||
-e "s/%DOCKER_VERSION%/$DOCKER_VERSION/g" \
|
||||
-e "s/%DOCKERMACHINE_VERSION%/$DOCKER_MACHINE_VERSION/g" \
|
||||
-e "s/%DOCKERCOMPOSE_VERSION%/$DOCKER_COMPOSE_VERSION/g" \
|
||||
-e "s/%BOOT2DOCKER_ISO_VERSION%/$BOOT2DOCKER_ISO_VERSION/g" \
|
||||
-e "s/%DOCKERQUICKSTARTTERMINALAPP_VERSION%/$INSTALLER_VERSION/g" \
|
||||
-e "s/%KITEMATICAPP_VERSION%/$KITEMATIC_VERSION/g" \
|
||||
mpkg/Resources/en.lproj/Localizable.strings
|
||||
|
||||
# Repackage back. Yes, --compression=none is mandatory.
|
||||
# or this won't install in OSX.
|
||||
RUN cd /mpkg && \
|
||||
xar -c --compression=none -f /DockerToolbox.pkg .
|
|
@ -1,63 +0,0 @@
|
|||
FROM debian:jessie
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
RUN sed -i "s/main/main contrib non-free/" etc/apt/sources.list
|
||||
RUN apt-get update && apt-get install -yq wine curl unrar unzip
|
||||
|
||||
# innosetup
|
||||
RUN mkdir innosetup && \
|
||||
cd innosetup && \
|
||||
curl -fsSL -o innounp045.rar "https://downloads.sourceforge.net/project/innounp/innounp/innounp%200.45/innounp045.rar?r=&ts=1439566551&use_mirror=skylineservers" && \
|
||||
unrar e innounp045.rar
|
||||
|
||||
RUN cd innosetup && \
|
||||
curl -fsSL -o is-unicode.exe http://files.jrsoftware.org/is/5/isetup-5.5.8-unicode.exe && \
|
||||
wine "./innounp.exe" -e "is-unicode.exe"
|
||||
|
||||
# installer components
|
||||
ENV INSTALLER_VERSION 1.12.1
|
||||
ENV DOCKER_VERSION 1.12.1
|
||||
ENV DOCKER_MACHINE_VERSION 0.8.1
|
||||
ENV DOCKER_COMPOSE_VERSION 1.8.0
|
||||
ENV BOOT2DOCKER_ISO_VERSION $DOCKER_VERSION
|
||||
ENV KITEMATIC_VERSION 0.12.0
|
||||
ENV VIRTUALBOX_VERSION 5.1.4
|
||||
ENV VIRTUALBOX_REVISION 110228
|
||||
ENV GIT_VERSION 2.9.0
|
||||
ENV MIXPANEL_TOKEN c306ae65c33d7d09fe3e546f36493a6e
|
||||
|
||||
RUN mkdir /bundle
|
||||
|
||||
WORKDIR /bundle
|
||||
|
||||
RUN curl -fsSL -o dockerbins.zip "https://get.docker.com/builds/Windows/x86_64/docker-${DOCKER_VERSION}.zip" && \
|
||||
unzip dockerbins.zip && \
|
||||
mv docker/docker.exe . && \
|
||||
rm -r docker/ dockerbins.zip
|
||||
|
||||
RUN curl -fsSL -o docker-machine.exe "https://github.com/docker/machine/releases/download/v$DOCKER_MACHINE_VERSION/docker-machine-Windows-x86_64.exe"
|
||||
|
||||
RUN curl -fsSL -o docker-compose.exe "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-Windows-x86_64.exe"
|
||||
|
||||
RUN curl -fsSL -o boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v$BOOT2DOCKER_ISO_VERSION/boot2docker.iso
|
||||
|
||||
RUN curl -fsSL -o kitematic.zip "https://github.com/kitematic/kitematic/releases/download/v$KITEMATIC_VERSION/Kitematic-$KITEMATIC_VERSION-Windows.zip" && \
|
||||
mkdir kitematic && \
|
||||
cd kitematic && \
|
||||
unzip ../kitematic.zip && \
|
||||
rm ../kitematic.zip
|
||||
RUN curl -fsSL -o Git.exe "https://github.com/git-for-windows/git/releases/download/v$GIT_VERSION.windows.1/Git-$GIT_VERSION-64-bit.exe"
|
||||
RUN curl -fsSL -o virtualbox.exe "http://download.virtualbox.org/virtualbox/$VIRTUALBOX_VERSION/VirtualBox-$VIRTUALBOX_VERSION-$VIRTUALBOX_REVISION-Win.exe"
|
||||
RUN wine virtualbox.exe -extract -silent -path . && \
|
||||
rm virtualbox.exe && \
|
||||
rm *x86.msi && \
|
||||
mv *_amd64.msi VirtualBox_amd64.msi
|
||||
|
||||
# Add installer resources
|
||||
COPY windows /installer
|
||||
|
||||
WORKDIR /installer
|
||||
RUN rm -rf /tmp/.wine-0/
|
||||
RUN wine ../innosetup/ISCC.exe Toolbox.iss /DMyAppVersion=$INSTALLER_VERSION /DMixpanelToken=$MIXPANEL_TOKEN
|
|
@ -1,8 +0,0 @@
|
|||
// Only run on Linux atm
|
||||
wrappedNode(label: 'docker') {
|
||||
deleteDir()
|
||||
stage "checkout"
|
||||
checkout scm
|
||||
|
||||
documentationChecker("docs")
|
||||
}
|
191
LICENSE/LICENSE
|
@ -1,191 +0,0 @@
|
|||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
https://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Copyright 2013-2015 Docker, Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
|
@ -1,339 +0,0 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
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, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
|
@ -1,9 +0,0 @@
|
|||
## License
|
||||
|
||||
Docker Toolbox code is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/docker/toolbox/blob/master/LICENSE/LICENSE) for the full license text.
|
||||
|
||||
Docker Toolbox Logo and all other related Docker artwork © Docker, Inc. 2015. All rights reserved; not licensed for third party use.
|
||||
|
||||
Oracle VirtualBox – A powerful virtualization product for enterprise as well as home use. Copyright (C) 2004-2015 Oracle Corporation. 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; either version 2 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
Oracle VirtualBox is licensed under GPL 2.0 license. See [ORACLE VIRTUALBOX LICENSE](https://github.com/docker/toolbox/blob/master/LICENSE/ORACLE_VIRTUALBOX_LICENSE) for the full license text.
|
40
MAINTAINERS
|
@ -1,40 +0,0 @@
|
|||
# Toolbox maintainers file
|
||||
#
|
||||
# This file describes who runs the docker/toolbox project and how.
|
||||
# This is a living document - if you see something out of date or missing, speak up!
|
||||
#
|
||||
# It is structured to be consumable by both humans and programs.
|
||||
# To extract its contents programmatically, use any TOML-compliant parser.
|
||||
#
|
||||
# This file is compiled into the MAINTAINERS file in docker/opensource.
|
||||
#
|
||||
[Org]
|
||||
[Org."Core maintainers"]
|
||||
people = [
|
||||
"jeffdm",
|
||||
"lisean106",
|
||||
"mchiang0610",
|
||||
]
|
||||
|
||||
[people]
|
||||
|
||||
# A reference list of all people associated with the project.
|
||||
# All other sections should refer to people by their canonical key
|
||||
# in the people section.
|
||||
|
||||
# ADD YOURSELF HERE IN ALPHABETICAL ORDER
|
||||
|
||||
[people.jeffdm]
|
||||
Name = "Jeff Morgan"
|
||||
Email = "jmorgan@docker.com"
|
||||
GitHub = "jeffdm"
|
||||
|
||||
[people.lisean106]
|
||||
Name = "Sean Li"
|
||||
Email = "sean@docker.com"
|
||||
GitHub = "lisean106"
|
||||
|
||||
[people.mchiang0610]
|
||||
Name = "Michael Chiang"
|
||||
Email = "mchiang@docker.com"
|
||||
GitHub = "mchiang0610"
|
22
Makefile
|
@ -1,22 +0,0 @@
|
|||
.PHONY: docs osx windows
|
||||
|
||||
default: osx windows
|
||||
@true
|
||||
|
||||
clean: clean-osx clean-windows
|
||||
@true
|
||||
|
||||
osx: clean-osx
|
||||
./script/build-osx
|
||||
|
||||
windows: clean-windows
|
||||
./script/build-windows
|
||||
|
||||
clean-osx:
|
||||
rm -f dist/DockerToolbox-*.pkg
|
||||
|
||||
clean-windows:
|
||||
rm -f dist/DockerToolbox-*.exe
|
||||
|
||||
docs:
|
||||
$(MAKE) -C docs docs
|
54
README.md
|
@ -1,54 +0,0 @@
|
|||
Docker Toolbox
|
||||
==================================
|
||||
|
||||
[](https://www.docker.com/toolbox)
|
||||
|
||||
The Docker Toolbox installs everything you need to get started with
|
||||
Docker on Mac OS X and Windows. It includes the Docker client, Compose,
|
||||
Machine, Kitematic, and VirtualBox.
|
||||
|
||||
## Installation and documentation
|
||||
|
||||
Documentation for Mac [is available here](https://docs.docker.com/mac/started/).
|
||||
|
||||
Documentation for Windows [is available here](https://docs.docker.com/windows/started/).
|
||||
|
||||
*Note:* Some Windows and Mac computers may not have VT-X enabled by default. It is required for VirtualBox. To check if VT-X is enabled on Windows follow this guide [here](http://amiduos.com/support/knowledge-base/article/how-can-i-get-to-know-my-processor-supports-virtualization-technology). To enable VT-X on Windows, please see the guide [here](http://www.howtogeek.com/213795/how-to-enable-intel-vt-x-in-your-computers-bios-or-uefi-firmware). To enable VT-X on Intel-based Macs, refer to this Apple guide [here](https://support.apple.com/en-us/HT203296).
|
||||
Also note that if the Virtual Machine was created before enabling VT-X it can be necessary to remove and reinstall the VM for Docker Toolbox to work.
|
||||
|
||||
Toolbox is currently unavailable for Linux; To get started with Docker on Linux, please follow the Linux [Getting Started Guide](https://docs.docker.com/linux/started/).
|
||||
|
||||
## Building the Docker Toolbox
|
||||
|
||||
Toolbox installers are built using Docker, so you'll need a Docker host set up. For example, using [Docker Machine](https://github.com/docker/machine):
|
||||
|
||||
```
|
||||
$ docker-machine create -d virtualbox toolbox
|
||||
$ eval "$(docker-machine env toolbox)"
|
||||
```
|
||||
|
||||
Then, to build the Toolbox for both platforms:
|
||||
|
||||
```
|
||||
make
|
||||
```
|
||||
|
||||
Build for a specific platform:
|
||||
|
||||
```
|
||||
make osx
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```
|
||||
make windows
|
||||
```
|
||||
|
||||
The resulting installers will be in the `dist` directory.
|
||||
|
||||
## Frequently Asked Questions
|
||||
|
||||
**Do I have to install VirtualBox?**
|
||||
|
||||
No, you can deselect VirtualBox during installation. It is bundled in case you want to have a working environment for free.
|
|
@ -1,5 +0,0 @@
|
|||
# Docker Toolbox Roadmap
|
||||
|
||||
## Features
|
||||
|
||||
* Linux support (help wanted)
|
18
circle.yml
|
@ -1,18 +0,0 @@
|
|||
machine:
|
||||
pre:
|
||||
- echo 'DOCKER_OPTS="-s btrfs -e lxc -D --userland-proxy=false"' | sudo tee -a /etc/default/docker
|
||||
- sudo curl -L -o /usr/bin/docker 'https://s3-external-1.amazonaws.com/circle-downloads/docker-1.9.1-circleci-cp-workaround'
|
||||
- sudo chmod 0755 /usr/bin/docker
|
||||
services:
|
||||
- docker
|
||||
|
||||
test:
|
||||
override:
|
||||
- exit 0
|
||||
|
||||
deployment:
|
||||
release:
|
||||
tag: /v.*/
|
||||
owner: docker
|
||||
commands:
|
||||
- ./script/deploy.sh
|
|
@ -1,78 +0,0 @@
|
|||
//
|
||||
// mixpanel.h
|
||||
// installerplugins
|
||||
//
|
||||
// Created by Jeffrey Dean Morgan on 8/19/15.
|
||||
// Copyright (c) 2015 Docker Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef installerplugins_mixpanel_h
|
||||
#define installerplugins_mixpanel_h
|
||||
|
||||
#import <InstallerPlugins/InstallerPlugins.h>
|
||||
|
||||
@interface Mixpanel : NSObject
|
||||
|
||||
+ (void) trackEvent:(NSString *)name forPane:(InstallerPane*)pane;
|
||||
|
||||
@end
|
||||
|
||||
@implementation Mixpanel
|
||||
|
||||
+ (NSString *) uuid {
|
||||
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: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];
|
||||
}
|
||||
|
||||
return uuid;
|
||||
}
|
||||
|
||||
+ (void) trackEvent:(NSString *)name forPane:(InstallerPane*)pane withProperties:(NSDictionary *)properties {
|
||||
BOOL trackingDisabled = [[[[pane section] sharedDictionary] objectForKey:@"disableTracking"] boolValue];
|
||||
if (trackingDisabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
NSString *uuid = [self uuid];
|
||||
if (!uuid) {
|
||||
return;
|
||||
}
|
||||
|
||||
NSString *props = @"";
|
||||
for (NSString *key in properties) {
|
||||
props = [props stringByAppendingFormat:@",\"%@\": \"%@\"", key, [properties objectForKey:key]];
|
||||
}
|
||||
|
||||
NSString *osVersion = [@"Mac OS X " stringByAppendingString:[[[[NSProcessInfo processInfo] operatingSystemVersionString] componentsSeparatedByString:@" "] objectAtIndex:1]];
|
||||
|
||||
NSBundle* bundle = [[pane section] bundle];
|
||||
NSString* token = [bundle objectForInfoDictionaryKey:@"Mixpanel Token"];
|
||||
NSString* installerVersion = [bundle objectForInfoDictionaryKey:@"Installer Version"];
|
||||
NSString* payload = [NSString stringWithFormat:@"{\"event\": \"%@\", \"properties\": {\"token\": \"%@\", \"distinct_id\": \"%@\", \"os\": \"darwin\", \"os version\":\"%@\", \"version\": \"%@\" %@}}", name, token, uuid, osVersion, installerVersion, props];
|
||||
|
||||
@try {
|
||||
NSData * data = [payload dataUsingEncoding:NSUTF8StringEncoding];
|
||||
NSString* base64Encoded = [data base64EncodedStringWithOptions:0];
|
||||
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString: [NSString stringWithFormat:@"https://api.mixpanel.com/track/?data=%@", base64Encoded]]];
|
||||
|
||||
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {}];
|
||||
}
|
||||
@catch (NSException *exception) {
|
||||
NSLog(@"%@", @"Failed to send data.");
|
||||
}
|
||||
}
|
||||
|
||||
+ (void) trackEvent:(NSString *)name forPane:(InstallerPane*)pane {
|
||||
[self trackEvent:name forPane:pane withProperties:nil];
|
||||
}
|
||||
|
||||
@end
|
||||
#endif
|
|
@ -1,479 +0,0 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1B4C91B91B85198100A06068 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1B4C91B71B85198100A06068 /* InfoPlist.strings */; };
|
||||
1B4C91BC1B85198100A06068 /* quickstartpluginPane.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B4C91BB1B85198100A06068 /* quickstartpluginPane.m */; };
|
||||
1B4C91BF1B85198100A06068 /* quickstartplugin.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1B4C91BD1B85198100A06068 /* quickstartplugin.xib */; };
|
||||
1B4C91C21B85198100A06068 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1B4C91C01B85198100A06068 /* Localizable.strings */; };
|
||||
1B4C91C41B85198100A06068 /* InstallerSections.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1B4C91C31B85198100A06068 /* InstallerSections.plist */; };
|
||||
1B8417E91B85261F00B1FA4D /* kitematic.png in Resources */ = {isa = PBXBuildFile; fileRef = 1B8417E71B85261F00B1FA4D /* kitematic.png */; };
|
||||
1B8417EA1B85261F00B1FA4D /* quickstart.png in Resources */ = {isa = PBXBuildFile; fileRef = 1B8417E81B85261F00B1FA4D /* quickstart.png */; };
|
||||
1BF102C11B8BDEDA00FCB650 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1BF102BF1B8BDEDA00FCB650 /* InfoPlist.strings */; };
|
||||
1BF102C41B8BDEDA00FCB650 /* overviewpluginPane.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BF102C31B8BDEDA00FCB650 /* overviewpluginPane.m */; };
|
||||
1BF102C71B8BDEDA00FCB650 /* overviewplugin.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1BF102C51B8BDEDA00FCB650 /* overviewplugin.xib */; };
|
||||
1BF102CA1B8BDEDA00FCB650 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1BF102C81B8BDEDA00FCB650 /* Localizable.strings */; };
|
||||
1BF102CC1B8BDEDA00FCB650 /* InstallerSections.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1BF102CB1B8BDEDA00FCB650 /* InstallerSections.plist */; };
|
||||
1BF102D11B8BDF4D00FCB650 /* overview.html in Resources */ = {isa = PBXBuildFile; fileRef = 1BF102D01B8BDF4D00FCB650 /* overview.html */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1B4C915E1B85023200A06068 /* mixpanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mixpanel.h; path = common/mixpanel.h; sourceTree = "<group>"; };
|
||||
1B4C91B31B85198100A06068 /* quickstartplugin.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = quickstartplugin.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1B4C91B61B85198100A06068 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
1B4C91B81B85198100A06068 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
1B4C91BA1B85198100A06068 /* quickstartpluginPane.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = quickstartpluginPane.h; sourceTree = "<group>"; };
|
||||
1B4C91BB1B85198100A06068 /* quickstartpluginPane.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = quickstartpluginPane.m; sourceTree = "<group>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
1BF102C21B8BDEDA00FCB650 /* overviewpluginPane.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = overviewpluginPane.h; sourceTree = "<group>"; };
|
||||
1BF102C31B8BDEDA00FCB650 /* overviewpluginPane.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = overviewpluginPane.m; sourceTree = "<group>"; };
|
||||
1BF102C61B8BDEDA00FCB650 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/overviewplugin.xib; sourceTree = "<group>"; };
|
||||
1BF102C91B8BDEDA00FCB650 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
1BF102CB1B8BDEDA00FCB650 /* InstallerSections.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = InstallerSections.plist; sourceTree = "<group>"; };
|
||||
1BF102D01B8BDF4D00FCB650 /* overview.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = overview.html; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
1B4C91B01B85198100A06068 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1BF102B81B8BDEDA00FCB650 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1B4C90691B84FDEB00A06068 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1BF102BB1B8BDEDA00FCB650 /* overviewplugin.bundle */,
|
||||
1B4C91B31B85198100A06068 /* quickstartplugin.bundle */,
|
||||
1BF102BC1B8BDEDA00FCB650 /* overviewplugin */,
|
||||
1B4C91B41B85198100A06068 /* quickstartplugin */,
|
||||
1B4C915D1B85021200A06068 /* common */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1B4C915D1B85021200A06068 /* common */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1B4C915E1B85023200A06068 /* mixpanel.h */,
|
||||
);
|
||||
name = common;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1B4C91B41B85198100A06068 /* quickstartplugin */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1B8417E71B85261F00B1FA4D /* kitematic.png */,
|
||||
1B8417E81B85261F00B1FA4D /* quickstart.png */,
|
||||
1B4C91BA1B85198100A06068 /* quickstartpluginPane.h */,
|
||||
1B4C91BB1B85198100A06068 /* quickstartpluginPane.m */,
|
||||
1B4C91BD1B85198100A06068 /* quickstartplugin.xib */,
|
||||
1B4C91C01B85198100A06068 /* Localizable.strings */,
|
||||
1B4C91C31B85198100A06068 /* InstallerSections.plist */,
|
||||
1B4C91B51B85198100A06068 /* Supporting Files */,
|
||||
);
|
||||
path = quickstartplugin;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1B4C91B51B85198100A06068 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1B4C91B61B85198100A06068 /* Info.plist */,
|
||||
1B4C91B71B85198100A06068 /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1BF102BC1B8BDEDA00FCB650 /* overviewplugin */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1BF102C21B8BDEDA00FCB650 /* overviewpluginPane.h */,
|
||||
1BF102C31B8BDEDA00FCB650 /* overviewpluginPane.m */,
|
||||
1BF102C51B8BDEDA00FCB650 /* overviewplugin.xib */,
|
||||
1BF102C81B8BDEDA00FCB650 /* Localizable.strings */,
|
||||
1BF102CB1B8BDEDA00FCB650 /* InstallerSections.plist */,
|
||||
1BF102D01B8BDF4D00FCB650 /* overview.html */,
|
||||
1BF102BD1B8BDEDA00FCB650 /* Supporting Files */,
|
||||
);
|
||||
path = overviewplugin;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1BF102BD1B8BDEDA00FCB650 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1BF102BE1B8BDEDA00FCB650 /* Info.plist */,
|
||||
1BF102BF1B8BDEDA00FCB650 /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1B4C91B21B85198100A06068 /* quickstartplugin */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1B4C91C51B85198100A06068 /* Build configuration list for PBXNativeTarget "quickstartplugin" */;
|
||||
buildPhases = (
|
||||
1B4C91AF1B85198100A06068 /* Sources */,
|
||||
1B4C91B01B85198100A06068 /* Frameworks */,
|
||||
1B4C91B11B85198100A06068 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = quickstartplugin;
|
||||
productName = quickstartplugin;
|
||||
productReference = 1B4C91B31B85198100A06068 /* quickstartplugin.bundle */;
|
||||
productType = "com.apple.product-type.bundle";
|
||||
};
|
||||
1BF102BA1B8BDEDA00FCB650 /* overviewplugin */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1BF102CD1B8BDEDA00FCB650 /* Build configuration list for PBXNativeTarget "overviewplugin" */;
|
||||
buildPhases = (
|
||||
1BF102B71B8BDEDA00FCB650 /* Sources */,
|
||||
1BF102B81B8BDEDA00FCB650 /* Frameworks */,
|
||||
1BF102B91B8BDEDA00FCB650 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = overviewplugin;
|
||||
productName = overviewplugin;
|
||||
productReference = 1BF102BB1B8BDEDA00FCB650 /* overviewplugin.bundle */;
|
||||
productType = "com.apple.product-type.bundle";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
1B4C906A1B84FDEB00A06068 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0700;
|
||||
ORGANIZATIONNAME = "Docker Inc";
|
||||
TargetAttributes = {
|
||||
1B4C91B21B85198100A06068 = {
|
||||
CreatedOnToolsVersion = 6.4;
|
||||
};
|
||||
1BF102BA1B8BDEDA00FCB650 = {
|
||||
CreatedOnToolsVersion = 6.4;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 1B4C906D1B84FDEB00A06068 /* Build configuration list for PBXProject "installerplugins" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 1B4C90691B84FDEB00A06068;
|
||||
productRefGroup = 1B4C90691B84FDEB00A06068;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1B4C91B21B85198100A06068 /* quickstartplugin */,
|
||||
1BF102BA1B8BDEDA00FCB650 /* overviewplugin */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
1B4C91B11B85198100A06068 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1B4C91B91B85198100A06068 /* InfoPlist.strings in Resources */,
|
||||
1B4C91C21B85198100A06068 /* Localizable.strings in Resources */,
|
||||
1B8417EA1B85261F00B1FA4D /* quickstart.png in Resources */,
|
||||
1B4C91BF1B85198100A06068 /* quickstartplugin.xib in Resources */,
|
||||
1B4C91C41B85198100A06068 /* InstallerSections.plist in Resources */,
|
||||
1B8417E91B85261F00B1FA4D /* kitematic.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1BF102B91B8BDEDA00FCB650 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1BF102C11B8BDEDA00FCB650 /* InfoPlist.strings in Resources */,
|
||||
1BF102CA1B8BDEDA00FCB650 /* Localizable.strings in Resources */,
|
||||
1BF102C71B8BDEDA00FCB650 /* overviewplugin.xib in Resources */,
|
||||
1BF102CC1B8BDEDA00FCB650 /* InstallerSections.plist in Resources */,
|
||||
1BF102D11B8BDF4D00FCB650 /* overview.html in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1B4C91AF1B85198100A06068 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1B4C91BC1B85198100A06068 /* quickstartpluginPane.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1BF102B71B8BDEDA00FCB650 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1BF102C41B8BDEDA00FCB650 /* overviewpluginPane.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
1B4C91B71B85198100A06068 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1B4C91B81B85198100A06068 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1B4C91BD1B85198100A06068 /* quickstartplugin.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1B4C91BE1B85198100A06068 /* Base */,
|
||||
);
|
||||
name = quickstartplugin.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1B4C91C01B85198100A06068 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1B4C91C11B85198100A06068 /* en */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1BF102BF1B8BDEDA00FCB650 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1BF102C01B8BDEDA00FCB650 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1BF102C51B8BDEDA00FCB650 /* overviewplugin.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1BF102C61B8BDEDA00FCB650 /* Base */,
|
||||
);
|
||||
name = overviewplugin.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1BF102C81B8BDEDA00FCB650 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1BF102C91B8BDEDA00FCB650 /* en */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1B4C90851B84FDEB00A06068 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../mpkg/Plugins";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1B4C90861B84FDEB00A06068 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/../mpkg/Plugins";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1B4C91C61B85198100A06068 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = quickstartplugin/Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.docker.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = bundle;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1B4C91C71B85198100A06068 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
INFOPLIST_FILE = quickstartplugin/Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.docker.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = bundle;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1BF102CE1B8BDEDA00FCB650 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = overviewplugin/Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.docker.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = bundle;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1BF102CF1B8BDEDA00FCB650 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
INFOPLIST_FILE = overviewplugin/Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.docker.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = bundle;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1B4C906D1B84FDEB00A06068 /* Build configuration list for PBXProject "installerplugins" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1B4C90851B84FDEB00A06068 /* Debug */,
|
||||
1B4C90861B84FDEB00A06068 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1B4C91C51B85198100A06068 /* Build configuration list for PBXNativeTarget "quickstartplugin" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1B4C91C61B85198100A06068 /* Debug */,
|
||||
1B4C91C71B85198100A06068 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1BF102CD1B8BDEDA00FCB650 /* Build configuration list for PBXNativeTarget "overviewplugin" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1BF102CE1B8BDEDA00FCB650 /* Debug */,
|
||||
1BF102CF1B8BDEDA00FCB650 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 1B4C906A1B84FDEB00A06068 /* Project object */;
|
||||
}
|
|
@ -1,83 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9059" systemVersion="15C27e" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9059"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="InstallerSection">
|
||||
<connections>
|
||||
<outlet property="firstPane" destination="Qsn-FY-4qK" id="Dhh-1H-QYh"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customObject id="Qsn-FY-4qK" customClass="overviewpluginPane">
|
||||
<connections>
|
||||
<outlet property="checkbox" destination="h63-BP-4UP" id="dIg-uZ-alC"/>
|
||||
<outlet property="contentView" destination="ARu-Mh-kSq" id="Nfm-iO-8J6"/>
|
||||
<outlet property="parentSection" destination="-2" id="FB7-UV-e8k"/>
|
||||
<outlet property="textView" destination="cgA-DY-Gw8" id="PcP-qR-mIl"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customView id="ARu-Mh-kSq" userLabel="View">
|
||||
<rect key="frame" x="0.0" y="0.0" width="418" height="330"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="h63-BP-4UP">
|
||||
<rect key="frame" x="18" y="118" width="407" height="24"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Help Docker improve Toolbox." 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>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Xi8-N0-Reb">
|
||||
<rect key="frame" x="18" y="46" width="382" height="68"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="N5z-io-cf5">
|
||||
<font key="font" metaFont="system"/>
|
||||
<string key="title">This collects anonymous data to help us detect installation problems and improve the overall experience. We only use it to aggregate statistics and will never share it with third parties.</string>
|
||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<scrollView fixedFrame="YES" borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="0.0" verticalPageScroll="0.0" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="e5n-p7-Zro">
|
||||
<rect key="frame" x="14" y="149" width="390" height="170"/>
|
||||
<clipView key="contentView" ambiguous="YES" id="GuL-k4-Axf">
|
||||
<rect key="frame" x="0.0" y="0.0" width="390" height="170"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textView horizontalCompressionResistancePriority="250" ambiguous="YES" 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="390" height="207"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<animations/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<size key="minSize" width="390" height="170"/>
|
||||
<size key="maxSize" width="463" height="207"/>
|
||||
<color key="insertionPointColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<size key="minSize" width="390" height="170"/>
|
||||
<size key="maxSize" width="463" height="207"/>
|
||||
</textView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</clipView>
|
||||
<animations/>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="ALY-zL-Sg8">
|
||||
<rect key="frame" x="-100" y="-100" width="87" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" 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>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<point key="canvasLocation" x="737" y="529"/>
|
||||
</customView>
|
||||
</objects>
|
||||
</document>
|
|
@ -1,36 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>Installer Version</key>
|
||||
<string>%INSTALLER_VERSION%</string>
|
||||
<key>InstallerSectionTitle</key>
|
||||
<string>Overview</string>
|
||||
<key>Mixpanel Token</key>
|
||||
<string>%MIXPANEL_TOKEN%</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2015 Docker Inc. All rights reserved.</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>overviewplugin</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>InstallerSection</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,16 +0,0 @@
|
|||
<?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>SectionOrder</key>
|
||||
<array>
|
||||
<string>Introduction</string>
|
||||
<string>ReadMe</string>
|
||||
<string>License</string>
|
||||
<string>overviewplugin.bundle</string>
|
||||
<string>Target</string>
|
||||
<string>PackageSelection</string>
|
||||
<string>Install</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,2 +0,0 @@
|
|||
InstallerSectionTitle = "Overview";
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
/* Localized versions of Info.plist keys */
|
||||
|
||||
"PaneTitle" = "Overview";
|
|
@ -1,23 +0,0 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
<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>
|
||||
<ul>
|
||||
<li>Docker Client <code>docker</code> binary </li>
|
||||
<li>Docker Machine <code>docker-machine</code> binary </li>
|
||||
<li>Docker Compose <code>docker-compose</code> binary </li>
|
||||
<li>Kitematic - Desktop GUI for Docker </li>
|
||||
<li>Docker Quickstart Terminal app</li>
|
||||
</ul>
|
||||
<br/>
|
||||
<p>
|
||||
The binaries are installed in the <code>/usr/local/bin</code> directory.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
|
@ -1,14 +0,0 @@
|
|||
//
|
||||
// overviewpluginPane.h
|
||||
// overviewplugin
|
||||
//
|
||||
// Created by Jeffrey Dean Morgan on 8/24/15.
|
||||
// Copyright (c) 2015 Docker Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import <InstallerPlugins/InstallerPlugins.h>
|
||||
|
||||
@interface overviewpluginPane : InstallerPane
|
||||
@property (unsafe_unretained) IBOutlet NSTextView *textView;
|
||||
@property (weak) IBOutlet NSButton *checkbox;
|
||||
@end
|
|
@ -1,60 +0,0 @@
|
|||
//
|
||||
// overviewpluginPane.m
|
||||
// overviewplugin
|
||||
//
|
||||
// Created by Jeffrey Dean Morgan on 8/24/15.
|
||||
// Copyright (c) 2015 Docker Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import "overviewpluginPane.h"
|
||||
#import "mixpanel.h"
|
||||
|
||||
@interface overviewpluginPane()
|
||||
@property BOOL firstTime;
|
||||
@end
|
||||
|
||||
@implementation overviewpluginPane
|
||||
|
||||
- (id) init {
|
||||
self.firstTime = YES;
|
||||
self = [super init];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (NSString *)title {
|
||||
return [[NSBundle bundleForClass:[self class]] localizedStringForKey:@"PaneTitle" value:nil table:nil];
|
||||
}
|
||||
|
||||
- (void) willEnterPane:(InstallerSectionDirection)dir {
|
||||
NSURL *url = [[[self section] bundle] URLForResource:@"overview" withExtension:@"html"];
|
||||
NSMutableAttributedString *formattedHTML = [[NSMutableAttributedString alloc] initWithURL:url documentAttributes:nil];
|
||||
[formattedHTML addAttribute:NSFontAttributeName value:[NSFont systemFontOfSize:13.0f] range:NSMakeRange(0, formattedHTML.length)];
|
||||
|
||||
[[self.textView textStorage] setAttributedString:formattedHTML];
|
||||
if (self.firstTime) {
|
||||
[Mixpanel trackEvent:@"Installer Started" forPane:self];
|
||||
self.firstTime = NO;
|
||||
}
|
||||
}
|
||||
|
||||
- (void) willExitPane:(InstallerSectionDirection)dir {
|
||||
if (dir != InstallerDirectionForward) {
|
||||
return;
|
||||
}
|
||||
|
||||
BOOL enabled = self.checkbox.state == NSOnState;
|
||||
[Mixpanel trackEvent:@"Continued from Overview" forPane:self withProperties:[[NSDictionary alloc] initWithObjectsAndKeys:enabled ? @"Yes" : @"No", @"Tracking Enabled", nil]];
|
||||
NSError *error = nil;
|
||||
|
||||
if (!enabled) {
|
||||
[[[self section] sharedDictionary] setObject:[NSNumber numberWithBool:YES] forKey:@"disableTracking"];
|
||||
[[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/.docker/machine/no-error-report", NSHomeDirectory()] error:&error];
|
||||
} else {
|
||||
[[[self section] sharedDictionary] removeObjectForKey:@"disableTracking"];
|
||||
[[NSFileManager defaultManager] createDirectoryAtPath:[NSString stringWithFormat:@"%@/.docker/machine", NSHomeDirectory()] withIntermediateDirectories:YES attributes:nil error:&error];
|
||||
[[NSFileManager defaultManager] createFileAtPath:[NSString stringWithFormat:@"%@/.docker/machine/no-error-report", NSHomeDirectory()] contents:[@"" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,106 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="8191" systemVersion="15B17c" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="8191"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="InstallerSection">
|
||||
<connections>
|
||||
<outlet property="firstPane" destination="Qsn-FY-4qK" id="Dhh-1H-QYh"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customObject id="Qsn-FY-4qK" customClass="quickstartpluginPane">
|
||||
<connections>
|
||||
<outlet property="contentView" destination="TUK-W2-vig" id="gTd-A7-dof"/>
|
||||
<outlet property="kitematicImageView" destination="Ijs-dB-4JA" id="eiW-Jt-7S1"/>
|
||||
<outlet property="kitematicLabel" destination="jKy-qa-eNn" id="fVj-4X-4Zz"/>
|
||||
<outlet property="parentSection" destination="-2" id="FB7-UV-e8k"/>
|
||||
<outlet property="quickstartImageView" destination="DYu-eG-6Cr" id="tMT-t9-bZk"/>
|
||||
<outlet property="quickstartLabel" destination="O4m-wW-5Fw" id="w1x-eZ-U0H"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customView id="TUK-W2-vig" userLabel="View">
|
||||
<rect key="frame" x="0.0" y="0.0" width="418" height="330"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="r4S-fa-yRm">
|
||||
<rect key="frame" x="18" y="299" 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">
|
||||
<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="29" width="382" height="34"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="You can 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>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Ijs-dB-4JA">
|
||||
<rect key="frame" x="255" y="157" width="104" height="104"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="NSInfo" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="N0R-Mh-4ck">
|
||||
<behavior key="behavior" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="kitematicClicked:" target="Qsn-FY-4qK" id="vFc-Zj-4fT"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="O4m-wW-5Fw">
|
||||
<rect key="frame" x="60" y="103" width="118" height="39"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" id="oVp-lY-Mah">
|
||||
<font key="font" metaFont="system"/>
|
||||
<string key="title">Docker Quickstart
|
||||
Terminal</string>
|
||||
<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="jKy-qa-eNn">
|
||||
<rect key="frame" x="254" y="125" width="107" height="17"/>
|
||||
<animations/>
|
||||
<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="BmR-gU-wJa">
|
||||
<rect key="frame" x="238" y="86" width="139" height="39"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Visual Management for Docker" id="38E-OE-8oK">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DYu-eG-6Cr">
|
||||
<rect key="frame" x="67" y="157" width="104" height="104"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="NSInfo" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="2CN-xC-hdg">
|
||||
<behavior key="behavior" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="quickstartTerminalClicked:" target="Qsn-FY-4qK" id="vg2-b6-hAy"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<point key="canvasLocation" x="350" y="522"/>
|
||||
</customView>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="NSInfo" width="32" height="32"/>
|
||||
</resources>
|
||||
</document>
|
|
@ -1,36 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>Installer Version</key>
|
||||
<string>%INSTALLER_VERSION%</string>
|
||||
<key>InstallerSectionTitle</key>
|
||||
<string>quickstartplugin</string>
|
||||
<key>Mixpanel Token</key>
|
||||
<string>%MIXPANEL_TOKEN%</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2015 Docker Inc. All rights reserved.</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>quickstartplugin</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>InstallerSection</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,16 +0,0 @@
|
|||
<?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>SectionOrder</key>
|
||||
<array>
|
||||
<string>Introduction</string>
|
||||
<string>ReadMe</string>
|
||||
<string>License</string>
|
||||
<string>quickstartplugin.bundle</string>
|
||||
<string>Target</string>
|
||||
<string>PackageSelection</string>
|
||||
<string>Install</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,2 +0,0 @@
|
|||
InstallerSectionTitle = "Quick Start";
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
/* Localized versions of Info.plist keys */
|
||||
|
||||
"PaneTitle" = "Quick Start";
|
Before Width: | Height: | Size: 973 KiB |
Before Width: | Height: | Size: 983 KiB |
|
@ -1,17 +0,0 @@
|
|||
//
|
||||
// quickstartpluginPane.h
|
||||
// quickstartplugin
|
||||
//
|
||||
// Created by Jeffrey Dean Morgan on 8/19/15.
|
||||
// Copyright (c) 2015 Docker Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import <InstallerPlugins/InstallerPlugins.h>
|
||||
|
||||
@interface quickstartpluginPane : InstallerPane
|
||||
@property (weak) IBOutlet NSButton *quickstartImageView;
|
||||
@property (weak) IBOutlet NSButton *kitematicImageView;
|
||||
@property (weak) IBOutlet NSTextField *quickstartLabel;
|
||||
@property (weak) IBOutlet NSTextField *kitematicLabel;
|
||||
|
||||
@end
|
|
@ -1,64 +0,0 @@
|
|||
//
|
||||
// quickstartpluginPane.m
|
||||
// quickstartplugin
|
||||
//
|
||||
// Created by Jeffrey Dean Morgan on 8/19/15.
|
||||
// Copyright (c) 2015 Docker Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import "quickstartpluginPane.h"
|
||||
#import "mixpanel.h"
|
||||
|
||||
@implementation quickstartpluginPane
|
||||
|
||||
- (NSString *)title {
|
||||
return [[NSBundle bundleForClass:[self class]] localizedStringForKey:@"PaneTitle" value:nil table:nil];
|
||||
}
|
||||
|
||||
- (void) didEnterPane:(InstallerSectionDirection)dir {
|
||||
self.previousEnabled = NO;
|
||||
[Mixpanel trackEvent:@"Installing Files Succeeded" forPane:self];
|
||||
}
|
||||
|
||||
- (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"];
|
||||
|
||||
self.kitematicImageView.image = [[NSImage alloc] initWithContentsOfFile:[[NSBundle bundleForClass:[self class]] pathForResource:@"kitematic" ofType:@"png"]];
|
||||
self.quickstartImageView.image = [[NSImage alloc] initWithContentsOfFile:[[NSBundle bundleForClass:[self class]] pathForResource:@"quickstart" ofType:@"png"]];
|
||||
|
||||
if (!kitematicInstalled) {
|
||||
self.kitematicImageView.enabled = NO;
|
||||
self.kitematicLabel.enabled = NO;
|
||||
}
|
||||
|
||||
if (!quickstartInstalled) {
|
||||
self.quickstartImageView.enabled = NO;
|
||||
self.quickstartLabel.enabled = NO;
|
||||
}
|
||||
|
||||
if (dir == InstallerDirectionForward && !kitematicInstalled && !quickstartInstalled) {
|
||||
[self gotoNextPane];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) willExitPane:(InstallerSectionDirection)dir {
|
||||
if (dir == InstallerDirectionForward) {
|
||||
[Mixpanel trackEvent:@"Installer Finished" forPane:self withProperties:[[NSDictionary alloc] initWithObjectsAndKeys:@"Continue Button", @"action", nil]];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)quickstartTerminalClicked:(id)sender {
|
||||
[Mixpanel trackEvent:@"Installer Finished" forPane:self withProperties:[[NSDictionary alloc] initWithObjectsAndKeys:@"Quickstart Terminal", @"action", nil]];
|
||||
NSTask *task = [[NSTask alloc] init];
|
||||
task.launchPath = @"/usr/bin/open";
|
||||
task.arguments = @[@"/Applications/Docker/Docker Quickstart Terminal.app"];
|
||||
[task launch];
|
||||
}
|
||||
|
||||
- (IBAction)kitematicClicked:(id)sender {
|
||||
[Mixpanel trackEvent:@"Installer Finished" forPane:self withProperties:[[NSDictionary alloc] initWithObjectsAndKeys:@"Kitematic", @"action", nil]];
|
||||
[[NSWorkspace sharedWorkspace] launchApplication:@"Kitematic (Beta)"];
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,161 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<installer-gui-script minSpecVersion="1">
|
||||
<title>docker_title</title>
|
||||
<options customize="allow" allow-external-scripts="yes" rootVolumeOnly="true" hostArchitectures="x86_64"/>
|
||||
<background file="toolbox.png" alignment="bottomleft" scaling="none"/>
|
||||
<welcome file="welcome.rtfd" mime-type="text/rtfd"/>
|
||||
<choices-outline>
|
||||
<line choice="choiceDockerCLI"/>
|
||||
<line choice="choiceDockerMachineCLI"/>
|
||||
<line choice="choiceDockerComposeCLI"/>
|
||||
<line choice="choiceDockerQuickstartTerminalAPP"/>
|
||||
<line choice="choiceKitematicAPP"/>
|
||||
<line choice="choiceVBox"/>
|
||||
<line choice="choiceBoot2DockerISO"/>
|
||||
</choices-outline>
|
||||
<choice id="choiceDockerCLI" title="choiceDockerCLI_title" description="choiceDockerCLI_msg" start_enabled="false" start_selected="true" start_visible="true">
|
||||
<pkg-ref id="io.docker.pkg.docker"/>
|
||||
</choice>
|
||||
<choice id="choiceDockerComposeCLI" title="choiceDockerComposeCLI_title" description="choiceDockerComposeCLI_msg" start_selected="true" start_enabled="true" start_visible="true">
|
||||
<pkg-ref id="io.docker.pkg.dockercompose"/>
|
||||
</choice>
|
||||
<choice id="choiceKitematicAPP" title="choiceKitematicAPP_title" description="choiceKitematicAPP_msg" start_selected="true" start_enabled="true" start_visible="true">
|
||||
<pkg-ref id="io.docker.pkg.kitematicapp"/>
|
||||
</choice>
|
||||
<pkg-ref id="io.docker.pkg.docker" auth="Root" version="%DOCKER_VERSION%" installKBytes="%DOCKER_INSTALL_KBYTES%">#docker.pkg</pkg-ref>
|
||||
<pkg-ref id="io.docker.pkg.docker">
|
||||
<bundle-version/>
|
||||
</pkg-ref>
|
||||
<pkg-ref id="io.docker.pkg.dockercompose" auth="Root" version="%DOCKERCOMPOSE_VERSION%" installKBytes="%DOCKERCOMPOSE_INSTALL_KBYTES%">#dockercompose.pkg</pkg-ref>
|
||||
<pkg-ref id="io.docker.pkg.dockercompose">
|
||||
<bundle-version/>
|
||||
</pkg-ref>
|
||||
<pkg-ref id="io.docker.pkg.kitematicapp" auth="Root" version="%KITEMATICAPP_VERSION%" installKBytes="%KITEMATICAPP_INSTALL_KBYTES%">#kitematicapp.pkg</pkg-ref>
|
||||
<pkg-ref id="io.docker.pkg.kitematicapp">
|
||||
<bundle-version/>
|
||||
</pkg-ref>
|
||||
<choice id="choiceVBox" title="choiceVBox_title" description="choiceVBox_msg" start_selected="vboxNeedsUpgrade()" start_enabled="vboxNeedsUpgrade()" start_visible="vboxNeedsUpgrade()">
|
||||
<pkg-ref id="org.virtualbox.pkg.vboxkexts" auth="Root" version="%VBOX_VERSION%" installKBytes="935">#VBoxKEXTs.pkg</pkg-ref>
|
||||
<pkg-ref id="org.virtualbox.pkg.virtualbox" auth="Root" version="%VBOX_VERSION%" installKBytes="247220">#VirtualBox.pkg</pkg-ref>
|
||||
<pkg-ref id="org.virtualbox.pkg.virtualboxcli" auth="Root" version="%VBOX_VERSION%" installKBytes="4">#VirtualBoxCLI.pkg</pkg-ref>
|
||||
</choice>
|
||||
<pkg-ref id="org.virtualbox.pkg.vboxkexts">
|
||||
<bundle-version>
|
||||
<bundle CFBundleShortVersionString="%VBOX_VERSION%" CFBundleVersion="%VBOX_VERSION%" id="org.virtualbox.kext.VBoxNetAdp" path="VBoxNetAdp.kext"/>
|
||||
<bundle CFBundleShortVersionString="%VBOX_VERSION%" CFBundleVersion="%VBOX_VERSION%" id="org.virtualbox.kext.VBoxDrv" path="VBoxDrv.kext"/>
|
||||
<bundle CFBundleShortVersionString="%VBOX_VERSION%" CFBundleVersion="%VBOX_VERSION%" id="org.virtualbox.kext.VBoxNetFlt" path="VBoxNetFlt.kext"/>
|
||||
<bundle CFBundleShortVersionString="%VBOX_VERSION%" CFBundleVersion="%VBOX_VERSION%" id="org.virtualbox.kext.VBoxUSB" path="VBoxUSB.kext"/>
|
||||
</bundle-version>
|
||||
</pkg-ref>
|
||||
<pkg-ref id="org.virtualbox.pkg.virtualbox">
|
||||
<bundle-version>
|
||||
<bundle CFBundleShortVersionString="%VBOX_VERSION%" CFBundleVersion="%VBOX_VERSION%" id="org.virtualbox.app.VirtualBox" path="VirtualBox.app"/>
|
||||
</bundle-version>
|
||||
</pkg-ref>
|
||||
<pkg-ref id="org.virtualbox.pkg.virtualboxcli">
|
||||
<bundle-version/>
|
||||
</pkg-ref>
|
||||
<choice id="choiceBoot2DockerISO" title="choiceBoot2DockerISO_title" description="choiceBoot2DockerISO_msg" start_selected="true" start_enabled="true" start_visible="false">
|
||||
<pkg-ref id="io.boot2dockeriso.pkg.boot2dockeriso"/>
|
||||
</choice>
|
||||
<pkg-ref id="io.boot2dockeriso.pkg.boot2dockeriso" auth="Root" version="%BOOT2DOCKER_ISO_VERSION%" installKBytes="%BOOT2DOCKER_ISO_INSTALL_KBYTES%">#boot2dockeriso.pkg</pkg-ref>
|
||||
<pkg-ref id="io.boot2dockeriso.pkg.boot2dockeriso">
|
||||
<bundle-version/>
|
||||
</pkg-ref>
|
||||
<choice id="choiceDockerQuickstartTerminalAPP" title="choiceDockerQuickstartTerminalAPP_title" description="choiceDockerQuickstartTerminalAPP_msg" start_selected="true" start_enabled="true" start_visible="true">
|
||||
<pkg-ref id="io.docker.pkg.dockerquickstartterminalapp"/>
|
||||
</choice>
|
||||
<pkg-ref id="io.docker.pkg.dockerquickstartterminalapp" auth="Root" version="%DOCKERQUICKSTARTTERMINALAPP_VERSION%" installKBytes="%DOCKERQUICKSTARTTERMINALAPP_INSTALL_KBYTES%">#dockerquickstartterminalapp.pkg</pkg-ref>
|
||||
<pkg-ref id="io.docker.pkg.dockerquickstartterminalapp">
|
||||
<bundle-version/>
|
||||
</pkg-ref>
|
||||
<pkg-ref id="io.docker.pkg.kitematicapp" auth="Root" version="%KITEMATICAPP_VERSION%" installKBytes="%KITEMATICAPP_INSTALL_KBYTES%">#kitematicapp.pkg</pkg-ref>
|
||||
<pkg-ref id="io.docker.pkg.kitematicapp">
|
||||
<bundle-version/>
|
||||
</pkg-ref>
|
||||
<choice id="choiceDockerMachineCLI" title="choiceDockerMachineCLI_title" description="choiceDockerMachineCLI_msg" start_enabled="false" start_selected="true" start_visible="true">
|
||||
<pkg-ref id="io.docker.pkg.dockermachine"/>
|
||||
</choice>
|
||||
<pkg-ref id="io.docker.pkg.dockermachine" auth="Root" version="%DOCKERMACHINE_VERSION%" installKBytes="%DOCKERMACHINE_INSTALL_KBYTES%">#dockermachine.pkg</pkg-ref>
|
||||
<pkg-ref id="io.docker.pkg.dockermachine">
|
||||
<bundle-version/>
|
||||
</pkg-ref>
|
||||
|
||||
<product id="io.docker.mpkg.docker" version="%INSTALLER_VERSION%"/>
|
||||
|
||||
<!-- Manually imported VBox Stuff -->
|
||||
<installation-check script="checkPrerequisite()"/>
|
||||
<script>
|
||||
<![CDATA[
|
||||
/* js:pkmk:start */
|
||||
function checkPrerequisite()
|
||||
{
|
||||
try
|
||||
{
|
||||
test = system.sysctl('hw.machine');
|
||||
system.log("Hardware architecture detected: " + test);
|
||||
result = (test == 'i386' || test == 'x86_64');
|
||||
} catch (e) { system.log(e); result = false; }
|
||||
|
||||
if (!result)
|
||||
{
|
||||
my.result.type = 'Fatal';
|
||||
my.result.title = system.localizedString('UNSUPPORTED_HW_MACHINE_TLE');
|
||||
my.result.message = system.localizedString('UNSUPPORTED_HW_MACHINE_MSG');
|
||||
return result;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
test = system.version['ProductVersion'];
|
||||
system.log("OS version detected: " + test);
|
||||
result = (system.compareVersions(test, '10.8') >= 0);
|
||||
} catch (e) { system.log(e); result = false; }
|
||||
|
||||
if (!result)
|
||||
{
|
||||
my.result.type = 'Fatal';
|
||||
my.result.title = system.localizedString('UNSUPPORTED_OS_TLE');
|
||||
my.result.message = system.localizedString('UNSUPPORTED_OS_MSG');
|
||||
return result;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
/* Embedded scripts are not available here. So, just do a command
|
||||
line checking for running VMs instead. */
|
||||
if (vboxNeedsUpgrade()) {
|
||||
system.log(vboxplist.CFBundleVersion);
|
||||
rcScript = system.run('/bin/sh', '-c', '/bin/ps -e | /usr/bin/grep -E "VirtualBox|VirtualBox.*startvm|VBoxNetDHCP|VBoxNetNAT|VBoxHeadless|VBoxSVC" | /usr/bin/grep -qv grep');
|
||||
result = (rcScript != 0);
|
||||
system.log("system.run /bin/sh .. returned: " + rcScript + " result=" + result);
|
||||
}
|
||||
} catch (e) { system.log(e); }
|
||||
|
||||
if (!result)
|
||||
{
|
||||
my.result.type = 'Fatal';
|
||||
my.result.title = system.localizedString('RUNNING_VMS_TLE');
|
||||
my.result.message = system.localizedString('RUNNING_VMS_MSG');
|
||||
return result;
|
||||
}
|
||||
|
||||
system.log("result:" + result);
|
||||
return result;
|
||||
}
|
||||
|
||||
function vboxNeedsUpgrade ()
|
||||
{
|
||||
try {
|
||||
vboxplist = system.files.plistAtPath('/Applications/VirtualBox.app/Contents/Info.plist');
|
||||
if (!vboxplist || !vboxplist.CFBundleVersion || system.compareVersions(vboxplist.CFBundleVersion, '%VBOX_VERSION%') === -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
} catch (e){ system.log(e); return false; }
|
||||
}
|
||||
/* js:pkmk:end */
|
||||
]]>
|
||||
</script>
|
||||
</installer-gui-script>
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SectionOrder</key>
|
||||
<array>
|
||||
<string>Introduction</string>
|
||||
<string>overviewplugin.bundle</string>
|
||||
<string>Target</string>
|
||||
<string>PackageSelection</string>
|
||||
<string>Install</string>
|
||||
<string>managevmplugin.bundle</string>
|
||||
<string>quickstartplugin.bundle</string>
|
||||
<string>Summary</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,56 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>15D21</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>overviewplugin</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.docker.overviewplugin</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>overviewplugin</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>7C1002</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>GM</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>15C43</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx10.11</string>
|
||||
<key>DTXcode</key>
|
||||
<string>0721</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>7C1002</string>
|
||||
<key>Installer Version</key>
|
||||
<string>%INSTALLER_VERSION%</string>
|
||||
<key>InstallerSectionTitle</key>
|
||||
<string>Overview</string>
|
||||
<key>Mixpanel Token</key>
|
||||
<string>%MIXPANEL_TOKEN%</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2015 Docker Inc. All rights reserved.</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>overviewplugin</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>InstallerSection</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,16 +0,0 @@
|
|||
<?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>SectionOrder</key>
|
||||
<array>
|
||||
<string>Introduction</string>
|
||||
<string>ReadMe</string>
|
||||
<string>License</string>
|
||||
<string>overviewplugin.bundle</string>
|
||||
<string>Target</string>
|
||||
<string>PackageSelection</string>
|
||||
<string>Install</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,23 +0,0 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
<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>
|
||||
<ul>
|
||||
<li>Docker Client <code>docker</code> binary </li>
|
||||
<li>Docker Machine <code>docker-machine</code> binary </li>
|
||||
<li>Docker Compose <code>docker-compose</code> binary </li>
|
||||
<li>Kitematic - Desktop GUI for Docker </li>
|
||||
<li>Docker Quickstart Terminal app</li>
|
||||
</ul>
|
||||
<br/>
|
||||
<p>
|
||||
The binaries are installed in the <code>/usr/local/bin</code> directory.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
|
@ -1,56 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>15D21</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>quickstartplugin</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.docker.quickstartplugin</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>quickstartplugin</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>7C1002</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>GM</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>15C43</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx10.11</string>
|
||||
<key>DTXcode</key>
|
||||
<string>0721</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>7C1002</string>
|
||||
<key>Installer Version</key>
|
||||
<string>%INSTALLER_VERSION%</string>
|
||||
<key>InstallerSectionTitle</key>
|
||||
<string>quickstartplugin</string>
|
||||
<key>Mixpanel Token</key>
|
||||
<string>%MIXPANEL_TOKEN%</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2015 Docker Inc. All rights reserved.</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>quickstartplugin</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>InstallerSection</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,16 +0,0 @@
|
|||
<?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>SectionOrder</key>
|
||||
<array>
|
||||
<string>Introduction</string>
|
||||
<string>ReadMe</string>
|
||||
<string>License</string>
|
||||
<string>quickstartplugin.bundle</string>
|
||||
<string>Target</string>
|
||||
<string>PackageSelection</string>
|
||||
<string>Install</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
Before Width: | Height: | Size: 973 KiB |
Before Width: | Height: | Size: 983 KiB |
|
@ -1,31 +0,0 @@
|
|||
'docker_title' = 'Docker Toolbox';
|
||||
|
||||
'choiceDockerCLI_title' = 'Docker Client %DOCKER_VERSION%';
|
||||
'choiceDockerCLI_msg' = 'Installs the Docker Client for Mac OS X into /usr/local/bin/';
|
||||
|
||||
'choiceDockerMachineCLI_title' = 'Docker Machine %DOCKERMACHINE_VERSION%';
|
||||
'choiceDockerMachineCLI_msg' = 'Installs the Docker Machine binaries into /usr/local/bin/';
|
||||
|
||||
'choiceDockerComposeCLI_title' = 'Docker Compose %DOCKERCOMPOSE_VERSION%';
|
||||
'choiceDockerComposeCLI_msg' = 'Installs the Docker Compose binary into /usr/local/bin/';
|
||||
|
||||
'choiceBoot2DockerISO_title' = 'Boot2Docker ISO %BOOT2DOCKER_ISO_VERSION%';
|
||||
'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/Docker/';
|
||||
|
||||
'choiceKitematicAPP_title' = 'Docker Kitematic %KITEMATICAPP_VERSION%';
|
||||
'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.';
|
||||
|
||||
'RUNNING_VMS_TLE' = "Please Quit VirtualBox!";
|
||||
'RUNNING_VMS_MSG' = "The installer has detected that VirtualBox is out of date, and is still running. Please shut down all VMs, quit VirtualBox, and then restart the Docker Toolbox installation.";
|
||||
|
||||
'UNSUPPORTED_HW_MACHINE_TLE' = "Unsupported hardware architecture detected!";
|
||||
'UNSUPPORTED_HW_MACHINE_MSG' = "The installer has detected an unsupported architecture. VirtualBox only runs on the x86 and amd64 architectures.";
|
||||
|
||||
'UNSUPPORTED_OS_TLE' = "Unsupported OS version detected!";
|
||||
'UNSUPPORTED_OS_MSG' = "The installer has detected an unsupported operation system. Please upgrade to Mac OS X 10.8 or later.";
|
Before Width: | Height: | Size: 4.3 KiB |
|
@ -1,18 +0,0 @@
|
|||
{\rtf1\ansi\ansicpg1252\cocoartf1397
|
||||
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 HelveticaNeue;}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
\margl1440\margr1440\vieww10800\viewh8400\viewkind0
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
|
||||
|
||||
\f0\fs24 \cf0 \
|
||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\qc\partightenfactor0
|
||||
|
||||
\f1\b\fs48 \cf0 Docker Toolbox Installer
|
||||
\b0 \
|
||||
version %INSTALLER_VERSION%
|
||||
\f0 \
|
||||
\
|
||||
|
||||
\fs24 \
|
||||
{{\NeXTGraphic toolbox.png \width3200 \height3200
|
||||
}¬}}
|
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 36 KiB |
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<pkg-info overwrite-permissions="true" relocatable="false" identifier="io.boot2dockeriso.pkg.boot2dockeriso" postinstall-action="none" version="%BOOT2DOCKER_ISO_VERSION%" format-version="2" generator-version="steeve's strong hands" install-location="/usr/local/share/boot2docker" auth="root">
|
||||
<payload numberOfFiles="%BOOT2DOCKER_ISO_NUMBER_OF_FILES%" installKBytes="%BOOT2DOCKER_ISO_INSTALL_KBYTES%"/>
|
||||
<bundle-version/>
|
||||
<upgrade-bundle/>
|
||||
<update-bundle/>
|
||||
<atomic-update-bundle/>
|
||||
<strict-identifier/>
|
||||
<relocate/>
|
||||
<scripts>
|
||||
<postinstall file="./postinstall"/>
|
||||
</scripts>
|
||||
</pkg-info>
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CONSOLE_USER=$(stat -f '%Su' /dev/console)
|
||||
CONSOLE_USER_HOME=$(su $CONSOLE_USER -c 'echo $HOME')
|
||||
VM=default
|
||||
|
||||
# Fix permissions on binaries
|
||||
chown -R $CONSOLE_USER:admin /usr/local/bin/docker || true
|
||||
chown -R $CONSOLE_USER:admin /usr/local/bin/docker-machine || true
|
||||
chown -R $CONSOLE_USER:admin /usr/local/bin/docker-compose || true
|
||||
|
||||
# Place boot2docker ISO in cache & upgrade the boot2docker VM
|
||||
mkdir -p $CONSOLE_USER_HOME/.docker/machine/cache
|
||||
cp /usr/local/share/boot2docker/boot2docker.iso $CONSOLE_USER_HOME/.docker/machine/cache/boot2docker.iso
|
||||
|
||||
if [ -d "$CONSOLE_USER_HOME/.docker/machine/machines/$VM" ] && [ -f /usr/local/bin/docker-machine ]; then
|
||||
sudo -i -u "$CONSOLE_USER" "/usr/local/bin/docker-machine stop $VM || true"
|
||||
cp /usr/local/share/boot2docker/boot2docker.iso $CONSOLE_USER_HOME/.docker/machine/machines/$VM/boot2docker.iso
|
||||
fi
|
||||
|
||||
chown -R $CONSOLE_USER:staff $CONSOLE_USER_HOME/.docker
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<pkg-info overwrite-permissions="true" relocatable="false" identifier="io.docker.pkg.docker" postinstall-action="none" version="%DOCKER_VERSION%" format-version="2" generator-version="steeve's strong hands" install-location="/" auth="root">
|
||||
<payload numberOfFiles="%DOCKER_NUMBER_OF_FILES%" installKBytes="%DOCKER_INSTALL_KBYTES%"/>
|
||||
<bundle-version/>
|
||||
<upgrade-bundle/>
|
||||
<update-bundle/>
|
||||
<atomic-update-bundle/>
|
||||
<strict-identifier/>
|
||||
<relocate/>
|
||||
</pkg-info>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<pkg-info overwrite-permissions="true" relocatable="false" identifier="io.docker.pkg.dockercompose" postinstall-action="none" version="%DOCKERCOMPOSE_VERSION%" format-version="2" generator-version="steeve's strong hands" install-location="/" auth="root">
|
||||
<payload numberOfFiles="%DOCKERCOMPOSE_NUMBER_OF_FILES%" installKBytes="%DOCKERCOMPOSE_INSTALL_KBYTES%"/>
|
||||
<bundle-version/>
|
||||
<upgrade-bundle/>
|
||||
<update-bundle/>
|
||||
<atomic-update-bundle/>
|
||||
<strict-identifier/>
|
||||
<relocate/>
|
||||
</pkg-info>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<pkg-info overwrite-permissions="true" relocatable="false" identifier="io.docker.pkg.dockermachine" postinstall-action="none" version="%DOCKERMACHINE_VERSION%" format-version="2" generator-version="steeve's strong hands" install-location="/" auth="root">
|
||||
<payload numberOfFiles="%DOCKERMACHINE_NUMBER_OF_FILES%" installKBytes="%DOCKERMACHINE_INSTALL_KBYTES%"/>
|
||||
<bundle-version/>
|
||||
<upgrade-bundle/>
|
||||
<update-bundle/>
|
||||
<atomic-update-bundle/>
|
||||
<strict-identifier/>
|
||||
<relocate/>
|
||||
</pkg-info>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<pkg-info overwrite-permissions="true" relocatable="false" identifier="io.docker.pkg.dockerquickstartterminalapp" postinstall-action="none" version="%DOCKERQUICKSTARTTERMINALAPP_VERSION%" format-version="2" generator-version="steeve's strong hands" install-location="/Applications/Docker/" auth="root">
|
||||
<payload numberOfFiles="%DOCKERQUICKSTARTTERMINALAPP_NUMBER_OF_FILES%" installKBytes="%DOCKERQUICKSTARTTERMINALAPP_INSTALL_KBYTES%"/>
|
||||
<bundle-version/>
|
||||
<upgrade-bundle/>
|
||||
<update-bundle/>
|
||||
<atomic-update-bundle/>
|
||||
<strict-identifier/>
|
||||
<relocate/>
|
||||
</pkg-info>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<pkg-info overwrite-permissions="true" relocatable="false" identifier="io.docker.pkg.kitematicapp" postinstall-action="none" version="%KITEMATICAPP_VERSION%" format-version="2" generator-version="steeve's strong hands" install-location="/Applications/Docker/" auth="root">
|
||||
<payload numberOfFiles="%KITEMATICAPP_NUMBER_OF_FILES%" installKBytes="%KITEMATICAPP_INSTALL_KBYTES%"/>
|
||||
<bundle-version/>
|
||||
<upgrade-bundle/>
|
||||
<update-bundle/>
|
||||
<atomic-update-bundle/>
|
||||
<strict-identifier/>
|
||||
<relocate/>
|
||||
</pkg-info>
|
|
@ -1,50 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleAllowMixedLocalizations</key>
|
||||
<true/>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>applet</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>applet</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.apple.ScriptEditor.id.dockerquickstartterminalapp</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Docker Quickstart Terminal</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.3.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>aplt</string>
|
||||
<key>LSMinimumSystemVersionByArchitecture</key>
|
||||
<dict>
|
||||
<key>x86_64</key>
|
||||
<string>10.6</string>
|
||||
</dict>
|
||||
<key>LSRequiresCarbon</key>
|
||||
<true/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Docker Inc</string>
|
||||
<key>WindowState</key>
|
||||
<dict>
|
||||
<key>dividerCollapsed</key>
|
||||
<false/>
|
||||
<key>eventLogLevel</key>
|
||||
<integer>-1</integer>
|
||||
<key>name</key>
|
||||
<string>ScriptWindowState</string>
|
||||
<key>positionOfDivider</key>
|
||||
<real>441</real>
|
||||
<key>savedFrame</key>
|
||||
<string>832 234 942 765 0 0 1920 1058 </string>
|
||||
<key>selectedTabView</key>
|
||||
<string>event log</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1 +0,0 @@
|
|||
APPLaplt
|
|
@ -1,85 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
VM=default
|
||||
DOCKER_MACHINE=/usr/local/bin/docker-machine
|
||||
VBOXMANAGE=/Applications/VirtualBox.app/Contents/MacOS/VBoxManage
|
||||
|
||||
BLUE='\033[0;34m'
|
||||
GREEN='\033[0;32m'
|
||||
NC='\033[0m'
|
||||
|
||||
unset DYLD_LIBRARY_PATH
|
||||
unset LD_LIBRARY_PATH
|
||||
|
||||
#clear all_proxy if not socks address
|
||||
if [[ $ALL_PROXY != socks* ]]; then
|
||||
unset ALL_PROXY
|
||||
fi
|
||||
if [[ $all_proxy != socks* ]]; then
|
||||
unset all_proxy
|
||||
fi
|
||||
|
||||
clear
|
||||
|
||||
if [ ! -f "${DOCKER_MACHINE}" ]; then
|
||||
echo "Docker Machine is not installed. Please re-run the Toolbox Installer and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "${VBOXMANAGE}" ]; then
|
||||
echo "VirtualBox is not installed. Please re-run the Toolbox Installer and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"${VBOXMANAGE}" list vms | grep \""${VM}"\" &> /dev/null
|
||||
VM_EXISTS_CODE=$?
|
||||
|
||||
if [ $VM_EXISTS_CODE -eq 1 ]; then
|
||||
"${DOCKER_MACHINE}" rm -f "${VM}" &> /dev/null
|
||||
rm -rf ~/.docker/machine/machines/"${VM}"
|
||||
#set proxy variables if they exists
|
||||
if [ "${HTTP_PROXY}" ]; then
|
||||
PROXY_ENV="$PROXY_ENV --engine-env HTTP_PROXY=$HTTP_PROXY"
|
||||
fi
|
||||
if [ "${HTTPS_PROXY}" ]; then
|
||||
PROXY_ENV="$PROXY_ENV --engine-env HTTPS_PROXY=$HTTPS_PROXY"
|
||||
fi
|
||||
if [ "${NO_PROXY}" ]; then
|
||||
PROXY_ENV="$PROXY_ENV --engine-env NO_PROXY=$NO_PROXY"
|
||||
fi
|
||||
"${DOCKER_MACHINE}" create -d virtualbox $PROXY_ENV --virtualbox-memory 2048 --virtualbox-disk-size 204800 "${VM}"
|
||||
fi
|
||||
|
||||
VM_STATUS="$(${DOCKER_MACHINE} status ${VM} 2>&1)"
|
||||
if [ "${VM_STATUS}" != "Running" ]; then
|
||||
"${DOCKER_MACHINE}" start "${VM}"
|
||||
yes | "${DOCKER_MACHINE}" regenerate-certs "${VM}"
|
||||
fi
|
||||
|
||||
eval "$(${DOCKER_MACHINE} env --shell=bash --no-proxy ${VM})"
|
||||
|
||||
clear
|
||||
cat << EOF
|
||||
|
||||
|
||||
## .
|
||||
## ## ## ==
|
||||
## ## ## ## ## ===
|
||||
/"""""""""""""""""\___/ ===
|
||||
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
|
||||
\______ o __/
|
||||
\ \ __/
|
||||
\____\_______/
|
||||
|
||||
|
||||
EOF
|
||||
echo -e "${BLUE}docker${NC} is configured to use the ${GREEN}${VM}${NC} machine with IP ${GREEN}$(${DOCKER_MACHINE} ip ${VM})${NC}"
|
||||
echo "For help getting started, check out the docs at https://docs.docker.com"
|
||||
echo
|
||||
|
||||
USER_SHELL="$(dscl /Search -read /Users/${USER} UserShell | awk '{print $2}' | head -n 1)"
|
||||
if [[ "${USER_SHELL}" == *"/bash"* ]] || [[ "${USER_SHELL}" == *"/zsh"* ]] || [[ "${USER_SHELL}" == *"/sh"* ]]; then
|
||||
"${USER_SHELL}" --login
|
||||
else
|
||||
"${USER_SHELL}"
|
||||
fi
|
Before Width: | Height: | Size: 362 B |
|
@ -1,4 +0,0 @@
|
|||
{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf200
|
||||
{\fonttbl}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Uninstall Script
|
||||
|
||||
if [ "${USER}" != "root" ]; then
|
||||
echo "$0 must be run as root!"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
while true; do
|
||||
read -p "Remove all Docker Machine VMs? (Y/N): " yn
|
||||
case $yn in
|
||||
[Yy]* ) docker-machine rm -f $(docker-machine ls -q); break;;
|
||||
[Nn]* ) break;;
|
||||
* ) echo "Please answer yes or no."; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "Removing Applications..."
|
||||
rm -rf /Applications/Docker
|
||||
|
||||
echo "Removing docker binaries..."
|
||||
rm -f /usr/local/bin/docker
|
||||
rm -f /usr/local/bin/docker-machine
|
||||
rm -r /usr/local/bin/docker-machine-driver*
|
||||
rm -f /usr/local/bin/docker-compose
|
||||
|
||||
echo "Removing boot2docker.iso"
|
||||
rm -rf /usr/local/share/boot2docker
|
||||
|
||||
echo "Forget packages"
|
||||
pkgutil --forget io.docker.pkg.docker
|
||||
pkgutil --forget io.docker.pkg.dockercompose
|
||||
pkgutil --forget io.docker.pkg.dockermachine
|
||||
pkgutil --forget io.boot2dockeriso.pkg.boot2dockeriso
|
||||
|
||||
echo "All Done!"
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
docker build -t osx-installer -f Dockerfile.osx .
|
||||
CONTAINER="$(docker run -d osx-installer)"
|
||||
mkdir -p dist
|
||||
docker cp "${CONTAINER}":/DockerToolbox.pkg dist/
|
||||
docker rm "${CONTAINER}" 2>/dev/null || true
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
docker build -t windows-installer -f Dockerfile.windows .
|
||||
CONTAINER="$(docker run -d windows-installer)"
|
||||
mkdir -p dist
|
||||
docker cp "${CONTAINER}":/installer/Output/DockerToolbox.exe dist/
|
||||
docker rm "${CONTAINER}" 2>/dev/null || true
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Try several times to do the build (sometimes network or other issues causes
|
||||
# it to fail)
|
||||
for i in $(seq 0 4); do
|
||||
echo "Trying build $i..."
|
||||
make clean
|
||||
make
|
||||
if [[ $? -eq 0 ]]; then
|
||||
cp dist/* $CIRCLE_ARTIFACTS
|
||||
|
||||
if [ ! -z "$CIRCLE_TAG" ]; then
|
||||
curl --header "Content-Type: application/json" \
|
||||
--data "{\"build_parameters\": {\"CIRCLE_TAG\": \"$CIRCLE_TAG\", \"TOOLBOX_BUILD_NUM\": $CIRCLE_BUILD_NUM, \"TOOLBOX_ARTIFACTS\": \"$CIRCLE_ARTIFACTS\"}}" \
|
||||
--request POST "https://circleci.com/api/v1/project/docker/toolbox-release/tree/master?circle-token=$CIRCLE_TOKEN"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
|
||||
exit 1
|
Before Width: | Height: | Size: 194 KiB After Width: | Height: | Size: 194 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
@ -1,368 +0,0 @@
|
|||
#define MyAppName "Docker Toolbox"
|
||||
#define MyAppPublisher "Docker"
|
||||
#define MyAppURL "https://docker.com"
|
||||
#define MyAppContact "https://docker.com"
|
||||
|
||||
#define b2dIsoPath "..\bundle\boot2docker.iso"
|
||||
#define dockerCli "..\bundle\docker.exe"
|
||||
#define dockerMachineCli "..\bundle\docker-machine.exe"
|
||||
#define dockerComposeCli "..\bundle\docker-compose.exe"
|
||||
#define kitematic "..\bundle\kitematic"
|
||||
#define git "..\bundle\Git.exe"
|
||||
#define virtualBoxCommon "..\bundle\common.cab"
|
||||
#define virtualBoxMsi "..\bundle\VirtualBox_amd64.msi"
|
||||
|
||||
[Setup]
|
||||
AppCopyright={#MyAppPublisher}
|
||||
AppId={{FC4417F0-D7F3-48DB-BCE1-F5ED5BAFFD91}
|
||||
AppContact={#MyAppContact}
|
||||
AppComments={#MyAppURL}
|
||||
AppName={#MyAppName}
|
||||
AppVersion={#MyAppVersion}
|
||||
AppPublisher={#MyAppPublisher}
|
||||
AppPublisherURL={#MyAppURL}
|
||||
AppSupportURL={#MyAppURL}
|
||||
AppUpdatesURL={#MyAppURL}
|
||||
ArchitecturesAllowed=x64
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
DefaultDirName={pf}\{#MyAppName}
|
||||
DefaultGroupName=Docker
|
||||
DisableProgramGroupPage=yes
|
||||
DisableWelcomePage=no
|
||||
OutputBaseFilename=DockerToolbox
|
||||
Compression=lzma
|
||||
SolidCompression=yes
|
||||
WizardImageFile=windows-installer-side.bmp
|
||||
WizardSmallImageFile=windows-installer-logo.bmp
|
||||
WizardImageStretch=yes
|
||||
UninstallDisplayIcon={app}\unins000.exe
|
||||
SetupIconFile=toolbox.ico
|
||||
ChangesEnvironment=true
|
||||
|
||||
[Languages]
|
||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
|
||||
[Types]
|
||||
Name: "full"; Description: "Full installation"
|
||||
Name: "custom"; Description: "Custom installation"; Flags: iscustom
|
||||
|
||||
[Run]
|
||||
Filename: "{win}\explorer.exe"; Parameters: "{userprograms}\Docker\"; Flags: postinstall skipifsilent; Description: "View Shortcuts in File Explorer"
|
||||
|
||||
[Tasks]
|
||||
Name: desktopicon; Description: "{cm:CreateDesktopIcon}"
|
||||
Name: modifypath; Description: "Add docker binaries to &PATH"
|
||||
Name: upgradevm; Description: "Upgrade Boot2Docker VM"
|
||||
Name: vbox_ndis5; Description: "Install VirtualBox with NDIS5 driver[default NDIS6]"; Components: VirtualBox; Flags: unchecked
|
||||
|
||||
[Components]
|
||||
Name: "Docker"; Description: "Docker Client for Windows" ; Types: full custom; Flags: fixed
|
||||
Name: "DockerMachine"; Description: "Docker Machine for Windows" ; Types: full custom; Flags: fixed
|
||||
Name: "DockerCompose"; Description: "Docker Compose for Windows" ; Types: full custom
|
||||
Name: "VirtualBox"; Description: "VirtualBox"; Types: full custom; Flags: disablenouninstallwarning
|
||||
Name: "Kitematic"; Description: "Kitematic for Windows (Alpha)" ; Types: full custom
|
||||
Name: "Git"; Description: "Git for Windows"; Types: full custom; Flags: disablenouninstallwarning
|
||||
|
||||
[Files]
|
||||
Source: ".\docker-quickstart-terminal.ico"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "{#dockerCli}"; DestDir: "{app}"; Flags: ignoreversion; Components: "Docker"
|
||||
Source: ".\start.sh"; DestDir: "{app}"; Flags: ignoreversion; Components: "Docker"
|
||||
Source: "{#dockerMachineCli}"; DestDir: "{app}"; Flags: ignoreversion; Components: "DockerMachine"
|
||||
Source: "{#dockerComposeCli}"; DestDir: "{app}"; Flags: ignoreversion; Components: "DockerCompose"
|
||||
Source: "{#kitematic}\*"; DestDir: "{app}\kitematic"; Flags: ignoreversion recursesubdirs; Components: "Kitematic"
|
||||
Source: "{#b2dIsoPath}"; DestDir: "{app}"; Flags: ignoreversion; Components: "DockerMachine"; AfterInstall: CopyBoot2DockerISO()
|
||||
Source: "{#git}"; DestDir: "{app}\installers\git"; DestName: "git.exe"; AfterInstall: RunInstallGit(); Components: "Git"
|
||||
Source: "{#virtualBoxCommon}"; DestDir: "{app}\installers\virtualbox"; Components: "VirtualBox"
|
||||
Source: "{#virtualBoxMsi}"; DestDir: "{app}\installers\virtualbox"; DestName: "virtualbox.msi"; AfterInstall: RunInstallVirtualBox(); Components: "VirtualBox"
|
||||
|
||||
[Icons]
|
||||
Name: "{userprograms}\Docker\Kitematic (Alpha)"; WorkingDir: "{app}"; Filename: "{app}\kitematic\Kitematic.exe"; Components: "Kitematic"
|
||||
Name: "{commondesktop}\Kitematic (Alpha)"; WorkingDir: "{app}"; Filename: "{app}\kitematic\Kitematic.exe"; Tasks: desktopicon; Components: "Kitematic"
|
||||
Name: "{userprograms}\Docker\Docker Quickstart Terminal"; WorkingDir: "{app}"; Filename: "{pf64}\Git\bin\bash.exe"; Parameters: "--login -i ""{app}\start.sh"""; IconFilename: "{app}/docker-quickstart-terminal.ico"; Components: "Docker"
|
||||
Name: "{commondesktop}\Docker Quickstart Terminal"; WorkingDir: "{app}"; Filename: "{pf64}\Git\bin\bash.exe"; Parameters: "--login -i ""{app}\start.sh"""; IconFilename: "{app}/docker-quickstart-terminal.ico"; Tasks: desktopicon; Components: "Docker"
|
||||
|
||||
[UninstallRun]
|
||||
Filename: "{app}\docker-machine.exe"; Parameters: "rm -f default"
|
||||
|
||||
[UninstallDelete]
|
||||
Type: filesandordirs; Name: "{localappdata}\..\Roaming\Kitematic"
|
||||
|
||||
[Registry]
|
||||
Root: HKCU; Subkey: "Environment"; ValueType:string; ValueName:"DOCKER_TOOLBOX_INSTALL_PATH"; ValueData:"{app}" ; Flags: preservestringtype uninsdeletevalue;
|
||||
|
||||
[Code]
|
||||
#include "base64.iss"
|
||||
#include "guid.iss"
|
||||
|
||||
var
|
||||
TrackingDisabled: Boolean;
|
||||
TrackingCheckBox: TNewCheckBox;
|
||||
|
||||
function uuid(): String;
|
||||
var
|
||||
dirpath: String;
|
||||
filepath: String;
|
||||
ansiresult: AnsiString;
|
||||
begin
|
||||
dirpath := ExpandConstant('{userappdata}\DockerToolbox');
|
||||
filepath := dirpath + '\id.txt';
|
||||
ForceDirectories(dirpath);
|
||||
|
||||
Result := '';
|
||||
if FileExists(filepath) then
|
||||
LoadStringFromFile(filepath, ansiresult);
|
||||
Result := String(ansiresult)
|
||||
|
||||
if Length(Result) = 0 then
|
||||
Result := GetGuid('');
|
||||
StringChangeEx(Result, '{', '', True);
|
||||
StringChangeEx(Result, '}', '', True);
|
||||
SaveStringToFile(filepath, AnsiString(Result), False);
|
||||
end;
|
||||
|
||||
function WindowsVersionString(): String;
|
||||
var
|
||||
ResultCode: Integer;
|
||||
lines : TArrayOfString;
|
||||
begin
|
||||
if not Exec(ExpandConstant('{cmd}'), ExpandConstant('/c wmic os get caption | more +1 > C:\windows-version.txt'), '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then begin
|
||||
Result := 'N/A';
|
||||
exit;
|
||||
end;
|
||||
|
||||
if LoadStringsFromFile(ExpandConstant('C:\windows-version.txt'), lines) then begin
|
||||
Result := lines[0];
|
||||
end else begin
|
||||
Result := 'N/A'
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TrackEventWithProperties(name: String; properties: String);
|
||||
var
|
||||
payload: String;
|
||||
WinHttpReq: Variant;
|
||||
begin
|
||||
if TrackingDisabled or WizardSilent() then
|
||||
exit;
|
||||
|
||||
if Length(properties) > 0 then
|
||||
properties := ', ' + properties;
|
||||
|
||||
try
|
||||
payload := Encode64(Format(ExpandConstant('{{"event": "%s", "properties": {{"token": "{#MixpanelToken}", "distinct_id": "%s", "os": "win32", "os version": "%s", "version": "{#MyAppVersion}" %s}}'), [name, uuid(), WindowsVersionString(), properties]));
|
||||
WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
|
||||
WinHttpReq.Open('POST', 'https://api.mixpanel.com/track/?data=' + payload, false);
|
||||
WinHttpReq.SetRequestHeader('Content-Type', 'application/json');
|
||||
WinHttpReq.Send('');
|
||||
except
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TrackEvent(name: String);
|
||||
begin
|
||||
TrackEventWithProperties(name, '');
|
||||
end;
|
||||
|
||||
function NeedToInstallVirtualBox(): Boolean;
|
||||
begin
|
||||
// TODO: Also compare versions
|
||||
Result := (
|
||||
(GetEnv('VBOX_INSTALL_PATH') = '')
|
||||
and
|
||||
(GetEnv('VBOX_MSI_INSTALL_PATH') = '')
|
||||
);
|
||||
end;
|
||||
|
||||
function VBoxPath(): String;
|
||||
begin
|
||||
if GetEnv('VBOX_INSTALL_PATH') <> '' then
|
||||
Result := GetEnv('VBOX_INSTALL_PATH')
|
||||
else
|
||||
Result := GetEnv('VBOX_MSI_INSTALL_PATH')
|
||||
end;
|
||||
|
||||
function NeedToInstallGit(): Boolean;
|
||||
begin
|
||||
// TODO: Find a better way to see if Git is installed
|
||||
Result := not DirExists('C:\Program Files\Git') or not FileExists('C:\Program Files\Git\git-bash.exe')
|
||||
end;
|
||||
|
||||
procedure InitializeWizard;
|
||||
var
|
||||
WelcomePage: TWizardPage;
|
||||
TrackingLabel: TLabel;
|
||||
begin
|
||||
|
||||
WelcomePage := PageFromID(wpWelcome)
|
||||
|
||||
WizardForm.WelcomeLabel2.AutoSize := True;
|
||||
|
||||
TrackingCheckBox := TNewCheckBox.Create(WizardForm);
|
||||
TrackingCheckBox.Top := WizardForm.WelcomeLabel2.Top + WizardForm.WelcomeLabel2.Height + 10;
|
||||
TrackingCheckBox.Left := WizardForm.WelcomeLabel2.Left;
|
||||
TrackingCheckBox.Width := WizardForm.WelcomeLabel2.Width;
|
||||
TrackingCheckBox.Height := 28;
|
||||
TrackingCheckBox.Caption := 'Help Docker improve Toolbox.';
|
||||
TrackingCheckBox.Checked := True;
|
||||
TrackingCheckBox.Parent := WelcomePage.Surface;
|
||||
|
||||
TrackingLabel := TLabel.Create(WizardForm);
|
||||
TrackingLabel.Parent := WelcomePage.Surface;
|
||||
TrackingLabel.Font := WizardForm.WelcomeLabel2.Font;
|
||||
TrackingLabel.Font.Color := clGray;
|
||||
TrackingLabel.Caption := 'This collects anonymous data to help us detect installation problems and improve the overall experience. We only use it to aggregate statistics and will never share it with third parties.';
|
||||
TrackingLabel.WordWrap := True;
|
||||
TrackingLabel.Visible := True;
|
||||
TrackingLabel.Left := WizardForm.WelcomeLabel2.Left;
|
||||
TrackingLabel.Width := WizardForm.WelcomeLabel2.Width;
|
||||
TrackingLabel.Top := TrackingCheckBox.Top + TrackingCheckBox.Height + 5;
|
||||
TrackingLabel.Height := 100;
|
||||
|
||||
// Don't do this until we can compare versions
|
||||
// Wizardform.ComponentsList.Checked[3] := NeedToInstallVirtualBox();
|
||||
Wizardform.ComponentsList.ItemEnabled[3] := not NeedToInstallVirtualBox();
|
||||
Wizardform.ComponentsList.Checked[5] := NeedToInstallGit();
|
||||
end;
|
||||
|
||||
function InitializeSetup(): boolean;
|
||||
begin
|
||||
TrackEvent('Installer Started');
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||
begin
|
||||
if CurPageID = wpWelcome then begin
|
||||
if TrackingCheckBox.Checked then begin
|
||||
TrackEventWithProperties('Continued from Overview', '"Tracking Enabled": "Yes"');
|
||||
TrackingDisabled := False;
|
||||
DeleteFile(ExpandConstant('{userdocs}\..\.docker\machine\no-error-report'));
|
||||
end else begin
|
||||
TrackEventWithProperties('Continued from Overview', '"Tracking Enabled": "No"');
|
||||
TrackingDisabled := True;
|
||||
CreateDir(ExpandConstant('{userdocs}\..\.docker\machine'));
|
||||
SaveStringToFile(ExpandConstant('{userdocs}\..\.docker\machine\no-error-report'), '', False);
|
||||
end;
|
||||
end;
|
||||
Result := True
|
||||
end;
|
||||
|
||||
procedure RunInstallVirtualBox();
|
||||
var
|
||||
ResultCode: Integer;
|
||||
begin
|
||||
WizardForm.FilenameLabel.Caption := 'installing VirtualBox'
|
||||
if IsTaskSelected('vbox_ndis5') then begin
|
||||
if not Exec(ExpandConstant('msiexec'), ExpandConstant('/qn /i "{app}\installers\virtualbox\virtualbox.msi" NETWORKTYPE=NDIS5 /norestart'), '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
|
||||
MsgBox('virtualbox install failure', mbInformation, MB_OK);
|
||||
end else begin
|
||||
if not Exec(ExpandConstant('msiexec'), ExpandConstant('/qn /i "{app}\installers\virtualbox\virtualbox.msi" /norestart'), '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
|
||||
MsgBox('virtualbox install failure', mbInformation, MB_OK);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure RunInstallGit();
|
||||
var
|
||||
ResultCode: Integer;
|
||||
begin
|
||||
WizardForm.FilenameLabel.Caption := 'installing Git for Windows'
|
||||
if Exec(ExpandConstant('{app}\installers\git\git.exe'), '/sp- /verysilent /norestart', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
|
||||
begin
|
||||
// handle success if necessary; ResultCode contains the exit code
|
||||
//MsgBox('git installed OK', mbInformation, MB_OK);
|
||||
end
|
||||
else begin
|
||||
// handle failure if necessary; ResultCode contains the error code
|
||||
MsgBox('git install failure', mbInformation, MB_OK);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure CopyBoot2DockerISO();
|
||||
begin
|
||||
WizardForm.FilenameLabel.Caption := 'copying boot2docker iso'
|
||||
if not ForceDirectories(ExpandConstant('{userdocs}\..\.docker\machine\cache')) then
|
||||
MsgBox('Failed to create docker machine cache dir', mbError, MB_OK);
|
||||
if not FileCopy(ExpandConstant('{app}\boot2docker.iso'), ExpandConstant('{userdocs}\..\.docker\machine\cache\boot2docker.iso'), false) then
|
||||
MsgBox('File moving failed!', mbError, MB_OK);
|
||||
end;
|
||||
|
||||
function CanUpgradeVM(): Boolean;
|
||||
var
|
||||
ResultCode: Integer;
|
||||
begin
|
||||
if NeedToInstallVirtualBox() or not FileExists(ExpandConstant('{app}\docker-machine.exe')) then begin
|
||||
Result := false
|
||||
exit
|
||||
end;
|
||||
|
||||
ExecAsOriginalUser(VBoxPath() + 'VBoxManage.exe', 'showvminfo default', '', SW_HIDE, ewWaitUntilTerminated, ResultCode)
|
||||
if ResultCode <> 0 then begin
|
||||
Result := false
|
||||
exit
|
||||
end;
|
||||
|
||||
if not DirExists(ExpandConstant('{userdocs}\..\.docker\machine\machines\default')) then begin
|
||||
Result := false
|
||||
exit
|
||||
end;
|
||||
|
||||
Result := true
|
||||
end;
|
||||
|
||||
function UpgradeVM() : Boolean;
|
||||
var
|
||||
ResultCode: Integer;
|
||||
begin
|
||||
TrackEvent('VM Upgrade Started');
|
||||
WizardForm.StatusLabel.Caption := 'Upgrading Docker Toolbox VM...'
|
||||
ExecAsOriginalUser(ExpandConstant('{app}\docker-machine.exe'), 'stop default', '', SW_HIDE, ewWaitUntilTerminated, ResultCode)
|
||||
if (ResultCode = 0) or (ResultCode = 1) then
|
||||
begin
|
||||
FileCopy(ExpandConstant('{userdocs}\..\.docker\machine\cache\boot2docker.iso'), ExpandConstant('{userdocs}\..\.docker\machine\machines\default\boot2docker.iso'), false)
|
||||
TrackEvent('VM Upgrade Succeeded');
|
||||
end
|
||||
else begin
|
||||
TrackEvent('VM Upgrade Failed');
|
||||
MsgBox('VM Upgrade Failed because the VirtualBox VM could not be stopped.', mbCriticalError, MB_OK);
|
||||
Result := false
|
||||
WizardForm.Close;
|
||||
exit;
|
||||
end;
|
||||
Result := true
|
||||
end;
|
||||
|
||||
const
|
||||
ModPathName = 'modifypath';
|
||||
ModPathType = 'user';
|
||||
|
||||
function ModPathDir(): TArrayOfString;
|
||||
begin
|
||||
setArrayLength(Result, 1);
|
||||
Result[0] := ExpandConstant('{app}');
|
||||
end;
|
||||
#include "modpath.iss"
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
var
|
||||
Success: Boolean;
|
||||
begin
|
||||
Success := True;
|
||||
if CurStep = ssPostInstall then
|
||||
begin
|
||||
trackEvent('Installing Files Succeeded');
|
||||
if IsTaskSelected(ModPathName) then
|
||||
ModPath();
|
||||
if not WizardSilent() then
|
||||
begin
|
||||
if IsTaskSelected('upgradevm') then
|
||||
begin
|
||||
if CanUpgradeVM() then begin
|
||||
Success := UpgradeVM();
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
if Success then
|
||||
trackEvent('Installer Finished');
|
||||
end;
|
||||
end;
|
|
@ -1,69 +0,0 @@
|
|||
// Source: http://www.vincenzo.net/isxkb/index.php?title=Encode/Decode_Base64
|
||||
const Codes64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||
|
||||
function Encode64(S: AnsiString): AnsiString;
|
||||
var
|
||||
i: Integer;
|
||||
a: Integer;
|
||||
x: Integer;
|
||||
b: Integer;
|
||||
begin
|
||||
Result := '';
|
||||
a := 0;
|
||||
b := 0;
|
||||
for i := 1 to Length(s) do
|
||||
begin
|
||||
x := Ord(s[i]);
|
||||
b := b * 256 + x;
|
||||
a := a + 8;
|
||||
while (a >= 6) do
|
||||
begin
|
||||
a := a - 6;
|
||||
x := b div (1 shl a);
|
||||
b := b mod (1 shl a);
|
||||
Result := Result + copy(Codes64,x + 1,1);
|
||||
end;
|
||||
end;
|
||||
if a > 0 then
|
||||
begin
|
||||
x := b shl (6 - a);
|
||||
Result := Result + copy(Codes64,x + 1,1);
|
||||
end;
|
||||
a := Length(Result) mod 4;
|
||||
if a = 2 then
|
||||
Result := Result + '=='
|
||||
else if a = 3 then
|
||||
Result := Result + '=';
|
||||
|
||||
end;
|
||||
|
||||
function Decode64(S: AnsiString): AnsiString;
|
||||
var
|
||||
i: Integer;
|
||||
a: Integer;
|
||||
x: Integer;
|
||||
b: Integer;
|
||||
begin
|
||||
Result := '';
|
||||
a := 0;
|
||||
b := 0;
|
||||
for i := 1 to Length(s) do
|
||||
begin
|
||||
x := Pos(s[i], codes64) - 1;
|
||||
if x >= 0 then
|
||||
begin
|
||||
b := b * 64 + x;
|
||||
a := a + 6;
|
||||
if a >= 8 then
|
||||
begin
|
||||
a := a - 8;
|
||||
x := b shr a;
|
||||
b := b mod (1 shl a);
|
||||
x := x mod 256;
|
||||
Result := Result + chr(x);
|
||||
end;
|
||||
end
|
||||
else
|
||||
Exit; // finish at unknown
|
||||
end;
|
||||
end;
|
Before Width: | Height: | Size: 68 KiB |
|
@ -1,33 +0,0 @@
|
|||
// Licensed under Creative Commons Attribution-ShareAlike 3.0 Unported
|
||||
// Source: http://stackoverflow.com/questions/1347083/how-to-generate-a-new-guid-in-inno-setup
|
||||
|
||||
function CoCreateGuid(var Guid:TGuid):integer;
|
||||
external 'CoCreateGuid@ole32.dll stdcall';
|
||||
|
||||
function inttohex(l:longword; digits:integer):string;
|
||||
var hexchars:string;
|
||||
begin
|
||||
hexchars:='0123456789ABCDEF';
|
||||
setlength(result,digits);
|
||||
while (digits>0) do begin
|
||||
result[digits]:=hexchars[l mod 16+1];
|
||||
l:=l div 16;
|
||||
digits:=digits-1;
|
||||
end;
|
||||
end;
|
||||
|
||||
function GetGuid(dummy:string):string;
|
||||
var Guid:TGuid;
|
||||
begin
|
||||
if CoCreateGuid(Guid)=0 then begin
|
||||
result:='{'+IntToHex(Guid.D1,8)+'-'+
|
||||
IntToHex(Guid.D2,4)+'-'+
|
||||
IntToHex(Guid.D3,4)+'-'+
|
||||
IntToHex(Guid.D4[0],2)+IntToHex(Guid.D4[1],2)+'-'+
|
||||
IntToHex(Guid.D4[2],2)+IntToHex(Guid.D4[3],2)+
|
||||
IntToHex(Guid.D4[4],2)+IntToHex(Guid.D4[5],2)+
|
||||
IntToHex(Guid.D4[6],2)+IntToHex(Guid.D4[7],2)+
|
||||
'}';
|
||||
end else
|
||||
result:='{00000000-0000-0000-0000-000000000000}';
|
||||
end;
|