* Drop patches that have been applied upstream: - FindLibArchive_Support_libarchive_3.2.patch - file_Sort_GLOB_results_to_make_it_deterministic.patchci/unstable
parent
3d4ffa67af
commit
3fae3a4f36
@ -1,33 +0,0 @@
|
|||||||
From 38d18bab54cd9dceba5902dcb4407ecdb585953c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Orion Poplawski <orion@cora.nwra.com>
|
|
||||||
Date: Fri, 3 Jun 2016 09:37:03 -0600
|
|
||||||
Subject: [PATCH] FindLibArchive: Support libarchive 3.2 version string format
|
|
||||||
|
|
||||||
---
|
|
||||||
Modules/FindLibArchive.cmake | 9 +++++----
|
|
||||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Modules/FindLibArchive.cmake b/Modules/FindLibArchive.cmake
|
|
||||||
index 471a4f1..dd93041 100644
|
|
||||||
--- a/Modules/FindLibArchive.cmake
|
|
||||||
+++ b/Modules/FindLibArchive.cmake
|
|
||||||
@@ -42,14 +42,15 @@ mark_as_advanced(LibArchive_INCLUDE_DIR LibArchive_LIBRARY)
|
|
||||||
|
|
||||||
# Extract the version number from the header.
|
|
||||||
if(LibArchive_INCLUDE_DIR AND EXISTS "${LibArchive_INCLUDE_DIR}/archive.h")
|
|
||||||
- # The version string appears in one of two known formats in the header:
|
|
||||||
+ # The version string appears in one of three known formats in the header:
|
|
||||||
# #define ARCHIVE_LIBRARY_VERSION "libarchive 2.4.12"
|
|
||||||
# #define ARCHIVE_VERSION_STRING "libarchive 2.8.4"
|
|
||||||
- # Match either format.
|
|
||||||
- set(_LibArchive_VERSION_REGEX "^#define[ \t]+ARCHIVE[_A-Z]+VERSION[_A-Z]*[ \t]+\"libarchive +([0-9]+)\\.([0-9]+)\\.([0-9]+)[^\"]*\".*$")
|
|
||||||
+ # #define ARCHIVE_VERSION_ONLY_STRING "3.2.0"
|
|
||||||
+ # Match any format.
|
|
||||||
+ set(_LibArchive_VERSION_REGEX "^#define[ \t]+ARCHIVE[_A-Z]+VERSION[_A-Z]*[ \t]+\"(libarchive +)?([0-9]+)\\.([0-9]+)\\.([0-9]+)[^\"]*\".*$")
|
|
||||||
file(STRINGS "${LibArchive_INCLUDE_DIR}/archive.h" _LibArchive_VERSION_STRING LIMIT_COUNT 1 REGEX "${_LibArchive_VERSION_REGEX}")
|
|
||||||
if(_LibArchive_VERSION_STRING)
|
|
||||||
- string(REGEX REPLACE "${_LibArchive_VERSION_REGEX}" "\\1.\\2.\\3" LibArchive_VERSION "${_LibArchive_VERSION_STRING}")
|
|
||||||
+ string(REGEX REPLACE "${_LibArchive_VERSION_REGEX}" "\\2.\\3.\\4" LibArchive_VERSION "${_LibArchive_VERSION_STRING}")
|
|
||||||
endif()
|
|
||||||
unset(_LibArchive_VERSION_REGEX)
|
|
||||||
unset(_LibArchive_VERSION_STRING)
|
|
@ -1,121 +0,0 @@
|
|||||||
From edcccde7d65944b3744c4567bd1d452211829702 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Reiner Herrmann <reiner@reiner-h.de>
|
|
||||||
Date: Sat, 14 May 2016 12:30:36 +0200
|
|
||||||
Subject: [PATCH] file: Sort GLOB results to make it deterministic (#14491)
|
|
||||||
|
|
||||||
Even though the `file(GLOB)` documentation specifically warns against
|
|
||||||
using it to collect a list of source files, projects often do it anyway.
|
|
||||||
Since it uses `readdir()`, the list of files will be unsorted.
|
|
||||||
This list is often passed directly to add_executable / add_library.
|
|
||||||
Linking binaries with an unsorted list will make it unreproducible,
|
|
||||||
which means that the produced binary will differ depending on the
|
|
||||||
unpredictable `readdir()` order.
|
|
||||||
|
|
||||||
To solve those reproducibility issues in a lot of programs (which don't
|
|
||||||
explicitly `list(SORT)` the list manually), sort the resulting list of
|
|
||||||
the `file(GLOB)` command.
|
|
||||||
|
|
||||||
A more detailed rationale about reproducible builds is available
|
|
||||||
[here](https://reproducible-builds.org/).
|
|
||||||
---
|
|
||||||
Help/command/file.rst | 5 +++--
|
|
||||||
Source/cmFileCommand.cxx | 1 +
|
|
||||||
Tests/RunCMake/file/GLOB.cmake | 3 ---
|
|
||||||
Tests/RunCMake/file/GLOB_RECURSE-cyclic-recursion.cmake | 3 ---
|
|
||||||
Tests/RunCMake/file/GLOB_RECURSE.cmake | 3 ---
|
|
||||||
5 files changed, 4 insertions(+), 11 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Help/command/file.rst b/Help/command/file.rst
|
|
||||||
index 96ac6c7..256d16d 100644
|
|
||||||
--- a/Help/command/file.rst
|
|
||||||
+++ b/Help/command/file.rst
|
|
||||||
@@ -103,8 +103,9 @@ Generate a list of files that match the ``<globbing-expressions>`` and
|
|
||||||
store it into the ``<variable>``. Globbing expressions are similar to
|
|
||||||
regular expressions, but much simpler. If ``RELATIVE`` flag is
|
|
||||||
specified, the results will be returned as relative paths to the given
|
|
||||||
-path. No specific order of results is defined. If order is important then
|
|
||||||
-sort the list explicitly (e.g. using the :command:`list(SORT)` command).
|
|
||||||
+path. No specific order of results is defined other than that it is
|
|
||||||
+deterministic. If order is important then sort the list explicitly
|
|
||||||
+(e.g. using the :command:`list(SORT)` command).
|
|
||||||
|
|
||||||
By default ``GLOB`` lists directories - directories are omited in result if
|
|
||||||
``LIST_DIRECTORIES`` is set to false.
|
|
||||||
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
|
|
||||||
index 5363a99..4e72f36 100644
|
|
||||||
--- a/Source/cmFileCommand.cxx
|
|
||||||
+++ b/Source/cmFileCommand.cxx
|
|
||||||
@@ -1028,6 +1028,7 @@ bool cmFileCommand::HandleGlobCommand(std::vector<std::string> const& args,
|
|
||||||
|
|
||||||
std::vector<std::string>::size_type cc;
|
|
||||||
std::vector<std::string>& files = g.GetFiles();
|
|
||||||
+ std::sort(files.begin(), files.end());
|
|
||||||
for ( cc = 0; cc < files.size(); cc ++ )
|
|
||||||
{
|
|
||||||
if ( !first )
|
|
||||||
diff --git a/Tests/RunCMake/file/GLOB.cmake b/Tests/RunCMake/file/GLOB.cmake
|
|
||||||
index 3d577e3..c524e42 100644
|
|
||||||
--- a/Tests/RunCMake/file/GLOB.cmake
|
|
||||||
+++ b/Tests/RunCMake/file/GLOB.cmake
|
|
||||||
@@ -12,17 +12,14 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test/dir 2/non_empty_dir/dir 2 subdir fi
|
|
||||||
file(GLOB CONTENT_LIST "${CMAKE_CURRENT_BINARY_DIR}/test/*/*")
|
|
||||||
list(LENGTH CONTENT_LIST CONTENT_COUNT)
|
|
||||||
message("content: ${CONTENT_COUNT} ")
|
|
||||||
-list(SORT CONTENT_LIST)
|
|
||||||
message("${CONTENT_LIST}")
|
|
||||||
|
|
||||||
file(GLOB CONTENT_LIST LIST_DIRECTORIES true "${CMAKE_CURRENT_BINARY_DIR}/test/*/*")
|
|
||||||
list(LENGTH CONTENT_LIST CONTENT_COUNT)
|
|
||||||
message("content: ${CONTENT_COUNT} ")
|
|
||||||
-list(SORT CONTENT_LIST)
|
|
||||||
message("${CONTENT_LIST}")
|
|
||||||
|
|
||||||
file(GLOB CONTENT_LIST LIST_DIRECTORIES false "${CMAKE_CURRENT_BINARY_DIR}/test/*/*")
|
|
||||||
list(LENGTH CONTENT_LIST CONTENT_COUNT)
|
|
||||||
message("content: ${CONTENT_COUNT} ")
|
|
||||||
-list(SORT CONTENT_LIST)
|
|
||||||
message("${CONTENT_LIST}")
|
|
||||||
diff --git a/Tests/RunCMake/file/GLOB_RECURSE-cyclic-recursion.cmake b/Tests/RunCMake/file/GLOB_RECURSE-cyclic-recursion.cmake
|
|
||||||
index a8c6784..fb8be42 100644
|
|
||||||
--- a/Tests/RunCMake/file/GLOB_RECURSE-cyclic-recursion.cmake
|
|
||||||
+++ b/Tests/RunCMake/file/GLOB_RECURSE-cyclic-recursion.cmake
|
|
||||||
@@ -7,17 +7,14 @@ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_BINA
|
|
||||||
file(GLOB_RECURSE CONTENT_LIST FOLLOW_SYMLINKS "${CMAKE_CURRENT_BINARY_DIR}/test/*")
|
|
||||||
list(LENGTH CONTENT_LIST CONTENT_COUNT)
|
|
||||||
message("content: ${CONTENT_COUNT} ")
|
|
||||||
-list(SORT CONTENT_LIST)
|
|
||||||
message("${CONTENT_LIST}")
|
|
||||||
|
|
||||||
file(GLOB_RECURSE CONTENT_LIST LIST_DIRECTORIES false FOLLOW_SYMLINKS "${CMAKE_CURRENT_BINARY_DIR}/test/*")
|
|
||||||
list(LENGTH CONTENT_LIST CONTENT_COUNT)
|
|
||||||
message("content: ${CONTENT_COUNT} ")
|
|
||||||
-list(SORT CONTENT_LIST)
|
|
||||||
message("${CONTENT_LIST}")
|
|
||||||
|
|
||||||
file(GLOB_RECURSE CONTENT_LIST LIST_DIRECTORIES true FOLLOW_SYMLINKS "${CMAKE_CURRENT_BINARY_DIR}/test/*")
|
|
||||||
list(LENGTH CONTENT_LIST CONTENT_COUNT)
|
|
||||||
message("content: ${CONTENT_COUNT} ")
|
|
||||||
-list(SORT CONTENT_LIST)
|
|
||||||
message("${CONTENT_LIST}")
|
|
||||||
diff --git a/Tests/RunCMake/file/GLOB_RECURSE.cmake b/Tests/RunCMake/file/GLOB_RECURSE.cmake
|
|
||||||
index 6db377b..530930f 100644
|
|
||||||
--- a/Tests/RunCMake/file/GLOB_RECURSE.cmake
|
|
||||||
+++ b/Tests/RunCMake/file/GLOB_RECURSE.cmake
|
|
||||||
@@ -12,17 +12,14 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test/dir 2/non_empty_dir/dir 2 subdir fi
|
|
||||||
file(GLOB_RECURSE CONTENT_LIST "${CMAKE_CURRENT_BINARY_DIR}/test/*/*")
|
|
||||||
list(LENGTH CONTENT_LIST CONTENT_COUNT)
|
|
||||||
message("content: ${CONTENT_COUNT} ")
|
|
||||||
-list(SORT CONTENT_LIST)
|
|
||||||
message("${CONTENT_LIST}")
|
|
||||||
|
|
||||||
file(GLOB_RECURSE CONTENT_LIST LIST_DIRECTORIES false "${CMAKE_CURRENT_BINARY_DIR}/test/*/*")
|
|
||||||
list(LENGTH CONTENT_LIST CONTENT_COUNT)
|
|
||||||
message("content: ${CONTENT_COUNT} ")
|
|
||||||
-list(SORT CONTENT_LIST)
|
|
||||||
message("${CONTENT_LIST}")
|
|
||||||
|
|
||||||
file(GLOB_RECURSE CONTENT_LIST LIST_DIRECTORIES true "${CMAKE_CURRENT_BINARY_DIR}/test/*/*")
|
|
||||||
list(LENGTH CONTENT_LIST CONTENT_COUNT)
|
|
||||||
message("content: ${CONTENT_COUNT} ")
|
|
||||||
-list(SORT CONTENT_LIST)
|
|
||||||
message("${CONTENT_LIST}")
|
|
Loading…
Reference in new issue