diff options
author | Deborah Pickett <deborah.pickett@autodesk.com> | 2012-01-13 20:35:41 (GMT) |
---|---|---|
committer | Eric NOULARD <eric.noulard@gmail.com> | 2012-01-13 20:35:41 (GMT) |
commit | ae250d5cfa0daec74935e6aa484fa439f3a6dd23 (patch) | |
tree | dfbba1007c19a398308fb317cc454d5acda97c62 /Modules | |
parent | 50edbf0f224e81cb85a0588d2495676efc3101f2 (diff) | |
download | CMake-ae250d5cfa0daec74935e6aa484fa439f3a6dd23.zip CMake-ae250d5cfa0daec74935e6aa484fa439f3a6dd23.tar.gz CMake-ae250d5cfa0daec74935e6aa484fa439f3a6dd23.tar.bz2 |
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>
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/CPackRPM.cmake | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index bf476ad..e1e76ed 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -714,6 +714,25 @@ else() set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "") 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 SET(CPACK_RPM_BINARY_SPECFILE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.spec") |