updated build system
Some checks failed
Public/monitarr/pipeline/head Something is wrong with the build of this commit
Some checks failed
Public/monitarr/pipeline/head Something is wrong with the build of this commit
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_MINGW64_COPY_DEPENDENCIES=()
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_SCRIPTS_DIR=$(realpath "$0")
|
||||
PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
DEST_DIR=$1
|
||||
DIST_DIR=$2
|
||||
@@ -35,7 +35,7 @@ fi
|
||||
|
||||
pushd "${PROJECT_SOURCE_DIR}"
|
||||
BRANCH=$(git branch --show-current)
|
||||
RELEASE=$(grep PROJECT_RELEASE_ITER= ./config.sh | sed s/PROJECT_RELEASE_ITER=//g)
|
||||
RELEASE=$(grep PROJECT_RELEASE_ITER= ./config.sh | ${SED} s/PROJECT_RELEASE_ITER=//g)
|
||||
popd
|
||||
|
||||
if [ "${BRANCH}" == "master" ] || [ "${BRANCH}" == "alpha" ] ||
|
||||
@@ -78,14 +78,26 @@ if [ "${PROJECT_IS_MINGW}" == "1" ] && [ -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}" 1
|
||||
|
||||
cp -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sha256" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.sha256" 1
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sha256" 1
|
||||
|
||||
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
|
||||
cp -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sig" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.sig" 1
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sig" 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${PROJECT_IS_DARWIN}" == "1" ] && [ -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg" ]; then
|
||||
cp -f -X "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg" 1
|
||||
|
||||
cp -f -X "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sha256" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sha256" 1
|
||||
|
||||
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
|
||||
cp -f -X "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sig" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sig" 1
|
||||
fi
|
||||
fi
|
||||
popd
|
||||
|
||||
error_exit "delivered ${PROJECT_FILE_PART}" 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ] &&
|
||||
[ "${PROJECT_ENABLE_MULTIARCH_DOCKER}" == "1" ]; then
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_BUILD_ARCH=$1
|
||||
PROJECT_CMAKE_BUILD_TYPE=$2
|
||||
@@ -56,9 +56,14 @@ PROJECT_MINGW64_COPY_DEPENDENCIES=()
|
||||
PROJECT_MSYS2_PACKAGE_LIST=()
|
||||
PROJECT_REQUIRE_ALPINE=OFF
|
||||
PROJECT_STATIC_LINK=OFF
|
||||
PROJECT_MACOS_BUNDLE_ID=""
|
||||
PROJECT_MACOS_ICNS_NAME=""
|
||||
|
||||
if [ "$(uname -s)" == "Darwin" ]; then
|
||||
PROJECT_IS_DARWIN=1
|
||||
export SED=gsed
|
||||
else
|
||||
export SED=sed
|
||||
fi
|
||||
|
||||
if [ "${PROJECT_BUILD_ARCH}" == "" ]; then
|
||||
@@ -238,12 +243,12 @@ if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; th
|
||||
fi
|
||||
|
||||
if [ -f "${PROJECT_SOURCE_DIR}/cmake/versions.cmake" ]; then
|
||||
VERSIONS=($(sed -e s/\ /=/g -e s/set\(//g -e s/\)//g "${PROJECT_SOURCE_DIR}/cmake/versions.cmake"))
|
||||
VERSIONS=($(${SED} -e s/\ /=/g -e s/set\(//g -e s/\)//g "${PROJECT_SOURCE_DIR}/cmake/versions.cmake"))
|
||||
|
||||
PROJECT_MINGW64_DOCKER_BUILD_ARGS=()
|
||||
|
||||
for VERSION in "${VERSIONS[@]}"; do
|
||||
LOOKUP_NAME=$(echo ${VERSION} | sed s/_VERSION.*// | sed s/GTEST/TESTING/g)
|
||||
LOOKUP_NAME=$(echo ${VERSION} | ${SED} s/_VERSION.*// | sed s/GTEST/TESTING/g)
|
||||
ENABLE_NAME=PROJECT_ENABLE_${LOOKUP_NAME}
|
||||
if [ "${!ENABLE_NAME}" != "OFF" ]; then
|
||||
PROJECT_MINGW64_DOCKER_BUILD_ARGS+=("--build-arg ${VERSION}")
|
||||
@@ -268,6 +273,8 @@ PROJECT_CMAKE_OPTS="-DPROJECT_IS_ARM64=${PROJECT_IS_ARM64} ${PROJECT_CMAKE_OPTS}
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_IS_DARWIN=${PROJECT_IS_DARWIN} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_IS_MINGW=${PROJECT_IS_MINGW} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_IS_MINGW_UNIX=${PROJECT_IS_MINGW_UNIX} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_MACOS_BUNDLE_ID=${PROJECT_MACOS_BUNDLE_ID} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_MACOS_ICNS_NAME=${PROJECT_MACOS_ICNS_NAME} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_MAJOR_VERSION=${PROJECT_MAJOR_VERSION} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_MINOR_VERSION=${PROJECT_MINOR_VERSION} ${PROJECT_CMAKE_OPTS}"
|
||||
PROJECT_CMAKE_OPTS="-DPROJECT_NAME=${PROJECT_NAME} ${PROJECT_CMAKE_OPTS}"
|
||||
@@ -346,6 +353,8 @@ export PROJECT_IS_DARWIN
|
||||
export PROJECT_IS_MINGW
|
||||
export PROJECT_IS_MINGW_UNIX
|
||||
export PROJECT_LINK_TYPE
|
||||
export PROJECT_MACOS_BUNDLE_ID
|
||||
export PROJECT_MACOS_ICNS_NAME
|
||||
export PROJECT_MAJOR_VERSION
|
||||
export PROJECT_MINGW64_COPY_DEPENDENCIES
|
||||
export PROJECT_MINGW64_DOCKER_BUILD_ARGS
|
||||
@@ -403,6 +412,10 @@ echo " Link type: ${PROJECT_LINK_TYPE}"
|
||||
if [ "${PROJECT_IS_MINGW}" == "1" ]; then
|
||||
echo " Long path names: ${PROJECT_ENABLE_WIN32_LONG_PATH_NAMES}"
|
||||
fi
|
||||
if [ "${PROJECT_IS_DARWIN}" == "1" ]; then
|
||||
echo " macOS bundle ID: ${PROJECT_MACOS_BUNDLE_ID}"
|
||||
echo " macOS icns name: ${PROJECT_MACOS_ICNS_NAME}"
|
||||
fi
|
||||
echo " Meson toolchain file: ${PROJECT_TOOLCHAIN_FILE_MESON}"
|
||||
if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then
|
||||
echo " MinGW docker build args: ${PROJECT_MINGW64_DOCKER_BUILD_ARGS}"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_SCRIPTS_DIR=$(realpath "$0")
|
||||
PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_LIBRARIES=(
|
||||
BACKWARD_CPP
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_SCRIPTS_DIR=$(realpath "$0")
|
||||
PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
|
||||
@@ -61,13 +61,27 @@ fi
|
||||
|
||||
for APP in ${PROJECT_APP_LIST[@]}; do
|
||||
if [ "${PROJECT_BUILD_SHARED_LIBS}" == "ON" ]; then
|
||||
if [ "${PROJECT_IS_MINGW}" != "1" ]; then
|
||||
if [ "${PROJECT_IS_MINGW}" == "1" ]; then
|
||||
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${PROJECT_APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/"
|
||||
else
|
||||
rm "${PROJECT_DIST_DIR}/${APP}${PROJECT_APP_BINARY_EXT}"
|
||||
if [ "${PROJECT_ENABLE_CURL}" == "ON" ]; then
|
||||
mv "${PROJECT_DIST_DIR}/cacert.pem" "${PROJECT_DIST_DIR}/bin/cacert.pem"
|
||||
fi
|
||||
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${PROJECT_APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/bin/"
|
||||
cat <<EOF >>"${PROJECT_DIST_DIR}/${APP}${PROJECT_APP_BINARY_EXT}"
|
||||
if [ "${PROJECT_IS_DARWIN}" == "1" ]; then
|
||||
cat <<EOF >>"${PROJECT_DIST_DIR}/${APP}${PROJECT_APP_BINARY_EXT}"
|
||||
#!/bin/sh
|
||||
PROJECT_SCRIPTS_DIR=\$(realpath "\$0")
|
||||
PROJECT_SCRIPTS_DIR=\$(dirname "\${PROJECT_SCRIPTS_DIR}")
|
||||
|
||||
DYLD_LIBRARY_PATH="\${PROJECT_SCRIPTS_DIR}/lib:\${PROJECT_SCRIPTS_DIR}/lib64:\${DYLD_LIBRARY_PATH}"
|
||||
export DYLD_LIBRARY_PATH
|
||||
|
||||
\${PROJECT_SCRIPTS_DIR}/bin/${APP}${PROJECT_APP_BINARY_EXT} \$*
|
||||
EOF
|
||||
else
|
||||
cat <<EOF >>"${PROJECT_DIST_DIR}/${APP}${PROJECT_APP_BINARY_EXT}"
|
||||
#!/bin/sh
|
||||
PROJECT_SCRIPTS_DIR=\$(realpath "\$0")
|
||||
PROJECT_SCRIPTS_DIR=\$(dirname "\${PROJECT_SCRIPTS_DIR}")
|
||||
@@ -76,18 +90,28 @@ export LD_LIBRARY_PATH="\${PROJECT_SCRIPTS_DIR}/lib:\${PROJECT_SCRIPTS_DIR}/lib6
|
||||
|
||||
\${PROJECT_SCRIPTS_DIR}/bin/${APP}${PROJECT_APP_BINARY_EXT} \$*
|
||||
EOF
|
||||
fi
|
||||
chmod +x "${PROJECT_DIST_DIR}/${APP}${PROJECT_APP_BINARY_EXT}"
|
||||
else
|
||||
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${PROJECT_APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/"
|
||||
fi
|
||||
else
|
||||
elif [ ! -d "${PROJECT_BUILD_DIR}/build/${APP}.app" ]; then
|
||||
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${PROJECT_APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -d "${PROJECT_BUILD_DIR}/build/${PROJECT_NAME}.app" ]; then
|
||||
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${PROJECT_NAME}.app/" \
|
||||
"${PROJECT_DIST_DIR}/${PROJECT_NAME}.app/"
|
||||
fi
|
||||
|
||||
if [ -f "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/pubspec.yaml" ]; then
|
||||
rsync -av --progress "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/build/web/" \
|
||||
"${PROJECT_DIST_DIR}/web/"
|
||||
if [ -d "${PROJECT_DIST_DIR}/${PROJECT_NAME}.app" ]; then
|
||||
rsync -av --progress "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/build/web/" \
|
||||
"${PROJECT_DIST_DIR}/${PROJECT_NAME}.app/Contents/Resources/web/"
|
||||
cp "${PROJECT_DIST_DIR}/cacert.pem" "${PROJECT_DIST_DIR}/${PROJECT_NAME}.app/Contents/MacOS/cacert.pem"
|
||||
else
|
||||
rsync -av --progress "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/build/web/" \
|
||||
"${PROJECT_DIST_DIR}/web/"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${PROJECT_IS_MINGW}" == "1" ]; then
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_SCRIPTS_DIR=$(realpath "$0")
|
||||
PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
|
||||
@@ -12,6 +12,24 @@ function error_exit() {
|
||||
exit $2
|
||||
}
|
||||
|
||||
function cleanup_packages() {
|
||||
local SOURCE_FILE=$1
|
||||
|
||||
pushd "${PROJECT_DIST_DIR}"
|
||||
if [ -f "${SOURCE_FILE}" ]; then
|
||||
rm -f "${SOURCE_FILE}" || error_exit "failed to delete file: ${SOURCE_FILE}" 1
|
||||
fi
|
||||
|
||||
if [ -f "${SOURCE_FILE}.sha256" ]; then
|
||||
rm -f "${SOURCE_FILE}.sha256" || error_exit "failed to delete file: ${SOURCE_FILE}.sha256" 1
|
||||
fi
|
||||
|
||||
if [ -f "${SOURCE_FILE}.sig" ]; then
|
||||
rm -f "${SOURCE_FILE}.sig" || error_exit "failed to delete file: ${SOURCE_FILE}.sig" 1
|
||||
fi
|
||||
popd
|
||||
}
|
||||
|
||||
function create_file_validations() {
|
||||
local SOURCE_FILE=$1
|
||||
sha256sum ${SOURCE_FILE} >${SOURCE_FILE}.sha256 || error_exit "failed to create sha256 for file: ${SOURCE_FILE}" 1
|
||||
@@ -25,42 +43,26 @@ if [ ! -d "${PROJECT_DIST_DIR}" ]; then
|
||||
error_exit "dist directory not found: ${PROJECT_DIST_DIR}" 2
|
||||
fi
|
||||
|
||||
pushd "${PROJECT_DIST_DIR}"
|
||||
if [ -f "${PROJECT_OUT_FILE}" ]; then
|
||||
rm -f "${PROJECT_OUT_FILE}" || error_exit "failed to delete file: ${PROJECT_OUT_FILE}" 1
|
||||
fi
|
||||
if [ -f "${PROJECT_OUT_FILE}.sha256" ]; then
|
||||
rm -f "${PROJECT_OUT_FILE}.sha256" || error_exit "failed to delete file: ${PROJECT_OUT_FILE}.sha256" 1
|
||||
fi
|
||||
if [ -f "${PROJECT_OUT_FILE}.sig" ]; then
|
||||
rm -f "${PROJECT_OUT_FILE}.sig" || error_exit "failed to delete file: ${PROJECT_OUT_FILE}.sig" 1
|
||||
fi
|
||||
|
||||
if [ -f "${PROJECT_FILE_PART}_setup.exe" ]; then
|
||||
rm -f "${PROJECT_FILE_PART}_setup.exe" || error_exit "failed to delete file: ${PROJECT_FILE_PART}_setup.exe" 1
|
||||
fi
|
||||
if [ -f "${PROJECT_FILE_PART}_setup.exe.sha256" ]; then
|
||||
rm -f "${PROJECT_FILE_PART}_setup.exe.sha256" || error_exit "failed to delete file: ${PROJECT_FILE_PART}_setup.exe.sha256" 1
|
||||
fi
|
||||
if [ -f "${PROJECT_FILE_PART}_setup.exe.sig" ]; then
|
||||
rm -f "${PROJECT_FILE_PART}_setup.exe.sig" || error_exit "failed to delete file: ${PROJECT_FILE_PART}_setup.exe.sig" 1
|
||||
fi
|
||||
popd
|
||||
cleanup_packages "${PROJECT_OUT_FILE}"
|
||||
cleanup_packages "${PROJECT_FILE_PART}_setup.exe"
|
||||
cleanup_packages "${PROJECT_FILE_PART}.dmg"
|
||||
|
||||
rsync -av --progress ${PROJECT_DIST_DIR}/ ${TEMP_DIR}/${PROJECT_NAME}/ || error_exit "failed to rsync" 1
|
||||
|
||||
for APP in ${PROJECT_APP_LIST[@]}; do
|
||||
if [ "${PROJECT_BUILD_SHARED_LIBS}" == "ON" ] && [ "${PROJECT_IS_MINGW}" != "1" ]; then
|
||||
strip ${TEMP_DIR}/${PROJECT_NAME}/bin/${APP}${PROJECT_APP_BINARY_EXT}
|
||||
if [ -d "${TEMP_DIR}/${PROJECT_NAME}/${APP}.app" ]; then
|
||||
strip "${TEMP_DIR}/${PROJECT_NAME}/${APP}.app/Contents/MacOS/${APP}${PROJECT_APP_BINARY_EXT}"
|
||||
elif [ "${PROJECT_BUILD_SHARED_LIBS}" == "ON" ] && [ "${PROJECT_IS_MINGW}" != "1" ]; then
|
||||
strip "${TEMP_DIR}/${PROJECT_NAME}/bin/${APP}${PROJECT_APP_BINARY_EXT}"
|
||||
else
|
||||
strip ${TEMP_DIR}/${PROJECT_NAME}/${APP}${PROJECT_APP_BINARY_EXT}
|
||||
strip "${TEMP_DIR}/${PROJECT_NAME}/${APP}${PROJECT_APP_BINARY_EXT}"
|
||||
fi
|
||||
done
|
||||
|
||||
pushd "${TEMP_DIR}/${PROJECT_NAME}/"
|
||||
IFS=$'\n'
|
||||
set -f
|
||||
FILE_LIST=$(find . -type f)
|
||||
FILE_LIST=$(find . -type f -not -path "*/.app/*")
|
||||
for FILE in ${FILE_LIST}; do
|
||||
create_file_validations "${FILE}"
|
||||
done
|
||||
@@ -73,7 +75,63 @@ tar cvzf "${PROJECT_OUT_FILE}" -C ${TEMP_DIR} . || error_exit "failed to create
|
||||
create_file_validations "${PROJECT_OUT_FILE}"
|
||||
popd
|
||||
|
||||
if [ "${PROJECT_IS_MINGW}" == "1" ] && [ -f "${PROJECT_DIST_DIR}/../${PROJECT_NAME}.iss" ]; then
|
||||
if [ -d "${TEMP_DIR}/${PROJECT_NAME}/${PROJECT_NAME}.app" ]; then
|
||||
APP_SRC="${TEMP_DIR}/${PROJECT_NAME}/${PROJECT_NAME}.app"
|
||||
|
||||
DMG_ROOT="${TEMP_DIR}/dmgroot"
|
||||
mkdir -p "${DMG_ROOT}" || error_exit "failed to create dmgroot" 1
|
||||
|
||||
INSTALLER="${DMG_ROOT}/Install ${PROJECT_NAME}.command"
|
||||
INSTALLER_SRC="${PROJECT_SOURCE_DIR}/${PROJECT_NAME}/Install ${PROJECT_NAME}.command"
|
||||
|
||||
if [ -f "${INSTALLER_SRC}" ]; then
|
||||
HIDDEN_DIR="${DMG_ROOT}/.payload"
|
||||
mkdir -p "${HIDDEN_DIR}" || error_exit "failed to create payload dir" 1
|
||||
APP_DEST_DIR="${HIDDEN_DIR}"
|
||||
else
|
||||
APP_DEST_DIR="${DMG_ROOT}"
|
||||
fi
|
||||
|
||||
rsync -a "${APP_SRC}" "${APP_DEST_DIR}/" || error_exit "failed to stage app bundle" 1
|
||||
|
||||
if [ -f "${INSTALLER_SRC}" ]; then
|
||||
chflags hidden "${HIDDEN_DIR}" "${HIDDEN_DIR}/${PROJECT_NAME}.app" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
ln -s /Applications "${DMG_ROOT}/Applications" 2>/dev/null || true
|
||||
|
||||
if [ -f "${INSTALLER_SRC}" ]; then
|
||||
cp -f "${INSTALLER_SRC}" "${INSTALLER}" || error_exit "failed to copy install command" 1
|
||||
chmod +x "${INSTALLER}" || error_exit "failed to chmod install command" 1
|
||||
|
||||
SAFE_PREFIX="$(printf '%s' "${PROJECT_MACOS_BUNDLE_ID}" | sed -e 's/[\/&]/\\&/g')"
|
||||
/usr/bin/sed -i '' -e "s|^LABEL_PREFIX=.*$|LABEL_PREFIX=\"${SAFE_PREFIX}\"|g" "${INSTALLER}"
|
||||
|
||||
LABEL_ASSIGNED="$(/usr/bin/awk -F= '/^LABEL_PREFIX=/{sub(/^[^=]*=/,""); gsub(/^"|"$/,""); print; exit}' "${INSTALLER}")"
|
||||
if ! /usr/bin/awk -v v="${LABEL_ASSIGNED}" '
|
||||
BEGIN {
|
||||
if (length(v) == 0) exit 1;
|
||||
if (v == "__LABEL_PREFIX__") exit 1;
|
||||
if (v !~ /^[A-Za-z0-9._-]+$/) exit 1;
|
||||
if (v !~ /\./) exit 1;
|
||||
exit 0;
|
||||
}'; then
|
||||
error_exit "DMG build abort: invalid LABEL_PREFIX written to installer (value: \"${LABEL_ASSIGNED}\"). Check PROJECT_MACOS_BUNDLE_ID and sed substitution." 1
|
||||
fi
|
||||
fi
|
||||
|
||||
DMG_OUT="${PROJECT_FILE_PART}.dmg"
|
||||
hdiutil create \
|
||||
-volname "${PROJECT_NAME}" \
|
||||
-fs HFS+ \
|
||||
-srcfolder "${DMG_ROOT}" \
|
||||
-ov -format UDZO \
|
||||
"${PROJECT_DIST_DIR}/${DMG_OUT}" || error_exit "hdiutil failed" 1
|
||||
|
||||
pushd "${PROJECT_DIST_DIR}"
|
||||
create_file_validations "${DMG_OUT}"
|
||||
popd
|
||||
elif [ "${PROJECT_IS_MINGW}" == "1" ] && [ -f "${PROJECT_DIST_DIR}/../${PROJECT_NAME}.iss" ]; then
|
||||
cp -f "${PROJECT_DIST_DIR}/../${PROJECT_NAME}.iss" "${TEMP_DIR}/${PROJECT_NAME}.iss"
|
||||
rsync -av --progress --delete ${PROJECT_SOURCE_DIR}/support/3rd_party/*.msi ${TEMP_DIR}/3rd_party/
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_SCRIPTS_DIR=$(realpath "$0")
|
||||
PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_SCRIPTS_DIR=$(realpath "$0")
|
||||
PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
DOCKER_NAME=$1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_SCRIPTS_DIR=$(realpath "$0")
|
||||
PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PROJECT_MSYS2_PACKAGE_LIST=()
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
declare -A PROJECT_VERSIONS
|
||||
PROJECT_VERSIONS[BINUTILS]="2.44"
|
||||
|
||||
Reference in New Issue
Block a user