diff options
-rw-r--r-- | Help/release/dev/cpack-rpm-adding-dist-to-release-tag.rst | 7 | ||||
-rw-r--r-- | Tests/RunCMake/CPack/RPM/RPM_DIST-ExpectedFiles.cmake | 5 | ||||
-rw-r--r-- | Tests/RunCMake/CPack/RPM/RPM_DIST-VerifyResult.cmake | 11 | ||||
-rw-r--r-- | Tests/RunCMake/CPack/RPM_DIST.cmake | 4 | ||||
-rw-r--r-- | Tests/RunCMake/CPack/RunCMakeTest.cmake | 1 |
5 files changed, 28 insertions, 0 deletions
diff --git a/Help/release/dev/cpack-rpm-adding-dist-to-release-tag.rst b/Help/release/dev/cpack-rpm-adding-dist-to-release-tag.rst new file mode 100644 index 0000000..42599a9 --- /dev/null +++ b/Help/release/dev/cpack-rpm-adding-dist-to-release-tag.rst @@ -0,0 +1,7 @@ +cpack-rpm-adding-dist-to-release-tag +------------------------------------ + +* The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of + RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for + e.g. on Fedora). + See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. diff --git a/Tests/RunCMake/CPack/RPM/RPM_DIST-ExpectedFiles.cmake b/Tests/RunCMake/CPack/RPM/RPM_DIST-ExpectedFiles.cmake new file mode 100644 index 0000000..3b5a347 --- /dev/null +++ b/Tests/RunCMake/CPack/RPM/RPM_DIST-ExpectedFiles.cmake @@ -0,0 +1,5 @@ +set(whitespaces_ "[\t\n\r ]*") + +set(EXPECTED_FILES_COUNT "1") +set(EXPECTED_FILE_1 "rpm_dist*.rpm") +set(EXPECTED_FILE_CONTENT_1 "^/usr/foo${whitespaces_}/usr/foo/CMakeLists.txt$") diff --git a/Tests/RunCMake/CPack/RPM/RPM_DIST-VerifyResult.cmake b/Tests/RunCMake/CPack/RPM/RPM_DIST-VerifyResult.cmake new file mode 100644 index 0000000..7375ecc --- /dev/null +++ b/Tests/RunCMake/CPack/RPM/RPM_DIST-VerifyResult.cmake @@ -0,0 +1,11 @@ +execute_process(COMMAND ${RPMBUILD_EXECUTABLE} -E %{?dist} + OUTPUT_VARIABLE DIST_TAG + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + +set(whitespaces_ "[\t\n\r ]*") + +getPackageInfo("${FOUND_FILE_1}" "FILE_INFO_") +if(NOT FILE_INFO_ MATCHES ".*Release${whitespaces_}:${whitespaces_}1${DIST_TAG}") + message(FATAL_ERROR "Unexpected Release in '${FOUND_FILE_1}'; file info: '${FILE_INFO_}'") +endif() diff --git a/Tests/RunCMake/CPack/RPM_DIST.cmake b/Tests/RunCMake/CPack/RPM_DIST.cmake new file mode 100644 index 0000000..eb2a123 --- /dev/null +++ b/Tests/RunCMake/CPack/RPM_DIST.cmake @@ -0,0 +1,4 @@ +install(FILES CMakeLists.txt DESTINATION foo COMPONENT test) + +set(CPACK_RPM_PACKAGE_RELEASE_DIST ON) +set(CPACK_PACKAGE_NAME "rpm_dist") diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index ee4112d..7f756c4 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -11,4 +11,5 @@ run_cpack_test(DEPENDENCIES "RPM;DEB" true) run_cpack_test(EMPTY_DIR "RPM;DEB;TGZ" true) run_cpack_test(COMPONENTS_EMPTY_DIR "RPM;DEB;TGZ" true) run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false) +run_cpack_test(RPM_DIST "RPM" false) run_cpack_test(INSTALL_SCRIPTS "RPM" false) |