# these are cache variables, so they could be overwritten with -D, set(CPACK_PACKAGE_NAME rublon-ssh CACHE STRING "The resulting package name" ) # which is useful in case of packing only selected components instead of the whole thing set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Rublon ssh PAM module" CACHE STRING "Rublon ssh PAM module" ) set(CPACK_PACKAGE_VENDOR "Rublon") #set(CPACK_VERBATIM_VARIABLES YES) 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_COMPONENTS_ALL "PAM") set(CPACK_PACKAGE_CONTACT "bwi@rublon.com") set(CPACK_DEBIAN_PAM_PACKAGE_NAME rublon-ssh) set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Bartosz Wieczorek") #set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") #set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md") execute_process ( COMMAND bash -c "awk -F= '/^ID=/{print $2}' /etc/os-release |tr -d '\n' | tr -d '\"'" OUTPUT_VARIABLE outOS ) if ( ${outOS} MATCHES "ubuntu" OR ${outOS} MATCHES "debian" ) set(CPACK_DEBIAN_PAM-DEV_PACKAGE_NAME, YES) set(CPACK_DEB_COMPONENT_INSTALL YES) set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS YES) execute_process ( COMMAND bash -c "awk -F= '/^VERSION_ID=/{print $2}' /etc/os-release |tr -d '\n' | tr -d '\"'" OUTPUT_VARIABLE VERSION_ID ) set(CPACK_DEBIAN_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}_${outOS}${VERSION_ID}.deb") set(CPACK_DEBIAN_PAM-DEV_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}_PAM-DEV_${outOS}${VERSION_ID}.deb") set(CPACK_GENERATOR "DEB") set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/service/helpers/postinst;${CMAKE_CURRENT_SOURCE_DIR}/service/helpers/postrm") else() set(CPACK_GENERATOR "RPM") set(CPACK_RPM_COMPONENT_INSTALL YES) list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/usr/share/rublon/service/helpers") list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/usr/lib64/security") list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/usr/sbin") set(CPACK_RPM_SPEC_MORE_DEFINE "%define _build_id_links none") set(CPACK_RPM_PAM-DEV_PACKAGE_NAME, YES) execute_process ( COMMAND bash -c "awk -F= '/^PLATFORM_ID=/{print \$2}' /etc/os-release | cut -d '\:' -f2- | tr -d '\"'" OUTPUT_VARIABLE VERSION OUTPUT_STRIP_TRAILING_WHITESPACE ) if ( ${outOS} MATCHES "opensuse-leap" ) set(CPACK_RPM_PACKAGE_REQUIRES "openssh >= 8.0") set(CPACK_RPM_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}_${outOS}.rpm") set(CPACK_RPM_PAM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/service/helpers/postinst_suse") set(CPACK_RPM_PAM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/service/helpers/postrm_rhel_8") else() set(CPACK_RPM_PAM_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}_${outOS}.${VERSION}.rpm") set(CPACK_RPM_PAM-DEV_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}_PAM-DEV_${outOS}.${VERSION}.rpm") set(CPACK_RPM_PACKAGE_REQUIRES_PRE "policycoreutils-python-utils") if(${VERSION} MATCHES "el8") set(CPACK_RPM_PAM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/service/helpers/postinst_rhel_8") set(CPACK_RPM_PAM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/service/helpers/postrm_rhel_8") else() set(CPACK_RPM_PAM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/service/helpers/postinst_rhel") set(CPACK_RPM_PAM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/service/helpers/postrm_rhel") endif() endif() endif() include(CPack)