Hello community, here is the log from the commit of package libqt5-creator for openSUSE:Factory checked in at 2018-03-02 21:11:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libqt5-creator (Old) and /work/SRC/openSUSE:Factory/.libqt5-creator.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "libqt5-creator" Fri Mar 2 21:11:32 2018 rev:50 rq:581737 version:4.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libqt5-creator/libqt5-creator.changes 2018-02-03 15:42:55.076207081 +0100 +++ /work/SRC/openSUSE:Factory/.libqt5-creator.new/libqt5-creator.changes 2018-03-02 21:11:35.241201433 +0100 @@ -1,0 +2,6 @@ +Thu Mar 1 10:18:43 UTC 2018 - christophe@krop.fr + +- Add 0001-Build-with-Botan-2.patch. + Fixes build with Botan 2 on openSUSE >= 15.0 + +------------------------------------------------------------------- New: ---- 0001-Build-with-Botan-2.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libqt5-creator.spec ++++++ --- /var/tmp/diff_new_pack.5rpzF0/_old 2018-03-02 21:11:36.221166193 +0100 +++ /var/tmp/diff_new_pack.5rpzF0/_new 2018-03-02 21:11:36.229165905 +0100 @@ -1,7 +1,7 @@ # # spec file for package libqt5-creator # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,9 +29,11 @@ Source: http://download.qt.io/official_releases/qtcreator/%{major_ver}/%{version}/qt-creator-opensource-src-%{version}.tar.xz Source1: %{name}-rpmlintrc # PATCH-FIX-UPSTREAM lldb.diff -- exclude lldb-mi* from autodetection -Patch1: lldb.diff +Patch0: lldb.diff # PATCH-FIX-OPENSUSE -Patch2: fix-build-isystem.patch +Patch1: fix-build-isystem.patch +# PATCH-FIX-OPENSUSE 0001-Build-with-Botan-2.patch -- Fix build with Botan 2 +Patch2: 0001-Build-with-Botan-2.patch BuildRequires: gdb BuildRequires: libQt5Sql5-sqlite >= %{qt5_version} BuildRequires: libQt5WebKitWidgets-devel >= %{qt5_version} @@ -91,8 +93,11 @@ %prep %setup -q -n %{rname}-opensource-src-%{version} +%patch0 -p1 %patch1 -p1 +%if 0%{?suse_version} >= 1500 %patch2 -p1 +%endif %build sed -i s,libexec/qtcreator,%{_lib}/qtcreator/libexec,g qtcreator.qbs @@ -100,6 +105,11 @@ # https://bugzilla.opensuse.org/962650 sed -i s,libexec/qtcreator,%{_lib}/qtcreator/libexec,g src/plugins/coreplugin/icore.cpp +# The botan2 files were not included in the patch, let's completely wipe the directory +%if 0%{?suse_version} >= 1500 +rm src/libs/3rdparty/botan -fr +%endif + # Enable the clangcodemodel plugin on openSUSE TW, which has LLVM >= 3.9. %ifarch %arm %ix86 x86_64 %if 0%{?suse_version} > 1320 @@ -157,7 +167,7 @@ %postun -p /sbin/ldconfig %files -%doc *GPL* +%license *GPL* %{_bindir}/* %{_libdir}/qtcreator/ %{_datadir}/qtcreator/ @@ -170,6 +180,7 @@ %{_datadir}/metainfo/org.qt-project.qtcreator.appdata.xml %files plugin-devel +%license *GPL* %{_datadir}/qtcreator-devel/ %{_sysconfdir}/profile.d/qtcreator-devel.* ++++++ 0001-Build-with-Botan-2.patch ++++++
From aa699d7a17527e94e757f7a2c29d780c8b68f1f8 Mon Sep 17 00:00:00 2001 From: Christophe Giboudeaux
Date: Thu, 1 Mar 2018 11:12:54 +0100 Subject: [PATCH] Build with Botan 2
Based on 2 pending patches upstream:
0001-WIP-Adapt-to-Botan2.patch
0002-WIP-Update-bundled-Botan-to-version-2.3.patch
(origin: https://bugreports.qt.io/browse/QTCREATORBUG-18802)
---
qbs/modules/qtc/qtc.qbs | 1 +
src/libs/ssh/ssh.pro | 3 +-
src/libs/ssh/ssh.qbs | 68 +++-----------------------------
src/libs/ssh/sshbotanconversions_p.h | 13 ++++--
src/libs/ssh/sshcryptofacility.cpp | 43 +++++++++++++-------
src/libs/ssh/sshcryptofacility_p.h | 5 +++
src/libs/ssh/sshkeyexchange.cpp | 26 +++++++++---
src/libs/ssh/sshkeygenerator.cpp | 6 +++
src/libs/ssh/sshkeypasswordretriever.cpp | 29 +++++++++++---
src/libs/ssh/sshkeypasswordretriever_p.h | 14 ++++---
src/libs/ssh/sshpacketparser_p.h | 1 +
11 files changed, 110 insertions(+), 99 deletions(-)
diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs
index f3f3bf7827..1be7f0880f 100644
--- a/qbs/modules/qtc/qtc.qbs
+++ b/qbs/modules/qtc/qtc.qbs
@@ -69,6 +69,7 @@ Module {
property string export_data_base: project.ide_source_tree + "/share/qtcreator"
property bool testsEnabled: Environment.getEnv("TEST") || qbs.buildVariant === "debug"
+ property bool useSystemBotan: Environment.getEnv("USE_SYSTEM_BOTAN") === "1"
property stringList generalDefines: [
"QT_CREATOR",
'IDE_LIBRARY_BASENAME="' + libDirName + '"',
diff --git a/src/libs/ssh/ssh.pro b/src/libs/ssh/ssh.pro
index 499540ac72..eb39e9eca7 100644
--- a/src/libs/ssh/ssh.pro
+++ b/src/libs/ssh/ssh.pro
@@ -1,5 +1,7 @@
QT += gui network
DEFINES += QTCSSH_LIBRARY
+INCLUDEPATH += /usr/include/botan-2
+LIBS += -lbotan-2
include(../../qtcreatorlibrary.pri)
@@ -84,4 +86,3 @@ FORMS = $$PWD/sshkeycreationdialog.ui
RESOURCES += $$PWD/ssh.qrc
-include(../3rdparty/botan/botan.pri)
diff --git a/src/libs/ssh/ssh.qbs b/src/libs/ssh/ssh.qbs
index 3aa95a16d5..8b8bc5be8a 100644
--- a/src/libs/ssh/ssh.qbs
+++ b/src/libs/ssh/ssh.qbs
@@ -7,12 +7,13 @@ Project {
QtcDevHeaders { }
QtcLibrary {
- cpp.defines: base.concat(["QTCSSH_LIBRARY"]).concat(botanDefines)
+ cpp.defines: base.concat(["QTCSSH_LIBRARY"])
cpp.includePaths: botanIncludes
cpp.dynamicLibraries: botanLibs
cpp.enableExceptions: true
Depends { name: "Qt"; submodules: ["widgets", "network" ] }
+ Depends { name: "Botan"; condition: !qtc.useSystemBotan }
files: [
"sftpchannel.h", "sftpchannel_p.h", "sftpchannel.cpp",
@@ -54,19 +55,13 @@ Project {
"sshsendfacility.cpp", "sshsendfacility_p.h",
"sshtcpipforwardserver.cpp", "sshtcpipforwardserver.h", "sshtcpipforwardserver_p.h",
"sshtcpiptunnel.cpp", "sshtcpiptunnel_p.h",
- ].concat(botanFiles)
+ ]
- property var useSystemBotan: Environment.getEnv("USE_SYSTEM_BOTAN") === "1"
- property var botanIncludes: {
- var result = ["../3rdparty"];
- if (useSystemBotan)
- result.push("/usr/include/botan-1.10")
- return result
- }
+ property var botanIncludes: qtc.useSystemBotan ? ["/usr/include/botan-2"] : []
property var botanLibs: {
var result = [];
- if (useSystemBotan)
- result.push("botan-1.10")
+ if (qtc.useSystemBotan)
+ result.push("botan-2")
if (qbs.targetOS.contains("windows"))
result.push("advapi32", "user32")
else if (qbs.targetOS.contains("linux"))
@@ -77,57 +72,6 @@ Project {
result.push("rt");
return result
}
- property var botanDefines: {
- var result = [];
- if (useSystemBotan) {
- result.push("USE_SYSTEM_BOTAN")
- } else {
- result.push("BOTAN_DLL=")
- if (qbs.toolchain.contains("msvc"))
- result.push("BOTAN_BUILD_COMPILER_IS_MSVC",
- "BOTAN_TARGET_OS_HAS_GMTIME_S",
- "_SCL_SECURE_NO_WARNINGS")
- if (qbs.toolchain.contains("gcc") || qbs.toolchain.contains("mingw"))
- result.push("BOTAN_BUILD_COMPILER_IS_GCC")
- if (qbs.targetOS.contains("linux"))
- result.push("BOTAN_TARGET_OS_IS_LINUX", "BOTAN_TARGET_OS_HAS_CLOCK_GETTIME",
- "BOTAN_TARGET_OS_HAS_DLOPEN", " BOTAN_TARGET_OS_HAS_GMTIME_R",
- "BOTAN_TARGET_OS_HAS_POSIX_MLOCK", "BOTAN_HAS_DYNAMICALLY_LOADED_ENGINE",
- "BOTAN_HAS_DYNAMIC_LOADER", "BOTAN_TARGET_OS_HAS_GETTIMEOFDAY",
- "BOTAN_HAS_ALLOC_MMAP", "BOTAN_HAS_ENTROPY_SRC_DEV_RANDOM",
- "BOTAN_HAS_ENTROPY_SRC_EGD", "BOTAN_HAS_ENTROPY_SRC_FTW",
- "BOTAN_HAS_ENTROPY_SRC_UNIX", "BOTAN_HAS_MUTEX_PTHREAD", "BOTAN_HAS_PIPE_UNIXFD_IO")
- if (qbs.targetOS.contains("macos"))
- result.push("BOTAN_TARGET_OS_IS_DARWIN", "BOTAN_TARGET_OS_HAS_GETTIMEOFDAY",
- "BOTAN_HAS_ALLOC_MMAP", "BOTAN_HAS_ENTROPY_SRC_DEV_RANDOM",
- "BOTAN_HAS_ENTROPY_SRC_EGD", "BOTAN_HAS_ENTROPY_SRC_FTW",
- "BOTAN_HAS_ENTROPY_SRC_UNIX", "BOTAN_HAS_MUTEX_PTHREAD", "BOTAN_HAS_PIPE_UNIXFD_IO")
- if (qbs.targetOS.contains("windows"))
- result.push("BOTAN_TARGET_OS_IS_WINDOWS",
- "BOTAN_TARGET_OS_HAS_LOADLIBRARY", "BOTAN_TARGET_OS_HAS_WIN32_GET_SYSTEMTIME",
- "BOTAN_TARGET_OS_HAS_WIN32_VIRTUAL_LOCK", "BOTAN_HAS_DYNAMICALLY_LOADED_ENGINE",
- "BOTAN_HAS_DYNAMIC_LOADER", "BOTAN_HAS_ENTROPY_SRC_CAPI",
- "BOTAN_HAS_ENTROPY_SRC_WIN32", "BOTAN_HAS_MUTEX_WIN32")
- }
- return result
- }
- property var botanFiles: {
- var result = ["../3rdparty/botan/botan.h"];
- if (!useSystemBotan)
- result.push("../3rdparty/botan/botan.cpp")
- return result
- }
-
- // For Botan.
- Properties {
- condition: qbs.toolchain.contains("mingw")
- cpp.cxxFlags: base.concat([
- "-fpermissive",
- "-finline-functions",
- "-Wno-long-long"
- ])
- }
- cpp.cxxFlags: base
Export {
Depends { name: "Qt"; submodules: ["widgets", "network"] }
diff --git a/src/libs/ssh/sshbotanconversions_p.h b/src/libs/ssh/sshbotanconversions_p.h
index f54ca843a2..be6fd6848e 100644
--- a/src/libs/ssh/sshbotanconversions_p.h
+++ b/src/libs/ssh/sshbotanconversions_p.h
@@ -45,7 +45,12 @@ inline Botan::byte *convertByteArray(QByteArray &a)
inline QByteArray convertByteArray(const Botan::SecureVectorBotan::byte &v)
{
- return QByteArray(reinterpret_cast