From 24687ea437342c353d896f55223feef614fd44a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Tue, 11 Sep 2018 19:24:36 +0200 Subject: [PATCH] Fix license (rhbz#1603577) 1.8.1 --- .gitignore | 1 + ...8.0-fix-double-free-with-shared-libs.patch | 98 ------------------- gtest-1.8.0-libdir.patch | 24 ----- gtest-1.8.0-null-pointer.patch | 34 ------- ...sion.patch => gtest-1.8.1-libversion.patch | 29 +++--- gtest-1.8.1-null-pointer.patch | 17 ++++ gtest.spec | 31 +++--- sources | 2 +- 8 files changed, 54 insertions(+), 182 deletions(-) delete mode 100644 gtest-1.8.0-fix-double-free-with-shared-libs.patch delete mode 100644 gtest-1.8.0-libdir.patch delete mode 100644 gtest-1.8.0-null-pointer.patch rename gtest-1.8.0-libversion.patch => gtest-1.8.1-libversion.patch (54%) create mode 100644 gtest-1.8.1-null-pointer.patch diff --git a/.gitignore b/.gitignore index b8e332a..9f18597 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ gtest-1.4.0.tar.bz2 /gtest-1.6.0.zip /gtest-1.7.0.zip /release-1.8.0.tar.gz +/release-1.8.1.tar.gz diff --git a/gtest-1.8.0-fix-double-free-with-shared-libs.patch b/gtest-1.8.0-fix-double-free-with-shared-libs.patch deleted file mode 100644 index 5a8290f..0000000 --- a/gtest-1.8.0-fix-double-free-with-shared-libs.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 0663ce9024c9b78ddf6eb3fc1ceb45361ed91767 Mon Sep 17 00:00:00 2001 -From: Romain Geissler -Date: Sat, 2 Dec 2017 22:47:20 +0100 -Subject: [PATCH] Fix double free when building Gtest/GMock in shared libraries - and linking a test executable with both. - ---- - googlemock/CMakeLists.txt | 63 ++++++++++++++++++++++++++++++----------------- - 1 file changed, 40 insertions(+), 23 deletions(-) - -diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt -index 724fdd5..f7bad8a 100644 ---- a/googlemock/CMakeLists.txt -+++ b/googlemock/CMakeLists.txt -@@ -86,16 +86,23 @@ endif() - # Google Mock libraries. We build them using more strict warnings than what - # are used for other targets, to ensure that Google Mock can be compiled by - # a user aggressive about warnings. --cxx_library(gmock -- "${cxx_strict}" -- "${gtest_dir}/src/gtest-all.cc" -- src/gmock-all.cc) -- --cxx_library(gmock_main -- "${cxx_strict}" -- "${gtest_dir}/src/gtest-all.cc" -- src/gmock-all.cc -- src/gmock_main.cc) -+if (MSVC) -+ cxx_library(gmock -+ "${cxx_strict}" -+ "${gtest_dir}/src/gtest-all.cc" -+ src/gmock-all.cc) -+ -+ cxx_library(gmock_main -+ "${cxx_strict}" -+ "${gtest_dir}/src/gtest-all.cc" -+ src/gmock-all.cc -+ src/gmock_main.cc) -+else() -+ cxx_library(gmock "${cxx_strict}" src/gmock-all.cc) -+ target_link_libraries(gmock gtest) -+ cxx_library(gmock_main "${cxx_strict}" src/gmock_main.cc) -+ target_link_libraries(gmock_main gmock) -+endif() - - # If the CMake version supports it, attach header directory information - # to the targets for when we are part of a parent build (ie being pulled -@@ -175,23 +182,33 @@ if (gmock_build_tests) - ############################################################ - # C++ tests built with non-standard compiler flags. - -- cxx_library(gmock_main_no_exception "${cxx_no_exception}" -- "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc) -- -- cxx_library(gmock_main_no_rtti "${cxx_no_rtti}" -- "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc) -+ if (MSVC) -+ cxx_library(gmock_main_no_exception "${cxx_no_exception}" -+ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc) - -- if (NOT MSVC OR MSVC_VERSION LESS 1600) # 1600 is Visual Studio 2010. -- # Visual Studio 2010, 2012, and 2013 define symbols in std::tr1 that -- # conflict with our own definitions. Therefore using our own tuple does not -- # work on those compilers. -- cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}" -+ cxx_library(gmock_main_no_rtti "${cxx_no_rtti}" - "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc) - -- cxx_test_with_flags(gmock_use_own_tuple_test "${cxx_use_own_tuple}" -- gmock_main_use_own_tuple test/gmock-spec-builders_test.cc) -+ if (MSVC_VERSION LESS 1600) # 1600 is Visual Studio 2010. -+ # Visual Studio 2010, 2012, and 2013 define symbols in std::tr1 that -+ # conflict with our own definitions. Therefore using our own tuple does not -+ # work on those compilers. -+ cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}" -+ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc) -+ -+ cxx_test_with_flags(gmock_use_own_tuple_test "${cxx_use_own_tuple}" -+ gmock_main_use_own_tuple test/gmock-spec-builders_test.cc) -+ endif() -+ else() -+ cxx_library(gmock_main_no_exception "${cxx_no_exception}" src/gmock_main.cc) -+ target_link_libraries(gmock_main_no_exception gmock) -+ -+ cxx_library(gmock_main_no_rtti "${cxx_no_rtti}" src/gmock_main.cc) -+ target_link_libraries(gmock_main_no_rtti gmock) -+ -+ cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}" src/gmock_main.cc) -+ target_link_libraries(gmock_main_use_own_tuple gmock) - endif() -- - cxx_test_with_flags(gmock-more-actions_no_exception_test "${cxx_no_exception}" - gmock_main_no_exception test/gmock-more-actions_test.cc) - --- -2.14.3 - diff --git a/gtest-1.8.0-libdir.patch b/gtest-1.8.0-libdir.patch deleted file mode 100644 index 051ad34..0000000 --- a/gtest-1.8.0-libdir.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up googletest-release-1.8.0/googlemock/CMakeLists.txt.libdir googletest-release-1.8.0/googlemock/CMakeLists.txt ---- googletest-release-1.8.0/googlemock/CMakeLists.txt.libdir 2016-08-31 16:20:48.805836249 -0600 -+++ googletest-release-1.8.0/googlemock/CMakeLists.txt 2016-08-31 16:19:24.596216228 -0600 -@@ -104,7 +104,7 @@ endif() - # - # Install rules - install(TARGETS gmock gmock_main -- DESTINATION lib) -+ DESTINATION lib${LIB_SUFFIX}) - install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock - DESTINATION include) - -diff -up googletest-release-1.8.0/googletest/CMakeLists.txt.libdir googletest-release-1.8.0/googletest/CMakeLists.txt ---- googletest-release-1.8.0/googletest/CMakeLists.txt.libdir 2016-07-14 11:15:38.000000000 -0600 -+++ googletest-release-1.8.0/googletest/CMakeLists.txt 2016-08-31 16:20:19.357969126 -0600 -@@ -103,7 +103,7 @@ endif() - # - # Install rules - install(TARGETS gtest gtest_main -- DESTINATION lib) -+ DESTINATION lib${LIB_SUFFIX}) - install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest - DESTINATION include) - diff --git a/gtest-1.8.0-null-pointer.patch b/gtest-1.8.0-null-pointer.patch deleted file mode 100644 index a7d6a40..0000000 --- a/gtest-1.8.0-null-pointer.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 62466cfccad1a4fe3f59a2c33104c40adc01b4fe Mon Sep 17 00:00:00 2001 -From: Jonathan Wakely -Date: Fri, 23 Dec 2016 01:56:14 +0000 -Subject: [PATCH] Stop TestInfo::Run() calling a function through null pointer - -If the object was never created then trying to call &Test::DeleteSelf_ -will dereference a null pointer, with undefined behaviour. - -Fixes #845 ---- - googletest/src/gtest.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/googletest/src/gtest.cc b/googletest/src/gtest.cc -index d882ab2..1fb05ea 100644 ---- a/googletest/src/gtest.cc -+++ b/googletest/src/gtest.cc -@@ -2656,10 +2656,12 @@ void TestInfo::Run() { - test->Run(); - } - -- // Deletes the test object. -- impl->os_stack_trace_getter()->UponLeavingGTest(); -- internal::HandleExceptionsInMethodIfSupported( -- test, &Test::DeleteSelf_, "the test fixture's destructor"); -+ if (test != NULL) { -+ // Deletes the test object. -+ impl->os_stack_trace_getter()->UponLeavingGTest(); -+ internal::HandleExceptionsInMethodIfSupported( -+ test, &Test::DeleteSelf_, "the test fixture's destructor"); -+ } - - result_.set_elapsed_time(internal::GetTimeInMillis() - start); - diff --git a/gtest-1.8.0-libversion.patch b/gtest-1.8.1-libversion.patch similarity index 54% rename from gtest-1.8.0-libversion.patch rename to gtest-1.8.1-libversion.patch index 6c0e59a..34bee5d 100644 --- a/gtest-1.8.0-libversion.patch +++ b/gtest-1.8.1-libversion.patch @@ -1,28 +1,29 @@ diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt -index 4304995..5ca735b 100644 +index 8a8de1f..3d86a59 100644 --- a/googlemock/CMakeLists.txt +++ b/googlemock/CMakeLists.txt -@@ -99,6 +99,9 @@ else() - target_link_libraries(gmock_main gmock) +@@ -109,8 +109,10 @@ if (MSVC) + else() + cxx_library(gmock "${cxx_strict}" src/gmock-all.cc) + target_link_libraries(gmock PUBLIC gtest) ++ set_target_properties(gmock PROPERTIES VERSION 1.8.1) + cxx_library(gmock_main "${cxx_strict}" src/gmock_main.cc) + target_link_libraries(gmock_main PUBLIC gmock) ++ set_target_properties(gmock_main PROPERTIES VERSION 1.8.1) endif() - -+set_target_properties(gmock PROPERTIES VERSION 1.8.0) -+set_target_properties(gmock_main PROPERTIES VERSION 1.8.0) -+ # If the CMake version supports it, attach header directory information # to the targets for when we are part of a parent build (ie being pulled - # in via add_subdirectory() rather than being a standalone build). diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt -index ab82f23..97f7554 100644 +index 9ee7940..8099130 100644 --- a/googletest/CMakeLists.txt +++ b/googletest/CMakeLists.txt -@@ -88,7 +88,9 @@ endif() +@@ -131,7 +131,9 @@ endif() # are used for other targets, to ensure that gtest can be compiled by a user # aggressive about warnings. cxx_library(gtest "${cxx_strict}" src/gtest-all.cc) -+set_target_properties(gtest PROPERTIES VERSION 1.8.0) ++set_target_properties(gtest PROPERTIES VERSION 1.8.1) cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc) -+set_target_properties(gtest_main PROPERTIES VERSION 1.8.0) - target_link_libraries(gtest_main gtest) - ++set_target_properties(gtest_main PROPERTIES VERSION 1.8.1) # If the CMake version supports it, attach header directory information + # to the targets for when we are part of a parent build (ie being pulled + # in via add_subdirectory() rather than being a standalone build). diff --git a/gtest-1.8.1-null-pointer.patch b/gtest-1.8.1-null-pointer.patch new file mode 100644 index 0000000..d062bac --- /dev/null +++ b/gtest-1.8.1-null-pointer.patch @@ -0,0 +1,17 @@ +diff --git a/googletest/src/gtest.cc b/googletest/src/gtest.cc +index 96b07c6..4af3e5a 100644 +--- a/googletest/src/gtest.cc ++++ b/googletest/src/gtest.cc +@@ -2693,10 +2693,12 @@ void TestInfo::Run() { + test->Run(); + } + ++ if (test != NULL) { + // Deletes the test object. + impl->os_stack_trace_getter()->UponLeavingGTest(); + internal::HandleExceptionsInMethodIfSupported( + test, &Test::DeleteSelf_, "the test fixture's destructor"); ++ } + + result_.set_elapsed_time(internal::GetTimeInMillis() - start); + diff --git a/gtest.spec b/gtest.spec index a511abb..af0df5f 100644 --- a/gtest.spec +++ b/gtest.spec @@ -1,21 +1,17 @@ Summary: Google C++ testing framework Name: gtest -Version: 1.8.0 -Release: 4%{?dist} -License: BSD +Version: 1.8.1 +Release: 1%{?dist} +# scripts/generator/* are ASL 2.0 +License: BSD and ASL 2.0 URL: https://github.com/google/googletest Source0: https://github.com/google/googletest/archive/release-%{version}.tar.gz -# Install into lib64 if needed -Patch0: gtest-1.8.0-libdir.patch -# https://github.com/google/googletest/issues/845 -Patch1: gtest-1.8.0-null-pointer.patch -# https://github.com/google/googletest/issues/930 -# https://bugzilla.redhat.com/show_bug.cgi?id=1513522 -Patch2: gtest-1.8.0-fix-double-free-with-shared-libs.patch +# https://github.com/google/googletest/pull/967 +Patch0: gtest-1.8.1-null-pointer.patch # Fedora-specific patches ## Set libversion for libraries to version of gtest ## WARNING: must be rediffed for each version bump -Patch100: gtest-1.8.0-libversion.patch +Patch100: gtest-1.8.1-libversion.patch BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake @@ -99,8 +95,21 @@ make test %{_includedir}/gmock/ %{_libdir}/libgmock.so %{_libdir}/libgmock_main.so +%dir %{_libdir}/cmake/GTest/ +%{_libdir}/cmake/GTest/GTestConfig.cmake +%{_libdir}/cmake/GTest/GTestConfigVersion.cmake +%{_libdir}/cmake/GTest/GTestTargets-noconfig.cmake +%{_libdir}/cmake/GTest/GTestTargets.cmake +%{_libdir}/pkgconfig/gmock.pc +%{_libdir}/pkgconfig/gmock_main.pc +%{_libdir}/pkgconfig/gtest.pc +%{_libdir}/pkgconfig/gtest_main.pc %changelog +* Mon Sep 10 2018 Terje Rosten - 1.8.1-1 +- Fix license (rhbz#1603577) +- 1.8.1 + * Fri Jul 13 2018 Fedora Release Engineering - 1.8.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 5be7342..3445132 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (release-1.8.0.tar.gz) = 1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d +SHA512 (release-1.8.1.tar.gz) = e6283c667558e1fd6e49fa96e52af0e415a3c8037afe1d28b7ff1ec4c2ef8f49beb70a9327b7fc77eb4052a58c4ccad8b5260ec90e4bceeac7a46ff59c4369d7