From 6ba4c0091b27288338a52ed2102b6abefe734718 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 30 Nov 2023 09:24:51 -0600 Subject: [PATCH] fix --- 3rd_party/pugixml/scripts/cocoapods_push.sh | 8 +- 3rd_party/pugixml/tests/fuzz_setup.sh | 22 +- scripts/create_containers.sh | 60 ++--- scripts/make_mingw64.sh | 10 +- scripts/make_package.sh | 254 ++++++++++---------- scripts/make_unix.sh | 42 ++-- scripts/make_unix_docker.sh | 122 +++++----- scripts/run_docker_shell.sh | 50 ++-- scripts/setup_msys2.sh | 22 +- 9 files changed, 295 insertions(+), 295 deletions(-) diff --git a/3rd_party/pugixml/scripts/cocoapods_push.sh b/3rd_party/pugixml/scripts/cocoapods_push.sh index 46552892..d582ea4b 100755 --- a/3rd_party/pugixml/scripts/cocoapods_push.sh +++ b/3rd_party/pugixml/scripts/cocoapods_push.sh @@ -1,4 +1,4 @@ -#!/bin/bash - -#Push to igagis repo for now -pod repo push igagis pugixml.podspec --use-libraries --verbose +#!/bin/bash + +#Push to igagis repo for now +pod repo push igagis pugixml.podspec --use-libraries --verbose diff --git a/3rd_party/pugixml/tests/fuzz_setup.sh b/3rd_party/pugixml/tests/fuzz_setup.sh index 8f911c4e..b8ba32db 100755 --- a/3rd_party/pugixml/tests/fuzz_setup.sh +++ b/3rd_party/pugixml/tests/fuzz_setup.sh @@ -1,11 +1,11 @@ -#!/bin/bash - -sudo apt-get --yes install subversion screen gcc g++ cmake ninja-build golang autoconf libtool apache2 python-dev pkg-config zlib1g-dev libgcrypt11-dev - -mkdir -p clang -cd clang -git clone https://chromium.googlesource.com/chromium/src/tools/clang -cd .. -clang/clang/scripts/update.py -sudo cp -rf third_party/llvm-build/Release+Asserts/lib/* /usr/local/lib/ -sudo cp -rf third_party/llvm-build/Release+Asserts/bin/* /usr/local/bin +#!/bin/bash + +sudo apt-get --yes install subversion screen gcc g++ cmake ninja-build golang autoconf libtool apache2 python-dev pkg-config zlib1g-dev libgcrypt11-dev + +mkdir -p clang +cd clang +git clone https://chromium.googlesource.com/chromium/src/tools/clang +cd .. +clang/clang/scripts/update.py +sudo cp -rf third_party/llvm-build/Release+Asserts/lib/* /usr/local/lib/ +sudo cp -rf third_party/llvm-build/Release+Asserts/bin/* /usr/local/bin diff --git a/scripts/create_containers.sh b/scripts/create_containers.sh index dbf25957..cf732713 100755 --- a/scripts/create_containers.sh +++ b/scripts/create_containers.sh @@ -1,30 +1,30 @@ -#!/bin/bash - -pushd "$(dirname "$0")" -CURRENT_DIR=$(pwd) - -pushd "${CURRENT_DIR}/.." - -function create_containers() { - TYPE=$1 - - for FILE in ./docker/${TYPE}/*; do - DISTRONAME=$(basename ${FILE}) - CONTAINER_NAME=repertory_${DISTRONAME} - TAG_NAME=repertory:${DISTRONAME} - echo Creating Container [${CONTAINER_NAME}] - - docker stop ${CONTAINER_NAME} - docker rm ${CONTAINER_NAME} - docker build -t ${TAG_NAME} - < docker/${TYPE}/${DISTRONAME} - docker stop ${CONTAINER_NAME} - docker rm ${CONTAINER_NAME} - done -} - -docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -create_containers aarch64 -create_containers 64_bit - -popd -popd +#!/bin/bash + +pushd "$(dirname "$0")" +CURRENT_DIR=$(pwd) + +pushd "${CURRENT_DIR}/.." + +function create_containers() { + TYPE=$1 + + for FILE in ./docker/${TYPE}/*; do + DISTRONAME=$(basename ${FILE}) + CONTAINER_NAME=repertory_${DISTRONAME} + TAG_NAME=repertory:${DISTRONAME} + echo Creating Container [${CONTAINER_NAME}] + + docker stop ${CONTAINER_NAME} + docker rm ${CONTAINER_NAME} + docker build -t ${TAG_NAME} - < docker/${TYPE}/${DISTRONAME} + docker stop ${CONTAINER_NAME} + docker rm ${CONTAINER_NAME} + done +} + +docker run --rm --privileged multiarch/qemu-user-static --reset -p yes +create_containers aarch64 +create_containers 64_bit + +popd +popd diff --git a/scripts/make_mingw64.sh b/scripts/make_mingw64.sh index b96f9b56..27a86076 100755 --- a/scripts/make_mingw64.sh +++ b/scripts/make_mingw64.sh @@ -1,5 +1,5 @@ -#!/bin/bash - -pushd "$(dirname "$0")/.." -scripts/make_unix_docker.sh ${1} "${2}" 1 -popd +#!/bin/bash + +pushd "$(dirname "$0")/.." +scripts/make_unix_docker.sh ${1} "${2}" 1 +popd diff --git a/scripts/make_package.sh b/scripts/make_package.sh index bc1bfd29..c40d0677 100755 --- a/scripts/make_package.sh +++ b/scripts/make_package.sh @@ -1,127 +1,127 @@ -#!/bin/bash - -PLATFORM_NAME=$1 -SIGNING_FOLDER=$2 -BINARY_FOLDER=$3 -SOURCE_FOLDER=$4 -OUTPUT_FOLDER=$5 -ARM64=$6 - -LINUX_PLATFORM=alpine - -exit_script() { - echo "$1" - cd "${CURRENT_DIR}" - exit 1 -} - -if [ -z "${PLATFORM_NAME}" ]; then - exit_script "'PLATFORM_NAME' is not set (arg1)" -fi - -if [ -z "${SIGNING_FOLDER}" ]; then - exit_script "'SIGNING_FOLDER' is not set (arg2)" -fi - -if [ -z "${BINARY_FOLDER}" ]; then - exit_script "'BINARY_FOLDER' is not set (arg3)" -fi - -if [ -z "${SOURCE_FOLDER}" ]; then - exit_script "'SOURCE_FOLDER' is not set (arg4)" -fi - -if [ -z "${OUTPUT_FOLDER}" ]; then - exit_script "'OUTPUT_FOLDER' is not set (arg5)" -fi - -if [ "${PLATFORM_NAME}" == "darwin" ]; then - SHA256_EXEC="shasum -a 256 -b" -else - SHA256_EXEC="sha256sum -b" -fi - -pushd "${SOURCE_FOLDER}" -BRANCH=$(git branch --show-current) -RELEASE=$(grep set\(REPERTORY_RELEASE_ITER ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') - -if [ "${BRANCH}" == "master" ] || [ "${BRANCH}" == "alpha" ] || [ "${BRANCH}" == "beta" ] || [ "${BRANCH}" == "rc" ]; then - OUTPUT_FOLDER=${OUTPUT_FOLDER}/${RELEASE} -else - OUTPUT_FOLDER=${OUTPUT_FOLDER}/nightly -fi - -GIT_REV=$(git rev-parse --short HEAD) -REPERTORY_VERSION=$(grep set\(REPERTORY_MAJOR ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') -REPERTORY_VERSION=${REPERTORY_VERSION}.$(grep set\(REPERTORY_MINOR ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') -REPERTORY_VERSION=${REPERTORY_VERSION}.$(grep set\(REPERTORY_REV ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') -REPERTORY_VERSION=${REPERTORY_VERSION}-${RELEASE} -popd - -REPERTORY_BINARY=repertory -if [ "${ARM64}" == "1" ]; then - if [ "${PLATFORM_NAME}" == "${LINUX_PLATFORM}" ]; then - ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_linux_arm64.zip - else - ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_${PLATFORM_NAME}_arm64.zip - fi -elif [ "${PLATFORM_NAME}" == "${LINUX_PLATFORM}" ]; then - ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_linux_amd64.zip -elif [ "${PLATFORM_NAME}" == "mingw64" ]; then - ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_windows_amd64.zip - REPERTORY_BINARY=${REPERTORY_BINARY}.exe -else - ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_${PLATFORM_NAME}_amd64.zip -fi -ZIP_FILE_PATH=./${ZIP_FILE_NAME} - -create_hash_and_sig() { - ${SHA256_EXEC} ./${1} > ${1}.sha256 || exit_script "SHA-256 failed for $1" - openssl dgst -sha256 -sign "${SIGNING_FOLDER}/blockstorage_dev_private.pem" -out ${1}.sig $1 || exit_script "Create signature failed for $1" - openssl dgst -sha256 -verify "${SIGNING_FOLDER}/blockstorage_dev_public.pem" -signature ${1}.sig $1 || exit_script "Verify signature failed for $1" -} - -clean_directory() { - rm -f "${ZIP_FILE_PATH}" - rm -f "${ZIP_FILE_PATH}.sha256" - rm -f "${ZIP_FILE_PATH}.sig" - rm -f "cacert.pem.sha256" - rm -f "cacert.pem.sig" - rm -f "${REPERTORY_BINARY}.sha256" - rm -f "${REPERTORY_BINARY}.sig" - if [ "${PLATFORM_NAME}" == "mingw64" ]; then - rm -f "winfsp-x64.dll.sha256" - rm -f "winfsp-x64.dll.sig" - fi -} - -pushd "${BINARY_FOLDER}" -clean_directory - -strip ./${REPERTORY_BINARY} - -create_hash_and_sig ${REPERTORY_BINARY} -create_hash_and_sig cacert.pem -if [ "${PLATFORM_NAME}" == "mingw64" ]; then - create_hash_and_sig winfsp-x64.dll -fi - -if [ "${PLATFORM_NAME}" == "mingw64" ]; then - zip "${ZIP_FILE_PATH}" \ - ${REPERTORY_BINARY} ${REPERTORY_BINARY}.sha256 ${REPERTORY_BINARY}.sig \ - winfsp-x64.dll winfsp-x64.dll.sha256 winfsp-x64.dll.sig \ - cacert.pem cacert.pem.sha256 cacert.pem.sig || exit_script "Create zip failed" -else - zip "${ZIP_FILE_PATH}" \ - ${REPERTORY_BINARY} ${REPERTORY_BINARY}.sha256 ${REPERTORY_BINARY}.sig \ - cacert.pem cacert.pem.sha256 cacert.pem.sig || exit_script "Create zip failed" -fi - -create_hash_and_sig ${ZIP_FILE_NAME} - -cp -f "${ZIP_FILE_PATH}" "${OUTPUT_FOLDER}" || exit_script "Copy ${ZIP_FILE_NAME} failed" -cp -f "${ZIP_FILE_PATH}.sha256" "${OUTPUT_FOLDER}" || exit_script "Copy ${ZIP_FILE_NAME}.sha256 failed" -cp -f "${ZIP_FILE_PATH}.sig" "${OUTPUT_FOLDER}" || exit_script "Copy ${ZIP_FILE_NAME}.sig failed" - -clean_directory -popd +#!/bin/bash + +PLATFORM_NAME=$1 +SIGNING_FOLDER=$2 +BINARY_FOLDER=$3 +SOURCE_FOLDER=$4 +OUTPUT_FOLDER=$5 +ARM64=$6 + +LINUX_PLATFORM=alpine + +exit_script() { + echo "$1" + cd "${CURRENT_DIR}" + exit 1 +} + +if [ -z "${PLATFORM_NAME}" ]; then + exit_script "'PLATFORM_NAME' is not set (arg1)" +fi + +if [ -z "${SIGNING_FOLDER}" ]; then + exit_script "'SIGNING_FOLDER' is not set (arg2)" +fi + +if [ -z "${BINARY_FOLDER}" ]; then + exit_script "'BINARY_FOLDER' is not set (arg3)" +fi + +if [ -z "${SOURCE_FOLDER}" ]; then + exit_script "'SOURCE_FOLDER' is not set (arg4)" +fi + +if [ -z "${OUTPUT_FOLDER}" ]; then + exit_script "'OUTPUT_FOLDER' is not set (arg5)" +fi + +if [ "${PLATFORM_NAME}" == "darwin" ]; then + SHA256_EXEC="shasum -a 256 -b" +else + SHA256_EXEC="sha256sum -b" +fi + +pushd "${SOURCE_FOLDER}" +BRANCH=$(git branch --show-current) +RELEASE=$(grep set\(REPERTORY_RELEASE_ITER ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') + +if [ "${BRANCH}" == "master" ] || [ "${BRANCH}" == "alpha" ] || [ "${BRANCH}" == "beta" ] || [ "${BRANCH}" == "rc" ]; then + OUTPUT_FOLDER=${OUTPUT_FOLDER}/${RELEASE} +else + OUTPUT_FOLDER=${OUTPUT_FOLDER}/nightly +fi + +GIT_REV=$(git rev-parse --short HEAD) +REPERTORY_VERSION=$(grep set\(REPERTORY_MAJOR ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') +REPERTORY_VERSION=${REPERTORY_VERSION}.$(grep set\(REPERTORY_MINOR ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') +REPERTORY_VERSION=${REPERTORY_VERSION}.$(grep set\(REPERTORY_REV ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') +REPERTORY_VERSION=${REPERTORY_VERSION}-${RELEASE} +popd + +REPERTORY_BINARY=repertory +if [ "${ARM64}" == "1" ]; then + if [ "${PLATFORM_NAME}" == "${LINUX_PLATFORM}" ]; then + ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_linux_arm64.zip + else + ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_${PLATFORM_NAME}_arm64.zip + fi +elif [ "${PLATFORM_NAME}" == "${LINUX_PLATFORM}" ]; then + ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_linux_amd64.zip +elif [ "${PLATFORM_NAME}" == "mingw64" ]; then + ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_windows_amd64.zip + REPERTORY_BINARY=${REPERTORY_BINARY}.exe +else + ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_${PLATFORM_NAME}_amd64.zip +fi +ZIP_FILE_PATH=./${ZIP_FILE_NAME} + +create_hash_and_sig() { + ${SHA256_EXEC} ./${1} > ${1}.sha256 || exit_script "SHA-256 failed for $1" + openssl dgst -sha256 -sign "${SIGNING_FOLDER}/blockstorage_dev_private.pem" -out ${1}.sig $1 || exit_script "Create signature failed for $1" + openssl dgst -sha256 -verify "${SIGNING_FOLDER}/blockstorage_dev_public.pem" -signature ${1}.sig $1 || exit_script "Verify signature failed for $1" +} + +clean_directory() { + rm -f "${ZIP_FILE_PATH}" + rm -f "${ZIP_FILE_PATH}.sha256" + rm -f "${ZIP_FILE_PATH}.sig" + rm -f "cacert.pem.sha256" + rm -f "cacert.pem.sig" + rm -f "${REPERTORY_BINARY}.sha256" + rm -f "${REPERTORY_BINARY}.sig" + if [ "${PLATFORM_NAME}" == "mingw64" ]; then + rm -f "winfsp-x64.dll.sha256" + rm -f "winfsp-x64.dll.sig" + fi +} + +pushd "${BINARY_FOLDER}" +clean_directory + +strip ./${REPERTORY_BINARY} + +create_hash_and_sig ${REPERTORY_BINARY} +create_hash_and_sig cacert.pem +if [ "${PLATFORM_NAME}" == "mingw64" ]; then + create_hash_and_sig winfsp-x64.dll +fi + +if [ "${PLATFORM_NAME}" == "mingw64" ]; then + zip "${ZIP_FILE_PATH}" \ + ${REPERTORY_BINARY} ${REPERTORY_BINARY}.sha256 ${REPERTORY_BINARY}.sig \ + winfsp-x64.dll winfsp-x64.dll.sha256 winfsp-x64.dll.sig \ + cacert.pem cacert.pem.sha256 cacert.pem.sig || exit_script "Create zip failed" +else + zip "${ZIP_FILE_PATH}" \ + ${REPERTORY_BINARY} ${REPERTORY_BINARY}.sha256 ${REPERTORY_BINARY}.sig \ + cacert.pem cacert.pem.sha256 cacert.pem.sig || exit_script "Create zip failed" +fi + +create_hash_and_sig ${ZIP_FILE_NAME} + +cp -f "${ZIP_FILE_PATH}" "${OUTPUT_FOLDER}" || exit_script "Copy ${ZIP_FILE_NAME} failed" +cp -f "${ZIP_FILE_PATH}.sha256" "${OUTPUT_FOLDER}" || exit_script "Copy ${ZIP_FILE_NAME}.sha256 failed" +cp -f "${ZIP_FILE_PATH}.sig" "${OUTPUT_FOLDER}" || exit_script "Copy ${ZIP_FILE_NAME}.sig failed" + +clean_directory +popd diff --git a/scripts/make_unix.sh b/scripts/make_unix.sh index 93d61812..765ac07e 100755 --- a/scripts/make_unix.sh +++ b/scripts/make_unix.sh @@ -1,21 +1,21 @@ -#!/bin/bash - -BUILD_TYPE=$1 -BUILD_CLEAN=$2 -BUILD_ARCH=$3 - -SOURCE_DIR=$(dirname "$0")/.. -SOURCE_DIR=$(realpath ${SOURCE_DIR}) - -NAME=alpine -if [ -z "${BUILD_ARCH}" ]; then - BUILD_ARCH=64_bit -fi - -docker stop repertory_${NAME} -docker rm repertory_${NAME} -docker build -t repertory:${NAME} - < ${SOURCE_DIR}/docker/${BUILD_ARCH}/${NAME} && - docker run -td -u $(id -u):$(id -g) --device /dev/fuse --cap-add SYS_ADMIN --name repertory_${NAME} --env MY_NUM_JOBS=${MY_NUM_JOBS} -w ${SOURCE_DIR} -v ${SOURCE_DIR}:${SOURCE_DIR}:rw,z repertory:${NAME} && - docker exec repertory_${NAME} /bin/bash -c "${SOURCE_DIR}/scripts/make_unix_docker.sh ${BUILD_TYPE} ${BUILD_CLEAN}" -docker stop repertory_${NAME} -docker rm repertory_${NAME} +#!/bin/bash + +BUILD_TYPE=$1 +BUILD_CLEAN=$2 +BUILD_ARCH=$3 + +SOURCE_DIR=$(dirname "$0")/.. +SOURCE_DIR=$(realpath ${SOURCE_DIR}) + +NAME=alpine +if [ -z "${BUILD_ARCH}" ]; then + BUILD_ARCH=64_bit +fi + +docker stop repertory_${NAME} +docker rm repertory_${NAME} +docker build -t repertory:${NAME} - < ${SOURCE_DIR}/docker/${BUILD_ARCH}/${NAME} && + docker run -td -u $(id -u):$(id -g) --device /dev/fuse --cap-add SYS_ADMIN --name repertory_${NAME} --env MY_NUM_JOBS=${MY_NUM_JOBS} -w ${SOURCE_DIR} -v ${SOURCE_DIR}:${SOURCE_DIR}:rw,z repertory:${NAME} && + docker exec repertory_${NAME} /bin/bash -c "${SOURCE_DIR}/scripts/make_unix_docker.sh ${BUILD_TYPE} ${BUILD_CLEAN}" +docker stop repertory_${NAME} +docker rm repertory_${NAME} diff --git a/scripts/make_unix_docker.sh b/scripts/make_unix_docker.sh index 30f383e1..9649153d 100755 --- a/scripts/make_unix_docker.sh +++ b/scripts/make_unix_docker.sh @@ -1,61 +1,61 @@ -#!/bin/bash - -BUILD_TYPE=$1 -BUILD_CLEAN=$2 -IS_MINGW=$3 -if [ "${IS_MINGW}" == "1" ]; then - BUILD_ROOT=build3 -else - BUILD_ROOT=build -fi - -BUILD_FOLDER=$(echo "${BUILD_TYPE}" | tr '[:upper:]' '[:lower:]') -if [ "${BUILD_FOLDER}" == "release" ]; then - BUILD_TYPE=Release -fi - -NUM_JOBS=${MY_NUM_JOBS} -if [[ -z "${NUM_JOBS}" ]]; then - NUM_JOBS=$(getconf _NPROCESSORS_ONLN 2> /dev/null || getconf NPROCESSORS_ONLN 2> /dev/null || echo 1) - if [ "${NUM_JOBS}" -gt "2" ]; then - NUM_JOBS=$(expr ${NUM_JOBS} - 2) - elif [ "${NUM_JOBS}" -gt "1" ]; then - NUM_JOBS=$(expr ${NUM_JOBS} - 1) - fi -fi -echo "Job count: ${NUM_JOBS}" - -pushd "$(dirname "$0")" -mkdir -p ../${BUILD_ROOT}/${BUILD_FOLDER} - -pushd ../${BUILD_ROOT}/${BUILD_FOLDER} - -if [ "${IS_MINGW}" == "1" ]; then - TOOLCHAIN=$(realpath ../../cmake/mingw-w64-x86_64.cmake) - EXE_EXT=.exe - CMAKE_ADDITIONAL_OPTS=-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} -fi - -cmake ../.. ${CMAKE_ADDITIONAL_OPTS} \ - -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ - -DREPERTORY_ENABLE_S3=ON \ - -DREPERTORY_ENABLE_S3_TESTING=ON || exit 1 - -if [ "${BUILD_CLEAN}" == "clean" ]; then - make clean -fi - -make -j${NUM_JOBS} || exit 1 -popd - -pushd ../${BUILD_ROOT} -ln -sf ${BUILD_FOLDER}/compile_commands.json . -ln -sf ${BUILD_FOLDER}/repertory${EXE_EXT} . -ln -sf ${BUILD_FOLDER}/unittests${EXE_EXT} . -if [ "${IS_MINGW}" == "1" ]; then - ln -sf ${BUILD_FOLDER}/winfsp-x64.dll . -fi -popd - -ln -sf ../3rd_party/cacert.pem ../${BUILD_ROOT}/cacert.pem -popd +#!/bin/bash + +BUILD_TYPE=$1 +BUILD_CLEAN=$2 +IS_MINGW=$3 +if [ "${IS_MINGW}" == "1" ]; then + BUILD_ROOT=build3 +else + BUILD_ROOT=build +fi + +BUILD_FOLDER=$(echo "${BUILD_TYPE}" | tr '[:upper:]' '[:lower:]') +if [ "${BUILD_FOLDER}" == "release" ]; then + BUILD_TYPE=Release +fi + +NUM_JOBS=${MY_NUM_JOBS} +if [[ -z "${NUM_JOBS}" ]]; then + NUM_JOBS=$(getconf _NPROCESSORS_ONLN 2> /dev/null || getconf NPROCESSORS_ONLN 2> /dev/null || echo 1) + if [ "${NUM_JOBS}" -gt "2" ]; then + NUM_JOBS=$(expr ${NUM_JOBS} - 2) + elif [ "${NUM_JOBS}" -gt "1" ]; then + NUM_JOBS=$(expr ${NUM_JOBS} - 1) + fi +fi +echo "Job count: ${NUM_JOBS}" + +pushd "$(dirname "$0")" +mkdir -p ../${BUILD_ROOT}/${BUILD_FOLDER} + +pushd ../${BUILD_ROOT}/${BUILD_FOLDER} + +if [ "${IS_MINGW}" == "1" ]; then + TOOLCHAIN=$(realpath ../../cmake/mingw-w64-x86_64.cmake) + EXE_EXT=.exe + CMAKE_ADDITIONAL_OPTS=-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} +fi + +cmake ../.. ${CMAKE_ADDITIONAL_OPTS} \ + -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ + -DREPERTORY_ENABLE_S3=ON \ + -DREPERTORY_ENABLE_S3_TESTING=ON || exit 1 + +if [ "${BUILD_CLEAN}" == "clean" ]; then + make clean +fi + +make -j${NUM_JOBS} || exit 1 +popd + +pushd ../${BUILD_ROOT} +ln -sf ${BUILD_FOLDER}/compile_commands.json . +ln -sf ${BUILD_FOLDER}/repertory${EXE_EXT} . +ln -sf ${BUILD_FOLDER}/unittests${EXE_EXT} . +if [ "${IS_MINGW}" == "1" ]; then + ln -sf ${BUILD_FOLDER}/winfsp-x64.dll . +fi +popd + +ln -sf ../3rd_party/cacert.pem ../${BUILD_ROOT}/cacert.pem +popd diff --git a/scripts/run_docker_shell.sh b/scripts/run_docker_shell.sh index e227e523..5949ba92 100755 --- a/scripts/run_docker_shell.sh +++ b/scripts/run_docker_shell.sh @@ -1,25 +1,25 @@ -#!/bin/bash - -pushd "$(dirname "$0")" -CURRENT_DIR=$(pwd) - -pushd "${CURRENT_DIR}/.." -NAME=$1 -TYPE=$2 -if [ -z "$NAME" ]; then - echo "Name not set" -else - if [ -z "${TYPE}" ]; then - TYPE=64_bit - fi - - docker stop repertory_${NAME} - docker rm repertory_${NAME} - docker build -t repertory:${NAME} - < docker/${TYPE}/${NAME} && - docker run -itd --device /dev/fuse --cap-add SYS_ADMIN --name repertory_${NAME} -v $(pwd):/mnt repertory:${NAME} && - docker exec -it repertory_${NAME} /bin/bash - docker stop repertory_${NAME} - docker rm repertory_${NAME} -fi -popd -popd +#!/bin/bash + +pushd "$(dirname "$0")" +CURRENT_DIR=$(pwd) + +pushd "${CURRENT_DIR}/.." +NAME=$1 +TYPE=$2 +if [ -z "$NAME" ]; then + echo "Name not set" +else + if [ -z "${TYPE}" ]; then + TYPE=64_bit + fi + + docker stop repertory_${NAME} + docker rm repertory_${NAME} + docker build -t repertory:${NAME} - < docker/${TYPE}/${NAME} && + docker run -itd --device /dev/fuse --cap-add SYS_ADMIN --name repertory_${NAME} -v $(pwd):/mnt repertory:${NAME} && + docker exec -it repertory_${NAME} /bin/bash + docker stop repertory_${NAME} + docker rm repertory_${NAME} +fi +popd +popd diff --git a/scripts/setup_msys2.sh b/scripts/setup_msys2.sh index e4ca7415..92ea296a 100755 --- a/scripts/setup_msys2.sh +++ b/scripts/setup_msys2.sh @@ -1,11 +1,11 @@ -pacman -Sqyuu --noconfirm && - pacman -S --noconfirm msys2-keyring && - pacman -S --noconfirm --needed --disable-download-timeout \ - mingw64/mingw-w64-x86_64-cmake \ - mingw64/mingw-w64-x86_64-gcc \ - mingw64/mingw-w64-x86_64-gdb \ - mingw64/mingw-w64-x86_64-make \ - mingw64/mingw-w64-x86_64-toolchain \ - msys/git \ - msys/mercurial \ - make +pacman -Sqyuu --noconfirm && + pacman -S --noconfirm msys2-keyring && + pacman -S --noconfirm --needed --disable-download-timeout \ + mingw64/mingw-w64-x86_64-cmake \ + mingw64/mingw-w64-x86_64-gcc \ + mingw64/mingw-w64-x86_64-gdb \ + mingw64/mingw-w64-x86_64-make \ + mingw64/mingw-w64-x86_64-toolchain \ + msys/git \ + msys/mercurial \ + make