mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-01 11:26:04 +08:00
Install python3 on all platforms
Python3 is required in 5.6 by pyside-setup. Task-number: QTAUTO-345 Change-Id: If11ca425fa08cce8a518710ded0a6ec58159343d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commita5f3f8ed48) (cherry picked from commita765838889) (cherry picked from commit1859f9b26c)
This commit is contained in:
committed by
Simon Hausmann
parent
39b3764a5a
commit
a99d3432f7
104
coin/provisioning/common/InstallPKGFromURL.sh
Normal file
104
coin/provisioning/common/InstallPKGFromURL.sh
Normal file
@@ -0,0 +1,104 @@
|
||||
#!/bin/bash
|
||||
|
||||
#############################################################################
|
||||
##
|
||||
## Copyright (C) 2017 The Qt Company Ltd.
|
||||
## 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$
|
||||
##
|
||||
#############################################################################
|
||||
|
||||
# shellcheck source=try_catch.sh
|
||||
source "${BASH_SOURCE%/*}/try_catch.sh"
|
||||
|
||||
ExceptionCreateTmpFile=100
|
||||
ExceptionDownloadPrimaryUrl=101
|
||||
ExceptionDownloadAltUrl=102
|
||||
ExceptionSHA1=103
|
||||
ExceptionInstallerPKG=104
|
||||
ExceptionDeleteTmpFile=105
|
||||
|
||||
|
||||
function InstallPKGFromURL {
|
||||
url=$1
|
||||
url_alt=$2
|
||||
expectedSha1=$3
|
||||
targetDirectory=$4
|
||||
|
||||
try
|
||||
(
|
||||
echo "Creating temporary file"
|
||||
targetFile=$(mktemp "$TMPDIR$(uuidgen).pkg") || trow $ExceptionCreateTmpFile
|
||||
try
|
||||
(
|
||||
echo "Downloading PKG from primary URL '$url'"
|
||||
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadPrimaryUrl
|
||||
)
|
||||
catch || {
|
||||
case $ex_code in
|
||||
$ExceptionDownloadPrimaryUrl)
|
||||
echo "Failed to download '$url' multiple times"
|
||||
echo "Downloading PKG from alternative URL '$url_alt'"
|
||||
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || throw $ExceptionDownloadAltUrl
|
||||
;;
|
||||
esac
|
||||
}
|
||||
echo "Checking SHA1 on PKG '$targetFile'"
|
||||
echo "$expectedSha1 *$targetFile" > $targetFile.sha1
|
||||
/usr/bin/shasum --check $targetFile.sha1 || throw $ExceptionSHA1
|
||||
echo "Run installer on PKG"
|
||||
sudo installer -package "$targetFile" -target "$targetDirectory" || throw $ExceptionInstallerPKG
|
||||
echo "Removing file '$targetFile'"
|
||||
rm "$targetFile" || throw $ExceptionDeleteTmpFile
|
||||
)
|
||||
|
||||
catch || {
|
||||
case $ex_code in
|
||||
$ExceptionCreateTmpFile)
|
||||
echo "Failed to create temporary file"
|
||||
exit 1;
|
||||
;;
|
||||
$ExceptionDownloadAltUrl)
|
||||
echo "Failed downloading PKG from primary and alternative URLs"
|
||||
exit 1;
|
||||
;;
|
||||
$ExceptionSHA1)
|
||||
echo "Failed to check sha1sum."
|
||||
exit 1;
|
||||
;;
|
||||
$ExceptionInstallerPKG)
|
||||
echo "Failed running installer on PKG."
|
||||
exit 1;
|
||||
;;
|
||||
$ExceptionDeleteTmpFile)
|
||||
echo "Failed deleting temporary file."
|
||||
exit 1;
|
||||
;;
|
||||
esac
|
||||
}
|
||||
}
|
||||
70
coin/provisioning/common/python3.ps1
Normal file
70
coin/provisioning/common/python3.ps1
Normal file
@@ -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"
|
||||
52
coin/provisioning/common/python3.sh
Executable file
52
coin/provisioning/common/python3.sh
Executable file
@@ -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
|
||||
64
coin/provisioning/common/vc_redist.ps1
Normal file
64
coin/provisioning/common/vc_redist.ps1
Normal file
@@ -0,0 +1,64 @@
|
||||
#############################################################################
|
||||
##
|
||||
## 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 Visual C++ Redistributable for Visual Studio 2015
|
||||
# This is a dependency of the current python3 version
|
||||
|
||||
# check bit version
|
||||
if ( $archVer -eq 64 ) {
|
||||
echo "Running in 64 bit system"
|
||||
$arch = "x64"
|
||||
$externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe"
|
||||
$internalUrl = "http://ci-files01-hki.ci.local/input/windows/vc_redist.x64.exe"
|
||||
$sha1 = "3155cb0f146b927fcc30647c1a904cd162548c8c"
|
||||
}
|
||||
else {
|
||||
$arch = "x86"
|
||||
$externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe"
|
||||
$internalUrl = "http://ci-files01-hki.ci.local/input/windows/vc_redist.x86.exe"
|
||||
$sha1 = "bfb74e498c44d3a103ca3aa2831763fb417134d1"
|
||||
}
|
||||
|
||||
$package = "C:\Windows\temp\vc_redist.$arch.exe"
|
||||
|
||||
echo "Fetching from URL..."
|
||||
Download $externalUrl $internalUrl $package
|
||||
Verify-Checksum $package $sha1
|
||||
echo "Installing $package..."
|
||||
cmd /c "$package /q"
|
||||
echo "Remove $package..."
|
||||
del $package
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
1
coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh
Normal file
1
coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh
Normal file
@@ -0,0 +1 @@
|
||||
source "${BASH_SOURCE%/*}/../common/python3.sh"
|
||||
1
coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh
Normal file
1
coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh
Normal file
@@ -0,0 +1 @@
|
||||
source "${BASH_SOURCE%/*}/../common/python3.sh"
|
||||
1
coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh
Normal file
1
coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh
Normal file
@@ -0,0 +1 @@
|
||||
source "${BASH_SOURCE%/*}/../common/python3.sh"
|
||||
1
coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh
Normal file
1
coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh
Normal file
@@ -0,0 +1 @@
|
||||
source "${BASH_SOURCE%/*}/../common/python3.sh"
|
||||
1
coin/provisioning/qtci-windows-10-x86/python3.ps1
Normal file
1
coin/provisioning/qtci-windows-10-x86/python3.ps1
Normal file
@@ -0,0 +1 @@
|
||||
. "$PSScriptRoot\..\common\python3.ps1" 32
|
||||
1
coin/provisioning/qtci-windows-10-x86_64/python3.ps1
Normal file
1
coin/provisioning/qtci-windows-10-x86_64/python3.ps1
Normal file
@@ -0,0 +1 @@
|
||||
. "$PSScriptRoot\..\common\python3.ps1" 64
|
||||
1
coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps1
Normal file
1
coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps1
Normal file
@@ -0,0 +1 @@
|
||||
. "$PSScriptRoot\..\common\vc_redist.ps1" 32
|
||||
1
coin/provisioning/qtci-windows-7-x86/python3.ps1
Normal file
1
coin/provisioning/qtci-windows-7-x86/python3.ps1
Normal file
@@ -0,0 +1 @@
|
||||
. "$PSScriptRoot\..\common\python3.ps1" 32
|
||||
1
coin/provisioning/qtci-windows-8-x86/07-vc_redist.ps1
Normal file
1
coin/provisioning/qtci-windows-8-x86/07-vc_redist.ps1
Normal file
@@ -0,0 +1 @@
|
||||
. "$PSScriptRoot\..\common\vc_redist.ps1" 32
|
||||
1
coin/provisioning/qtci-windows-8-x86/python3.ps1
Normal file
1
coin/provisioning/qtci-windows-8-x86/python3.ps1
Normal file
@@ -0,0 +1 @@
|
||||
. "$PSScriptRoot\..\common\python3.ps1" 32
|
||||
1
coin/provisioning/qtci-windows-8-x86_64/07-vc_redist.ps1
Normal file
1
coin/provisioning/qtci-windows-8-x86_64/07-vc_redist.ps1
Normal file
@@ -0,0 +1 @@
|
||||
. "$PSScriptRoot\..\common\vc_redist.ps1" 64
|
||||
1
coin/provisioning/qtci-windows-8-x86_64/python3.ps1
Normal file
1
coin/provisioning/qtci-windows-8-x86_64/python3.ps1
Normal file
@@ -0,0 +1 @@
|
||||
. "$PSScriptRoot\..\common\python3.ps1" 64
|
||||
Reference in New Issue
Block a user