From a5f3f8ed482d314d092e1a6ddc5568839bb59c74 Mon Sep 17 00:00:00 2001 From: Dominik Holland Date: Tue, 2 May 2017 11:34:30 +0200 Subject: Install python3 on all platforms Task-number: QTAUTO-345 Change-Id: If11ca425fa08cce8a518710ded0a6ec58159343d Reviewed-by: Simon Hausmann --- coin/provisioning/common/InstallPKGFromURL.sh | 2 +- coin/provisioning/common/python3.ps1 | 70 ++++++++++++++++++++++ coin/provisioning/common/python3.sh | 52 ++++++++++++++++ .../qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh | 14 +++++ .../qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh | 15 ++++- .../qtci-linux-Ubuntu-14.04-x86_64/08-pythondev.sh | 4 +- .../qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh | 2 + .../08-pythondev.sh | 8 +++ .../qtci-macos-10.12-x86_64/025-python3.sh | 1 + .../qtci-osx-10.10-x86_64/025-python3.sh | 1 + .../qtci-osx-10.11-x86_64/025-python3.sh | 1 + .../qtci-osx-10.8-x86_64/025-python3.sh | 1 + .../qtci-osx-10.9-x86_64/025-python3.sh | 1 + coin/provisioning/qtci-windows-10-x86/python3.ps1 | 1 + .../qtci-windows-10-x86_64/python3.ps1 | 1 + coin/provisioning/qtci-windows-7-x86/python3.ps1 | 1 + coin/provisioning/qtci-windows-8-x86/python3.ps1 | 1 + .../provisioning/qtci-windows-8-x86_64/python3.ps1 | 1 + 18 files changed, 174 insertions(+), 3 deletions(-) create mode 100644 coin/provisioning/common/python3.ps1 create mode 100755 coin/provisioning/common/python3.sh create mode 100644 coin/provisioning/qtci-linux-openSUSE-42.1-x86_64/08-pythondev.sh create mode 100644 coin/provisioning/qtci-macos-10.12-x86_64/025-python3.sh create mode 100644 coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh create mode 100644 coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh create mode 100644 coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh create mode 100644 coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh create mode 100644 coin/provisioning/qtci-windows-10-x86/python3.ps1 create mode 100644 coin/provisioning/qtci-windows-10-x86_64/python3.ps1 create mode 100644 coin/provisioning/qtci-windows-7-x86/python3.ps1 create mode 100644 coin/provisioning/qtci-windows-8-x86/python3.ps1 create mode 100644 coin/provisioning/qtci-windows-8-x86_64/python3.ps1 (limited to 'coin') diff --git a/coin/provisioning/common/InstallPKGFromURL.sh b/coin/provisioning/common/InstallPKGFromURL.sh index 07f23d62..bd916cec 100644 --- a/coin/provisioning/common/InstallPKGFromURL.sh +++ b/coin/provisioning/common/InstallPKGFromURL.sh @@ -69,7 +69,7 @@ function InstallPKGFromURL { esac } echo "Checking SHA1 on PKG '$targetFile'" - echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1 + echo "$expectedSha1 *$targetFile" | /usr/bin/shasum --check || throw $ExceptionSHA1 echo "Run installer on PKG" sudo installer -package "$targetFile" -target "$targetDirectory" || throw $ExceptionInstallerPKG echo "Removing file '$targetFile'" diff --git a/coin/provisioning/common/python3.ps1 b/coin/provisioning/common/python3.ps1 new file mode 100644 index 00000000..3c565874 --- /dev/null +++ b/coin/provisioning/common/python3.ps1 @@ -0,0 +1,70 @@ +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2017 Pelagicore AG +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +param([Int32]$archVer=32) +. "$PSScriptRoot\helpers.ps1" + +# This script installs Python $version. +# Python3 is required for building some qt modules. + +$version = "3.6.1" +$package = "C:\Windows\temp\python-$version.exe" +$install_path = "C:\Python36" + +# check bit version +if ( $archVer -eq 64 ) { + echo "Running in 64 bit system" + $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe" + $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version-amd64.exe" + $sha1 = "bf54252c4065b20f4a111cc39cf5215fb1edccff" +} +else { + $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe" + $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.exe" + $sha1 = "76c50b747237a0974126dd8b32ea036dd77b2ad1" +} + +echo "Fetching from URL..." +Download $externalUrl $internalUrl $package +Verify-Checksum $package $sha1 +echo "Installing $package..." +cmd /c "$package /q TargetDir=$install_path" +echo "Remove $package..." +del $package + +[Environment]::SetEnvironmentVariable("PYTHON3_PATH", "$install_path", [EnvironmentVariableTarget]::Machine) +[Environment]::SetEnvironmentVariable("PIP3_PATH", "$install_path\Scripts", [EnvironmentVariableTarget]::Machine) + +# Install python virtual env +cmd /c "$install_path\Scripts\pip3.exe install virtualenv" diff --git a/coin/provisioning/common/python3.sh b/coin/provisioning/common/python3.sh new file mode 100755 index 00000000..56e82386 --- /dev/null +++ b/coin/provisioning/common/python3.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2017 Pelagicore AG +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs python3 + +source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/python-3.6.1-macosx10.6.pkg" +AltUrl="https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg" +SHA1="ae0c749544c2d573c3cc29c4c2d7d9a595db28f9" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" + +/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv + +echo "export PYTHON3_PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin" >> ~/.bashrc +echo "export PIP3_PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin" >> ~/.bashrc +echo "python3 = 3.6.1" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh index b419f217..0003127a 100644 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh @@ -2,3 +2,17 @@ # version: provided by default Linux distribution repository # needed to build pyside sudo yum install -y python-devel python-virtualenv + +# install the EPEL repository which provides python3 +wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm +sudo rpm -Uvh epel-release-latest-6.noarch.rpm +sudo rm -f epel-release-latest-6.noarch.rpm + +# install python3 +sudo yum install -y python34-devel + +# install pip3 +wget https://bootstrap.pypa.io/get-pip.py +sudo python3 get-pip.py +sudo rm -f get-pip.py +sudo pip3 install virtualenv diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh index ad1bf18f..ff25f463 100644 --- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh @@ -1,5 +1,18 @@ # provides: python development libraries # version: provided by default Linux distribution repository # needed to build pyside -sudo subscription-manager refresh sudo yum install -y python-devel python-virtualenv + +# install the EPEL repository which provides python3 +wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm +sudo rpm -Uvh epel-release-latest-7.noarch.rpm +sudo rm -f epel-release-latest-7.noarch.rpm + +# install python3 +sudo yum install -y python34-devel + +# install pip3 +wget https://bootstrap.pypa.io/get-pip.py +sudo python3 get-pip.py +sudo rm -f get-pip.py +sudo pip3 install virtualenv diff --git a/coin/provisioning/qtci-linux-Ubuntu-14.04-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-Ubuntu-14.04-x86_64/08-pythondev.sh index 205f598b..d4cd60e8 100644 --- a/coin/provisioning/qtci-linux-Ubuntu-14.04-x86_64/08-pythondev.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-14.04-x86_64/08-pythondev.sh @@ -3,4 +3,6 @@ # needed to build pyside sudo apt-get update -sudo apt-get install -y python-dev +sudo apt-get install -y python-dev python3-dev python3-pip + +sudo pip3 install virtualenv diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh index 8b28c981..5cd9a77d 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh @@ -82,6 +82,8 @@ try sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev || throw $ExceptionAPT # Support for cross-building to x86 (needed by WebEngine boot2qt builds) sudo DEBIAN_FRONTEND=noninteractive apt -q -y install g++-multilib || throw $ExceptionAPT + # python3 development package + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install python3-dev python3-pip python3-virtualenv || throw $ExceptionAPT ) catch || { case $ex_code in diff --git a/coin/provisioning/qtci-linux-openSUSE-42.1-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-42.1-x86_64/08-pythondev.sh new file mode 100644 index 00000000..254b738d --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-42.1-x86_64/08-pythondev.sh @@ -0,0 +1,8 @@ +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside +sudo pkcon -y refresh +sudo pkcon -y install python-devel python-virtualenv + +# install python3 +sudo pkcon -y install python3 python3-pip python3-virtualenv diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/025-python3.sh b/coin/provisioning/qtci-macos-10.12-x86_64/025-python3.sh new file mode 100644 index 00000000..cd4e3fd9 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/025-python3.sh @@ -0,0 +1 @@ +source "${BASH_SOURCE%/*}/../common/python3.sh" diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh b/coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh new file mode 100644 index 00000000..cd4e3fd9 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh @@ -0,0 +1 @@ +source "${BASH_SOURCE%/*}/../common/python3.sh" diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh new file mode 100644 index 00000000..cd4e3fd9 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh @@ -0,0 +1 @@ +source "${BASH_SOURCE%/*}/../common/python3.sh" diff --git a/coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh b/coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh new file mode 100644 index 00000000..cd4e3fd9 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh @@ -0,0 +1 @@ +source "${BASH_SOURCE%/*}/../common/python3.sh" diff --git a/coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh b/coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh new file mode 100644 index 00000000..cd4e3fd9 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh @@ -0,0 +1 @@ +source "${BASH_SOURCE%/*}/../common/python3.sh" diff --git a/coin/provisioning/qtci-windows-10-x86/python3.ps1 b/coin/provisioning/qtci-windows-10-x86/python3.ps1 new file mode 100644 index 00000000..164fbe43 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/python3.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python3.ps1" 32 diff --git a/coin/provisioning/qtci-windows-10-x86_64/python3.ps1 b/coin/provisioning/qtci-windows-10-x86_64/python3.ps1 new file mode 100644 index 00000000..b0c21996 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/python3.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python3.ps1" 64 diff --git a/coin/provisioning/qtci-windows-7-x86/python3.ps1 b/coin/provisioning/qtci-windows-7-x86/python3.ps1 new file mode 100644 index 00000000..164fbe43 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/python3.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python3.ps1" 32 diff --git a/coin/provisioning/qtci-windows-8-x86/python3.ps1 b/coin/provisioning/qtci-windows-8-x86/python3.ps1 new file mode 100644 index 00000000..164fbe43 --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86/python3.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python3.ps1" 32 diff --git a/coin/provisioning/qtci-windows-8-x86_64/python3.ps1 b/coin/provisioning/qtci-windows-8-x86_64/python3.ps1 new file mode 100644 index 00000000..b0c21996 --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86_64/python3.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python3.ps1" 64 -- cgit v1.2.3