CPack/RPM ignore install prefix relocation path
Patch adds possibility to remove CPACK_PACKAGING_INSTALL_PREFIX from the list of relocation paths when crating a relocatable rpm.
This commit is contained in:
parent
c95e523db8
commit
18917d66d4
|
@ -408,6 +408,16 @@
|
|||
#
|
||||
# May be used to set per component CPACK_PACKAGING_INSTALL_PREFIX for
|
||||
# relocatable RPM packages.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
|
||||
# CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||||
# are treated as one of relocation paths
|
||||
#
|
||||
# May be used to remove CPACK_PACKAGING_INSTALL_PREFIX and CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||||
# from relocatable RPM prefix paths.
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2007-2009 Kitware, Inc.
|
||||
|
@ -437,8 +447,15 @@ function(cpack_rpm_prepare_relocation_paths)
|
|||
|
||||
# set base path prefix
|
||||
if(EXISTS "${WDIR}/${PATH_PREFIX}")
|
||||
if(NOT CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION AND
|
||||
NOT CPACK_RPM_NO_${CPACK_RPM_PACKAGE_COMPONENT}_INSTALL_PREFIX_RELOCATION)
|
||||
set(TMP_RPM_PREFIXES "${TMP_RPM_PREFIXES}Prefix: ${PATH_PREFIX}\n")
|
||||
list(APPEND RPM_USED_PACKAGE_PREFIXES "${PATH_PREFIX}")
|
||||
|
||||
if(CPACK_RPM_PACKAGE_DEBUG)
|
||||
message("CPackRPM:Debug: removing '${PATH_PREFIX}' from relocation paths")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# set other path prefixes
|
||||
|
|
|
@ -28,6 +28,10 @@ if(CPACK_GENERATOR MATCHES "RPM")
|
|||
|
||||
# test package description override - headers rpm is generated in the middle
|
||||
set(CPACK_RPM_headers_PACKAGE_DESCRIPTION "headers description")
|
||||
|
||||
# test package do not use CPACK_PACKAGING_INSTALL_PREFIX
|
||||
# as relocation path
|
||||
set(CPACK_RPM_NO_libraries_INSTALL_PREFIX_RELOCATION true)
|
||||
endif()
|
||||
|
||||
if(CPACK_GENERATOR MATCHES "DEB")
|
||||
|
|
|
@ -174,10 +174,10 @@ if(CPackGen MATCHES "RPM")
|
|||
if(check_file_libraries_match)
|
||||
set(check_file_match_expected_summary ".*${CPACK_RPM_PACKAGE_SUMMARY}.*")
|
||||
set(check_file_match_expected_description ".*${CPACK_COMPONENT_LIBRARIES_DESCRIPTION}.*")
|
||||
set(check_file_match_expected_relocation_path "Relocations${whitespaces}:${whitespaces}${CPACK_PACKAGING_INSTALL_PREFIX}${whitespaces}${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
set(check_file_match_expected_relocation_path "Relocations${whitespaces}:${whitespaces}${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
set(check_file_match_expected_architecture "") # we don't explicitly set this value so it is different on each platform - ignore it
|
||||
set(spec_regex "*libraries*")
|
||||
set(check_content_list "^/usr/foo/bar\n/usr/foo/bar/lib.*\n/usr/foo/bar/lib.*/libmylib.a$")
|
||||
set(check_content_list "^/usr/foo/bar/lib.*\n/usr/foo/bar/lib.*/libmylib.a$")
|
||||
elseif(check_file_headers_match)
|
||||
set(check_file_match_expected_summary ".*${CPACK_RPM_headers_PACKAGE_SUMMARY}.*")
|
||||
set(check_file_match_expected_description ".*${CPACK_RPM_headers_PACKAGE_DESCRIPTION}.*")
|
||||
|
|
Loading…
Reference in New Issue