diff --git a/debian/changelog b/debian/changelog index 4a7c59fa0..178bd0b3b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,9 @@ cmake (3.0.0-1) UNRELEASED; urgency=medium * Refresh patches: - FindJNI.cmake.mips.patch - FindJNI_ppc64le.diff + * Fix running the test suite. + - Cherry-pick upstream fix in fix-bootstrap-test-1.diff and + fix-bootstrap-test-2.diff -- Felix Geyer Sun, 03 Aug 2014 20:21:55 +0200 diff --git a/debian/patches/fix-bootstrap-test-1.diff b/debian/patches/fix-bootstrap-test-1.diff new file mode 100644 index 000000000..d9b88915f --- /dev/null +++ b/debian/patches/fix-bootstrap-test-1.diff @@ -0,0 +1,53 @@ +From bc1517579d897678ad734e82201be42d4e2a7cba Mon Sep 17 00:00:00 2001 +From: Brad King +Date: Wed, 25 Jun 2014 13:32:48 -0400 +Subject: [PATCH] bootstrap: Clarify name of configured source directory + +Rename CMAKE_ROOT_DIR to CMAKE_BOOTSTRAP_SOURCE_DIR to clarify both that +it is only for bootstrap and that it refers to the source directory. +--- + Source/cmSystemTools.cxx | 2 +- + bootstrap | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx +index c7acfd0..cd9c5ad 100644 +--- a/Source/cmSystemTools.cxx ++++ b/Source/cmSystemTools.cxx +@@ -2215,7 +2215,7 @@ void cmSystemTools::FindCMakeResources(const char* argv0) + } + #else + // Bootstrap build knows its source. +- cmSystemToolsCMakeRoot = CMAKE_ROOT_DIR; ++ cmSystemToolsCMakeRoot = CMAKE_BOOTSTRAP_SOURCE_DIR; + #endif + } + +diff --git a/bootstrap b/bootstrap +index 45f67cf..6a25a3f 100755 +--- a/bootstrap ++++ b/bootstrap +@@ -1474,9 +1474,9 @@ fi + # When bootstrapping on MinGW with MSYS we must convert the source + # directory to a windows path. + if ${cmake_system_mingw}; then +- cmake_root_dir=`cd "${cmake_source_dir}"; pwd -W` ++ CMAKE_BOOTSTRAP_SOURCE_DIR=`cd "${cmake_source_dir}"; pwd -W` + else +- cmake_root_dir="${cmake_source_dir}" ++ CMAKE_BOOTSTRAP_SOURCE_DIR="${cmake_source_dir}" + fi + + # Write CMake version +@@ -1484,7 +1484,7 @@ cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION_MAJOR ${cmake_versi + cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION_MINOR ${cmake_version_minor}" + cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION_PATCH ${cmake_version_patch}" + cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION \"${cmake_version}\"" +-cmake_report cmConfigure.h${_tmp} "#define CMAKE_ROOT_DIR \"${cmake_root_dir}\"" ++cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_SOURCE_DIR \"${CMAKE_BOOTSTRAP_SOURCE_DIR}\"" + cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\"" + cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP" + +-- +1.7.10.4 + diff --git a/debian/patches/fix-bootstrap-test-2.diff b/debian/patches/fix-bootstrap-test-2.diff new file mode 100644 index 000000000..15284d32f --- /dev/null +++ b/debian/patches/fix-bootstrap-test-2.diff @@ -0,0 +1,59 @@ +From 6650b0fa43ef55e8bad9188c584f40d515f38bd6 Mon Sep 17 00:00:00 2001 +From: Brad King +Date: Wed, 25 Jun 2014 13:34:15 -0400 +Subject: [PATCH] bootstrap: Fix "make test" and "make package" targets + (#14989) + +Since commit v3.0.0-rc1~374^2 (Refactor internal resource location APIs +and initialization, 2013-11-07) a bootstrap-built "cmake" tries to +reference "ctest" and "cpack" executables next to itself, which never +exist. Teach cmSystemTools::FindCMakeResources, when bootstrap-built, +to refer to the "ctest" and "cpack" executables in the location where +they will be built after "make". +--- + Source/cmSystemTools.cxx | 5 +++++ + bootstrap | 3 +++ + 2 files changed, 8 insertions(+) + +diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx +index cd9c5ad..575b973 100644 +--- a/Source/cmSystemTools.cxx ++++ b/Source/cmSystemTools.cxx +@@ -2163,6 +2163,11 @@ void cmSystemTools::FindCMakeResources(const char* argv0) + cmSystemToolsCMakeCommand = exe_dir; + cmSystemToolsCMakeCommand += "/cmake"; + cmSystemToolsCMakeCommand += cmSystemTools::GetExecutableExtension(); ++#ifndef CMAKE_BUILD_WITH_CMAKE ++ // The bootstrap cmake does not provide the other tools, ++ // so use the directory where they are about to be built. ++ exe_dir = CMAKE_BOOTSTRAP_BINARY_DIR "/bin"; ++#endif + cmSystemToolsCTestCommand = exe_dir; + cmSystemToolsCTestCommand += "/ctest"; + cmSystemToolsCTestCommand += cmSystemTools::GetExecutableExtension(); +diff --git a/bootstrap b/bootstrap +index 6a25a3f..da84040 100755 +--- a/bootstrap ++++ b/bootstrap +@@ -1475,8 +1475,10 @@ fi + # directory to a windows path. + if ${cmake_system_mingw}; then + CMAKE_BOOTSTRAP_SOURCE_DIR=`cd "${cmake_source_dir}"; pwd -W` ++ CMAKE_BOOTSTRAP_BINARY_DIR=`cd "${cmake_binary_dir}"; pwd -W` + else + CMAKE_BOOTSTRAP_SOURCE_DIR="${cmake_source_dir}" ++ CMAKE_BOOTSTRAP_BINARY_DIR="${cmake_binary_dir}" + fi + + # Write CMake version +@@ -1485,6 +1487,7 @@ cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION_MINOR ${cmake_versi + cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION_PATCH ${cmake_version_patch}" + cmake_report cmVersionConfig.h${_tmp} "#define CMake_VERSION \"${cmake_version}\"" + cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_SOURCE_DIR \"${CMAKE_BOOTSTRAP_SOURCE_DIR}\"" ++cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP_BINARY_DIR \"${CMAKE_BOOTSTRAP_BINARY_DIR}\"" + cmake_report cmConfigure.h${_tmp} "#define CMAKE_DATA_DIR \"/bootstrap-not-insalled\"" + cmake_report cmConfigure.h${_tmp} "#define CMAKE_BOOTSTRAP" + +-- +1.7.10.4 + diff --git a/debian/patches/series b/debian/patches/series index 7a2ed3ff1..de3c89874 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -7,3 +7,5 @@ fix-FindImageMagick-1.diff fix-FindImageMagick-2.diff fix-hdf5-hl.patch FindJNI_ppc64le.diff +fix-bootstrap-test-1.diff +fix-bootstrap-test-2.diff