|
| 1 | +# |
| 2 | +# Copyright (C) 2025 Intel Corporation |
| 3 | +# |
| 4 | +# SPDX-License-Identifier: MIT |
| 5 | +# |
| 6 | + |
| 7 | +include(${CPACK_PROJECT_CONFIG_FILE}) |
| 8 | + |
| 9 | +set(CPACK_GENERATOR RPM) |
| 10 | + |
| 11 | +# Exclude firmware directories to generate intel-fw-npu package without conflicts against filesystem package |
| 12 | +set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION |
| 13 | + /lib /lib/firmware /lib/firmware/updates /lib/firmware/updates/intel /lib/firmware/updates/intel/vpu) |
| 14 | + |
| 15 | +# Create package per component |
| 16 | +set(CPACK_RPM_COMPONENT_INSTALL ON) |
| 17 | + |
| 18 | +# Component conflicts |
| 19 | +set(CPACK_RPM_LEVEL_ZERO_PACKAGE_CONFLICTS "level-zero, level-zero-devel") |
| 20 | + |
| 21 | +# Get system architecture |
| 22 | +execute_process( |
| 23 | + COMMAND uname -m |
| 24 | + OUTPUT_VARIABLE OUT_RPM_ARCH |
| 25 | + OUTPUT_STRIP_TRAILING_WHITESPACE |
| 26 | + COMMAND_ERROR_IS_FATAL ANY) |
| 27 | + |
| 28 | +set(PACKAGE_POSTFIX_NAME ${CPACK_PACKAGE_VERSION}_${LINUX_SYSTEM_NAME}${LINUX_SYSTEM_VERSION_ID}_${OUT_RPM_ARCH}.rpm) |
| 29 | +foreach(COMPONENT ${CPACK_COMPONENTS_ALL}) |
| 30 | + string(TOUPPER ${COMPONENT} COMPONENT_UPPER) |
| 31 | + set(CPACK_RPM_${COMPONENT_UPPER}_FILE_NAME ${CPACK_PACKAGE_NAME}-${COMPONENT}_${PACKAGE_POSTFIX_NAME}) |
| 32 | + |
| 33 | + if (${COMPONENT_UPPER}_POSTINST) |
| 34 | + list(APPEND CPACK_RPM_${COMPONENT_UPPER}_PACKAGE_CONTROL_EXTRA ${${COMPONENT_UPPER}_POSTINST}) |
| 35 | + endif() |
| 36 | + if (${COMPONENT_UPPER}_PRERM) |
| 37 | + list(APPEND CPACK_RPM_${COMPONENT_UPPER}_PACKAGE_CONTROL_EXTRA ${${COMPONENT_UPPER}_PRERM}) |
| 38 | + endif() |
| 39 | + if (${COMPONENT_UPPER}_POSTRM) |
| 40 | + list(APPEND CPACK_RPM_${COMPONENT_UPPER}_PACKAGE_CONTROL_EXTRA ${${COMPONENT_UPPER}_POSTRM}) |
| 41 | + endif() |
| 42 | + if (${COMPONENT_UPPER}_DEPENDS) |
| 43 | + set(CPACK_RPM_${COMPONENT_UPPER}_PACKAGE_REQUIRES ${${COMPONENT_UPPER}_DEPENDS}) |
| 44 | + endif() |
| 45 | +endforeach() |
0 commit comments