Enable Lintian Support rocm-systems (#1578)

* draft testing fix for no copyright file and no changelog

* test fix no-changelog no-copyright

* changelog copyright fixt

* remove utils.cmake

* rocr lintian

* lintian overrides, copyright, changelog install

* fix lintian overrides install

* comp_type static fix and remove debug logs

* syntax error

* update static build check

* update file permissions to 0755 to fix error control-file-has-bad-permissions 0664 != 0755

* fix lintian errors in rdc and remove logs from roctracer

* lintian error fix rocprofiler

* fix lintian error

* mmove lintian overrides install

* lintian errors fix

* move lintian overrides install

* use changelog already provided by rdc

* fix formatting use existing changelog if provided

* fix formatting use changelog in rocprofiler

* draft testing fix for no copyright file and no changelog

* test fix no-changelog no-copyright

* changelog copyright fixt

* lintian overrides, copyright, changelog install

* fix lintian overrides install

* comp_type static fix and remove debug logs

* fix lintian errors in rdc and remove logs from roctracer

* lintian error fix rocprofiler

* fix lintian error

* mmove lintian overrides install

* lintian errors fix

* move lintian overrides install

* use changelog already provided by rdc

* fix formatting use existing changelog if provided

* fix formatting use changelog in rocprofiler

* remove overrides. Use existing changelog and copyright

* resolve merge conflict

* update license for hsa-rocr. Use NCSA license

* install license

* install license
Tento commit je obsažen v:
jonatluu
2025-11-20 11:38:39 -05:00
odevzdal GitHub
rodič 124c23e2ff
revize 6b8aae3796
31 změnil soubory, kde provedl 739 přidání a 5 odebrání
Normální soubor → Spustitelný soubor
+14 -1
Zobrazit soubor
@@ -22,6 +22,10 @@
cmake_minimum_required(VERSION 3.18.0)
include( utils.cmake )
set( CORE_TARGET "roctracer" )
set( BUILD_ENABLE_LINTIAN_OVERRIDES ON CACHE BOOL "Enable/Disable Lintian Overrides" )
set( BUILD_DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" )
project(roctracer VERSION 4.1.0)
if(${ROCM_PATCH_VERSION})
@@ -80,6 +84,9 @@ message("-----------Dest-name: ${DEST_NAME}")
message("------Install-prefix: ${CMAKE_INSTALL_PREFIX}")
message("-----------CPACK-dir: ${CPACK_PACKAGING_INSTALL_PREFIX}")
set(PKG_MAINTAINER_NM "ROCm Profiler Support")
set(PKG_MAINTAINER_EMAIL "dl.ROCm-Profiler.support@amd.com")
## Packaging directives
set(CPACK_GENERATOR "DEB" "RPM" "TGZ" CACHE STRING "CPACK GENERATOR DEB;RPM")
set(ENABLE_LDCONFIG ON CACHE BOOL "Set library links and caches using ldconfig.")
@@ -89,7 +96,7 @@ set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_PACKAGE_CONTACT "ROCm Profiler Support <dl.ROCm-Profiler.support@amd.com>")
set(CPACK_PACKAGE_CONTACT "${PKG_MAINTAINER_NM} <${PKG_MAINTAINER_EMAIL}>")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD ROCTRACER library")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md")
@@ -122,6 +129,7 @@ set(CPACK_DEBIAN_DEV_PACKAGE_NAME "${PROJECT_NAME}-dev")
set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "${PROJECT_NAME}, hsa-rocr-dev, rocm-core")
set(CPACK_DEBIAN_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests")
set(CPACK_DEBIAN_TESTS_PACKAGE_DEPENDS "${PROJECT_NAME}-dev")
# Debian package specific variable for ASAN
set(CPACK_DEBIAN_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" )
set(CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "rocm-core-asan" )
@@ -180,12 +188,17 @@ endif()
if(ENABLE_ASAN_PACKAGING)
# ASAN Package requires asan component with only libraries and license file
set(CPACK_COMPONENTS_ALL asan)
set( COMP_TYPE "asan" )
else()
set(CPACK_COMPONENTS_ALL runtime dev tests)
set( COMP_TYPE "runtime" )
endif()
include(CPack)
# Debian specific packaging configuration
configure_pkg( ${CORE_TARGET} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${PKG_MAINTAINER_NM} ${PKG_MAINTAINER_EMAIL} )
cpack_add_component(runtime
DISPLAY_NAME "Runtime"
DESCRIPTION "Dynamic libraries for the ROCtracer")
+5
Zobrazit soubor
@@ -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@
+26
Zobrazit soubor
@@ -0,0 +1,26 @@
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.
+87
Zobrazit soubor
@@ -0,0 +1,87 @@
## 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( BUILD_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
)
# 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()
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" )
# 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()