From b4d9261ce2aed36ae2be87c7df97654e08cf2d8c Mon Sep 17 00:00:00 2001 From: Leonardo Grasso Date: Thu, 21 Apr 2022 17:09:32 +0200 Subject: [PATCH] build: define "falco" component Signed-off-by: Leonardo Grasso --- CMakeLists.txt | 7 ++++++- rules/CMakeLists.txt | 23 ++++++++++++++--------- scripts/CMakeLists.txt | 2 +- userspace/falco/CMakeLists.txt | 2 +- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 40c7d148..eec21b91 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,6 +102,11 @@ set(PACKAGE_NAME "falco") set(DRIVER_NAME "falco") set(DRIVER_DEVICE_NAME "falco") set(DRIVERS_REPO "https://download.falco.org/driver") + +if(NOT DEFINED FALCO_COMPONENT_NAME) + set(FALCO_COMPONENT_NAME "${CMAKE_PROJECT_NAME}") +endif() + if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX /usr @@ -164,7 +169,7 @@ if(NOT MINIMAL_BUILD) endif() # Installation -install(FILES falco.yaml DESTINATION "${FALCO_ETC_DIR}") +install(FILES falco.yaml DESTINATION "${FALCO_ETC_DIR}" COMPONENT "${FALCO_COMPONENT_NAME}") if(NOT MINIMAL_BUILD) # Coverage diff --git a/rules/CMakeLists.txt b/rules/CMakeLists.txt index 0e752456..e5e56203 100644 --- a/rules/CMakeLists.txt +++ b/rules/CMakeLists.txt @@ -26,7 +26,8 @@ if(NOT DEFINED FALCO_RULES_DEST_FILENAME) set(FALCO_AWS_CLOUDTRAIL_RULES_DEST_FILENAME "aws_cloudtrail_rules.yaml") endif() -if(DEFINED FALCO_COMPONENT) + +if(DEFINED FALCO_COMPONENT) # Allow a slim version of Falco to be embedded in other projects, intentionally *not* installing all rulesets. install( FILES falco_rules.yaml COMPONENT "${FALCO_COMPONENT}" @@ -38,32 +39,36 @@ if(DEFINED FALCO_COMPONENT) COMPONENT "${FALCO_COMPONENT}" DESTINATION "${FALCO_ETC_DIR}" RENAME "${FALCO_LOCAL_RULES_DEST_FILENAME}") -# Intentionally *not* installing application_rules.yaml. Not needed when falco is embedded in other projects. -else() +else() # Default Falco installation install( FILES falco_rules.yaml DESTINATION "${FALCO_ETC_DIR}" - RENAME "${FALCO_RULES_DEST_FILENAME}") + RENAME "${FALCO_RULES_DEST_FILENAME}" + COMPONENT "${FALCO_COMPONENT_NAME}") install( FILES falco_rules.local.yaml DESTINATION "${FALCO_ETC_DIR}" - RENAME "${FALCO_LOCAL_RULES_DEST_FILENAME}") + RENAME "${FALCO_LOCAL_RULES_DEST_FILENAME}" + COMPONENT "${FALCO_COMPONENT_NAME}") install( FILES k8s_audit_rules.yaml DESTINATION "${FALCO_ETC_DIR}" - RENAME "${FALCO_K8S_AUDIT_RULES_DEST_FILENAME}") + RENAME "${FALCO_K8S_AUDIT_RULES_DEST_FILENAME}" + COMPONENT "${FALCO_COMPONENT_NAME}") install( FILES application_rules.yaml DESTINATION "${FALCO_ETC_DIR}/rules.available" - RENAME "${FALCO_APP_RULES_DEST_FILENAME}") + RENAME "${FALCO_APP_RULES_DEST_FILENAME}" + COMPONENT "${FALCO_COMPONENT_NAME}") install( FILES aws_cloudtrail_rules.yaml DESTINATION "${FALCO_ETC_DIR}" - RENAME "${FALCO_AWS_CLOUDTRAIL_RULES_DEST_FILENAME}") + RENAME "${FALCO_AWS_CLOUDTRAIL_RULES_DEST_FILENAME}" + COMPONENT "${FALCO_COMPONENT_NAME}") - install(DIRECTORY DESTINATION "${FALCO_ETC_DIR}/rules.d") + install(DIRECTORY DESTINATION "${FALCO_ETC_DIR}/rules.d" COMPONENT "${FALCO_COMPONENT_NAME}") endif() diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 099a8ef4..676044ac 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -33,5 +33,5 @@ configure_file(falco-driver-loader falco-driver-loader @ONLY) if(CMAKE_SYSTEM_NAME MATCHES "Linux") install(PROGRAMS ${PROJECT_BINARY_DIR}/scripts/falco-driver-loader - DESTINATION ${FALCO_BIN_DIR}) + DESTINATION ${FALCO_BIN_DIR} COMPONENT "${FALCO_COMPONENT_NAME}") endif() diff --git a/userspace/falco/CMakeLists.txt b/userspace/falco/CMakeLists.txt index e42348c6..b26c934f 100644 --- a/userspace/falco/CMakeLists.txt +++ b/userspace/falco/CMakeLists.txt @@ -177,4 +177,4 @@ if(MUSL_OPTIMIZED_BUILD AND CMAKE_BUILD_TYPE STREQUAL "release") ) endif() -install(TARGETS falco DESTINATION ${FALCO_BIN_DIR}) +install(TARGETS falco RUNTIME DESTINATION ${FALCO_BIN_DIR} COMPONENT "${FALCO_COMPONENT_NAME}")