From fc4fe638bc14320dd7944faaadcc8cba7299df27 Mon Sep 17 00:00:00 2001 From: Vikman Fernandez-Castro Date: Thu, 12 Jun 2025 11:02:58 +0200 Subject: [PATCH 1/3] ci(actions): include full repository in the macOS binary artifact --- .github/actions/6_builderpackage_agent_macos/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/6_builderpackage_agent_macos/action.yml b/.github/actions/6_builderpackage_agent_macos/action.yml index 9ff7b82c1..daa6ef148 100644 --- a/.github/actions/6_builderpackage_agent_macos/action.yml +++ b/.github/actions/6_builderpackage_agent_macos/action.yml @@ -25,7 +25,7 @@ runs: mkdir -p src/build && cd src/build && cmake .. && make -j $(sysctl -n hw.ncpu) sudo rm -rf _deps vcpkg_installed cd ../.. - zip -r wazuh-agent-binaries-${{ inputs.architecture }}.zip etc/config/wazuh-agent.yml src/build + zip -r wazuh-agent-binaries-${{ inputs.architecture }}.zip . - name: Upload wazuh-agent-binaries.zip uses: actions/upload-artifact@v4 From 823c92c381e7e412ac9c668e660acfa6a23b4d3d Mon Sep 17 00:00:00 2001 From: Vikman Fernandez-Castro Date: Tue, 17 Jun 2025 12:51:42 +0200 Subject: [PATCH 2/3] feat(workflow): define generic install prefix on macOS build --- .../6_builderpackage_agent_macos/action.yml | 8 +++-- packages/macos/generate_wazuh_packages.sh | 6 ++-- packages/macos/package_files/build.sh | 29 ++++++++----------- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/.github/actions/6_builderpackage_agent_macos/action.yml b/.github/actions/6_builderpackage_agent_macos/action.yml index daa6ef148..8817ef150 100644 --- a/.github/actions/6_builderpackage_agent_macos/action.yml +++ b/.github/actions/6_builderpackage_agent_macos/action.yml @@ -22,9 +22,11 @@ runs: - name: Build repository shell: bash run: | - mkdir -p src/build && cd src/build && cmake .. && make -j $(sysctl -n hw.ncpu) - sudo rm -rf _deps vcpkg_installed - cd ../.. + cmake -B build src + cmake --build build -j $(sysctl -n hw.ncpu) + cmake --install build --prefix install + + sudo rm -rf build/_deps build/vcpkg_installed zip -r wazuh-agent-binaries-${{ inputs.architecture }}.zip . - name: Upload wazuh-agent-binaries.zip diff --git a/packages/macos/generate_wazuh_packages.sh b/packages/macos/generate_wazuh_packages.sh index fe02a4715..69b235cac 100755 --- a/packages/macos/generate_wazuh_packages.sh +++ b/packages/macos/generate_wazuh_packages.sh @@ -161,9 +161,7 @@ function build_package() { # Build binaries ${WAZUH_PACKAGES_PATH}/package_files/build.sh "${VERBOSE}" "${PACKAGED_DIRECTORY}" "${WAZUH_PATH}" ${JOBS} ${VCPKG_KEY} - mkdir -p ${PACKAGED_DIRECTORY}/Library/LaunchDaemons - install /Library/LaunchDaemons/com.wazuh.agent.plist ${PACKAGED_DIRECTORY}/Library/LaunchDaemons/com.wazuh.agent.plist - sed -i "" "s|${PACKAGED_DIRECTORY}/|/|g" ${PACKAGED_DIRECTORY}/Library/LaunchDaemons/com.wazuh.agent.plist + sed -i "" "s|install/|/|g" ${PACKAGED_DIRECTORY}/Library/LaunchDaemons/com.wazuh.agent.plist @@ -464,7 +462,7 @@ function main() { build_package if [ "${NOTARIZE}" = "yes" ]; then - + notarization_path="${DESTINATION}/${pkg_name}.pkg" if [ -z "${notarization_path}" ]; then diff --git a/packages/macos/package_files/build.sh b/packages/macos/package_files/build.sh index da68b317c..bd2e2ebdf 100755 --- a/packages/macos/package_files/build.sh +++ b/packages/macos/package_files/build.sh @@ -13,7 +13,6 @@ DESTINATION_PATH=$2 WAZUH_PATH=$3 BUILD_JOBS=$4 VCPKG_KEY=$5 -SOURCES_DIR=${WAZUH_PATH}/src set_vcpkg_remote_binary_cache(){ local vcpkg_token="$1" @@ -52,26 +51,22 @@ function build() { set -ex fi - if [ ! -d "$SOURCES_DIR/build" ]; then - if [ ! -z "${VCPKG_KEY}" ]; then - set_vcpkg_remote_binary_cache $VCPKG_KEY + if [ ! -d "${WAZUH_PATH}/install" ]; then + + if [ ! -d "$WAZUH_PATH/build" ]; then + if [ ! -z "${VCPKG_KEY}" ]; then + set_vcpkg_remote_binary_cache $VCPKG_KEY + fi + + cmake -S $WAZUH_PATH/src -B $WAZUH_PATH/build -DVCPKG_INSTALL_OPTIONS="--debug" + cmake --build $WAZUH_PATH/build --parallel $BUILD_JOBS fi - cmake -S $SOURCES_DIR -B $SOURCES_DIR/build -DVCPKG_INSTALL_OPTIONS="--debug" - cmake --build $SOURCES_DIR/build --parallel $BUILD_JOBS + echo "Installing sources" + cmake --install $WAZUH_PATH/build --prefix $WAZUH_PATH/install fi - EXECUTABLE_FILES=$(find "${SOURCES_DIR}" -maxdepth 1 -type f ! -name "*.py" -exec file {} + | grep 'executable' | cut -d: -f1) - EXECUTABLE_FILES+=" $(find "${SOURCES_DIR}" -type f ! -name "*.py" ! -path "${SOURCES_DIR}/external/*" ! -path "${SOURCES_DIR}/symbols/*" -name "*.dylib" -print 2>/dev/null)" - - for var in $EXECUTABLE_FILES; do - filename=$(basename "$var") - dsymutil -o "${SOURCES_DIR}/symbols/${filename}.dSYM" "$var" 2>/dev/null && strip -S "$var" - done - - echo "Installing sources" - cmake --install $SOURCES_DIR/build --prefix $DESTINATION_PATH - + cp -r "${WAZUH_PATH}/install/." "${DESTINATION_PATH}/" } build From ae1db2e852e7b2d7e08daa05eb0da4bc13d0fe6f Mon Sep 17 00:00:00 2001 From: Vikman Fernandez-Castro Date: Tue, 17 Jun 2025 18:07:20 +0200 Subject: [PATCH 3/3] build: fix macOS service path --- src/cmake/CommonSettings.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmake/CommonSettings.cmake b/src/cmake/CommonSettings.cmake index 446520159..e15532b69 100644 --- a/src/cmake/CommonSettings.cmake +++ b/src/cmake/CommonSettings.cmake @@ -16,7 +16,7 @@ function(set_common_settings) set(PARENT_DIR "Library/Application Support/Wazuh agent.app" PARENT_SCOPE) set(BIN_INSTALL_DIR "Library/Application Support/Wazuh agent.app/bin" PARENT_SCOPE) set(CONFIG_INSTALL_DIR "Library/Application Support/Wazuh agent.app/etc" PARENT_SCOPE) - set(SERVICE_INSTALL_DIR "/Library/LaunchDaemons" PARENT_SCOPE) + set(SERVICE_INSTALL_DIR "Library/LaunchDaemons" PARENT_SCOPE) set(DATA_INSTALL_DIR "Library/Application Support/Wazuh agent.app/var" PARENT_SCOPE) set(RUN_INSTALL_DIR "private/var/run" PARENT_SCOPE) set(SERVICE_FILE "${CMAKE_SOURCE_DIR}/agent/service/com.wazuh.agent.plist" PARENT_SCOPE)