From 3a55f1bf06cf4594e8101e4fd0ad4332d41ddd5d Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Thu, 9 Oct 2025 16:56:46 -0400 Subject: [PATCH 1/9] fix lintian errors for rocm-libraries: no changelog, no copyright, dir-or-file-in-opt --- .../cmake/ROCMCreatePackage.cmake | 146 +++++++++++++++++- 1 file changed, 145 insertions(+), 1 deletion(-) diff --git a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake index d399a0f6..fa0bbb7f 100755 --- a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake @@ -269,7 +269,7 @@ endmacro() macro(rocm_create_package) set(options LDCONFIG PTH HEADER_ONLY) - set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER LDCONFIG_DIR PREFIX SUFFIX) + set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER LINTIAN_OVERRIDES DEBIAN_PKGING MAINTAINER_NM MAINTAINER_EMAIL LDCONFIG_DIR PREFIX SUFFIX) set(multiValueArgs DEPENDS COMPONENTS) cmake_parse_arguments(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -303,6 +303,10 @@ macro(rocm_create_package) set(CPACK_NSIS_MODIFY_PATH On) set(CPACK_NSIS_PACKAGE_NAME ${PARSE_NAME}) + set(LINTIAN_OVERRIDES_FLAG ${PARSE_LINTIAN_OVERRIDES}) + set(DEBIAN_PKGING_FLAG ${PARSE_DEBIAN_PKGING}) + set(MAINTAINER_NM ${PARSE_MAINTAINER_NM}) + set(MAINTAINER_EMAIL ${PARSE_MAINTAINER_EMAIL}) set(CPACK_RPM_PACKAGE_RELOCATABLE Off) set(CPACK_RPM_PACKAGE_AUTOREQPROV Off @@ -402,6 +406,10 @@ macro(rocm_create_package) file(WRITE ${PROJECT_BINARY_DIR}/debian/postinst "") file(WRITE ${PROJECT_BINARY_DIR}/debian/prerm "") + set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJECT_BINARY_DIR}/debian/postinst;${PROJECT_BINARY_DIR}/debian/prerm") + set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${PROJECT_BINARY_DIR}/debian/postinst") + set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_BINARY_DIR}/debian/prerm") + if(PARSE_LDCONFIG AND NOT ${ROCM_DISABLE_LDCONFIG}) set(LDCONFIG_DIR ${LIB_DIR}) if(PARSE_LDCONFIG_DIR) @@ -413,6 +421,7 @@ macro(rocm_create_package) echo \"${LDCONFIG_DIR}\" > /etc/ld.so.conf.d/${PARSE_NAME}.conf ldconfig ") + file( APPEND ${PROJECT_BINARY_DIR}/debian/prerm " @@ -482,17 +491,25 @@ macro(rocm_setup_license HEADER_ONLY) FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION share/doc/${_rocm_cpack_package_name}-asan ) + set( COMP_TYPE "asan" ) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ) elseif((ROCM_USE_DEV_COMPONENT AND ${HEADER_ONLY}) OR NOT BUILD_SHARED_LIBS) install( FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION share/doc/${_rocm_cpack_package_name} COMPONENT devel ) + set( COMP_TYPE "devel" ) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ) else() install( FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION share/doc/${_rocm_cpack_package_name} ) + set( COMP_TYPE "runtime" ) + if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ) + endif() endif() endif() endmacro() @@ -635,3 +652,130 @@ macro(rocm_package_setup_component COMPONENT_NAME) endforeach() endif() endmacro() + +## Configure Copyright File for Debian Package +function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTAINER_NM_T MAINTAINER_EMAIL_T) + # Check If Debian Platform + find_file (DEBIAN debian_version debconf.conf PATHS /etc) + if(DEBIAN) + set( DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" FORCE ) + set_debian_pkg_cmake_flags( ${PACKAGE_NAME_T} ${PACKAGE_VERSION_T} + ${MAINTAINER_NM_T} ${MAINTAINER_EMAIL_T} ) + + # Create debian directory in build tree + file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN") + + # Configure the copyright file + configure_file( + "${CMAKE_SOURCE_DIR}/DEBIAN/copyright.in" + "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + @ONLY + ) + + # Install copyright file + install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + DESTINATION "${CMAKE_INSTALL_DOCDIR}" + COMPONENT ${COMPONENT_NAME_T} ) + + # Configure the changelog file + configure_file( + "${CMAKE_SOURCE_DIR}/DEBIAN/changelog.in" + "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + @ONLY + ) + + if( LINTIAN_OVERRIDES_FLAG ) + #if(DEFINED BUILD_SHARED_LIBS AND NOT ${BUILD_SHARED_LIBS} STREQUAL "") + if(NOT BUILD_SHARED_LIBS) + string(FIND ${DEB_OVERRIDES_INSTALL_FILENM} "static" OUT_VAR1) + if(OUT_VAR1 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-static" ) + endif() + else() + if(ENABLE_ASAN_PACKAGING) + string( FIND ${DEB_OVERRIDES_INSTALL_FILENM} "asan" OUT_VAR2) + if(OUT_VAR2 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-asan" ) + endif() + endif() + endif() + set( DEB_OVERRIDES_INSTALL_FILENM + "${DEB_OVERRIDES_INSTALL_FILENM}" CACHE STRING "Debian Package Lintian Override File Name" FORCE) + # Configure the changelog file + configure_file( + "${CMAKE_SOURCE_DIR}/DEBIAN/overrides.in" + "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" + FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + @ONLY + ) + endif() + + # Install Change Log + find_program ( DEB_GZIP_EXEC gzip ) + if(EXISTS "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" ) + execute_process( + COMMAND ${DEB_GZIP_EXEC} -f -n -9 "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN" + RESULT_VARIABLE result + OUTPUT_VARIABLE output + ERROR_VARIABLE error + ) + if(NOT ${result} EQUAL 0) + message(FATAL_ERROR "Failed to compress: ${error}") + endif() + install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_CHANGELOG_INSTALL_FILENM}" + DESTINATION ${CMAKE_INSTALL_DOCDIR} + COMPONENT ${COMPONENT_NAME_T}) + endif() + else() + # License file + install ( FILES ${LICENSE_FILE} + DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt + COMPONENT ${COMPONENT_NAME_T}) + endif() + + # Install lintian overrides + if( LINTIAN_OVERRIDES_FLAG STREQUAL "ON" AND DEBIAN_PKGING_FLAG STREQUAL "ON") + set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) + install ( FILES ${OVERRIDE_FILE} + DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} + COMPONENT ${COMPONENT_NAME_T}) + endif() +endfunction() + +# Set variables for changelog and copyright +# For Debian specific Packages +function( set_debian_pkg_cmake_flags DEB_PACKAGE_NAME_T DEB_PACKAGE_VERSION_T DEB_MAINTAINER_NM_T DEB_MAINTAINER_EMAIL_T ) + # Setting configure flags + set( DEB_PACKAGE_NAME "${DEB_PACKAGE_NAME_T}" CACHE STRING "Debian Package Name" ) + set( DEB_PACKAGE_VERSION "${DEB_PACKAGE_VERSION_T}" CACHE STRING "Debian Package Version String" ) + set( DEB_MAINTAINER_NAME "${DEB_MAINTAINER_NM_T}" CACHE STRING "Debian Package Maintainer Name" ) + set( DEB_MAINTAINER_EMAIL "${DEB_MAINTAINER_EMAIL_T}" CACHE STRING "Debian Package Maintainer Email" ) + set( DEB_COPYRIGHT_YEAR "2025" CACHE STRING "Debian Package Copyright Year" ) + set( DEB_LICENSE "MIT" CACHE STRING "Debian Package License Type" ) + set( DEB_CHANGELOG_INSTALL_FILENM "changelog.Debian.gz" CACHE STRING "Debian Package ChangeLog File Name" ) + + if( LINTIAN_OVERRIDES_FLAG ) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_PACKAGE_NAME}" CACHE STRING "Debian Package Lintian Override File Name" ) + set( DEB_OVERRIDES_INSTALL_PATH "/usr/share/lintian/overrides/" CACHE STRING "Deb Pkg Lintian Override Install Loc" ) + endif() + + # Get TimeStamp + find_program( DEB_DATE_TIMESTAMP_EXEC date ) + set ( DEB_TIMESTAMP_FORMAT_OPTION "-R" ) + execute_process ( + COMMAND ${DEB_DATE_TIMESTAMP_EXEC} ${DEB_TIMESTAMP_FORMAT_OPTION} + OUTPUT_VARIABLE TIMESTAMP_T + ) + set( DEB_TIMESTAMP "${TIMESTAMP_T}" CACHE STRING "Current Time Stamp for Copyright/Changelog" ) + + message(STATUS "DEB_PACKAGE_NAME : ${DEB_PACKAGE_NAME}" ) + message(STATUS "DEB_PACKAGE_VERSION : ${DEB_PACKAGE_VERSION}" ) + message(STATUS "DEB_MAINTAINER_NAME : ${DEB_MAINTAINER_NAME}" ) + message(STATUS "DEB_MAINTAINER_EMAIL : ${DEB_MAINTAINER_EMAIL}" ) + message(STATUS "DEB_COPYRIGHT_YEAR : ${DEB_COPYRIGHT_YEAR}" ) + message(STATUS "DEB_LICENSE : ${DEB_LICENSE}" ) + message(STATUS "DEB_TIMESTAMP : ${DEB_TIMESTAMP}" ) + message(STATUS "DEB_CHANGELOG_INSTALL_FILENM : ${DEB_CHANGELOG_INSTALL_FILENM}" ) +endfunction() + From 77552977ccb7c244dc9c4df789146673b80a133c Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Tue, 14 Oct 2025 17:02:36 -0400 Subject: [PATCH 2/9] wip parse email and name from maintainer. move lintian overrides into debian check --- .../cmake/ROCMCreatePackage.cmake | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake index fa0bbb7f..20189175 100755 --- a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake @@ -269,7 +269,7 @@ endmacro() macro(rocm_create_package) set(options LDCONFIG PTH HEADER_ONLY) - set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER LINTIAN_OVERRIDES DEBIAN_PKGING MAINTAINER_NM MAINTAINER_EMAIL LDCONFIG_DIR PREFIX SUFFIX) + set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER LINTIAN_OVERRIDES DEBIAN_PKGING LDCONFIG_DIR PREFIX SUFFIX) set(multiValueArgs DEPENDS COMPONENTS) cmake_parse_arguments(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -305,8 +305,19 @@ macro(rocm_create_package) set(LINTIAN_OVERRIDES_FLAG ${PARSE_LINTIAN_OVERRIDES}) set(DEBIAN_PKGING_FLAG ${PARSE_DEBIAN_PKGING}) - set(MAINTAINER_NM ${PARSE_MAINTAINER_NM}) - set(MAINTAINER_EMAIL ${PARSE_MAINTAINER_EMAIL}) + + if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) + # parse MAINTAINER format: PKG_MAINTAINER_NM " + # parse text before first '<' + message(STATUS "POTATO CPACK_DEBIAN_PACKAGE_MAINTAINER: ${CPACK_DEBIAN_PACKAGE_MAINTAINER}") + string(REGEX MATCH "^(.*)\<" _ "${CPACK_DEBIAN_PACKAGE_MAINTAINER}") + set(MAINTAINER_NM "${CMAKE_MATCH_1}") + # parse text between '<...>' + string(REGEX MATCH "<([^>]+)>" _ "${CPACK_DEBIAN_PACKAGE_MAINTAINER}") + set(MAINTAINER_EMAIL "${CMAKE_MATCH_1}") + message(STATUS "POTATO MAINTAINER_NM: ${MAINTAINER_NM}, MAINTAINER_EMAIL: ${MAINTAINER_EMAIL}") + endif() + set(CPACK_RPM_PACKAGE_RELOCATABLE Off) set(CPACK_RPM_PACKAGE_AUTOREQPROV Off @@ -727,20 +738,20 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT ${COMPONENT_NAME_T}) endif() + + if( BUILD_ENABLE_LINTIAN_OVERRIDES STREQUAL "ON" AND BUILD_DEBIAN_PKGING_FLAG STREQUAL "ON") + set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) + install ( FILES ${OVERRIDE_FILE} + DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} + COMPONENT ${COMPONENT_NAME_T}) + endif() + else() # License file install ( FILES ${LICENSE_FILE} DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt COMPONENT ${COMPONENT_NAME_T}) endif() - - # Install lintian overrides - if( LINTIAN_OVERRIDES_FLAG STREQUAL "ON" AND DEBIAN_PKGING_FLAG STREQUAL "ON") - set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) - install ( FILES ${OVERRIDE_FILE} - DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} - COMPONENT ${COMPONENT_NAME_T}) - endif() endfunction() # Set variables for changelog and copyright From 1042bb377136f95b86b6462db18466265fe3eb6b Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Thu, 16 Oct 2025 10:48:39 -0400 Subject: [PATCH 3/9] update rocm-cmake lintian --- .../cmake/ROCMCreatePackage.cmake | 140 +----------------- .../cmake/ROCMInstallTargets.cmake | 124 ++++++++++++++++ 2 files changed, 130 insertions(+), 134 deletions(-) diff --git a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake index 20189175..0f0e7b46 100755 --- a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake @@ -269,7 +269,7 @@ endmacro() macro(rocm_create_package) set(options LDCONFIG PTH HEADER_ONLY) - set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER LINTIAN_OVERRIDES DEBIAN_PKGING LDCONFIG_DIR PREFIX SUFFIX) + set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER LINTIAN_OVERRIDES DEBIAN_PKGING PKG_TYPE LDCONFIG_DIR PREFIX SUFFIX) set(multiValueArgs DEPENDS COMPONENTS) cmake_parse_arguments(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -305,18 +305,17 @@ macro(rocm_create_package) set(LINTIAN_OVERRIDES_FLAG ${PARSE_LINTIAN_OVERRIDES}) set(DEBIAN_PKGING_FLAG ${PARSE_DEBIAN_PKGING}) + set(PACKAGE_TYPE ${PARSE_PKG_TYPE}) if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) # parse MAINTAINER format: PKG_MAINTAINER_NM " # parse text before first '<' - message(STATUS "POTATO CPACK_DEBIAN_PACKAGE_MAINTAINER: ${CPACK_DEBIAN_PACKAGE_MAINTAINER}") string(REGEX MATCH "^(.*)\<" _ "${CPACK_DEBIAN_PACKAGE_MAINTAINER}") set(MAINTAINER_NM "${CMAKE_MATCH_1}") # parse text between '<...>' string(REGEX MATCH "<([^>]+)>" _ "${CPACK_DEBIAN_PACKAGE_MAINTAINER}") set(MAINTAINER_EMAIL "${CMAKE_MATCH_1}") - message(STATUS "POTATO MAINTAINER_NM: ${MAINTAINER_NM}, MAINTAINER_EMAIL: ${MAINTAINER_EMAIL}") - endif() + endif() set(CPACK_RPM_PACKAGE_RELOCATABLE Off) set(CPACK_RPM_PACKAGE_AUTOREQPROV @@ -503,7 +502,7 @@ macro(rocm_setup_license HEADER_ONLY) DESTINATION share/doc/${_rocm_cpack_package_name}-asan ) set( COMP_TYPE "asan" ) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${PACKAGE_TYPE}) elseif((ROCM_USE_DEV_COMPONENT AND ${HEADER_ONLY}) OR NOT BUILD_SHARED_LIBS) install( FILES ${CPACK_RESOURCE_FILE_LICENSE} @@ -511,7 +510,7 @@ macro(rocm_setup_license HEADER_ONLY) COMPONENT devel ) set( COMP_TYPE "devel" ) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${PACKAGE_TYPE}) else() install( FILES ${CPACK_RESOURCE_FILE_LICENSE} @@ -519,7 +518,7 @@ macro(rocm_setup_license HEADER_ONLY) ) set( COMP_TYPE "runtime" ) if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${PACKAGE_TYPE}) endif() endif() endif() @@ -663,130 +662,3 @@ macro(rocm_package_setup_component COMPONENT_NAME) endforeach() endif() endmacro() - -## Configure Copyright File for Debian Package -function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTAINER_NM_T MAINTAINER_EMAIL_T) - # Check If Debian Platform - find_file (DEBIAN debian_version debconf.conf PATHS /etc) - if(DEBIAN) - set( DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" FORCE ) - set_debian_pkg_cmake_flags( ${PACKAGE_NAME_T} ${PACKAGE_VERSION_T} - ${MAINTAINER_NM_T} ${MAINTAINER_EMAIL_T} ) - - # Create debian directory in build tree - file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN") - - # Configure the copyright file - configure_file( - "${CMAKE_SOURCE_DIR}/DEBIAN/copyright.in" - "${CMAKE_BINARY_DIR}/DEBIAN/copyright" - @ONLY - ) - - # Install copyright file - install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/copyright" - DESTINATION "${CMAKE_INSTALL_DOCDIR}" - COMPONENT ${COMPONENT_NAME_T} ) - - # Configure the changelog file - configure_file( - "${CMAKE_SOURCE_DIR}/DEBIAN/changelog.in" - "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" - @ONLY - ) - - if( LINTIAN_OVERRIDES_FLAG ) - #if(DEFINED BUILD_SHARED_LIBS AND NOT ${BUILD_SHARED_LIBS} STREQUAL "") - if(NOT BUILD_SHARED_LIBS) - string(FIND ${DEB_OVERRIDES_INSTALL_FILENM} "static" OUT_VAR1) - if(OUT_VAR1 EQUAL -1) - set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-static" ) - endif() - else() - if(ENABLE_ASAN_PACKAGING) - string( FIND ${DEB_OVERRIDES_INSTALL_FILENM} "asan" OUT_VAR2) - if(OUT_VAR2 EQUAL -1) - set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-asan" ) - endif() - endif() - endif() - set( DEB_OVERRIDES_INSTALL_FILENM - "${DEB_OVERRIDES_INSTALL_FILENM}" CACHE STRING "Debian Package Lintian Override File Name" FORCE) - # Configure the changelog file - configure_file( - "${CMAKE_SOURCE_DIR}/DEBIAN/overrides.in" - "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" - FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - @ONLY - ) - endif() - - # Install Change Log - find_program ( DEB_GZIP_EXEC gzip ) - if(EXISTS "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" ) - execute_process( - COMMAND ${DEB_GZIP_EXEC} -f -n -9 "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN" - RESULT_VARIABLE result - OUTPUT_VARIABLE output - ERROR_VARIABLE error - ) - if(NOT ${result} EQUAL 0) - message(FATAL_ERROR "Failed to compress: ${error}") - endif() - install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_CHANGELOG_INSTALL_FILENM}" - DESTINATION ${CMAKE_INSTALL_DOCDIR} - COMPONENT ${COMPONENT_NAME_T}) - endif() - - if( BUILD_ENABLE_LINTIAN_OVERRIDES STREQUAL "ON" AND BUILD_DEBIAN_PKGING_FLAG STREQUAL "ON") - set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) - install ( FILES ${OVERRIDE_FILE} - DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} - COMPONENT ${COMPONENT_NAME_T}) - endif() - - else() - # License file - install ( FILES ${LICENSE_FILE} - DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt - COMPONENT ${COMPONENT_NAME_T}) - endif() -endfunction() - -# Set variables for changelog and copyright -# For Debian specific Packages -function( set_debian_pkg_cmake_flags DEB_PACKAGE_NAME_T DEB_PACKAGE_VERSION_T DEB_MAINTAINER_NM_T DEB_MAINTAINER_EMAIL_T ) - # Setting configure flags - set( DEB_PACKAGE_NAME "${DEB_PACKAGE_NAME_T}" CACHE STRING "Debian Package Name" ) - set( DEB_PACKAGE_VERSION "${DEB_PACKAGE_VERSION_T}" CACHE STRING "Debian Package Version String" ) - set( DEB_MAINTAINER_NAME "${DEB_MAINTAINER_NM_T}" CACHE STRING "Debian Package Maintainer Name" ) - set( DEB_MAINTAINER_EMAIL "${DEB_MAINTAINER_EMAIL_T}" CACHE STRING "Debian Package Maintainer Email" ) - set( DEB_COPYRIGHT_YEAR "2025" CACHE STRING "Debian Package Copyright Year" ) - set( DEB_LICENSE "MIT" CACHE STRING "Debian Package License Type" ) - set( DEB_CHANGELOG_INSTALL_FILENM "changelog.Debian.gz" CACHE STRING "Debian Package ChangeLog File Name" ) - - if( LINTIAN_OVERRIDES_FLAG ) - set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_PACKAGE_NAME}" CACHE STRING "Debian Package Lintian Override File Name" ) - set( DEB_OVERRIDES_INSTALL_PATH "/usr/share/lintian/overrides/" CACHE STRING "Deb Pkg Lintian Override Install Loc" ) - endif() - - # Get TimeStamp - find_program( DEB_DATE_TIMESTAMP_EXEC date ) - set ( DEB_TIMESTAMP_FORMAT_OPTION "-R" ) - execute_process ( - COMMAND ${DEB_DATE_TIMESTAMP_EXEC} ${DEB_TIMESTAMP_FORMAT_OPTION} - OUTPUT_VARIABLE TIMESTAMP_T - ) - set( DEB_TIMESTAMP "${TIMESTAMP_T}" CACHE STRING "Current Time Stamp for Copyright/Changelog" ) - - message(STATUS "DEB_PACKAGE_NAME : ${DEB_PACKAGE_NAME}" ) - message(STATUS "DEB_PACKAGE_VERSION : ${DEB_PACKAGE_VERSION}" ) - message(STATUS "DEB_MAINTAINER_NAME : ${DEB_MAINTAINER_NAME}" ) - message(STATUS "DEB_MAINTAINER_EMAIL : ${DEB_MAINTAINER_EMAIL}" ) - message(STATUS "DEB_COPYRIGHT_YEAR : ${DEB_COPYRIGHT_YEAR}" ) - message(STATUS "DEB_LICENSE : ${DEB_LICENSE}" ) - message(STATUS "DEB_TIMESTAMP : ${DEB_TIMESTAMP}" ) - message(STATUS "DEB_CHANGELOG_INSTALL_FILENM : ${DEB_CHANGELOG_INSTALL_FILENM}" ) -endfunction() - diff --git a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake index 304211ba..45ed9386 100644 --- a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake @@ -454,3 +454,127 @@ function(rocm_export_targets) rocm_install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/cmake_symlink.cmake") endif() endfunction() + +## Configure Copyright File for Debian Package +function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTAINER_NM_T MAINTAINER_EMAIL_T PACKAGE_TYPE_T) + # Check If Debian Platform + if(PACKAGE_TYPE_T STREQUAL "DEBIAN") + set( DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" FORCE ) + set_debian_pkg_cmake_flags( ${PACKAGE_NAME_T} ${PACKAGE_VERSION_T} + ${MAINTAINER_NM_T} ${MAINTAINER_EMAIL_T} ) + + # Create debian directory in build tree + file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN") + + # Configure the copyright file + configure_file( + "${CMAKE_SOURCE_DIR}/DEBIAN/copyright.in" + "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + @ONLY + ) + + # Install copyright file + install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + DESTINATION "${CMAKE_INSTALL_DOCDIR}" + COMPONENT ${COMPONENT_NAME_T} ) + + # Configure the changelog file + configure_file( + "${CMAKE_SOURCE_DIR}/DEBIAN/changelog.in" + "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + @ONLY + ) + + if( LINTIAN_OVERRIDES_FLAG ) + if(NOT BUILD_SHARED_LIBS) + string(FIND ${DEB_OVERRIDES_INSTALL_FILENM} "static" OUT_VAR1) + if(OUT_VAR1 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-static" ) + endif() + else() + if(ENABLE_ASAN_PACKAGING) + string( FIND ${DEB_OVERRIDES_INSTALL_FILENM} "asan" OUT_VAR2) + if(OUT_VAR2 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-asan" ) + endif() + endif() + endif() + set( DEB_OVERRIDES_INSTALL_FILENM + "${DEB_OVERRIDES_INSTALL_FILENM}" CACHE STRING "Debian Package Lintian Override File Name" FORCE) + # Configure the changelog file + configure_file( + "${CMAKE_SOURCE_DIR}/DEBIAN/overrides.in" + "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" + FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + @ONLY + ) + endif() + + # Install Change Log + find_program ( DEB_GZIP_EXEC gzip ) + if(EXISTS "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" ) + execute_process( + COMMAND ${DEB_GZIP_EXEC} -f -n -9 "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN" + RESULT_VARIABLE result + OUTPUT_VARIABLE output + ERROR_VARIABLE error + ) + if(NOT ${result} EQUAL 0) + message(FATAL_ERROR "Failed to compress: ${error}") + endif() + install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_CHANGELOG_INSTALL_FILENM}" + DESTINATION ${CMAKE_INSTALL_DOCDIR} + COMPONENT ${COMPONENT_NAME_T}) + endif() + + if( BUILD_ENABLE_LINTIAN_OVERRIDES STREQUAL "ON" AND BUILD_DEBIAN_PKGING_FLAG STREQUAL "ON") + set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) + install ( FILES ${OVERRIDE_FILE} + DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} + COMPONENT ${COMPONENT_NAME_T}) + endif() + + else() + # License file + install ( FILES ${LICENSE_FILE} + DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt + COMPONENT ${COMPONENT_NAME_T}) + endif() +endfunction() + +# Set variables for changelog and copyright +# For Debian specific Packages +function( set_debian_pkg_cmake_flags DEB_PACKAGE_NAME_T DEB_PACKAGE_VERSION_T DEB_MAINTAINER_NM_T DEB_MAINTAINER_EMAIL_T ) + # Setting configure flags + set( DEB_PACKAGE_NAME "${DEB_PACKAGE_NAME_T}" CACHE STRING "Debian Package Name" ) + set( DEB_PACKAGE_VERSION "${DEB_PACKAGE_VERSION_T}" CACHE STRING "Debian Package Version String" ) + set( DEB_MAINTAINER_NAME "${DEB_MAINTAINER_NM_T}" CACHE STRING "Debian Package Maintainer Name" ) + set( DEB_MAINTAINER_EMAIL "${DEB_MAINTAINER_EMAIL_T}" CACHE STRING "Debian Package Maintainer Email" ) + set( DEB_COPYRIGHT_YEAR "2025" CACHE STRING "Debian Package Copyright Year" ) + set( DEB_LICENSE "MIT" CACHE STRING "Debian Package License Type" ) + set( DEB_CHANGELOG_INSTALL_FILENM "changelog.Debian.gz" CACHE STRING "Debian Package ChangeLog File Name" ) + + if( LINTIAN_OVERRIDES_FLAG ) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_PACKAGE_NAME}" CACHE STRING "Debian Package Lintian Override File Name" ) + set( DEB_OVERRIDES_INSTALL_PATH "/usr/share/lintian/overrides/" CACHE STRING "Deb Pkg Lintian Override Install Loc" ) + endif() + + # Get TimeStamp + find_program( DEB_DATE_TIMESTAMP_EXEC date ) + set ( DEB_TIMESTAMP_FORMAT_OPTION "-R" ) + execute_process ( + COMMAND ${DEB_DATE_TIMESTAMP_EXEC} ${DEB_TIMESTAMP_FORMAT_OPTION} + OUTPUT_VARIABLE TIMESTAMP_T + ) + set( DEB_TIMESTAMP "${TIMESTAMP_T}" CACHE STRING "Current Time Stamp for Copyright/Changelog" ) + + message(STATUS "DEB_PACKAGE_NAME : ${DEB_PACKAGE_NAME}" ) + message(STATUS "DEB_PACKAGE_VERSION : ${DEB_PACKAGE_VERSION}" ) + message(STATUS "DEB_MAINTAINER_NAME : ${DEB_MAINTAINER_NAME}" ) + message(STATUS "DEB_MAINTAINER_EMAIL : ${DEB_MAINTAINER_EMAIL}" ) + message(STATUS "DEB_COPYRIGHT_YEAR : ${DEB_COPYRIGHT_YEAR}" ) + message(STATUS "DEB_LICENSE : ${DEB_LICENSE}" ) + message(STATUS "DEB_TIMESTAMP : ${DEB_TIMESTAMP}" ) + message(STATUS "DEB_CHANGELOG_INSTALL_FILENM : ${DEB_CHANGELOG_INSTALL_FILENM}" ) +endfunction() From 818c09a5aa47d7392fe4831781f291d2ae1a1c2d Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Thu, 16 Oct 2025 14:48:40 -0400 Subject: [PATCH 4/9] remove unneeded code --- share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake | 4 ---- 1 file changed, 4 deletions(-) diff --git a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake index 0f0e7b46..4ef5f5a2 100755 --- a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake @@ -416,10 +416,6 @@ macro(rocm_create_package) file(WRITE ${PROJECT_BINARY_DIR}/debian/postinst "") file(WRITE ${PROJECT_BINARY_DIR}/debian/prerm "") - set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJECT_BINARY_DIR}/debian/postinst;${PROJECT_BINARY_DIR}/debian/prerm") - set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${PROJECT_BINARY_DIR}/debian/postinst") - set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_BINARY_DIR}/debian/prerm") - if(PARSE_LDCONFIG AND NOT ${ROCM_DISABLE_LDCONFIG}) set(LDCONFIG_DIR ${LIB_DIR}) if(PARSE_LDCONFIG_DIR) From aba5a3b343a76545752162e562b45a15d0a3e623 Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Mon, 20 Oct 2025 18:17:07 -0400 Subject: [PATCH 5/9] add lintian overrides to rocm-cmake --- DEBIAN/changelog.in | 5 ++++ DEBIAN/copyright.in | 25 +++++++++++++++++++ DEBIAN/overrides.in | 3 +++ .../cmake/ROCMCreatePackage.cmake | 12 ++++++--- .../cmake/ROCMInstallTargets.cmake | 8 +++--- 5 files changed, 45 insertions(+), 8 deletions(-) create mode 100644 DEBIAN/changelog.in create mode 100644 DEBIAN/copyright.in create mode 100644 DEBIAN/overrides.in diff --git a/DEBIAN/changelog.in b/DEBIAN/changelog.in new file mode 100644 index 00000000..95ba9572 --- /dev/null +++ b/DEBIAN/changelog.in @@ -0,0 +1,5 @@ +@DEB_PACKAGE_NAME@ (@DEB_PACKAGE_VERSION@) stable; urgency=low + + * ROCm Runtime software stack Base Package. + -- @DEB_MAINTAINER_NAME@ <@DEB_MAINTAINER_EMAIL@> @DEB_TIMESTAMP@ + diff --git a/DEBIAN/copyright.in b/DEBIAN/copyright.in new file mode 100644 index 00000000..2dfae2cc --- /dev/null +++ b/DEBIAN/copyright.in @@ -0,0 +1,25 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: @DEB_PACKAGE_NAME@ +Upstream-Contact: @DEB_MAINTAINER_NAME@ <@DEB_MAINTAINER_EMAIL@> +Source: https://github.com/ROCm/@DEB_PACKAGE_NAME@ +Files: * +License: @DEB_LICENSE@ +Copyright: @DEB_COPYRIGHT_YEAR@ Advanced Micro Devices, Inc. All rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/DEBIAN/overrides.in b/DEBIAN/overrides.in new file mode 100644 index 00000000..6bee886c --- /dev/null +++ b/DEBIAN/overrides.in @@ -0,0 +1,3 @@ +@DEB_OVERRIDES_INSTALL_FILENM@: no-copyright-file +@DEB_OVERRIDES_INSTALL_FILENM@: debian-changelog-file-missing +@DEB_OVERRIDES_INSTALL_FILENM@: dir-or-file-in-opt diff --git a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake index 4ef5f5a2..ba872cf6 100755 --- a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake @@ -269,7 +269,7 @@ endmacro() macro(rocm_create_package) set(options LDCONFIG PTH HEADER_ONLY) - set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER LINTIAN_OVERRIDES DEBIAN_PKGING PKG_TYPE LDCONFIG_DIR PREFIX SUFFIX) + set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER PKG_TYPE LDCONFIG_DIR PREFIX SUFFIX) set(multiValueArgs DEPENDS COMPONENTS) cmake_parse_arguments(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -303,10 +303,8 @@ macro(rocm_create_package) set(CPACK_NSIS_MODIFY_PATH On) set(CPACK_NSIS_PACKAGE_NAME ${PARSE_NAME}) - set(LINTIAN_OVERRIDES_FLAG ${PARSE_LINTIAN_OVERRIDES}) - set(DEBIAN_PKGING_FLAG ${PARSE_DEBIAN_PKGING}) set(PACKAGE_TYPE ${PARSE_PKG_TYPE}) - + if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) # parse MAINTAINER format: PKG_MAINTAINER_NM " # parse text before first '<' @@ -317,6 +315,12 @@ macro(rocm_create_package) set(MAINTAINER_EMAIL "${CMAKE_MATCH_1}") endif() + set(LINTIAN_OVERRIDES_LIST "rocrand") + if("${CPACK_PACKAGE_NAME}" IN_LIST LINTIAN_OVERRIDES_LIST) + set(LINTIAN_OVERRIDES_FLAG ON CACHE BOOL "Enable/Disable Lintian Overrides") + set(DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" ) + endif() + set(CPACK_RPM_PACKAGE_RELOCATABLE Off) set(CPACK_RPM_PACKAGE_AUTOREQPROV Off diff --git a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake index 45ed9386..bbb905d7 100644 --- a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake @@ -468,7 +468,7 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA # Configure the copyright file configure_file( - "${CMAKE_SOURCE_DIR}/DEBIAN/copyright.in" + "${CMAKE_SOURCE_DIR}/../../../rocm-cmake/DEBIAN/copyright.in" "${CMAKE_BINARY_DIR}/DEBIAN/copyright" @ONLY ) @@ -480,7 +480,7 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA # Configure the changelog file configure_file( - "${CMAKE_SOURCE_DIR}/DEBIAN/changelog.in" + "${CMAKE_SOURCE_DIR}/../../../rocm-cmake/DEBIAN/changelog.in" "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" @ONLY ) @@ -503,7 +503,7 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA "${DEB_OVERRIDES_INSTALL_FILENM}" CACHE STRING "Debian Package Lintian Override File Name" FORCE) # Configure the changelog file configure_file( - "${CMAKE_SOURCE_DIR}/DEBIAN/overrides.in" + "${CMAKE_SOURCE_DIR}/../../../rocm-cmake/DEBIAN/overrides.in" "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ @ONLY @@ -528,7 +528,7 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA COMPONENT ${COMPONENT_NAME_T}) endif() - if( BUILD_ENABLE_LINTIAN_OVERRIDES STREQUAL "ON" AND BUILD_DEBIAN_PKGING_FLAG STREQUAL "ON") + if( LINTIAN_OVERRIDES_FLAG STREQUAL "ON" AND DEBIAN_PKGING_FLAG STREQUAL "ON") set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) install ( FILES ${OVERRIDE_FILE} DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} From fee2204b6af1457013e18fdea5eef2209567a87f Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Tue, 21 Oct 2025 17:15:36 -0400 Subject: [PATCH 6/9] move DEBIAN folder to /opt/rocm-7.1.0/share/rocmcmakebuildtools/cmake/ copy DEBIAN files from this dir in configure_file --- .../rocmcmakebuildtools/cmake/DEBIAN}/changelog.in | 0 .../rocmcmakebuildtools/cmake/DEBIAN}/copyright.in | 0 .../rocmcmakebuildtools/cmake/DEBIAN}/overrides.in | 0 share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake | 8 ++++---- 4 files changed, 4 insertions(+), 4 deletions(-) rename {DEBIAN => share/rocmcmakebuildtools/cmake/DEBIAN}/changelog.in (100%) rename {DEBIAN => share/rocmcmakebuildtools/cmake/DEBIAN}/copyright.in (100%) rename {DEBIAN => share/rocmcmakebuildtools/cmake/DEBIAN}/overrides.in (100%) diff --git a/DEBIAN/changelog.in b/share/rocmcmakebuildtools/cmake/DEBIAN/changelog.in similarity index 100% rename from DEBIAN/changelog.in rename to share/rocmcmakebuildtools/cmake/DEBIAN/changelog.in diff --git a/DEBIAN/copyright.in b/share/rocmcmakebuildtools/cmake/DEBIAN/copyright.in similarity index 100% rename from DEBIAN/copyright.in rename to share/rocmcmakebuildtools/cmake/DEBIAN/copyright.in diff --git a/DEBIAN/overrides.in b/share/rocmcmakebuildtools/cmake/DEBIAN/overrides.in similarity index 100% rename from DEBIAN/overrides.in rename to share/rocmcmakebuildtools/cmake/DEBIAN/overrides.in diff --git a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake index bbb905d7..cc1a6159 100644 --- a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake @@ -468,7 +468,7 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA # Configure the copyright file configure_file( - "${CMAKE_SOURCE_DIR}/../../../rocm-cmake/DEBIAN/copyright.in" + "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DEBIAN/copyright.in" "${CMAKE_BINARY_DIR}/DEBIAN/copyright" @ONLY ) @@ -480,11 +480,11 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA # Configure the changelog file configure_file( - "${CMAKE_SOURCE_DIR}/../../../rocm-cmake/DEBIAN/changelog.in" + "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DEBIAN/changelog.in" "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" @ONLY ) - + if( LINTIAN_OVERRIDES_FLAG ) if(NOT BUILD_SHARED_LIBS) string(FIND ${DEB_OVERRIDES_INSTALL_FILENM} "static" OUT_VAR1) @@ -503,7 +503,7 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA "${DEB_OVERRIDES_INSTALL_FILENM}" CACHE STRING "Debian Package Lintian Override File Name" FORCE) # Configure the changelog file configure_file( - "${CMAKE_SOURCE_DIR}/../../../rocm-cmake/DEBIAN/overrides.in" + "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DEBIAN/overrides.in" "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ @ONLY From 832dac083754efccb78d3f3db62da2a637e94f4f Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Wed, 22 Oct 2025 12:21:24 -0400 Subject: [PATCH 7/9] use flag CPACK_GENERATOR to determine pkg type --- .../cmake/ROCMCreatePackage.cmake | 17 ++++++----------- .../cmake/ROCMInstallTargets.cmake | 2 +- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake index ba872cf6..3ab04c04 100755 --- a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake @@ -269,7 +269,7 @@ endmacro() macro(rocm_create_package) set(options LDCONFIG PTH HEADER_ONLY) - set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER PKG_TYPE LDCONFIG_DIR PREFIX SUFFIX) + set(oneValueArgs NAME DESCRIPTION SECTION MAINTAINER LDCONFIG_DIR PREFIX SUFFIX) set(multiValueArgs DEPENDS COMPONENTS) cmake_parse_arguments(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -303,8 +303,6 @@ macro(rocm_create_package) set(CPACK_NSIS_MODIFY_PATH On) set(CPACK_NSIS_PACKAGE_NAME ${PARSE_NAME}) - set(PACKAGE_TYPE ${PARSE_PKG_TYPE}) - if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) # parse MAINTAINER format: PKG_MAINTAINER_NM " # parse text before first '<' @@ -315,11 +313,8 @@ macro(rocm_create_package) set(MAINTAINER_EMAIL "${CMAKE_MATCH_1}") endif() - set(LINTIAN_OVERRIDES_LIST "rocrand") - if("${CPACK_PACKAGE_NAME}" IN_LIST LINTIAN_OVERRIDES_LIST) - set(LINTIAN_OVERRIDES_FLAG ON CACHE BOOL "Enable/Disable Lintian Overrides") - set(DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" ) - endif() + set(LINTIAN_OVERRIDES_FLAG ON CACHE BOOL "Enable/Disable Lintian Overrides") + set(DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" ) set(CPACK_RPM_PACKAGE_RELOCATABLE Off) set(CPACK_RPM_PACKAGE_AUTOREQPROV @@ -502,7 +497,7 @@ macro(rocm_setup_license HEADER_ONLY) DESTINATION share/doc/${_rocm_cpack_package_name}-asan ) set( COMP_TYPE "asan" ) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${PACKAGE_TYPE}) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) elseif((ROCM_USE_DEV_COMPONENT AND ${HEADER_ONLY}) OR NOT BUILD_SHARED_LIBS) install( FILES ${CPACK_RESOURCE_FILE_LICENSE} @@ -510,7 +505,7 @@ macro(rocm_setup_license HEADER_ONLY) COMPONENT devel ) set( COMP_TYPE "devel" ) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${PACKAGE_TYPE}) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) else() install( FILES ${CPACK_RESOURCE_FILE_LICENSE} @@ -518,7 +513,7 @@ macro(rocm_setup_license HEADER_ONLY) ) set( COMP_TYPE "runtime" ) if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${PACKAGE_TYPE}) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) endif() endif() endif() diff --git a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake index cc1a6159..7f4f399f 100644 --- a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake @@ -458,7 +458,7 @@ endfunction() ## Configure Copyright File for Debian Package function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTAINER_NM_T MAINTAINER_EMAIL_T PACKAGE_TYPE_T) # Check If Debian Platform - if(PACKAGE_TYPE_T STREQUAL "DEBIAN") + if(PACKAGE_TYPE_T STREQUAL "DEB") set( DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" FORCE ) set_debian_pkg_cmake_flags( ${PACKAGE_NAME_T} ${PACKAGE_VERSION_T} ${MAINTAINER_NM_T} ${MAINTAINER_EMAIL_T} ) From 550f65efad50e10a6100bb50a7c6a2d86d4c82dd Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Mon, 27 Oct 2025 12:10:34 -0400 Subject: [PATCH 8/9] don't apply lintian overrides to rocm-cmake --- .../rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake index 3ab04c04..da709821 100755 --- a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake @@ -497,7 +497,9 @@ macro(rocm_setup_license HEADER_ONLY) DESTINATION share/doc/${_rocm_cpack_package_name}-asan ) set( COMP_TYPE "asan" ) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) + if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) + endif() elseif((ROCM_USE_DEV_COMPONENT AND ${HEADER_ONLY}) OR NOT BUILD_SHARED_LIBS) install( FILES ${CPACK_RESOURCE_FILE_LICENSE} @@ -505,7 +507,9 @@ macro(rocm_setup_license HEADER_ONLY) COMPONENT devel ) set( COMP_TYPE "devel" ) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) + if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) + endif() else() install( FILES ${CPACK_RESOURCE_FILE_LICENSE} @@ -513,7 +517,7 @@ macro(rocm_setup_license HEADER_ONLY) ) set( COMP_TYPE "runtime" ) if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) endif() endif() endif() From 11933344eaeafda661a5052d3b4c20fdfc4f4a91 Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Tue, 4 Nov 2025 11:34:02 -0500 Subject: [PATCH 9/9] fix formatting --- .../cmake/ROCMCreatePackage.cmake | 19 ++- .../cmake/ROCMInstallTargets.cmake | 146 +++++++++--------- 2 files changed, 82 insertions(+), 83 deletions(-) diff --git a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake index da709821..ebad6e43 100755 --- a/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake @@ -426,7 +426,6 @@ macro(rocm_create_package) echo \"${LDCONFIG_DIR}\" > /etc/ld.so.conf.d/${PARSE_NAME}.conf ldconfig ") - file( APPEND ${PROJECT_BINARY_DIR}/debian/prerm " @@ -497,9 +496,9 @@ macro(rocm_setup_license HEADER_ONLY) DESTINATION share/doc/${_rocm_cpack_package_name}-asan ) set( COMP_TYPE "asan" ) - if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) - endif() + if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) + endif() elseif((ROCM_USE_DEV_COMPONENT AND ${HEADER_ONLY}) OR NOT BUILD_SHARED_LIBS) install( FILES ${CPACK_RESOURCE_FILE_LICENSE} @@ -507,18 +506,18 @@ macro(rocm_setup_license HEADER_ONLY) COMPONENT devel ) set( COMP_TYPE "devel" ) - if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) - endif() + if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) + endif() else() install( FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION share/doc/${_rocm_cpack_package_name} ) set( COMP_TYPE "runtime" ) - if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) - configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) - endif() + if(NOT( ${CPACK_PACKAGE_NAME} STREQUAL "rocm-cmake")) + configure_pkg( ${CPACK_PACKAGE_NAME} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${MAINTAINER_NM} ${MAINTAINER_EMAIL} ${CPACK_GENERATOR}) + endif() endif() endif() endmacro() diff --git a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake index 7f4f399f..ba19d7f1 100644 --- a/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake +++ b/share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake @@ -459,81 +459,81 @@ endfunction() function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTAINER_NM_T MAINTAINER_EMAIL_T PACKAGE_TYPE_T) # Check If Debian Platform if(PACKAGE_TYPE_T STREQUAL "DEB") - set( DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" FORCE ) - set_debian_pkg_cmake_flags( ${PACKAGE_NAME_T} ${PACKAGE_VERSION_T} - ${MAINTAINER_NM_T} ${MAINTAINER_EMAIL_T} ) - - # Create debian directory in build tree - file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN") - - # Configure the copyright file - configure_file( - "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DEBIAN/copyright.in" - "${CMAKE_BINARY_DIR}/DEBIAN/copyright" - @ONLY - ) - - # Install copyright file - install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/copyright" - DESTINATION "${CMAKE_INSTALL_DOCDIR}" - COMPONENT ${COMPONENT_NAME_T} ) - - # Configure the changelog file - configure_file( - "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DEBIAN/changelog.in" - "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" - @ONLY - ) - - if( LINTIAN_OVERRIDES_FLAG ) - if(NOT BUILD_SHARED_LIBS) - string(FIND ${DEB_OVERRIDES_INSTALL_FILENM} "static" OUT_VAR1) - if(OUT_VAR1 EQUAL -1) - set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-static" ) - endif() - else() - if(ENABLE_ASAN_PACKAGING) - string( FIND ${DEB_OVERRIDES_INSTALL_FILENM} "asan" OUT_VAR2) - if(OUT_VAR2 EQUAL -1) - set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-asan" ) - endif() - endif() - endif() - set( DEB_OVERRIDES_INSTALL_FILENM - "${DEB_OVERRIDES_INSTALL_FILENM}" CACHE STRING "Debian Package Lintian Override File Name" FORCE) - # Configure the changelog file + set( DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" FORCE ) + set_debian_pkg_cmake_flags( ${PACKAGE_NAME_T} ${PACKAGE_VERSION_T} + ${MAINTAINER_NM_T} ${MAINTAINER_EMAIL_T} ) + + # Create debian directory in build tree + file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN") + + # Configure the copyright file configure_file( - "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DEBIAN/overrides.in" - "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" - FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - @ONLY + "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DEBIAN/copyright.in" + "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + @ONLY ) - endif() - - # Install Change Log - find_program ( DEB_GZIP_EXEC gzip ) - if(EXISTS "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" ) - execute_process( - COMMAND ${DEB_GZIP_EXEC} -f -n -9 "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN" - RESULT_VARIABLE result - OUTPUT_VARIABLE output - ERROR_VARIABLE error + + # Install copyright file + install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + DESTINATION "${CMAKE_INSTALL_DOCDIR}" + COMPONENT ${COMPONENT_NAME_T} ) + + # Configure the changelog file + configure_file( + "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DEBIAN/changelog.in" + "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + @ONLY ) - if(NOT ${result} EQUAL 0) - message(FATAL_ERROR "Failed to compress: ${error}") + + if( LINTIAN_OVERRIDES_FLAG ) + if(NOT BUILD_SHARED_LIBS) + string(FIND ${DEB_OVERRIDES_INSTALL_FILENM} "static" OUT_VAR1) + if(OUT_VAR1 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-static" ) + endif() + else() + if(ENABLE_ASAN_PACKAGING) + string( FIND ${DEB_OVERRIDES_INSTALL_FILENM} "asan" OUT_VAR2) + if(OUT_VAR2 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-asan" ) + endif() + endif() + endif() + set( DEB_OVERRIDES_INSTALL_FILENM + "${DEB_OVERRIDES_INSTALL_FILENM}" CACHE STRING "Debian Package Lintian Override File Name" FORCE) + # Configure the changelog file + configure_file( + "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/DEBIAN/overrides.in" + "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" + FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + @ONLY + ) + endif() + + # Install Change Log + find_program ( DEB_GZIP_EXEC gzip ) + if(EXISTS "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" ) + execute_process( + COMMAND ${DEB_GZIP_EXEC} -f -n -9 "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN" + RESULT_VARIABLE result + OUTPUT_VARIABLE output + ERROR_VARIABLE error + ) + if(NOT ${result} EQUAL 0) + message(FATAL_ERROR "Failed to compress: ${error}") + endif() + install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_CHANGELOG_INSTALL_FILENM}" + DESTINATION ${CMAKE_INSTALL_DOCDIR} + COMPONENT ${COMPONENT_NAME_T}) + endif() + + if( LINTIAN_OVERRIDES_FLAG STREQUAL "ON" AND DEBIAN_PKGING_FLAG STREQUAL "ON") + set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) + install ( FILES ${OVERRIDE_FILE} + DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} + COMPONENT ${COMPONENT_NAME_T}) endif() - install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_CHANGELOG_INSTALL_FILENM}" - DESTINATION ${CMAKE_INSTALL_DOCDIR} - COMPONENT ${COMPONENT_NAME_T}) - endif() - - if( LINTIAN_OVERRIDES_FLAG STREQUAL "ON" AND DEBIAN_PKGING_FLAG STREQUAL "ON") - set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) - install ( FILES ${OVERRIDE_FILE} - DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} - COMPONENT ${COMPONENT_NAME_T}) - endif() else() # License file @@ -556,8 +556,8 @@ function( set_debian_pkg_cmake_flags DEB_PACKAGE_NAME_T DEB_PACKAGE_VERSION_T DE set( DEB_CHANGELOG_INSTALL_FILENM "changelog.Debian.gz" CACHE STRING "Debian Package ChangeLog File Name" ) if( LINTIAN_OVERRIDES_FLAG ) - set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_PACKAGE_NAME}" CACHE STRING "Debian Package Lintian Override File Name" ) - set( DEB_OVERRIDES_INSTALL_PATH "/usr/share/lintian/overrides/" CACHE STRING "Deb Pkg Lintian Override Install Loc" ) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_PACKAGE_NAME}" CACHE STRING "Debian Package Lintian Override File Name" ) + set( DEB_OVERRIDES_INSTALL_PATH "/usr/share/lintian/overrides/" CACHE STRING "Deb Pkg Lintian Override Install Loc" ) endif() # Get TimeStamp