diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-07-09 17:09:26 -0700 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-07-12 09:38:01 +0000 |
commit | 73abc60f00f2d48b39cf9e938ad85527e5efbdfc (patch) | |
tree | 11ebf7eeb01b1ee17071b5ab7f9c269d6290505b /docker | |
parent | a216557fe2cdab15e4c4fbc76be0ddcd13ed8086 (diff) |
Add a Dockerfile to create a Debian Linux dev environment for Qbs
This patch includes a Dockerfile that can be used to create a
Docker machine image suitable for Qbs development and for creating
Qbs release packages.
The image produced by this Dockerfile has been uploaded to Docker
Hub as qbsbuild/qbsdev:stretch. Developers can either build
the Docker image manually using `docker build` (which takes longer)
or download the prebuilt image from Docker Hub using `docker pull`.
Change-Id: I058c1c91a4a1bd075604d476467fd4de4be00807
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'docker')
-rw-r--r-- | docker/stretch/Dockerfile | 27 | ||||
-rw-r--r-- | docker/stretch/qtifwsilent.qs | 47 |
2 files changed, 74 insertions, 0 deletions
diff --git a/docker/stretch/Dockerfile b/docker/stretch/Dockerfile new file mode 100644 index 000000000..904591fce --- /dev/null +++ b/docker/stretch/Dockerfile @@ -0,0 +1,27 @@ +FROM debian:9 +LABEL Description="Debian development environment for Qbs with Qt 5.9 and various dependencies for testing Qbs modules and functionality" + +# Dependencies of the Qt offline installer +RUN apt-get -y update && apt-get install -y \ + curl \ + libdbus-1-3 \ + libexpat1 \ + libfontconfig1 \ + libfreetype6 \ + libgl1-mesa-glx \ + libglib2.0-0 \ + libx11-6 \ + libx11-xcb1 + +COPY qtifwsilent.qs qtifwsilent.qs +RUN curl -L -O 'https://download.qt.io/official_releases/qt/5.9/5.9.1/qt-opensource-linux-x64-5.9.1.run' && \ + chmod +x qt-opensource-linux-x64-5.9.1.run && \ + QT_INSTALL_DIR=/usr/local/Qt ./qt-opensource-linux-x64-5.9.1.run --platform minimal --script qtifwsilent.qs && \ + rm -f qt-opensource-linux-x64-5.9.1.run +ENV QTDIR /usr/local/Qt/5.9.1/gcc_64 +ENV PATH="/usr/local/Qt/Tools/QtCreator/bin:${PATH}" + +RUN apt-get -y update && apt-get install -y \ + g++ \ + gcc \ + git diff --git a/docker/stretch/qtifwsilent.qs b/docker/stretch/qtifwsilent.qs new file mode 100644 index 000000000..6b087ccde --- /dev/null +++ b/docker/stretch/qtifwsilent.qs @@ -0,0 +1,47 @@ +function Controller() { + installer.autoRejectMessageBoxes(); + installer.installationFinished.connect(function() { + gui.clickButton(buttons.NextButton); + }) +} + +Controller.prototype.WelcomePageCallback = function() { + gui.clickButton(buttons.NextButton); +} + +Controller.prototype.CredentialsPageCallback = function() { + gui.clickButton(buttons.NextButton); +} + +Controller.prototype.IntroductionPageCallback = function() { + gui.clickButton(buttons.NextButton); +} + +Controller.prototype.TargetDirectoryPageCallback = function() { + gui.currentPageWidget().TargetDirectoryLineEdit.setText(installer.environmentVariable("QT_INSTALL_DIR")); + gui.clickButton(buttons.NextButton); +} + +Controller.prototype.ComponentSelectionPageCallback = function() { + gui.clickButton(buttons.NextButton); +} + +Controller.prototype.LicenseAgreementPageCallback = function() { + gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true); + gui.clickButton(buttons.NextButton); +} + +Controller.prototype.StartMenuDirectoryPageCallback = function() { + gui.clickButton(buttons.NextButton); +} + +Controller.prototype.ReadyForInstallationPageCallback = function() { + gui.clickButton(buttons.NextButton); +} + +Controller.prototype.FinishedPageCallback = function() { + var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm; + if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) + checkBoxForm.launchQtCreatorCheckBox.checked = false; + gui.clickButton(buttons.FinishButton); +} |