Handles %attr(nnn,-,-) /path/to/file in CPACK_RPM_USER_FILELIST properly.
This triggered an unknown secondary bug when there is no ABSOLUTE INSTALL file. This is fixed as well. This is based on a fix of bug #0013468 from Viktor Dubrovsky.
This commit is contained in:
parent
4e20ca7726
commit
d8a1dd5865
|
@ -728,9 +728,12 @@ if(CPACK_RPM_USER_FILELIST_INTERNAL)
|
||||||
|
|
||||||
set(CPACK_RPM_USER_INSTALL_FILES "")
|
set(CPACK_RPM_USER_INSTALL_FILES "")
|
||||||
foreach(F IN LISTS CPACK_RPM_USER_FILELIST_INTERNAL)
|
foreach(F IN LISTS CPACK_RPM_USER_FILELIST_INTERNAL)
|
||||||
string(REGEX REPLACE "%[A-Za-z\(\)]* " "" F_PATH ${F})
|
string(REGEX REPLACE "%[A-Za-z0-9\(\),-]* " "" F_PATH ${F})
|
||||||
string(REGEX MATCH "%[A-Za-z\(\)]*" F_PREFIX ${F})
|
string(REGEX MATCH "%[A-Za-z0-9\(\),-]*" F_PREFIX ${F})
|
||||||
|
|
||||||
|
if(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
|
message("CPackRPM:Debug: F_PREFIX=<${F_PREFIX}>, F_PATH=<${F_PATH}>")
|
||||||
|
endif()
|
||||||
if(F_PREFIX)
|
if(F_PREFIX)
|
||||||
set(F_PREFIX "${F_PREFIX} ")
|
set(F_PREFIX "${F_PREFIX} ")
|
||||||
endif()
|
endif()
|
||||||
|
@ -739,7 +742,10 @@ if(CPACK_RPM_USER_FILELIST_INTERNAL)
|
||||||
|
|
||||||
# Remove from CPACK_RPM_INSTALL_FILES and CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL
|
# Remove from CPACK_RPM_INSTALL_FILES and CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL
|
||||||
list(REMOVE_ITEM CPACK_RPM_INSTALL_FILES_LIST ${F_PATH})
|
list(REMOVE_ITEM CPACK_RPM_INSTALL_FILES_LIST ${F_PATH})
|
||||||
|
# ABSOLUTE destination files list may not exists at all
|
||||||
|
if (CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
|
||||||
list(REMOVE_ITEM CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL ${F_PATH})
|
list(REMOVE_ITEM CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL ${F_PATH})
|
||||||
|
endif()
|
||||||
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue