CPackRPM flag direcories with %dir in the generated spec file
This fix bug #12863 whose symptom was a lot of "warning: File listed twice" printed out by rpmbuild when processing the spec file. Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
This commit is contained in:
parent
50edbf0f22
commit
ae250d5cfa
|
@ -714,6 +714,25 @@ else()
|
||||||
set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "")
|
set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "")
|
||||||
endif(CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
|
endif(CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
|
||||||
|
|
||||||
|
# Prepend directories in ${CPACK_RPM_INSTALL_FILES} with %dir
|
||||||
|
# This is necessary to avoid duplicate files since rpmbuild do
|
||||||
|
# recursion on its own when encountering a pathname which is a directory
|
||||||
|
# which is not flagged as %dir
|
||||||
|
string(STRIP "${CPACK_RPM_INSTALL_FILES}" CPACK_RPM_INSTALL_FILES_LIST)
|
||||||
|
string(REPLACE "\n" ";" CPACK_RPM_INSTALL_FILES_LIST
|
||||||
|
"${CPACK_RPM_INSTALL_FILES_LIST}")
|
||||||
|
string(REPLACE "\"" "" CPACK_RPM_INSTALL_FILES_LIST
|
||||||
|
"${CPACK_RPM_INSTALL_FILES_LIST}")
|
||||||
|
set(CPACK_RPM_INSTALL_FILES "")
|
||||||
|
foreach(F IN LISTS CPACK_RPM_INSTALL_FILES_LIST)
|
||||||
|
if(IS_DIRECTORY "${WDIR}/${F}")
|
||||||
|
set(CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}%dir \"${F}\"\n")
|
||||||
|
else()
|
||||||
|
set(CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}\"${F}\"\n")
|
||||||
|
endif()
|
||||||
|
endforeach(F)
|
||||||
|
set(CPACK_RPM_INSTALL_FILES_LIST "")
|
||||||
|
|
||||||
# The name of the final spec file to be used by rpmbuild
|
# The name of the final spec file to be used by rpmbuild
|
||||||
SET(CPACK_RPM_BINARY_SPECFILE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.spec")
|
SET(CPACK_RPM_BINARY_SPECFILE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.spec")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue