From 823c92c381e7e412ac9c668e660acfa6a23b4d3d Mon Sep 17 00:00:00 2001 From: Vikman Fernandez-Castro Date: Tue, 17 Jun 2025 12:51:42 +0200 Subject: [PATCH] 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