diff options
Diffstat (limited to 'coin')
64 files changed, 1363 insertions, 213 deletions
diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt index a5dc5d4a..1116680f 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -11,15 +11,15 @@ qtci-linux-Ubuntu-16.04-x86_64-2 GCC qtci-linux-Ubuntu-16.04-x86_64-2 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation qtci-linux-openSUSE-42.3-x86_64 GCC DeveloperBuild NoPch qtci-linux-openSUSE-42.3-x86_64 ICC_18 DeveloperBuild NoPch DisableTests SystemSQLite -qtci-linux-RHEL-6.6-x86_64 GCC Release ForceDebugInfo qtci-linux-RHEL-7.4-x86_64 GCC Packaging Release NoUseGoldLinker ForceDebugInfo SeparateDebugInfo qtci-macos-10.12-x86_64-8 Clang Packaging DebugAndRelease Release +qtci-macos-10.13-x86_64 Clang DebugAndRelease Release DisableTests qtci-osx-10.11-x86_64-3 Clang DeveloperBuild Release QtNamespace NoPch qtci-osx-10.11-x86_64-3 Clang Release NoFramework DisableTests qtci-macos-10.12-x86_64-8 IOS_ANY multi Clang Release DisableTests Static qtci-macos-10.12-x86_64-8 TvOS_ANY multi Clang Release DisableTests qtci-macos-10.12-x86_64-8 WatchOS_ANY multi Clang Release DisableTests -qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker qtci-linux-Ubuntu-16.04-x86_64-2 QEMU armv7 GCC Release qtci-linux-Ubuntu-16.04-x86_64-2 QEMU arm64 GCC Release qtci-linux-Ubuntu-16.04-x86_64-2 GCC TestOnly LicenseCheck diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt index 72ec9b61..5e0e6657 100644 --- a/coin/platform_configs/qt5.txt +++ b/coin/platform_configs/qt5.txt @@ -7,11 +7,11 @@ qtci-windows-7-x86-3 Mingw53 Packagin qtci-windows-10-x86_64-10 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker qtci-windows-7-x86-3 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2 qtci-windows-7-x86-3 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2 -qtci-macos-10.12-x86_64-8 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 -qtci-macos-10.12-x86_64-8 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 +qtci-macos-10.12-x86_64-8 Android_ANY armv7 Clang Packaging Release DisableTests OpenGLES2 +qtci-macos-10.12-x86_64-8 Android_ANY x86 Clang Packaging Release DisableTests OpenGLES2 qtci-macos-10.12-x86_64-8 QNX_700 x86 GCC Release DisableTests OpenGLES2 NoUseGoldLinker qtci-macos-10.12-x86_64-8 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static qtci-macos-10.12-x86_64-8 TvOS_ANY multi Clang DebugAndRelease DisableTests diff --git a/coin/platform_configs/qtbase.txt b/coin/platform_configs/qtbase.txt index ee4f4e66..0c619ed1 100644 --- a/coin/platform_configs/qtbase.txt +++ b/coin/platform_configs/qtbase.txt @@ -2,3 +2,4 @@ Template Target OS Target arch Compiler Fe --------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- qtci-linux-Ubuntu-16.04-x86_64-2 QEMU armv7 GCC DeveloperBuild DisableTests qtci-linux-Ubuntu-16.04-x86_64-2 QEMU arm64 GCC DeveloperBuild DisableTests +qtci-windows-10-x86_64-10 WinRT_10 x86_64 MSVC2015 DeveloperBuild Static Release ForceDebugInfo diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 68e77dd1..7bcdbdce 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -51,13 +51,13 @@ basePath="http://ci-files01-hki.intra.qt.io/input/android" toolsVersion="r25.2.5" toolsFile="tools_$toolsVersion-linux.zip" -ndkVersion="r10e" +ndkVersion="r16b" ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip" sdkBuildToolsVersion="25.0.2" sdkApiLevel="android-21" toolsSha1="72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1" -ndkSha1="f692681b007071103277f6edc6f91cb5c5494a32" +ndkSha1="42aa43aae89a50d1c66c3f9fdecd676936da6128" toolsTargetFile="/tmp/$toolsFile" toolsSourceFile="$basePath/$toolsFile" diff --git a/coin/provisioning/common/linux/open62541.sh b/coin/provisioning/common/linux/open62541.sh index 97a76886..dfa4ee02 100755 --- a/coin/provisioning/common/linux/open62541.sh +++ b/coin/provisioning/common/linux/open62541.sh @@ -62,12 +62,12 @@ cd open62541 git checkout 8845e493d7751fd4eee3917b540e5346646b9cf7 mkdir build cd build -cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DLIB_INSTALL_DIR:PATH=/usr/local/lib/open62541 .. +TARGETPATH=/opt/open62541 +cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH="$TARGETPATH" .. make sudo make install sudo /sbin/ldconfig -SetEnvVar "QTOPCUA_OPEN62541_LIB_PATH" "/usr/local/lib/open62541" -SetEnvVar "QTOPCUA_OPEN62541_INCLUDE_PATH" "/usr/local/include/open62541" +SetEnvVar "CI_OPEN62541_GCC_X64_PREFIX" "$TARGETPATH" diff --git a/coin/provisioning/common/linux/testserver/apache2/Dockerfile b/coin/provisioning/common/linux/testserver/apache2/Dockerfile new file mode 100644 index 00000000..bb2dc850 --- /dev/null +++ b/coin/provisioning/common/linux/testserver/apache2/Dockerfile @@ -0,0 +1,6 @@ +FROM ubuntu:16.04 +RUN apt-get update && apt-get install -y apache2 libcgi-session-perl wget avahi-daemon +EXPOSE 80 443 + +# install configurations and test data +RUN wget https://tools.ietf.org/rfc/rfc3252.txt diff --git a/coin/provisioning/common/linux/testserver/danted/Dockerfile b/coin/provisioning/common/linux/testserver/danted/Dockerfile new file mode 100644 index 00000000..eb2ac6ff --- /dev/null +++ b/coin/provisioning/common/linux/testserver/danted/Dockerfile @@ -0,0 +1,9 @@ +FROM ubuntu:16.04 +RUN apt-get update && apt-get install -y gdebi-core=0.9.5.7ubuntu1 wget avahi-daemon +RUN wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb +RUN gdebi -n dante-server_1.4.1-1_amd64.deb +EXPOSE 1080-1081 + +# install configurations and test data +COPY danted /etc/init.d/ +COPY danted-authenticating /etc/init.d/ diff --git a/coin/provisioning/common/linux/testserver/danted/danted b/coin/provisioning/common/linux/testserver/danted/danted new file mode 100755 index 00000000..1da8203e --- /dev/null +++ b/coin/provisioning/common/linux/testserver/danted/danted @@ -0,0 +1,93 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: danted +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: SOCKS (v4 and v5) proxy daemon (danted) +### END INIT INFO +# +# dante SOCKS server init.d file. Based on /etc/init.d/skeleton: +# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/danted +NAME=danted +DESC="Dante SOCKS daemon" +PIDFILE=/var/run/$NAME.pid +CONFFILE=/etc/$NAME.conf + +test -f $DAEMON || exit 0 + +set -e + +# This function makes sure that the Dante server can write to the pid-file. +touch_pidfile () +{ + if [ -r $CONFFILE ]; then + uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' \ + $CONFFILE`" + if [ -n "$uid" ]; then + touch $PIDFILE + chown $uid $PIDFILE + fi + fi +} + +. /lib/lsb/init-functions + +case "$1" in + start) + if ! egrep -cve '^ *(#|$)' \ + -e '^(logoutput|user\.((not)?privileged|libwrap)):' $CONFFILE > /dev/null + then + echo "Not starting $DESC: not configured." + exit 0 + fi + echo -n "Starting $DESC: " + touch_pidfile + start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON -- -D + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON + echo "$NAME." + ;; + reload|force-reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + echo "Reloading $DESC configuration files." + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --exec $DAEMON -- -D + ;; + restart) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart". + # + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON + sleep 1 + touch_pidfile + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- -D + echo "$NAME." + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/coin/provisioning/common/linux/testserver/danted/danted-authenticating b/coin/provisioning/common/linux/testserver/danted/danted-authenticating new file mode 100755 index 00000000..7aa35db6 --- /dev/null +++ b/coin/provisioning/common/linux/testserver/danted/danted-authenticating @@ -0,0 +1,97 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: danted-authenticating +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: SOCKS (v4 and v5) proxy daemon (danted) +### END INIT INFO +# +# dante SOCKS server init.d file. Based on /etc/init.d/skeleton: +# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/danted +NAME=danted-authenticating +DESC="Dante SOCKS daemon" +PIDFILE=/var/run/$NAME.pid +CONFFILE=/etc/$NAME.conf +DANTED_ARGS="-D -f $CONFFILE" + +test -f $DAEMON || exit 0 + +set -e + +# This function makes sure that the Dante server can write to the pid-file. +touch_pidfile () +{ + if [ -r $CONFFILE ]; then + uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' \ + $CONFFILE`" + if [ -n "$uid" ]; then + touch $PIDFILE + chown $uid $PIDFILE + fi + fi +} + +. /lib/lsb/init-functions + +case "$1" in + start) + if ! egrep -cve '^ *(#|$)' \ + -e '^(logoutput|user\.((not)?privileged|libwrap)):' $CONFFILE > /dev/null + then + echo "Not starting $DESC: not configured." + exit 0 + fi + echo -n "Starting $DESC: " + touch_pidfile + start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \ + --exec $DAEMON -- $DANTED_ARGS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON + echo "$NAME." + ;; + reload|force-reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + echo "Reloading $DESC configuration files." + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- $DANTED_ARGS + ;; + restart) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart". + # + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON + sleep 1 + touch_pidfile + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- $DANTED_ARGS + echo "$NAME." + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/coin/provisioning/common/linux/testserver/docker_testserver.sh b/coin/provisioning/common/linux/testserver/docker_testserver.sh new file mode 100755 index 00000000..a88e89b9 --- /dev/null +++ b/coin/provisioning/common/linux/testserver/docker_testserver.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env 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$ +## +############################################################################# + +set -ex + +# Using SHA-1 of each server context as the tag of docker images. A tag labels a +# specific image version. It is used by docker compose file (docker-compose.yml) +# to launch the corresponding docker containers. If one of the server contexts +# (./apache2, ./danted, ...) gets changes, all the related compose files in +# qtbase should be updated as well. +# +# For example, here's how to get the SHA-1 of apache test server. +# find ./apache2 -type f -print0 | sort -z | xargs -r0 sha1sum | \ +# awk '{ print $1 }' | sha1sum | awk '{ print $1 }' + +testserver='apache2 squid vsftpd ftp-proxy danted' + +for server in $testserver +do + context="${BASH_SOURCE%/*}/$server" + sha1=$(find $context -type f -print0 | sort -z | xargs -r0 sha1sum | awk '{ print $1 }' | \ + sha1sum | awk '{ print $1 }') + sudo docker build -t qt-test-server-$server:$sha1 $context +done + +sudo docker images diff --git a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile new file mode 100644 index 00000000..cecb2dca --- /dev/null +++ b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile @@ -0,0 +1,3 @@ +FROM ubuntu:16.04 +RUN apt-get update && apt-get install -y ftp-proxy=1.9.2.4-10 avahi-daemon +EXPOSE 2121 diff --git a/coin/provisioning/common/linux/testserver/squid/Dockerfile b/coin/provisioning/common/linux/testserver/squid/Dockerfile new file mode 100644 index 00000000..0b930bca --- /dev/null +++ b/coin/provisioning/common/linux/testserver/squid/Dockerfile @@ -0,0 +1,3 @@ +FROM ubuntu:16.04 +RUN apt-get update && apt-get install -y squid=3.5.12-1ubuntu7.5 avahi-daemon +EXPOSE 3128-3130 diff --git a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile new file mode 100644 index 00000000..f8e32d40 --- /dev/null +++ b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile @@ -0,0 +1,6 @@ +FROM ubuntu:16.04 +RUN apt-get update && apt-get install -y vsftpd=3.0.3-3ubuntu2 ftp=0.17-33 wget avahi-daemon +EXPOSE 20-21 + +# install configurations and test data +RUN wget https://tools.ietf.org/rfc/rfc3252.txt diff --git a/coin/provisioning/common/macos/cmake.sh b/coin/provisioning/common/macos/cmake.sh index f926de89..e22425b7 100755 --- a/coin/provisioning/common/macos/cmake.sh +++ b/coin/provisioning/common/macos/cmake.sh @@ -42,13 +42,13 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/cmake-3.6.2-Darwin-x86_64.tar.gz" -AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz" -SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e" -appPrefix="cmake-3.6.2-Darwin-x86_64" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/cmake-3.11.3-Darwin-x86_64.tar.gz" +AltUrl="https://cmake.org/files/v3.11/cmake-3.11.3-Darwin-x86_64.tar.gz" +SHA1="3d13de8020ce560159fa5cecb669498c48552d96" +appPrefix="cmake-3.11.3-Darwin-x86_64" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" SetEnvVar "PATH" "/Applications/CMake.app/Contents/bin:\$PATH" -echo "CMake = 3.6.2" >> ~/versions.txt +echo "CMake = 3.11.3" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/install_xcode.sh b/coin/provisioning/common/macos/install_xcode.sh index e569bee5..44f0a648 100755 --- a/coin/provisioning/common/macos/install_xcode.sh +++ b/coin/provisioning/common/macos/install_xcode.sh @@ -49,7 +49,11 @@ function InstallXCode() { version=$2 echo "Uncompressing and installing '$sourceFile'" - xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi) + if [[ $sourceFile =~ tar ]]; then + cd /Applications/ && sudo tar -zxf "$sourceFile" + else + xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi) + fi echo "Accept license" sudo xcodebuild -license accept diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh index 545a6d02..35bccc93 100755 --- a/coin/provisioning/common/macos/python3.sh +++ b/coin/provisioning/common/macos/python3.sh @@ -52,10 +52,14 @@ InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" InstallPip python3.6 -/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv +/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv wheel SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin" SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin" +# Install all needed packages in a special wheel cache directory +/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" + echo "python3 = 3.6.1" >> ~/versions.txt diff --git a/coin/provisioning/common/shared/requirements.txt b/coin/provisioning/common/shared/requirements.txt new file mode 100644 index 00000000..12380d85 --- /dev/null +++ b/coin/provisioning/common/shared/requirements.txt @@ -0,0 +1,19 @@ +# This file holds all python3 packages need for a certain qt module +# When adding new packages here, first add a comment with the name of the module +# Then all the packages. Duplicates are wanted as every module should install +# all packages it needs and shouldn't depend on a package from another module +# +# qtivi +antlr4-python3-runtime==4.7.1 +argh==0.26.2 +click==6.7 +coloredlogs==10.0 +humanfriendly==4.15.1 +Jinja2==2.10 +MarkupSafe==1.0 +path.py==11.0.1 +pathtools==0.1.2 +PyYAML==3.13 +six==1.11.0 +typing==3.6.4 +watchdog==0.8.3 diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index d838fcc8..ccd24cb9 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -53,9 +53,9 @@ Rename-Item C:\Utils\openssl-$version $destination Remove-Item -Path $zip Remove-Item C:\Utils\openssl-$version.tar -Set-EnvironmentVariable "CC" "C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-gcc" -Set-EnvironmentVariable "AR" "C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-ar" -Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\android-ndk-r10e\platforms\android-18\arch-arm\usr" +Set-EnvironmentVariable "CC" "C:\utils\android-ndk-r16b\toolchains\llvm\prebuilt\linux-x86_64\bin\clang" +Set-EnvironmentVariable "AR" "C:\utils\android-ndk-r16b\toolchains\llvm\prebuilt\linux-x86_64\bin\llvm-ar" +Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\android-ndk-r16b\platforms\android-18\arch-arm\usr" # Make sure configure for openssl has a "make" and "perl" available $env:PATH = $env:PATH + ";C:\msys\1.0\bin;C:\strawberry\perl\bin" diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index 9a09e919..f83a8e60 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -40,10 +40,10 @@ # That's why we need to use Andoid-21 API version in Qt 5.9. # NDK -$ndkVersion = "r10e" +$ndkVersion = "r16b" $ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86.zip" $ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86.zip" -$ndkChecksum = "1d0b8f2835be741f3048fb03c0a3e9f71ab7f357" +$ndkChecksum = "becaf3d445a4877ca1a9300a62f0934a4838c7fa" $ndkFolder = "c:\utils\android-ndk-$ndkVersion" $ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 index 6570e107..b0ed74ec 100755..100644 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh +++ b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 @@ -1,8 +1,6 @@ -#!/usr/bin/env bash - ############################################################################# ## -## Copyright (C) 2016 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the test suite of the Qt Toolkit. @@ -33,19 +31,29 @@ ## ############################################################################# -sudo apt-get update -sudo apt-get install -y libboost-dev libboost-thread-dev libboost-system-dev libboost-program-options-dev libboost-filesystem-dev libxml2-dev libboost-regex-dev +. "$PSScriptRoot\helpers.ps1" + +$zip = Get-DownloadLocation "uasdkcpp.zip" +$sha1 = "e1927dbd5d8bb459b468fa70a70b1de51a4ce022" +$installLocation = "C:\Utils\uacpp" + +Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..." +$internalUrl = "http://ci-files01-hki.ci.local/input/opcua_uacpp/uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.zip" +# No public download link exists +$externalUrl = $internalUrl + +Download $externalUrl $internalUrl $zip +Verify-Checksum $zip $sha1 + +Write-Host "UACPPSDK: Installing $zip..." +Extract-7Zip $zip (Get-DefaultDownloadLocation) +Remove-Item -Path $zip + +$executable = (Get-DefaultDownloadLocation) + "uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.exe" +$arguments = "/S /D=$installLocation" +Run-Executable $executable $arguments +Write-Host "UACPPSDK: Installer done." +Remove-Item $executable -TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory" -trap "sudo rm -fr $TEMPDIR" EXIT -cd $TEMPDIR -git clone https://github.com/FreeOpcUa/freeopcua.git freeopcua -cd freeopcua -git checkout 955cc5b924cf310fc15b376a11f4b7b9db28980b -mkdir build -cd build -source ~/.profile -cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local .. -make -sudo make install -sudo /sbin/ldconfig +Write-Host "Set environment variable for COIN to locate SDK" +Set-EnvironmentVariable "CI_UACPP_msvc2015_x86_PREFIX" "$installLocation" diff --git a/coin/provisioning/common/windows/open62541.ps1 b/coin/provisioning/common/windows/open62541.ps1 new file mode 100644 index 00000000..1ff30010 --- /dev/null +++ b/coin/provisioning/common/windows/open62541.ps1 @@ -0,0 +1,261 @@ +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +Param ( + [string]$targetCommand= "" + ) + +. "$PSScriptRoot\helpers.ps1" + +## Variables for builds +$commitSHA = "8845e493d7751fd4eee3917b540e5346646b9cf7" +$sha1 = "6845899f5fd0346472fc0d848ce9d9c814c802e0" +$extractTarget = "C:\open62541_build" + +function CreateArchive +{ + param( + [string]$sourceDirectory=$(throw("You must specify a directory")), + [string]$archiveName=$(throw("You must specify an archive name")) + ) + + if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) { + $zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles}, ${env:ProgramW6432} -ne $null)[0] '7-zip\7z.exe' + if (-not (test-path $zipExe)) { + $zipExe = "C:\Utils\sevenzip\7z.exe" + if (-not (test-path $zipExe)) { + throw "Could not find 7-zip." + } + } + } else { + $zipExe = "7z.exe" + } + + Run-Executable $zipExe "a -y `"$archiveName`" `"$sourceDirectory`"" +} + +function PrepareRepository +{ + $username = $env:USERNAME + $zip = "c:\users\$username\downloads\open62541.zip" + + $externalUrl = "https://github.com/open62541/open62541/archive/$commitSHA.zip" + $internalUrl = "http://ci-files01-hki.ci.local/input/open62541/$commitSHA.zip" + + Download $externalUrl $internalUrl $zip + Verify-Checksum $zip $sha1 + + Extract-7Zip $zip $extractTarget +} + +function PushDevEnvironment +{ + # Provisioning updates the registry entries for PATH etc. However, they are not + # propagated to the next provisioning script and hence need to be manually + # read / set. + $adaptedPath = $env:PATH + $jomLocation = [Environment]::GetEnvironmentVariable("CI_JOM_PATH", "Machine") + $adaptedPath = $adaptedPath + ";" + $jomLocation + $adaptedPath = $adaptedPath + ";" + "C:\Python27" + $adaptedPath = $adaptedPath + ";" + "C:\CMake\bin" + [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process") +} + +function MSVCEnvironment +{ + Param ( + [string]$msvcDir=$(throw("No VS Directory specified")), + [string]$msvcbat=$(throw("No vsvars batch file specified")) + ) + + Push-Location $msvcDir + cmd /c "$msvcbat&set" | + foreach { + if ($_ -match "=") { + $v = $_.split("="); Set-Item -force -path "ENV:\$($v[0])" -value "$($v[1])" + } + } + Pop-Location +} + +function BuildAndInstallOpen62541 +{ + Param ( + [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, msvc2015, msvc2017]")), + [string]$Platform=$(throw("You must specify the target platform [x86, x64]")), + [string]$MakeCommand=$(throw("You must specify a make command [mingw32-make, nmake]")) + ) + Write-Host "### Open62541: Supposed to build with: $Type $Platform $MakeCommand" + + ## Make Build directory + $buildDir = "$extractTarget\open62541-$commitSHA\build" + "_" + $Type + "_" + $Platform + if (Test-Path $buildDir) { + Write-Host " Deleting pre-existing build directory" + Remove-Item $buildDir -Force -Recurse + } + New-Item -ItemType Directory -Force -Path $buildDir + Push-Location $buildDir + + ## Invoke Cmake + $makeGenerator = "NMake Makefiles JOM" + $installTarget = "C:\Utils\open62541" + "_" + $Type + "_" + $Platform + if (Test-Path $installTarget) { + Write-Host " Deleting pre-existing install directory" + Remove-Item $installTarget -Force -Recurse + } + + if ($Type.StartsWith("mingw")) { + $makeGenerator = "MinGW Makefiles" + } + cmake -G "$makeGenerator" -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH=$installTarget -DLIB_INSTALL_DIR:PATH=$installTarget/lib .. + + ## Call build command + Write-Host "### Open62541: Compilation ###" + Run-Executable $MakeCommand + + ## call install command + Write-Host "### Open62541: Installation ###" + Run-Executable $MakeCommand install + + $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform + "_PREFIX" + Set-EnvironmentVariable $platformVariable $installTarget + + ## Packaging + Push-Location "C:\Utils" + $archiveName = "open62541_" + $Type + "_" + $Platform + ".7z" + CreateArchive $installTarget $archiveName + Pop-Location + + ## cleanup build directory + Write-Host "### Open62541: Cleanup ###" + Pop-Location + Remove-Item $buildDir -Force -Recurse +} + +function DownloadAndInstall +{ + Param ( + [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, msvc2015, msvc2017]")), + [string]$Platform=$(throw("You must specify the target platform [x86, x64]")) + ) + $baseLocation = "http://ci-files01-hki.intra.qt.io/input/open62541/" + $targetName = "open62541_" + $Type + "_" + $Platform + $archiveName = $targetName + ".7z" + $downloadUrl = $baseLocation + $archiveName + + # Download + $downloadTarget = "C:\Utils\" + $archiveName + Download $downloadUrl $downloadUrl $downloadTarget + + # Extract + Push-Location C:\Utils + Extract-7Zip $downloadTarget C:\Utils + Pop-Location + + # Set environment variable + $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform + $platformPath = "C:\Utils\" + $targetName + Set-EnvironmentVariable $platformVariable $platformPath +} + +############################## +# Startup # +############################## +if ($targetCommand.StartsWith("mingw")) { + Write-Host "### Creating Open62541 for MinGW" + $mingwPath = [Environment]::GetEnvironmentVariable($targetCommand, "Machine") + if (!$mingwPath) { + throw("Could not find mingw") + } + + # Strawberry has its own gcc, put mingw in front + $adaptedPath = $mingwPath + "\bin;" + [Environment]::GetEnvironmentVariable("PATH", "Machine") + [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process") + + PushDevEnvironment + BuildAndInstallOpen62541 $targetCommand x86 "mingw32-make" +} elseif ($targetCommand -eq "msvc2015_x86") { + Write-Host "### Creating Open62541 for MSVC2015 x86" + MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC" "vcvarsall.bat x86" + PushDevEnvironment + BuildAndInstallOpen62541 msvc2015 x86 jom +} elseif ($targetCommand -eq "msvc2015_x64") { + Write-Host "### Creating Open62541 for MSVC2015 x64" + MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC" "vcvarsall.bat amd64" + PushDevEnvironment + BuildAndInstallOpen62541 msvc2015 x64 jom +} elseif ($targetCommand -eq "msvc2017_x86") { + Write-Host "### Creating Open62541 for MSVC2017 x86" + MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars32.bat + PushDevEnvironment + BuildAndInstallOpen62541 msvc2017 x86 jom +} elseif ($targetCommand -eq "msvc2017_x64") { + Write-Host "### Creating Open62541 for MSVC2017 x64" + MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars64.bat + PushDevEnvironment + BuildAndInstallOpen62541 msvc2017 x64 jom +} elseif ($targetCommand -eq "prepare") { + PrepareRepository +} elseif ($targetCommand -eq "build") { + Write-Host "### Building for all supported platforms" + PrepareRepository + Write-Host "### Invoking MinGW530 build" + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw530 + Write-Host "### Invoking MinGW630 build" + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw630 + Write-Host "### Invoking MSVC2015 build" + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x86 + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x64 + Write-Host "### Invoking MSVC2017 build" + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x86 + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x64 + Write-Host "### Archives have been generated at C:/Utils. Please upload manually" +} elseif ($targetCommand -eq "packaged") { + Write-Host "### Expecting pre-built packages, download and install from archives" + Write-Host "### MinGW530 x64" + DownloadAndInstall mingw530 x86 + Write-Host "### MinGW630 x64" + DownloadAndInstall mingw630 x86 + Write-Host "### MSVC2015 x86" + DownloadAndInstall msvc2015 x86 + Write-Host "### MSVC2015 x64" + DownloadAndInstall msvc2015 x64 + Write-Host "### MSVC2017 x64" + DownloadAndInstall msvc2017 x64 +} elseif ($targetCommand) { + Write-Host "### Unknown parameter specified:" $targetCommand " Options are: mingw, msvc2015_x(86/64), msvc2017_x(86/64)" + throw("Unknown parameter") +} else { + # Default behavior + PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand build +} diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1 index 473fe65c..e4ab667f 100644 --- a/coin/provisioning/common/windows/python3.ps1 +++ b/coin/provisioning/common/windows/python3.ps1 @@ -79,7 +79,12 @@ if (IsProxyEnabled) { Write-Host "Using proxy ($proxy) with pip" $pip_args = "--proxy=$proxy" } -Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv" +Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel" + +# Install all needed packages in a special wheel cache directory +$python3_wheel_dir="$install_path\python3-wheels" +Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args wheel --wheel-dir $python3_wheel_dir -r $PSScriptRoot\..\shared\requirements.txt" +Set-EnvironmentVariable "PYTHON3_WHEEL_CACHE" "$python3_wheel_dir" Write-Output "Python3-$archVer = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh deleted file mode 100755 index 89806892..00000000 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -# shellcheck source=../common/linux/disable-ntp_linux.sh -source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh deleted file mode 100755 index d3072b37..00000000 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -# provides: fix for possible bug in the subscription manager -# version: provided by RedHat -# needed for yum to work properly in case there is incorrect data in -# the sslclientkey repository parameter value - -set -ex - -sudo rm -f /etc/pki/entitlement/* -sudo subscription-manager refresh diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh deleted file mode 100755 index c8edc2a2..00000000 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -# provides: odbc devel packages on RHEL -# version: provided by default Linux distribution repository -# needed for configure -plugin-sql-odbc in qtbase - -set -ex - -sudo yum install -y unixODBC-devel 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 deleted file mode 100755 index 6152c7e5..00000000 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash -# provides: python development libraries -# version: provided by default Linux distribution repository -# needed to build pyside - -set -ex - -sudo yum install -y python-devel python-virtualenv - -# 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-6.6-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh deleted file mode 100755 index 74520b6e..00000000 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ex - -"$(dirname "$0")/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh deleted file mode 100755 index b156e8f9..00000000 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -# Required for tqtc-boot2qt/qdb - -set -ex - -sudo yum install -y libusb1-devel diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh deleted file mode 100755 index 90d4199f..00000000 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## 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$ -## -############################################################################# - -# shellcheck source=../common/unix/DownloadURL.sh -source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" - -# This script installs the right ICU version - -set -ex -icuVersion="56.1" -icuLocation="/usr/lib64" -sha1="f2eab775c04ce5f3bdae6c47d06b62158b5d6753" - -function Install7ZPackageFromURL { - url=$1 - urlExt=$2 - expectedSha1=$3 - targetDirectory=$4 - - targetFile=$(mktemp) - DownloadURL "$url" "$urlExt" "$expectedSha1" "$targetFile" - sudo /usr/local/bin/7z x -yo"$targetDirectory" "$targetFile" - rm "$targetFile" -} - -echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" - -baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z" -baseBinaryPackageExternalUrl="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z" -Install7ZPackageFromURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalUrl" "$sha1" "/usr/lib64" - -echo "Installing custom ICU devel packages on RHEL" - -sha1Dev="82f8b216371b848b8d36ecec7fe7b6e9b0dba0df" -develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z" -develPackageExternalUrl="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z" -tempDir=$(mktemp -d) -# shellcheck disable=SC2064 -trap "sudo rm -fr $tempDir" EXIT -Install7ZPackageFromURL "$develPackageURL" "$develPackageExternalUrl" "$sha1Dev" "$tempDir" -sudo cp -a "$tempDir/lib"/* /usr/lib64 -sudo cp -a "$tempDir"/* /usr/ - -sudo /sbin/ldconfig - -# Storage version information to ~/versions.txt, which is used to print version information to provision log. -echo "ICU = $icuVersion" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh index fba8c1b2..444765bf 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh @@ -106,4 +106,10 @@ sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3 # We shouldn't use yum to install virtualenv. The one found from package repo is not # working, but we can use installed pip sudo pip install --upgrade pip -sudo pip install virtualenv +sudo pip install virtualenv wheel + +# Install all needed packages in a special wheel cache directory +pip wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh index e613edc0..53e551cc 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh @@ -110,6 +110,7 @@ installPackages+=(python-pip) installPackages+=(python3-dev) installPackages+=(python3-pip) installPackages+=(python3-virtualenv) +installPackages+=(python3-wheel) # Needed to be able to build Yocto installPackages+=(chrpath) installPackages+=(gawk) @@ -163,6 +164,12 @@ sudo apt-get update echo "Installing packages" sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" +# Install all needed packages in a special wheel cache directory +pip wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" + sudo tee "/etc/apt/sources.list" > /dev/null <<-EOC deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial main restricted universe multiverse deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-updates main restricted universe multiverse diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh index 505374c5..90c3a7eb 100755 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh @@ -5,7 +5,7 @@ ## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -33,5 +33,20 @@ ## ############################################################################# -# shellcheck source=../common/unix/mqtt_broker.sh -source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" +set -ex + +# Download and install the docker engine. +sudo apt-get install curl -y +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" +sudo apt-get update +sudo apt-get install docker-ce -y +sudo usermod -a -G docker $USER +sudo docker info + +# Download and install the docker-compose extension. +sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose +sudo chmod +x /usr/local/bin/docker-compose + +# Start testserver provisioning +source "${BASH_SOURCE%/*}/../common/linux/testserver/docker_testserver.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh index e7cdd4a7..a5494041 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh @@ -9,4 +9,10 @@ sudo pkcon -y refresh sudo pkcon -y install python-devel python-virtualenv # install python3 -sudo pkcon -y install libpython3_4m1_0 python3-base python3 python3-pip python3-devel python3-virtualenv +sudo pkcon -y install libpython3_4m1_0 python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel + +# Install all needed packages in a special wheel cache directory +pip wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh index d206369c..e7bb9ca0 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh @@ -49,13 +49,13 @@ basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" toolsVersion="r25.2.5" toolsFile="tools_$toolsVersion-macosx.zip" -ndkVersion="r10e" +ndkVersion="r16b" ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" sdkBuildToolsVersion="25.0.2" sdkApiLevel="android-21" toolsSha1="d2168d963ac5b616e3d3ddaf21511d084baf3659" -ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294" +ndkSha1="e51e615449b98c716cf912057e2682e75d55e2de" toolsTargetFile="/tmp/$toolsFile" toolsSourceFile="$basePath/$toolsFile" diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh b/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh index 1354bf6b..c3936499 100755 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh @@ -2,10 +2,10 @@ ############################################################################# ## -## Copyright (C) 2016 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -33,16 +33,18 @@ ## ############################################################################# -# This script needs to be called last during provisioning so that the software information will show up last in provision log. +# On macOS the sha1 tool is named 'shasum' while on all other unix systems it is called 'sha1sum'. +# In order to make all unix provioning scripts run on macOS without special case handling +# a symbolic link is created. +# The shasum tool is a perl script which does some globbing to determine the perl version. The +# symbolic link has to point directly to the binary including the perl version. +# Additionally the CI seems to have multiple parallel perl versions installed which causes +# multiple shasum tools to be present (shasum5.16, shasum5.18). +# +# Currently this is +# /usr/local/bin/sha1sum -> /usr/bin/shasum5.18 -# Storage installed RPM packages information - -set -ex - -# shellcheck disable=SC2129 -echo "*********************************************" >> ~/versions.txt -echo "***** All installed RPM packages *****" >> ~/versions.txt -rpm -q -a | sort >> ~/versions.txt -echo "*********************************************" >> ~/versions.txt - -"$(dirname "$0")/../common/linux/version.sh" +[ -d /usr/local/bin ] || sudo mkdir -p /usr/local/bin +# shellcheck disable=SC2012 +SHASUM_TOOLNAME=$(ls -r /usr/bin/shasum?.* | head -n1) +sudo ln -s "${SHASUM_TOOLNAME}" /usr/local/bin/sha1sum diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..32528873 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +$(dirname $0)/../common/unix/disable-ntp_macos.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh new file mode 100755 index 00000000..2c3e45f3 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env sh + +set -ex + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh new file mode 100755 index 00000000..4737b8e9 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh @@ -0,0 +1,89 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +set -ex + +# This script modified system settings for automated use + +VNCPassword=qt +NTS_IP=10.212.2.216 + +echo "Disable Screensaver" +# For current session +defaults -currentHost write com.apple.screensaver idleTime 0 + +echo "Disable sleep" +sudo pmset sleep 0 displaysleep 0 + +# For session after a reboot +mkdir -p "$HOME/Library/LaunchAgents" +cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?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>Label</key> + <string>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + +defaults write com.apple.screensaver askForPassword -int 0 + +echo "Set keyboard type rates and delays" +# normal minimum is 15 (225 ms) +defaults write -g InitialKeyRepeat -int 15 +# normal minimum is 2 (30 ms) +defaults write -g KeyRepeat -int 2 + +echo "Enable remote desktop sharing" +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all + +echo "Set Network Test Server address to $NTS_IP in /etc/hosts" +echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh new file mode 100755 index 00000000..8461c656 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env sh + +set -ex + +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh new file mode 100755 index 00000000..3c11214d --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh new file mode 100755 index 00000000..6e7c796a --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Enables the usage of temporary keychains for SSL autotests +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh index 21a45506..06437ee1 100755 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh @@ -33,17 +33,20 @@ ## ############################################################################# -# shellcheck source=../common/unix/DownloadURL.sh -source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" +# This script installs XZ-Utils -package="epel-release-6-8.noarch.rpm" -primaryUrl="https://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/$package" -cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel6/$package" -sha1="2b2767a5ae0de30b9c7b840f2e34f5dd9deaf19a" -targetFile="/tmp/$package" +# XZ-Utils are needed for uncompressing xz-compressed files -DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile" +set -ex -sudo rpm -ivh "$targetFile" -rm "$targetFile" +# shellcheck source=../common/macos/InstallPKGFromURL +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" +AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" +SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.0.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh b/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh new file mode 100755 index 00000000..8877c40b --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/java.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh new file mode 100755 index 00000000..7d21f507 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. + +set -ex + +# shellcheck source=../common/macos/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_9.3.1.tar.gz 9.3.1 diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh index 84238ebf..2972f402 100755 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh @@ -35,9 +35,12 @@ set -ex -# refresh local certificates -sudo subscription-manager refresh +source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" -# Attach available subscriptions to system. This is needed when subscriptions are renewed. -sudo subscription-manager attach --auto +version="9.3" +packageName="Command_Line_Tools_macOS_10.13_for_Xcode_$version.dmg" +url="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/$packageName" +sha1="3c0306d3faa1131550f1539feeeb5aa6c985763a" + +InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh new file mode 100755 index 00000000..e5dd1910 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/cmake.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh new file mode 100755 index 00000000..0ead5a58 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/homebrew.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh new file mode 100755 index 00000000..d873499c --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +# This script installs MySQL + +# MySQL is needed for Qt to be able to support MySQL + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh new file mode 100755 index 00000000..69c6b318 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/pip.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh new file mode 100755 index 00000000..e59f0f03 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +# This script installs PostgreSQL + +# PostgreSQL is needed for Qt to be able to support PostgreSQL + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +psqlVersion="9.6.0" + +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip" +AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip" +SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5" +appPrefix="" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" + +SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin" +echo "PostgreSQL = $psqlVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh new file mode 100755 index 00000000..ef65edad --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -ex + +source "${BASH_SOURCE%/*}/../common/macos/python2.sh" diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh new file mode 100755 index 00000000..92b05bf3 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -ex + +source "${BASH_SOURCE%/*}/../common/macos/python3.sh" diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh new file mode 100755 index 00000000..15511332 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Install 7z to be used from command line + +set -ex + +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh new file mode 100755 index 00000000..a35d26ca --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/virtualenv.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh new file mode 100755 index 00000000..fea11e01 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +$BASEDIR/../common/unix/libclang.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh new file mode 100755 index 00000000..0d125c57 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh @@ -0,0 +1,84 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +# This script install Android sdk and ndk. + +# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +targetFolder="/opt/android" +sdkTargetFolder="$targetFolder/sdk" + +basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" + +toolsVersion="r25.2.5" +toolsFile="tools_$toolsVersion-macosx.zip" +ndkVersion="r10e" +ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" +sdkBuildToolsVersion="25.0.2" +sdkApiLevel="android-21" + +toolsSha1="d2168d963ac5b616e3d3ddaf21511d084baf3659" +ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294" + +toolsTargetFile="/tmp/$toolsFile" +toolsSourceFile="$basePath/$toolsFile" +ndkTargetFile="/tmp/$ndkFile" +ndkSourceFile="$basePath/$ndkFile" + +echo "Unzipping Android NDK to '$targetFolder'" +sudo unzip -q "$ndkSourceFile" -d "$targetFolder" +echo "Unzipping Android Tools to '$sdkTargetFolder'" +sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" + +echo "Changing ownership of Android files." +sudo chown -R qt:wheel "$targetFolder" + +echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion." +(echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" + +SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder" +SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion" +SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" +SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" + +echo "Android SDK tools = $toolsVersion" >> ~/versions.txt +echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt +echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt +echo "Android NDK = $ndkVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh new file mode 100755 index 00000000..9ce5d9ff --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/fbx_macos.sh + diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh new file mode 100755 index 00000000..606a9c12 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +# This script install OpenSSL + +set -ex + +# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +opensslVersion="1.0.2o" +opensslFile="openssl-$opensslVersion.tar.gz" +opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile" +opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" +opensslSha1="a47faaca57b47a0d9d5fb085545857cc92062691" + +# Below target location has been hard coded into Coin. +# QTQAINFRA-1195 +opensslTargetLocation="/usr/local/opt/openssl" + +InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion" +cd "/tmp/openssl-$opensslVersion" +pwd +sudo ./config --prefix=/usr/local/openssl-$opensslVersion +echo "Running 'make' for OpenSSL" +sudo make --silent > /tmp/openssl_make.log 2>&1 +echo "Running 'make install' for OpenSSL" +sudo make --silent install > /tmp/openssl_make_install.log 2>&1 + +path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/') +sudo mkdir -p "$path" +sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation + +SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\"" +SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\"" + +security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem +security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem + +sudo rm -rf /tmp/openssl-$opensslVersion + +echo "OpenSSL = $opensslVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh index 99612260..a5547972 100755 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh @@ -1,8 +1,8 @@ -#!/usr/bin/env bash +#!/bin/bash ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -33,12 +33,25 @@ ## ############################################################################# -set -ex +# This script installs QNX 7. -# shellcheck source=../common/unix/check_and_set_proxy.sh -source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" +targetFolder="/opt/" +sourceFile="/net/ci-files01-hki.intra.qt.io/hdd/www/input/qnx/qnx700_mac.zip" +folderName="qnx700" -# shellcheck disable=SC2031 -if [ "$http_proxy" != "" ]; then - echo "proxy=$proxy" | sudo tee -a /etc/yum.conf +sudo mkdir -p "$targetFolder" + +echo "Extracting QNX 7" +sudo unzip -q "$sourceFile" -d "$targetFolder" + +sudo chown -R qt:wheel "$targetFolder"/"$folderName" + +# Verify that we have last file in zip +if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then + exit 1 fi + +# Set env variables +echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc +echo "QNX SDP = 7.0.0" >> ~/versions.txt + diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh new file mode 100755 index 00000000..0b9bbb00 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh @@ -0,0 +1,138 @@ +#!/usr/bin/env sh + +############################################################################# +## +## Copyright (C) 2018 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$ +## +############################################################################# + +# Install tools for singing packages +# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed. + +set -ex + +cache="http://ci-files01-hki.intra.qt.io/input" +cacheSigningTools="$cache/mac/sign_tools" +targetFolder="/Users/qt" +keychains="$targetFolder/Library/Keychains" + +Install() { + + url=$1 + targetFile=$2 + expectedSha1=$3 + + echo "Fetching $targetFile from $url..." + curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile" + shasum "$targetFile" |grep "$expectedSha1" + +} + +# qt-license +sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d" +Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense + +# Login keychain +sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword" +loginKeychainPassword=$(<"$targetFolder/login_keychain_password.txt") +loginKeychain=$keychains/login.keychain + +echo "Setting login.keychain as default keychain.." +security default-keychain -s $loginKeychain* +echo "Unlocking Login keychain with password.." +security unlock-keychain -p "$loginKeychainPassword" $loginKeychain* + +echo "remove the "Lock after X minutes of inactivity" from login.keychain" +security set-keychain-settings $loginKeychain + +# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer +sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64" +Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer" + +# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer +sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186" +Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer" + +# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain' +sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724" +unlockKeychain=$targetFolder/unlock-keychain.sh +Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain +sudo chmod 755 "$unlockKeychain" + +# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed. +shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910" +csreq=$targetFolder/csreq_qt_company.txt +Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq +chmod 755 "$csreq" + +# iOS signing tools +devIDKeychain="Developer_ID_TheQtCompany.keychain" +shaDevIdKeychain="0420a129c17725a97afd6fdafeb9cddfb80a65ca" +Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain +echo "Opening $devIDKeychain.." +open "$keychains/$devIDKeychain" + +sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6" +Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword" +DeveloperIDTheQtCompanyKeychainPassword=$(<"$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt") + +echo "Unlocking $devIDKeychain with password.." +security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain +security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain + +sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios +iosPassword=$(<"$targetFolder/ios_password.txt") + +iPhoneDeveloper="iosdevelopment.p12" +shaIPhoneDeveloper="f48f6827e8d0ccdc764cb987e401b9a6f7d3f10c" +Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper +echo "Importing $iPhoneDeveloper.." +security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P $iosPassword -T /usr/bin/codesign + +iPhoneDistribution="iosdistribution.p12" +shaIPhoneDistribution="64b1174fc3ce0eca044fbc9fa144f6a2d4330171" +Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution +echo "Importing $iPhoneDistribution.." +security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P $iosPassword -T /usr/bin/codesign + +# Mobileprovision +echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." +mkdir "$targetFolder/Library/MobileDevice" +mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" +shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf" +Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision + +# Removing password files +rm -fr "$targetFolder/login_keychain_password.txt" + diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh new file mode 100755 index 00000000..27ff15c3 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +$BASEDIR/../common/unix/squishInstall.sh + diff --git a/coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps1 new file mode 100644 index 00000000..e7f14459 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 b/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 new file mode 100644 index 00000000..9b532392 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\open62541.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 b/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 new file mode 100644 index 00000000..a7bc8cd4 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand prepare +. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand mingw530 |