diff --git a/0001-dropped-unused-include.patch b/0001-dropped-unused-include.patch index eb0613b..95682d5 100644 --- a/0001-dropped-unused-include.patch +++ b/0001-dropped-unused-include.patch @@ -1,7 +1,7 @@ From ca1667c1186eb247affcdcd5cb75713dd29a8b5d Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Sat, 8 Nov 2014 00:15:20 +0500 -Subject: [PATCH 01/16] dropped unused #include +Subject: [PATCH 01/20] dropped unused #include --- include/QtCrypto/qca_cert.h | 1 - @@ -33,5 +33,5 @@ index 955f439..d91fdf5 100644 #include "qca_cert.h" #include "qcaprovider.h" -- -1.9.3 +2.1.0 diff --git a/0002-cmake-pkg-config-is-not-REQUIRED.patch b/0002-cmake-pkg-config-is-not-REQUIRED.patch index 71763c6..3f98465 100644 --- a/0002-cmake-pkg-config-is-not-REQUIRED.patch +++ b/0002-cmake-pkg-config-is-not-REQUIRED.patch @@ -1,7 +1,7 @@ From 8ffb52b4397fbb5658db17074da188468035f1fc Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Sat, 8 Nov 2014 18:42:10 +0500 -Subject: [PATCH 02/16] cmake: pkg-config is not REQUIRED +Subject: [PATCH 02/20] cmake: pkg-config is not REQUIRED --- cmake/modules/FindNss.cmake | 2 +- @@ -35,5 +35,5 @@ index 9b534a6..5500a26 100644 endif(NOT WIN32) -- -1.9.3 +2.1.0 diff --git a/0003-qca-ossl-fixed-compilation-warnings.patch b/0003-qca-ossl-fixed-compilation-warnings.patch index be4301f..d6a4314 100644 --- a/0003-qca-ossl-fixed-compilation-warnings.patch +++ b/0003-qca-ossl-fixed-compilation-warnings.patch @@ -1,7 +1,7 @@ From 72457bee3adc228121d0be57398d6dd5497bca4c Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Sat, 8 Nov 2014 19:14:00 +0500 -Subject: [PATCH 03/16] qca-ossl: fixed compilation warnings +Subject: [PATCH 03/20] qca-ossl: fixed compilation warnings --- plugins/qca-ossl/qca-ossl.cpp | 4 ++++ @@ -41,5 +41,5 @@ index 783a20d..95b2bc4 100644 static bool get_dlgroup(const BigInteger &p, const BigInteger &g, DLParams *params) { -- -1.9.3 +2.1.0 diff --git a/0004-cmake-dropped-dead-variable.patch b/0004-cmake-dropped-dead-variable.patch index 63fb2ed..2d183d0 100644 --- a/0004-cmake-dropped-dead-variable.patch +++ b/0004-cmake-dropped-dead-variable.patch @@ -1,7 +1,7 @@ From f8fe237c3c117c01e35a767e93d5e355a07d9a5c Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Wed, 12 Nov 2014 15:37:09 +0500 -Subject: [PATCH 04/16] cmake: dropped dead variable +Subject: [PATCH 04/20] cmake: dropped dead variable --- CMakeLists.txt | 1 + @@ -34,5 +34,5 @@ index f2a2fbf..290f403 100644 if(WIN32) -- -1.9.3 +2.1.0 diff --git a/0005-Fix-build-with-libressl.patch b/0005-Fix-build-with-libressl.patch index 179c57b..be83d20 100644 --- a/0005-Fix-build-with-libressl.patch +++ b/0005-Fix-build-with-libressl.patch @@ -1,7 +1,7 @@ From 593de6855a4f4dc26cface3e96de8889f90cb4bb Mon Sep 17 00:00:00 2001 From: Heiko Becker Date: Mon, 20 Oct 2014 14:46:34 +0200 -Subject: [PATCH 05/16] Fix build with libressl +Subject: [PATCH 05/20] Fix build with libressl libressl removed the SSL Compression functionality (which might be considered insecure) and thus also compress_meth. @@ -27,5 +27,5 @@ index 95b2bc4..cfb1e9f 100644 if (ssl->version == TLS1_VERSION) sessInfo.version = TLS::TLS_v1; -- -1.9.3 +2.1.0 diff --git a/0006-increased-minimum-cmake-version.patch b/0006-increased-minimum-cmake-version.patch index c3609b7..6bb17a5 100644 --- a/0006-increased-minimum-cmake-version.patch +++ b/0006-increased-minimum-cmake-version.patch @@ -1,7 +1,7 @@ From 25860ff244205b7cc61fc5c8ed06bcbe9f12957f Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Fri, 14 Nov 2014 14:32:16 +0500 -Subject: [PATCH 06/16] increased minimum cmake version +Subject: [PATCH 06/20] increased minimum cmake version INCLUDE DESTINATION in install command was introduced only in CMake 2.8.12 --- @@ -22,5 +22,5 @@ index 0f5a42c..7adacf1 100644 set(QCA_LIB_MAJOR_VERSION "2") set(QCA_LIB_MINOR_VERSION "1") -- -1.9.3 +2.1.0 diff --git a/0007-cmake-warn-user-when-QCA_SUFFIX-is-not-set.patch b/0007-cmake-warn-user-when-QCA_SUFFIX-is-not-set.patch index 4b6f763..7a0df48 100644 --- a/0007-cmake-warn-user-when-QCA_SUFFIX-is-not-set.patch +++ b/0007-cmake-warn-user-when-QCA_SUFFIX-is-not-set.patch @@ -1,7 +1,7 @@ From 2c58be171e8478f03d8a724640f40e36826c6893 Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Sat, 22 Nov 2014 06:10:04 +0500 -Subject: [PATCH 07/16] cmake: warn user when QCA_SUFFIX is not set +Subject: [PATCH 07/20] cmake: warn user when QCA_SUFFIX is not set Many linux distribution provides both version of Qt: Qt4 and Qt5. These versions are binary is incompatible and any qt-based library @@ -36,5 +36,5 @@ index 7adacf1..5ae36fc 100644 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/Qca/QcaConfig.cmake" -- -1.9.3 +2.1.0 diff --git a/0008-cmake-apply-QCA_SUFFIX-for-cmake-config-module-names.patch b/0008-cmake-apply-QCA_SUFFIX-for-cmake-config-module-names.patch index 0a84435..5ceeb77 100644 --- a/0008-cmake-apply-QCA_SUFFIX-for-cmake-config-module-names.patch +++ b/0008-cmake-apply-QCA_SUFFIX-for-cmake-config-module-names.patch @@ -1,7 +1,7 @@ From 66447d0454591f4c1deb5f4c988c6027194b1335 Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Sat, 22 Nov 2014 06:30:07 +0500 -Subject: [PATCH 08/16] cmake: apply QCA_SUFFIX for cmake config module names +Subject: [PATCH 08/20] cmake: apply QCA_SUFFIX for cmake config module names --- CMakeLists.txt | 16 +++++++++++----- @@ -48,5 +48,5 @@ index 5ae36fc..8d382ee 100644 ) endif() -- -1.9.3 +2.1.0 diff --git a/0009-cmake-build-for-android.patch b/0009-cmake-build-for-android.patch index 6ed696f..af987fd 100644 --- a/0009-cmake-build-for-android.patch +++ b/0009-cmake-build-for-android.patch @@ -1,7 +1,7 @@ From 5d311c92195ecacb0a46840477091e2922a19764 Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Thu, 6 Nov 2014 22:09:36 +0500 -Subject: [PATCH 09/16] cmake: build for android +Subject: [PATCH 09/20] cmake: build for android Android uses .so as shared library suffix without version --- @@ -30,5 +30,5 @@ index 290f403..bb415a9 100644 PUBLIC_HEADER "${public_HEADERS}" FRAMEWORK ${OSX_FRAMEWORK} -- -1.9.3 +2.1.0 diff --git a/0010-fixed-compilation-on-android.patch b/0010-fixed-compilation-on-android.patch index 755466f..64995cf 100644 --- a/0010-fixed-compilation-on-android.patch +++ b/0010-fixed-compilation-on-android.patch @@ -1,7 +1,7 @@ From 20686e955cc86c2b0ac451de79f713d5fcf24f91 Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Thu, 6 Nov 2014 22:11:28 +0500 -Subject: [PATCH 10/16] fixed compilation on android +Subject: [PATCH 10/20] fixed compilation on android --- src/support/console.cpp | 6 +++++- @@ -25,5 +25,5 @@ index 32eb7cd..c3c5570 100644 # include #endif -- -1.9.3 +2.1.0 diff --git a/0011-simplified-md5_state_t-and-SHA1_CONTEXT-internal-str.patch b/0011-simplified-md5_state_t-and-SHA1_CONTEXT-internal-str.patch index 30b0505..948831b 100644 --- a/0011-simplified-md5_state_t-and-SHA1_CONTEXT-internal-str.patch +++ b/0011-simplified-md5_state_t-and-SHA1_CONTEXT-internal-str.patch @@ -1,7 +1,7 @@ From c8008de37b91b6078d28744c58c01a2b6b36d52a Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Sat, 8 Nov 2014 00:07:04 +0500 -Subject: [PATCH 11/16] simplified md5_state_t and SHA1_CONTEXT internal +Subject: [PATCH 11/20] simplified md5_state_t and SHA1_CONTEXT internal structs On arm is not correct to do int* = char* and throw warning. int must @@ -189,5 +189,5 @@ index d91fdf5..0499bbc 100644 a = state[0]; b = state[1]; -- -1.9.3 +2.1.0 diff --git a/0012-cmake-fixed-warnings-on-android.patch b/0012-cmake-fixed-warnings-on-android.patch index 2deb405..188ae30 100644 --- a/0012-cmake-fixed-warnings-on-android.patch +++ b/0012-cmake-fixed-warnings-on-android.patch @@ -1,7 +1,7 @@ From 95223e9ee3fe6a7d7fb44855763d9e1b8078aae0 Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Sat, 8 Nov 2014 18:52:48 +0500 -Subject: [PATCH 12/16] cmake: fixed warnings on android +Subject: [PATCH 12/20] cmake: fixed warnings on android do not use -Wcast-align on arm --- @@ -30,5 +30,5 @@ index 8d382ee..9710ea9 100644 endif (CMAKE_COMPILER_IS_GNUCXX) -- -1.9.3 +2.1.0 diff --git a/0013-docs-fixed-no-images-in-docs-when-build-out-of-sourc.patch b/0013-docs-fixed-no-images-in-docs-when-build-out-of-sourc.patch index 563bac3..4b85474 100644 --- a/0013-docs-fixed-no-images-in-docs-when-build-out-of-sourc.patch +++ b/0013-docs-fixed-no-images-in-docs-when-build-out-of-sourc.patch @@ -1,7 +1,7 @@ From 98be0a1234538cb0eda66609f8707eccc6f96724 Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Fri, 28 Nov 2014 23:50:13 +0500 -Subject: [PATCH 13/16] docs: fixed no images in docs when build out of source +Subject: [PATCH 13/20] docs: fixed no images in docs when build out of source --- Doxyfile.in | 2 +- @@ -21,5 +21,5 @@ index 7e2bd30..59d9afe 100644 # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program -- -1.9.3 +2.1.0 diff --git a/0014-cmake-fixed-cmake-config-module-when-used-QCA_SUFFIX.patch b/0014-cmake-fixed-cmake-config-module-when-used-QCA_SUFFIX.patch index f786d21..4b37824 100644 --- a/0014-cmake-fixed-cmake-config-module-when-used-QCA_SUFFIX.patch +++ b/0014-cmake-fixed-cmake-config-module-when-used-QCA_SUFFIX.patch @@ -1,7 +1,7 @@ From 9a9c16dfd1affc92962acd92e4a5246830ccbc04 Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Sat, 29 Nov 2014 00:57:31 +0500 -Subject: [PATCH 14/16] cmake: fixed cmake config module when used QCA_SUFFIX +Subject: [PATCH 14/20] cmake: fixed cmake config module when used QCA_SUFFIX --- QcaConfig.cmake.in | 2 +- @@ -21,5 +21,5 @@ index cb053cf..0eea618 100644 set(Qca_LIBRARY qca) -- -1.9.3 +2.1.0 diff --git a/0015-fix-library-name-in-prf-file-to-use-the-lib-name-var.patch b/0015-fix-library-name-in-prf-file-to-use-the-lib-name-var.patch index d62b5e3..bd5b1e8 100644 --- a/0015-fix-library-name-in-prf-file-to-use-the-lib-name-var.patch +++ b/0015-fix-library-name-in-prf-file-to-use-the-lib-name-var.patch @@ -1,7 +1,7 @@ From 02be30908f6b8424e0ae0f4e64fb892912d252d1 Mon Sep 17 00:00:00 2001 From: Harald Sitter Date: Tue, 2 Dec 2014 13:29:52 +0100 -Subject: [PATCH 15/16] fix library name in prf file to use the lib name +Subject: [PATCH 15/20] fix library name in prf file to use the lib name variable the lib name might be suffixed @@ -30,5 +30,5 @@ index c966b23..f25440f 100644 } -- -1.9.3 +2.1.0 diff --git a/0016-move-QCA_CONFIG_NAME_BASE-definition-in-the-regular-.patch b/0016-move-QCA_CONFIG_NAME_BASE-definition-in-the-regular-.patch index 631f699..8aa17bb 100644 --- a/0016-move-QCA_CONFIG_NAME_BASE-definition-in-the-regular-.patch +++ b/0016-move-QCA_CONFIG_NAME_BASE-definition-in-the-regular-.patch @@ -1,7 +1,7 @@ From a67d31b1ecdb338eb6508f05f30520b8da4d869f Mon Sep 17 00:00:00 2001 From: Harald Sitter Date: Tue, 2 Dec 2014 13:32:09 +0100 -Subject: [PATCH 16/16] move QCA_CONFIG_NAME_BASE definition in the regular +Subject: [PATCH 16/20] move QCA_CONFIG_NAME_BASE definition in the regular suffix if (reviewed as part of r121323) @@ -41,5 +41,5 @@ index 9710ea9..c79c63f 100644 configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/QcaConfig.cmake.in" -- -1.9.3 +2.1.0 diff --git a/0017-fixed-array-size-checking.patch b/0017-fixed-array-size-checking.patch new file mode 100644 index 0000000..ca319a9 --- /dev/null +++ b/0017-fixed-array-size-checking.patch @@ -0,0 +1,26 @@ +rom e57f8e7795e65da22377a9a03302aff29f177259 Mon Sep 17 00:00:00 2001 +From: Ivan Romanov +Date: Sat, 13 Dec 2014 01:54:53 +0500 +Subject: [PATCH 17/20] fixed array size checking + +BUG: 341827 +--- + src/botantools/botan/big_io.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/botantools/botan/big_io.cpp b/src/botantools/botan/big_io.cpp +index a8d68ce..ca0c449 100644 +--- a/src/botantools/botan/big_io.cpp ++++ b/src/botantools/botan/big_io.cpp +@@ -60,7 +60,7 @@ std::ostream& operator<<(std::ostream& stream, const BigInt& n) + stream.write("-", 1); + SecureVector buffer = BigInt::encode(n, base); + u32bit skip = 0; +- while(buffer[skip] == '0' && skip < buffer.size()) ++ while(skip < buffer.size() && buffer[skip] == '0') + ++skip; + stream.write((const char*)buffer.begin() + skip, buffer.size() - skip); + } +-- +2.1.0 + diff --git a/0018-add-a-reviewboardrc.patch b/0018-add-a-reviewboardrc.patch new file mode 100644 index 0000000..7ab334f --- /dev/null +++ b/0018-add-a-reviewboardrc.patch @@ -0,0 +1,24 @@ +From 3b1bb19c7c355d0907c5434f9df7aeadfa749083 Mon Sep 17 00:00:00 2001 +From: Harald Sitter +Date: Thu, 18 Dec 2014 12:27:04 +0100 +Subject: [PATCH 18/20] add a reviewboardrc + +REVIEW: 121325 +--- + .reviewboardrc | 4 ++++ + 1 file changed, 4 insertions(+) + create mode 100644 .reviewboardrc + +diff --git a/.reviewboardrc b/.reviewboardrc +new file mode 100644 +index 0000000..7a5cb76 +--- /dev/null ++++ b/.reviewboardrc +@@ -0,0 +1,4 @@ ++REPOSITORY = "git://anongit.kde.org/qca" ++REVIEWBOARD_URL = "https://git.reviewboard.kde.org" ++TARGET_PEOPLE = "iromanov" ++BRANCH = "master" +-- +2.1.0 + diff --git a/0019-prevent-filewatches-from-emitting-changes-when-there.patch b/0019-prevent-filewatches-from-emitting-changes-when-there.patch new file mode 100644 index 0000000..a76386e --- /dev/null +++ b/0019-prevent-filewatches-from-emitting-changes-when-there.patch @@ -0,0 +1,52 @@ +From 4aae2dee34d2f0f6324a9e7819e29310106dc5bb Mon Sep 17 00:00:00 2001 +From: Harald Sitter +Date: Fri, 19 Dec 2014 16:47:40 +0100 +Subject: [PATCH 19/20] prevent filewatches from emitting changes when there is + no file + +(this also fixes the flaky filewatch test that would fail for example on + ubuntu launchpad builds) + +it can happen that (supposedly for filesystem reasons) there are two +changes signals arriving in the watcher code, by the time the first arrives +the file would however already be deleted, by the time the second arrives +it would thus notify of changes to a file that does not exist which is +silly and causes problems with the filewatchtest as it uses signal emission +counting to verify the behavior. +to prevent this problem from popping up there is an additional save guard +in the file_changed slot that will ignore a change if the path in question +doesn't exist AND there is no file being watched by the watcher. + +REVIEW: 121588 +--- + src/support/dirwatch.cpp | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/src/support/dirwatch.cpp b/src/support/dirwatch.cpp +index e8b2c38..ad47bfc 100644 +--- a/src/support/dirwatch.cpp ++++ b/src/support/dirwatch.cpp +@@ -210,8 +210,19 @@ private slots: + { + Q_UNUSED(path); + QFileInfo fi(filePath); +- if(!fi.exists()) ++ if (!fi.exists() && !fileExisted) { ++ // Got a file changed signal on a file that does not exist ++ // and is not actively watched. This happens when we ++ // previously watched a file but it was deleted and after ++ // the original deletion changed-signal we get another one ++ // (for example because of bad signal timing). In this scenario ++ // we must ignore the change as the change, whatever it may ++ // have been, is of no interest to us because we don't watch ++ // the file and furthermore the file does not even exist. ++ return; ++ } else if (!fi.exists()) { + fileExisted = false; ++ }; + emit q->changed(); + } + }; +-- +2.1.0 + diff --git a/0020-put-headers-of-a-suffixed-build-in-a-suffixed-direct.patch b/0020-put-headers-of-a-suffixed-build-in-a-suffixed-direct.patch new file mode 100644 index 0000000..1c4e13e --- /dev/null +++ b/0020-put-headers-of-a-suffixed-build-in-a-suffixed-direct.patch @@ -0,0 +1,67 @@ +From ffc53703adc7e327b3110da9b2cd04f7c5dc2c8a Mon Sep 17 00:00:00 2001 +From: Harald Sitter +Date: Mon, 22 Dec 2014 12:50:18 +0100 +Subject: [PATCH 20/20] put headers of a suffixed build in a suffixed directory + +this makes the headers co-installable between a suffixed and regular +version + +reviewed as part of r121323 +--- + CMakeLists.txt | 18 ++++++++++++++---- + src/CMakeLists.txt | 3 ++- + 2 files changed, 16 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c79c63f..efab26b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -164,8 +164,13 @@ if( QCA_INSTALL_IN_QT_PREFIX ) + set(QCA_BINARY_INSTALL_DIR "${QT_BINARY_DIR}" CACHE PATH "Directory where qca plugins will install") + set(QCA_LIBRARY_INSTALL_DIR "${QT_LIBRARY_DIR}" CACHE PATH "Directory where qca library will install") + set(QCA_FEATURE_INSTALL_DIR "${QT_MKSPECS_DIR}/features" CACHE PATH "Directory where qca feature file will install") +- set(QCA_INCLUDE_INSTALL_DIR "${QT_HEADERS_DIR}" CACHE PATH "Directory where qca public headers will install") +- set(QCA_PRIVATE_INCLUDE_INSTALL_DIR "${QT_HEADERS_DIR}" CACHE PATH "Directory where qca headers will install") ++ if(NOT QCA_SUFFIX) ++ set(QCA_INCLUDE_INSTALL_DIR "${QT_HEADERS_DIR}" CACHE PATH "Directory where qca public headers will install") ++ set(QCA_PRIVATE_INCLUDE_INSTALL_DIR "${QT_HEADERS_DIR}" CACHE PATH "Directory where qca headers will install") ++ else() ++ set(QCA_INCLUDE_INSTALL_DIR "${QT_HEADERS_DIR}/${QCA_CONFIG_NAME_BASE}" CACHE PATH "Directory where qca public headers will install") ++ set(QCA_PRIVATE_INCLUDE_INSTALL_DIR "${QT_HEADERS_DIR}/${QCA_CONFIG_NAME_BASE}" CACHE PATH "Directory where qca headers will install") ++ endif() + set(QCA_DOC_INSTALL_DIR "${QT_DOC_DIR}/html/qca/" CACHE PATH "Directory where qca documentation will install") + set(QCA_MAN_INSTALL_DIR "${QT_DATA_DIR}/man" CACHE PATH "Directory where qca man pages will install") + else( QCA_INSTALL_IN_QT_PREFIX ) +@@ -179,8 +184,13 @@ else( QCA_INSTALL_IN_QT_PREFIX ) + set(QCA_BINARY_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Directory where qca plugins will install") + set(QCA_LIBRARY_INSTALL_DIR "${LIB_INSTALL_DIR}" CACHE PATH "Directory where qca library will install") + set(QCA_FEATURE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/mkspecs/features" CACHE PATH "Directory where qca feature file will install") +- set(QCA_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Directory where qca public headers will install") +- set(QCA_PRIVATE_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Directory where qca headers will install") ++ if(NOT QCA_SUFFIX) ++ set(QCA_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Directory where qca public headers will install") ++ set(QCA_PRIVATE_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Directory where qca headers will install") ++ else() ++ set(QCA_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/${QCA_CONFIG_NAME_BASE}" CACHE PATH "Directory where qca public headers will install") ++ set(QCA_PRIVATE_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/${QCA_CONFIG_NAME_BASE}" CACHE PATH "Directory where qca headers will install") ++ endif() + set(QCA_DOC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/doc/${QCA_LIB_NAME}/html" CACHE PATH "Directory where qca documentation will install") + set(QCA_MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Directory where qca man pages will install") + endif( QCA_INSTALL_IN_QT_PREFIX ) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index bb415a9..861164a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -173,7 +173,8 @@ if(NOT DEVELOPER_MODE) + RUNTIME DESTINATION "${QCA_BINARY_INSTALL_DIR}" + ARCHIVE DESTINATION "${QCA_LIBRARY_INSTALL_DIR}" + FRAMEWORK DESTINATION "${QCA_LIBRARY_INSTALL_DIR}" +- PUBLIC_HEADER DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto" INCLUDES DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto" ++ PUBLIC_HEADER DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto" ++ INCLUDES DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto" + ) + + install_pdb(${QCA_LIB_NAME} ${QCA_BINARY_INSTALL_DIR}) +-- +2.1.0 + diff --git a/0021-properly-support-co-existing-qt4-and-qt5-versions.patch b/0021-properly-support-co-existing-qt4-and-qt5-versions.patch new file mode 100644 index 0000000..40527c0 --- /dev/null +++ b/0021-properly-support-co-existing-qt4-and-qt5-versions.patch @@ -0,0 +1,99 @@ +From c32bc6f1bc9befe5f89d3572eb28e0d591a2e3b2 Mon Sep 17 00:00:00 2001 +From: Harald Sitter +Date: Sun, 28 Dec 2014 14:26:50 +0100 +Subject: [PATCH 21/22] properly support co-existing qt4 and qt5 versions + +- if QT4_BUILD is not defined *and* Qt5Core is found build with soname + qca-qt5 +- rename cmake package to reflect the suffix i.e. with a Qt5 build it is + find_package(Qca-qt5) rather than find_package(Qca) +- the imported cmake target also reflects suffix so "Qca-qt5" is the + cmake link target for qt5 and "Qca" for qt4 builds + +this retains 100% compatibility with regular qca while also offering 100% +coinstallability of the qt5 build. + +REVIEW: 121633 +--- + CMakeLists.txt | 15 ++++++++------- + QcaConfig.cmake.in | 4 ++-- + src/CMakeLists.txt | 4 ++-- + 3 files changed, 12 insertions(+), 11 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index efab26b..d047cde 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,6 +59,7 @@ if (Qt5Core_FOUND) + include(GNUInstallDirs) + setup_qt5_dirs() + set(QCA_QT_PC_VERSION "Qt5Core") ++ set(QCA_SUFFIX "qt5") + else() + set(QT_MIN_VERSION "4.7.0") + set(QT_USE_IMPORTED_TARGETS ON) +@@ -392,10 +393,10 @@ endif(DOXYGEN_FOUND) + include(CMakePackageConfigHelpers) + configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/QcaConfig.cmake.in" +- "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/Qca/${QCA_CONFIG_NAME_BASE}Config.cmake" +- INSTALL_DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/Qca ++ "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}Config.cmake" ++ INSTALL_DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/${QCA_CONFIG_NAME_BASE} + ) +-write_basic_config_version_file("${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/Qca/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" VERSION ${QCA_LIB_VERSION_STRING} COMPATIBILITY AnyNewerVersion) ++write_basic_config_version_file("${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" VERSION ${QCA_LIB_VERSION_STRING} COMPATIBILITY AnyNewerVersion) + + if(NOT DEVELOPER_MODE) + +@@ -463,10 +464,10 @@ if(NOT DEVELOPER_MODE) + endif() + endif() + +- install(EXPORT QCATargets DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/Qca FILE ${QCA_CONFIG_NAME_BASE}Targets.cmake) ++ install(EXPORT ${QCA_CONFIG_NAME_BASE}Targets DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/${QCA_CONFIG_NAME_BASE} FILE ${QCA_CONFIG_NAME_BASE}Targets.cmake) + install(FILES +- "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/Qca/${QCA_CONFIG_NAME_BASE}Config.cmake" +- "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/Qca/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" +- DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/Qca ++ "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}Config.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" ++ DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/${QCA_CONFIG_NAME_BASE} + ) + endif() +diff --git a/QcaConfig.cmake.in b/QcaConfig.cmake.in +index 0eea618..24b1737 100644 +--- a/QcaConfig.cmake.in ++++ b/QcaConfig.cmake.in +@@ -1,7 +1,7 @@ + @PACKAGE_INIT@ + +-if(NOT TARGET qca) ++if(NOT TARGET @QCA_CONFIG_NAME_BASE@) + include("${CMAKE_CURRENT_LIST_DIR}/@QCA_CONFIG_NAME_BASE@Targets.cmake") + endif() + +-set(Qca_LIBRARY qca) ++set(Qca_LIBRARY @QCA_CONFIG_NAME_BASE@) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 861164a..bea7156 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -163,12 +163,12 @@ set_target_properties(${QCA_LIB_NAME} PROPERTIES + DEFINE_SYMBOL QCA_MAKEDLL + PUBLIC_HEADER "${public_HEADERS}" + FRAMEWORK ${OSX_FRAMEWORK} +- EXPORT_NAME qca ++ EXPORT_NAME ${QCA_LIB_NAME} + ) + + if(NOT DEVELOPER_MODE) + install(TARGETS ${QCA_LIB_NAME} +- EXPORT QCATargets ++ EXPORT ${QCA_CONFIG_NAME_BASE}Targets + LIBRARY DESTINATION "${QCA_LIBRARY_INSTALL_DIR}" + RUNTIME DESTINATION "${QCA_BINARY_INSTALL_DIR}" + ARCHIVE DESTINATION "${QCA_LIBRARY_INSTALL_DIR}" +-- +2.1.0 + diff --git a/0022-initialize-QCA_SUFFIX-cache-with-the-possibly-previo.patch b/0022-initialize-QCA_SUFFIX-cache-with-the-possibly-previo.patch new file mode 100644 index 0000000..8a2fd82 --- /dev/null +++ b/0022-initialize-QCA_SUFFIX-cache-with-the-possibly-previo.patch @@ -0,0 +1,28 @@ +From 3e3533b2753c8e47f0d22b77b564a0a6332cd5b8 Mon Sep 17 00:00:00 2001 +From: Harald Sitter +Date: Tue, 13 Jan 2015 17:22:06 +0100 +Subject: [PATCH 22/22] initialize QCA_SUFFIX cache with the possibly + previously set SUFFIX + +this prevents us from unsetting what was previously set, making sure +the suffix is applied +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d047cde..9f47d3d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,7 +87,7 @@ else(NOT BUILD_SHARED_LIBS OR QT_IS_STATIC) + set(PLUGIN_TYPE "MODULE") + endif(NOT BUILD_SHARED_LIBS OR QT_IS_STATIC) + +-set(QCA_SUFFIX "" CACHE STRING "QCA common suffix") ++set(QCA_SUFFIX "${QCA_SUFFIX}" CACHE STRING "QCA common suffix") + if(QCA_SUFFIX) + set(QCA_LIB_NAME qca-${QCA_SUFFIX}) + set(QCA_TOOL_NAME qcatool-${QCA_SUFFIX}) +-- +2.1.0 + diff --git a/qca.spec b/qca.spec index 389a699..ebfdf53 100644 --- a/qca.spec +++ b/qca.spec @@ -5,7 +5,7 @@ Name: qca Summary: Qt Cryptographic Architecture Version: 2.1.0 -Release: 6%{?dist} +Release: 7%{?dist} License: LGPLv2+ URL: http://delta.affinix.com/qca @@ -28,6 +28,13 @@ Patch13: 0013-docs-fixed-no-images-in-docs-when-build-out-of-sourc.patch Patch14: 0014-cmake-fixed-cmake-config-module-when-used-QCA_SUFFIX.patch Patch15: 0015-fix-library-name-in-prf-file-to-use-the-lib-name-var.patch Patch16: 0016-move-QCA_CONFIG_NAME_BASE-definition-in-the-regular-.patch +Patch17: 0017-fixed-array-size-checking.patch +Patch18: 0018-add-a-reviewboardrc.patch +Patch19: 0019-prevent-filewatches-from-emitting-changes-when-there.patch +Patch20: 0020-put-headers-of-a-suffixed-build-in-a-suffixed-direct.patch +# qt5 branch +Patch21: 0021-properly-support-co-existing-qt4-and-qt5-versions.patch +Patch22: 0022-initialize-QCA_SUFFIX-cache-with-the-possibly-previo.patch BuildRequires: cmake >= 2.8.12 BuildRequires: doxygen @@ -256,13 +263,10 @@ cp -a %{_target_platform}/apidocs/html/ \ %check export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig test "$(pkg-config --modversion qca2)" = "%{version}" -## skip filewatch unittest, which succeeds outside of mock/koji -#The following tests FAILED: -# 8 - FileWatch (Failed) export CTEST_OUTPUT_ON_FAILURE=1 -make test ARGS="--timeout 300 --output-on-failure -E FileWatch" -C %{_target_platform} +make test ARGS="--timeout 300 --output-on-failure" -C %{_target_platform} %if 0%{?qt5} -make test ARGS="--timeout 300 --output-on-failure -E FileWatch" -C %{_target_platform}-qt5 +make test ARGS="--timeout 300 --output-on-failure" -C %{_target_platform}-qt5 %endif @@ -283,9 +287,7 @@ make test ARGS="--timeout 300 --output-on-failure -E FileWatch" -C %{_target_pla %{_qt4_headerdir}/QtCrypto %{_qt4_libdir}/libqca.so %{_libdir}/pkgconfig/qca2.pc -%dir %{_libdir}/cmake/Qca/ -%{_libdir}/cmake/Qca/QcaConfig*.cmake -%{_libdir}/cmake/Qca/QcaTargets*.cmake +%{_libdir}/cmake/Qca/ %{_qt4_prefix}/mkspecs/features/crypto.prf %files botan @@ -338,9 +340,7 @@ make test ARGS="--timeout 300 --output-on-failure -E FileWatch" -C %{_target_pla %{_qt5_headerdir}/QtCrypto %{_qt5_libdir}/libqca-qt5.so %{_libdir}/pkgconfig/qca2-qt5.pc -%dir %{_libdir}/cmake/Qca/ -%{_libdir}/cmake/Qca/Qca-qt5Config*.cmake -%{_libdir}/cmake/Qca/Qca-qt5Targets*.cmake +%{_libdir}/cmake/Qca-qt5/ %{_qt5_prefix}/mkspecs/features/crypto.prf %files qt5-botan @@ -381,6 +381,9 @@ make test ARGS="--timeout 300 --output-on-failure -E FileWatch" -C %{_target_pla %changelog +* Tue Jan 13 2015 Rex Dieter 2.1.0-7 +- more upstream fixes (qt5 branch too) + * Tue Dec 02 2014 Rex Dieter 2.1.0-6 - pull in upstream patches (primarily for qt5 parallel-installability)