aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-12-01 09:58:28 +0100
committerLiang Qi <liang.qi@qt.io>2016-12-01 09:58:28 +0100
commitd379d768e6b9e6d9b432117ad8c803ce7ed9e7e5 (patch)
treea620d8c9753d3ea35e928824aa252ce492374983
parent860b38110bdd2aaf9cacaeb778098a4d12b912d3 (diff)
parent150071b395e7c81a9af08469f4cb2f69c2838480 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
-rwxr-xr-xcoin/provisioning/qtci-linux-OpenSuSE-13.01-x86_64/openssl_allow_ssl2.sh38
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-apt-update.sh2
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh46
-rwxr-xr-xinit-repository37
4 files changed, 122 insertions, 1 deletions
diff --git a/coin/provisioning/qtci-linux-OpenSuSE-13.01-x86_64/openssl_allow_ssl2.sh b/coin/provisioning/qtci-linux-OpenSuSE-13.01-x86_64/openssl_allow_ssl2.sh
new file mode 100755
index 00000000..e958ea87
--- /dev/null
+++ b/coin/provisioning/qtci-linux-OpenSuSE-13.01-x86_64/openssl_allow_ssl2.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2016 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$
+##
+#############################################################################
+
+# hack: it seems that opensuse patched their openssl in a way that
+# disables ssl 2 without allowing configure's compile detection to work
+echo "export OPENSSL_ALLOW_SSL2=1" >>~/.bashrc
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-apt-update.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-apt-update.sh
new file mode 100644
index 00000000..2f7e2e47
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-apt-update.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+sudo apt-get update
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh
new file mode 100644
index 00000000..30a6caad
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2016 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$
+##
+#############################################################################
+
+sudo apt-get -y build-dep qt5-default
+
+# qtbase
+sudo apt-get -y install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev
+sudo apt-get -y install libxcb-xinerama0-dev libdbus-1-dev libatspi2.0-dev
+
+# qtmultimedia
+sudo apt-get -y install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
+
+# qtwebengine
+sudo apt-get -y install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison
diff --git a/init-repository b/init-repository
index 52efb201..7a97c199 100755
--- a/init-repository
+++ b/init-repository
@@ -395,6 +395,14 @@ sub git_clone_all_submodules
}
}
+ my $any_bad = 0;
+ foreach my $module (@modules) {
+ $any_bad = 1
+ if ($self->git_stat_one_submodule($subdirs{$module}));
+ }
+ die("Dirty submodule(s) present; cannot proceed.\n")
+ if ($any_bad);
+
foreach my $module (@modules) {
$self->git_clone_one_submodule($subdirs{$module}, $subbases{$module},
$co_branch && $subbranches{$module});
@@ -416,7 +424,7 @@ sub git_clone_all_submodules
}
}
if ($self->{update}) {
- my @cmd = ('git', 'submodule', 'update', '--no-fetch');
+ my @cmd = ('git', 'submodule', 'update', '--force', '--no-fetch');
push @cmd, '--remote', '--rebase' if ($co_branch);
$self->exe(@cmd);
@@ -452,6 +460,33 @@ sub git_add_remotes
$self->exe('git', 'config', 'remote.gerrit.fetch', '+refs/heads/*:refs/remotes/gerrit/*', '/heads/');
}
+sub git_stat_one_submodule
+{
+ my ($self, $submodule) = @_;
+
+ return 0 if (! -e "$submodule/.git");
+
+ my $orig_cwd = getcwd();
+ chdir($submodule) or confess "chdir $submodule: $OS_ERROR";
+
+ my @sts = qx(git status --porcelain --untracked=no);
+
+ # After a git clone --no-checkout, git status reports all files as
+ # staged for deletion, but we still want to update the submodule.
+ # It's unlikely that a genuinely dirty index would have _only_ this
+ # type of modifications, and it doesn't seem like a horribly big deal
+ # to lose them anyway, so ignore them.
+ @sts = grep(!/^D /, @sts);
+
+ chdir($orig_cwd) or confess "cd $orig_cwd: $OS_ERROR";
+
+ return 0 if (!@sts);
+
+ print STDERR "$submodule is dirty.\n";
+
+ return -1;
+}
+
sub git_clone_one_submodule
{
my ($self, $submodule, $repo_basename, $branch) = @_;