From adbd3985f89f19d9de867a75321465d6e181908d Mon Sep 17 00:00:00 2001 From: Domen Vrankar Date: Mon, 23 May 2016 19:51:33 +0200 Subject: [PATCH] CPack/Deb possibility to change package name This patch preserves backward compatibility of deb package names with previous CMake versions but similarly to CPack/RPM allows to change package name format and supports DEB-DEFAULT setting that produces proper Debian package names. --- Help/release/dev/cpack-deb-imporvements.rst | 16 +++-- Modules/CPackDeb.cmake | 70 +++++++++++++++++-- Source/CPack/cmCPackDebGenerator.cxx | 8 +-- Tests/CPackComponentsDEB/CMakeLists.txt | 2 + Tests/CPackComponentsForAll/CMakeLists.txt | 3 + ..._CUSTOM_NAMES.cmake => CUSTOM_NAMES.cmake} | 4 -- .../DEB/COMPONENTS_EMPTY_DIR-specifics.cmake | 1 + .../DEB/CUSTOM_NAMES-ExpectedFiles.cmake | 9 +++ .../CPack/DEB/CUSTOM_NAMES-specifics.cmake | 6 ++ .../DEB/DEPENDENCIES-ExpectedFiles.cmake | 10 +-- .../CPack/DEB/DEPENDENCIES-specifics.cmake | 2 + .../CPack/DEB/EMPTY_DIR-specifics.cmake | 1 + .../CPack/DEB/MINIMAL-specifics.cmake | 1 + .../DEB/PER_COMPONENT_FIELDS-specifics.cmake | 1 + Tests/RunCMake/CPack/DEB_EXTRA.cmake | 1 + .../RunCMake/CPack/DEB_GENERATE_SHLIBS.cmake | 1 + .../CPack/DEB_GENERATE_SHLIBS_LDCONFIG.cmake | 1 + ...cmake => CUSTOM_NAMES-ExpectedFiles.cmake} | 0 .../CPack/RPM/CUSTOM_NAMES-specifics.cmake | 5 ++ .../CPack/RPM/CUSTOM_NAMES-stderr.txt | 3 + .../CPack/RPM/RPM_CUSTOM_NAMES-stderr.txt | 3 - Tests/RunCMake/CPack/RunCMakeTest.cmake | 2 +- 22 files changed, 120 insertions(+), 30 deletions(-) rename Tests/RunCMake/CPack/{RPM_CUSTOM_NAMES.cmake => CUSTOM_NAMES.cmake} (67%) create mode 100644 Tests/RunCMake/CPack/DEB/CUSTOM_NAMES-ExpectedFiles.cmake create mode 100644 Tests/RunCMake/CPack/DEB/CUSTOM_NAMES-specifics.cmake rename Tests/RunCMake/CPack/RPM/{RPM_CUSTOM_NAMES-ExpectedFiles.cmake => CUSTOM_NAMES-ExpectedFiles.cmake} (100%) create mode 100644 Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-specifics.cmake create mode 100644 Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-stderr.txt delete mode 100644 Tests/RunCMake/CPack/RPM/RPM_CUSTOM_NAMES-stderr.txt diff --git a/Help/release/dev/cpack-deb-imporvements.rst b/Help/release/dev/cpack-deb-imporvements.rst index 4fd35b898..d3cb52cb3 100644 --- a/Help/release/dev/cpack-deb-imporvements.rst +++ b/Help/release/dev/cpack-deb-imporvements.rst @@ -13,15 +13,19 @@ cpack-deb-imporvements :variable:`CPACK_COMPONENT__DEPENDS` variables are set. This breaks compatibility with previous versions. -* The :module:`CPackDeb` module learned how to set the package release number - (``DebianRevisionNumber`` in package file name). See - :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. - -* The :module:`CPackDeb` module now generates properly-named Debian packages:: +* The :module:`CPackDeb` module learned how to set custom package file names + including how to generate properly-named Debian packages:: _-_.deb - This breaks compatibility with previous versions. + For backward compatibility this feature is disabled by default. See + :variable:`CPACK_DEBIAN_FILE_NAME` and + :variable:`CPACK_DEBIAN__FILE_NAME`. + +* The :module:`CPackDeb` module learned how to set the package release number + (``DebianRevisionNumber`` in package file name when used in combination with + ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See + :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN__PACKAGE_ARCHITECTURE`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index d93d924a8..f7cd7aad3 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -42,6 +42,32 @@ # # See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source # +# .. variable:: CPACK_DEBIAN_FILE_NAME +# CPACK_DEBIAN__FILE_NAME +# +# Package file name. +# +# * Mandatory : YES +# * Default : ``[-].deb`` +# +# This may be set to ``DEB-DEFAULT`` to allow CPackDeb to generate package file +# name by itself in deb format:: +# +# _-_.deb +# +# Alternatively provided package file name must end with ".deb" suffix. +# +# .. note:: +# +# Preferred setting of this variable is ``DEB-DEFAULT`` but for backward +# compatibility with CPackDeb in CMake prior to version 3.6 this feature +# is disabled by default. +# +# .. note:: +# +# By using non default filenames duplicate names may occur. Duplicate files +# get overwritten and it is up to the packager to set the variables in a +# manner that will prevent such errors. # # .. variable:: CPACK_DEBIAN_PACKAGE_VERSION # @@ -466,6 +492,17 @@ if(NOT UNIX) message(FATAL_ERROR "CPackDeb.cmake may only be used under UNIX.") endif() +function(cpack_deb_variable_fallback OUTPUT_VAR_NAME) + set(FALLBACK_VAR_NAMES ${ARGN}) + + foreach(variable_name IN LISTS FALLBACK_VAR_NAMES) + if(${variable_name}) + set(${OUTPUT_VAR_NAME} "${${variable_name}}" PARENT_SCOPE) + break() + endif() + endforeach() +endfunction() + function(get_component_package_name var component) string(TOUPPER "${component}" component_upcase) if(CPACK_DEBIAN_${component_upcase}_PACKAGE_NAME) @@ -878,13 +915,32 @@ function(cpack_deb_prepare_package_vars) set(CPACK_DEBIAN_PACKAGE_RELEASE 1) endif() - # Patch package file name to be in corrent debian format: - # _-_.deb - set(CPACK_OUTPUT_FILE_NAME - "${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_RELEASE}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") - set(CPACK_TEMPORARY_PACKAGE_FILE_NAME "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_OUTPUT_FILE_NAME}") - get_filename_component(BINARY_DIR "${CPACK_OUTPUT_FILE_PATH}" DIRECTORY) - set(CPACK_OUTPUT_FILE_PATH "${BINARY_DIR}/${CPACK_OUTPUT_FILE_NAME}") + + cpack_deb_variable_fallback("CPACK_DEBIAN_FILE_NAME" + "CPACK_DEBIAN_${_local_component_name}_FILE_NAME" + "CPACK_DEBIAN_FILE_NAME") + if(CPACK_DEBIAN_FILE_NAME) + if(CPACK_DEBIAN_FILE_NAME STREQUAL "DEB-DEFAULT") + # Patch package file name to be in corrent debian format: + # _-_.deb + set(CPACK_OUTPUT_FILE_NAME + "${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_RELEASE}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") + else() + cmake_policy(PUSH) + cmake_policy(SET CMP0010 NEW) + if(NOT CPACK_DEBIAN_FILE_NAME MATCHES ".*\\.deb") + cmake_policy(POP) + message(FATAL_ERROR "'${CPACK_DEBIAN_FILE_NAME}' is not a valid DEB package file name as it must end with '.deb'!") + endif() + cmake_policy(POP) + + set(CPACK_OUTPUT_FILE_NAME "${CPACK_DEBIAN_FILE_NAME}") + endif() + + set(CPACK_TEMPORARY_PACKAGE_FILE_NAME "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_OUTPUT_FILE_NAME}") + get_filename_component(BINARY_DIR "${CPACK_OUTPUT_FILE_PATH}" DIRECTORY) + set(CPACK_OUTPUT_FILE_PATH "${BINARY_DIR}/${CPACK_OUTPUT_FILE_NAME}") + endif() # else() back compatibility - don't change the name # Print out some debug information if we were asked for that if(CPACK_DEBIAN_PACKAGE_DEBUG) diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index 76756775c..7fd76df65 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -57,8 +57,8 @@ int cmCPackDebGenerator::PackageOnePack(std::string initialTopLevel, // Begin the archive for this pack std::string localToplevel(initialTopLevel); std::string packageFileName(cmSystemTools::GetParentDirectory(toplevel)); - std::string outputFileName(cmsys::SystemTools::LowerCase(std::string( - this->GetOption("CPACK_PACKAGE_FILE_NAME"))) + + std::string outputFileName(std::string( + this->GetOption("CPACK_PACKAGE_FILE_NAME")) + "-" + packageName + this->GetOutputExtension()); localToplevel += "/" + packageName; @@ -174,8 +174,8 @@ int cmCPackDebGenerator::PackageComponentsAllInOne( // The ALL GROUPS in ONE package case std::string localToplevel(initialTopLevel); std::string packageFileName(cmSystemTools::GetParentDirectory(toplevel)); - std::string outputFileName(cmsys::SystemTools::LowerCase(std::string( - this->GetOption("CPACK_PACKAGE_FILE_NAME"))) + + std::string outputFileName(std::string( + this->GetOption("CPACK_PACKAGE_FILE_NAME")) + this->GetOutputExtension()); // all GROUP in one vs all COMPONENT in one localToplevel += "/" + compInstDirName; diff --git a/Tests/CPackComponentsDEB/CMakeLists.txt b/Tests/CPackComponentsDEB/CMakeLists.txt index 093b23fdd..9d4b5e9df 100644 --- a/Tests/CPackComponentsDEB/CMakeLists.txt +++ b/Tests/CPackComponentsDEB/CMakeLists.txt @@ -130,6 +130,8 @@ configure_file(${CPackComponentsDEB_SOURCE_DIR}/MyLibCPackConfig-${CPackDEBConfi @ONLY) set(CPACK_PROJECT_CONFIG_FILE ${CPackComponentsDEB_BINARY_DIR}/MyLibCPackConfig-${CPackDEBConfiguration}.cmake) +# set CPACK_DEBIAN_FILE_NAME to use default package name format +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") # Include CPack to introduce the appropriate targets include(CPack) diff --git a/Tests/CPackComponentsForAll/CMakeLists.txt b/Tests/CPackComponentsForAll/CMakeLists.txt index 05c13a490..344084317 100644 --- a/Tests/CPackComponentsForAll/CMakeLists.txt +++ b/Tests/CPackComponentsForAll/CMakeLists.txt @@ -165,6 +165,9 @@ set(CPACK_RPM_RELOCATION_PATHS "${CMAKE_INSTALL_INCLUDEDIR}" "${CMAKE_INSTALL_LIBDIR}" "${CMAKE_INSTALL_BINDIR}" "other_relocatable" "${CMAKE_INSTALL_LIBDIR}/inside_relocatable_two/depth_two/different_relocatable") +# set CPACK_DEBIAN_FILE_NAME to use default package name format +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") + # We may use the CPack specific config file in order # to tailor CPack behavior on a CPack generator specific way # (Behavior would be different for RPM or TGZ or DEB ...) diff --git a/Tests/RunCMake/CPack/RPM_CUSTOM_NAMES.cmake b/Tests/RunCMake/CPack/CUSTOM_NAMES.cmake similarity index 67% rename from Tests/RunCMake/CPack/RPM_CUSTOM_NAMES.cmake rename to Tests/RunCMake/CPack/CUSTOM_NAMES.cmake index ba53a872f..c89df8941 100644 --- a/Tests/RunCMake/CPack/RPM_CUSTOM_NAMES.cmake +++ b/Tests/RunCMake/CPack/CUSTOM_NAMES.cmake @@ -1,9 +1,5 @@ set(CPACK_RPM_COMPONENT_INSTALL "ON") -set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") -set(CPACK_RPM_PKG_2_PACKAGE_NAME "second") -set(CPACK_RPM_PKG_3_FILE_NAME "pkg_3_abc.rpm") - install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_1) install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_2) install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_3) diff --git a/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-specifics.cmake b/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-specifics.cmake index 2720fe921..4b4ac8dc2 100644 --- a/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-specifics.cmake +++ b/Tests/RunCMake/CPack/DEB/COMPONENTS_EMPTY_DIR-specifics.cmake @@ -1,2 +1,3 @@ set(CPACK_PACKAGE_CONTACT "someone") set(CPACK_DEB_COMPONENT_INSTALL "ON") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") diff --git a/Tests/RunCMake/CPack/DEB/CUSTOM_NAMES-ExpectedFiles.cmake b/Tests/RunCMake/CPack/DEB/CUSTOM_NAMES-ExpectedFiles.cmake new file mode 100644 index 000000000..2acf45bcc --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/CUSTOM_NAMES-ExpectedFiles.cmake @@ -0,0 +1,9 @@ +set(whitespaces_ "[\t\n\r ]*") + +set(EXPECTED_FILES_COUNT "3") +set(EXPECTED_FILE_1 "custom_names-pkg_1_0.1.1-1_*.deb") +set(EXPECTED_FILE_CONTENT_1 "^.*/usr/foo${whitespaces_}.*/usr/foo/CMakeLists.txt$") +set(EXPECTED_FILE_2 "second*.deb") +set(EXPECTED_FILE_CONTENT_2 "^.*/usr/foo${whitespaces_}.*/usr/foo/CMakeLists.txt$") +set(EXPECTED_FILE_3 "pkg_3_abc.deb") +set(EXPECTED_FILE_CONTENT_3 "^.*/usr/foo${whitespaces_}.*/usr/foo/CMakeLists.txt$") diff --git a/Tests/RunCMake/CPack/DEB/CUSTOM_NAMES-specifics.cmake b/Tests/RunCMake/CPack/DEB/CUSTOM_NAMES-specifics.cmake new file mode 100644 index 000000000..c64f16115 --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/CUSTOM_NAMES-specifics.cmake @@ -0,0 +1,6 @@ +set(CPACK_PACKAGE_CONTACT "someone") +set(CPACK_DEB_COMPONENT_INSTALL "ON") + +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") +set(CPACK_DEBIAN_PKG_2_PACKAGE_NAME "second") +set(CPACK_DEBIAN_PKG_3_FILE_NAME "pkg_3_abc.deb") diff --git a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake index c182e303d..a6f08fe10 100644 --- a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake +++ b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake @@ -1,14 +1,14 @@ set(whitespaces_ "[\t\n\r ]*") set(EXPECTED_FILES_COUNT "5") -set(EXPECTED_FILE_1 "dependencies-applications_0.1.1-1_*.deb") +set(EXPECTED_FILE_1 "dependencies-0.1.1-*-applications.deb") set(EXPECTED_FILE_CONTENT_1 "^.*/usr/foo${whitespaces_}.*/usr/foo/test_prog$") -set(EXPECTED_FILE_2 "dependencies-applications_auto_0.1.1-1_*.deb") +set(EXPECTED_FILE_2 "dependencies-0.1.1-*-applications_auto.deb") set(EXPECTED_FILE_CONTENT_2 "^.*/usr/foo_auto${whitespaces_}.*/usr/foo_auto/test_prog$") -set(EXPECTED_FILE_3 "dependencies-headers_0.1.1-1_*.deb") +set(EXPECTED_FILE_3 "dependencies-0.1.1-*-headers.deb") set(EXPECTED_FILE_CONTENT_3 "^.*/usr/bar${whitespaces_}.*/usr/bar/CMakeLists.txt$") -set(EXPECTED_FILE_4 "dependencies-libs_0.1.1-1_*.deb") +set(EXPECTED_FILE_4 "dependencies-0.1.1-*-libs.deb") # dynamic lib extension is .so on Linux and .dylib on Mac so we will use a wildcard .* for it set(EXPECTED_FILE_CONTENT_4 "^.*/usr/bas${whitespaces_}.*/usr/bas/libtest_lib\\..*$") -set(EXPECTED_FILE_5 "dependencies-libs_auto_0.1.1-1_*.deb") +set(EXPECTED_FILE_5 "dependencies-0.1.1-*-libs_auto.deb") set(EXPECTED_FILE_CONTENT_5 "^.*/usr/bas_auto${whitespaces_}.*/usr/bas_auto/libtest_lib\\..*$") diff --git a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake index 96a9f1442..5f82cc64a 100644 --- a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake +++ b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake @@ -1,5 +1,7 @@ set(CPACK_PACKAGE_CONTACT "someone") set(CPACK_DEB_COMPONENT_INSTALL "ON") +#intentionaly commented out to test old file naming +#set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") # false by default set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS FALSE) diff --git a/Tests/RunCMake/CPack/DEB/EMPTY_DIR-specifics.cmake b/Tests/RunCMake/CPack/DEB/EMPTY_DIR-specifics.cmake index 8821ab9be..4e9a2e751 100644 --- a/Tests/RunCMake/CPack/DEB/EMPTY_DIR-specifics.cmake +++ b/Tests/RunCMake/CPack/DEB/EMPTY_DIR-specifics.cmake @@ -1 +1,2 @@ set(CPACK_PACKAGE_CONTACT "someone") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") diff --git a/Tests/RunCMake/CPack/DEB/MINIMAL-specifics.cmake b/Tests/RunCMake/CPack/DEB/MINIMAL-specifics.cmake index 8821ab9be..4e9a2e751 100644 --- a/Tests/RunCMake/CPack/DEB/MINIMAL-specifics.cmake +++ b/Tests/RunCMake/CPack/DEB/MINIMAL-specifics.cmake @@ -1 +1,2 @@ set(CPACK_PACKAGE_CONTACT "someone") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") diff --git a/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake index a1da1a3cd..25bd2e708 100644 --- a/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake +++ b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake @@ -1,5 +1,6 @@ set(CPACK_PACKAGE_CONTACT "someone") set(CPACK_DEB_COMPONENT_INSTALL "ON") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEBIAN_PACKAGE_SECTION "default") set(CPACK_DEBIAN_PKG_2_PACKAGE_NAME "second") diff --git a/Tests/RunCMake/CPack/DEB_EXTRA.cmake b/Tests/RunCMake/CPack/DEB_EXTRA.cmake index 3c291d521..189d12396 100644 --- a/Tests/RunCMake/CPack/DEB_EXTRA.cmake +++ b/Tests/RunCMake/CPack/DEB_EXTRA.cmake @@ -34,5 +34,6 @@ set(CPACK_DEBIAN_BAR_PACKAGE_CONTROL_EXTRA set(CPACK_PACKAGE_NAME "deb_extra") set(CPACK_PACKAGE_CONTACT "someone") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEB_COMPONENT_INSTALL ON) diff --git a/Tests/RunCMake/CPack/DEB_GENERATE_SHLIBS.cmake b/Tests/RunCMake/CPack/DEB_GENERATE_SHLIBS.cmake index efb0211c4..1aeb06f03 100644 --- a/Tests/RunCMake/CPack/DEB_GENERATE_SHLIBS.cmake +++ b/Tests/RunCMake/CPack/DEB_GENERATE_SHLIBS.cmake @@ -1,5 +1,6 @@ set(CPACK_PACKAGE_CONTACT "someone") set(CPACK_DEB_COMPONENT_INSTALL "ON") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS "ON") diff --git a/Tests/RunCMake/CPack/DEB_GENERATE_SHLIBS_LDCONFIG.cmake b/Tests/RunCMake/CPack/DEB_GENERATE_SHLIBS_LDCONFIG.cmake index 1f7038644..f58c876b0 100644 --- a/Tests/RunCMake/CPack/DEB_GENERATE_SHLIBS_LDCONFIG.cmake +++ b/Tests/RunCMake/CPack/DEB_GENERATE_SHLIBS_LDCONFIG.cmake @@ -1,5 +1,6 @@ set(CPACK_PACKAGE_CONTACT "someone") set(CPACK_DEB_COMPONENT_INSTALL "ON") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS "ON") set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=") diff --git a/Tests/RunCMake/CPack/RPM/RPM_CUSTOM_NAMES-ExpectedFiles.cmake b/Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-ExpectedFiles.cmake similarity index 100% rename from Tests/RunCMake/CPack/RPM/RPM_CUSTOM_NAMES-ExpectedFiles.cmake rename to Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-ExpectedFiles.cmake diff --git a/Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-specifics.cmake b/Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-specifics.cmake new file mode 100644 index 000000000..575aa01eb --- /dev/null +++ b/Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-specifics.cmake @@ -0,0 +1,5 @@ +set(CPACK_RPM_COMPONENT_INSTALL "ON") + +set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") +set(CPACK_RPM_PKG_2_PACKAGE_NAME "second") +set(CPACK_RPM_PKG_3_FILE_NAME "pkg_3_abc.rpm") diff --git a/Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-stderr.txt b/Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-stderr.txt new file mode 100644 index 000000000..9bfba7e65 --- /dev/null +++ b/Tests/RunCMake/CPack/RPM/CUSTOM_NAMES-stderr.txt @@ -0,0 +1,3 @@ +^CPackRPM: Will use GENERATED spec file: .*/Tests/RunCMake/RPM/CPack/CUSTOM_NAMES-build/_CPack_Packages/.*/RPM/SPECS/custom_names-pkg_1.spec +CPackRPM: Will use GENERATED spec file: .*/Tests/RunCMake/RPM/CPack/CUSTOM_NAMES-build/_CPack_Packages/.*/RPM/SPECS/second.spec +CPackRPM: Will use GENERATED spec file: .*/Tests/RunCMake/RPM/CPack/CUSTOM_NAMES-build/_CPack_Packages/.*/RPM/SPECS/custom_names-pkg_3.spec$ diff --git a/Tests/RunCMake/CPack/RPM/RPM_CUSTOM_NAMES-stderr.txt b/Tests/RunCMake/CPack/RPM/RPM_CUSTOM_NAMES-stderr.txt deleted file mode 100644 index d3ba7b08b..000000000 --- a/Tests/RunCMake/CPack/RPM/RPM_CUSTOM_NAMES-stderr.txt +++ /dev/null @@ -1,3 +0,0 @@ -^CPackRPM: Will use GENERATED spec file: .*/Tests/RunCMake/RPM/CPack/RPM_CUSTOM_NAMES-build/_CPack_Packages/.*/RPM/SPECS/custom_names-pkg_1.spec -CPackRPM: Will use GENERATED spec file: .*/Tests/RunCMake/RPM/CPack/RPM_CUSTOM_NAMES-build/_CPack_Packages/.*/RPM/SPECS/second.spec -CPackRPM: Will use GENERATED spec file: .*/Tests/RunCMake/RPM/CPack/RPM_CUSTOM_NAMES-build/_CPack_Packages/.*/RPM/SPECS/custom_names-pkg_3.spec$ diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index 759295f53..59c52f8f3 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -10,7 +10,7 @@ run_cpack_test(DEB_EXTRA "DEB" false) 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(RPM_CUSTOM_NAMES "RPM" true) +run_cpack_test(CUSTOM_NAMES "RPM;DEB" true) run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false) run_cpack_test(RPM_DIST "RPM" false) run_cpack_test(INSTALL_SCRIPTS "RPM" false)