Enable Support for Lintian Override Configuration (#23)
* Update License file in deb pkg to only have debian lintian specific copyright
* Enable Support for Debian Pkg Lintian Overrides
* Enhance Lintian Override config File Name for static,asan (rocm-core)
* Update Review Comments/UT Test Fixes for Lintian Overrides
[ROCm/rocm-core commit: f6617fd89f]
このコミットが含まれているのは:
@@ -66,13 +66,16 @@ parse_rocm_version( ${ROCM_VERSION} )
|
||||
set( CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm" CACHE PATH "default cpack directory" )
|
||||
set( BUILD_SHARED_LIBS ON CACHE BOOL "Build shared library (.so) or not." )
|
||||
set( CPACK_GENERATOR "TGZ;DEB;RPM" CACHE STRING "package types to be produced " )
|
||||
set( LICENSE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/copyright" )
|
||||
set( LICENSE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/copyright" CACHE PATH "Path to License File in source dir" )
|
||||
set( BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR} )
|
||||
set( EXTENDED_PACKAGE_DESCRIPTION
|
||||
"ROCM-CORE is a package which can be used to get ROCm release version, get ROCm install path information etc.
|
||||
It is also important to note that ROCM-CORE takes the role as a base component on which all of ROCm can depend,
|
||||
to make it easy to remove all of ROCm with a package manager." CACHE STRING "Debian Package Extended Description")
|
||||
|
||||
set( BUILD_ENABLE_LINTIAN_OVERRIDES OFF CACHE BOOL "Enable/Disable Lintian Overrides" )
|
||||
set( BUILD_DEBIAN_PKGING_FLAG OFF CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" )
|
||||
|
||||
## Set variables
|
||||
set_variables()
|
||||
|
||||
@@ -145,10 +148,6 @@ if(BUILD_SHARED_LIBS)
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
COMPONENT CORE_RUNTIME )
|
||||
|
||||
# License file
|
||||
install ( FILES ${LICENSE_FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt
|
||||
COMPONENT ${COMP_TYPE})
|
||||
else()
|
||||
install ( FILES ${BUILD_DIR}/version
|
||||
DESTINATION .info
|
||||
@@ -168,10 +167,6 @@ else()
|
||||
install ( FILES ${BUILD_DIR}/rocmmod
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
COMPONENT ${STATIC_COMP_TYPE} )
|
||||
# License file
|
||||
install ( FILES ${LICENSE_FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt
|
||||
COMPONENT ${STATIC_COMP_TYPE})
|
||||
endif()
|
||||
|
||||
## Cmake module config file configurations
|
||||
@@ -243,9 +238,9 @@ set ( CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT" )
|
||||
|
||||
# Debian specific packaging configuration
|
||||
if(COMP_TYPE)
|
||||
configure_debian_pkg( ${CORE_TARGET} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${PKG_MAINTAINER_NM} ${PKG_MAINTAINER_EMAIL} )
|
||||
configure_debian_pkg( ${CORE_TARGET} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${PKG_MAINTAINER_NM} ${PKG_MAINTAINER_EMAIL} )
|
||||
elseif(STATIC_COMP_TYPE)
|
||||
configure_debian_pkg( ${CORE_TARGET} ${STATIC_COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${PKG_MAINTAINER_NM} ${PKG_MAINTAINER_EMAIL} )
|
||||
configure_debian_pkg( ${CORE_TARGET} ${STATIC_COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${PKG_MAINTAINER_NM} ${PKG_MAINTAINER_EMAIL} )
|
||||
endif()
|
||||
|
||||
## RPM package specific variables
|
||||
@@ -298,5 +293,19 @@ set(CPACK_DEBIAN_RUNTIME_PACKAGE_REPLACES "rocm-clang-ocl")
|
||||
set(CPACK_DEBIAN_RUNTIME_PACKAGE_CONFLICTS "rocm-clang-ocl")
|
||||
set(CPACK_RPM_RUNTIME_PACKAGE_OBSOLETES "rocm-clang-ocl")
|
||||
|
||||
# Custom installation for Debian Lintian File
|
||||
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}" )
|
||||
if(COMP_TYPE)
|
||||
set( OVERRIDE_TEMP_INSTALL_LOC "/_CPack_Packages/Linux/DEB/${CORE_TARGET}-${CPACK_PACKAGE_VERSION}-Linux/${COMP_TYPE}" )
|
||||
elseif(STATIC_COMP_TYPE)
|
||||
set( OVERRIDE_TEMP_INSTALL_LOC "/_CPack_Packages/Linux/DEB/${CORE_TARGET}-${CPACK_PACKAGE_VERSION}-Linux/${STATIC_COMP_TYPE}" )
|
||||
endif()
|
||||
set(CPACK_INSTALL_COMMANDS
|
||||
"${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}${OVERRIDE_TEMP_INSTALL_LOC}${DEB_OVERRIDES_INSTALL_PATH}"
|
||||
"${CMAKE_COMMAND} -E copy ${OVERRIDE_FILE} ${CMAKE_BINARY_DIR}${OVERRIDE_TEMP_INSTALL_LOC}${DEB_OVERRIDES_INSTALL_PATH}"
|
||||
)
|
||||
endif()
|
||||
|
||||
## Include packaging
|
||||
include ( CPack )
|
||||
|
||||
@@ -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
|
||||
@@ -174,6 +174,7 @@ function( configure_debian_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_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} )
|
||||
|
||||
@@ -199,6 +200,30 @@ function( configure_debian_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T
|
||||
@ONLY
|
||||
)
|
||||
|
||||
if( BUILD_ENABLE_LINTIAN_OVERRIDES )
|
||||
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}"
|
||||
@ONLY
|
||||
)
|
||||
endif()
|
||||
|
||||
# Install Change Log
|
||||
find_program ( DEB_GZIP_EXEC gzip )
|
||||
if(EXISTS "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" )
|
||||
@@ -217,7 +242,10 @@ function( configure_debian_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T
|
||||
COMPONENT ${COMPONENT_NAME_T})
|
||||
endif()
|
||||
else()
|
||||
message( STATUS "Ignore Configuring Debian Specific Packaging Configuration" )
|
||||
# License file
|
||||
install ( FILES ${LICENSE_FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt
|
||||
COMPONENT ${COMPONENT_NAME_T})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
@@ -233,6 +261,11 @@ function( set_debian_pkg_cmake_flags DEB_PACKAGE_NAME_T DEB_PACKAGE_VERSION_T DE
|
||||
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( BUILD_ENABLE_LINTIAN_OVERRIDES )
|
||||
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" )
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする