fix
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good

This commit is contained in:
Scott E. Graves 2023-11-30 09:24:51 -06:00
parent 99d5261aab
commit 6ba4c0091b
9 changed files with 295 additions and 295 deletions

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash
#Push to igagis repo for now #Push to igagis repo for now
pod repo push igagis pugixml.podspec --use-libraries --verbose pod repo push igagis pugixml.podspec --use-libraries --verbose

View File

@ -1,11 +1,11 @@
#!/bin/bash #!/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 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 mkdir -p clang
cd clang cd clang
git clone https://chromium.googlesource.com/chromium/src/tools/clang git clone https://chromium.googlesource.com/chromium/src/tools/clang
cd .. cd ..
clang/clang/scripts/update.py 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/lib/* /usr/local/lib/
sudo cp -rf third_party/llvm-build/Release+Asserts/bin/* /usr/local/bin sudo cp -rf third_party/llvm-build/Release+Asserts/bin/* /usr/local/bin

View File

@ -1,30 +1,30 @@
#!/bin/bash #!/bin/bash
pushd "$(dirname "$0")" pushd "$(dirname "$0")"
CURRENT_DIR=$(pwd) CURRENT_DIR=$(pwd)
pushd "${CURRENT_DIR}/.." pushd "${CURRENT_DIR}/.."
function create_containers() { function create_containers() {
TYPE=$1 TYPE=$1
for FILE in ./docker/${TYPE}/*; do for FILE in ./docker/${TYPE}/*; do
DISTRONAME=$(basename ${FILE}) DISTRONAME=$(basename ${FILE})
CONTAINER_NAME=repertory_${DISTRONAME} CONTAINER_NAME=repertory_${DISTRONAME}
TAG_NAME=repertory:${DISTRONAME} TAG_NAME=repertory:${DISTRONAME}
echo Creating Container [${CONTAINER_NAME}] echo Creating Container [${CONTAINER_NAME}]
docker stop ${CONTAINER_NAME} docker stop ${CONTAINER_NAME}
docker rm ${CONTAINER_NAME} docker rm ${CONTAINER_NAME}
docker build -t ${TAG_NAME} - < docker/${TYPE}/${DISTRONAME} docker build -t ${TAG_NAME} - < docker/${TYPE}/${DISTRONAME}
docker stop ${CONTAINER_NAME} docker stop ${CONTAINER_NAME}
docker rm ${CONTAINER_NAME} docker rm ${CONTAINER_NAME}
done done
} }
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
create_containers aarch64 create_containers aarch64
create_containers 64_bit create_containers 64_bit
popd popd
popd popd

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
pushd "$(dirname "$0")/.." pushd "$(dirname "$0")/.."
scripts/make_unix_docker.sh ${1} "${2}" 1 scripts/make_unix_docker.sh ${1} "${2}" 1
popd popd

View File

@ -1,127 +1,127 @@
#!/bin/bash #!/bin/bash
PLATFORM_NAME=$1 PLATFORM_NAME=$1
SIGNING_FOLDER=$2 SIGNING_FOLDER=$2
BINARY_FOLDER=$3 BINARY_FOLDER=$3
SOURCE_FOLDER=$4 SOURCE_FOLDER=$4
OUTPUT_FOLDER=$5 OUTPUT_FOLDER=$5
ARM64=$6 ARM64=$6
LINUX_PLATFORM=alpine LINUX_PLATFORM=alpine
exit_script() { exit_script() {
echo "$1" echo "$1"
cd "${CURRENT_DIR}" cd "${CURRENT_DIR}"
exit 1 exit 1
} }
if [ -z "${PLATFORM_NAME}" ]; then if [ -z "${PLATFORM_NAME}" ]; then
exit_script "'PLATFORM_NAME' is not set (arg1)" exit_script "'PLATFORM_NAME' is not set (arg1)"
fi fi
if [ -z "${SIGNING_FOLDER}" ]; then if [ -z "${SIGNING_FOLDER}" ]; then
exit_script "'SIGNING_FOLDER' is not set (arg2)" exit_script "'SIGNING_FOLDER' is not set (arg2)"
fi fi
if [ -z "${BINARY_FOLDER}" ]; then if [ -z "${BINARY_FOLDER}" ]; then
exit_script "'BINARY_FOLDER' is not set (arg3)" exit_script "'BINARY_FOLDER' is not set (arg3)"
fi fi
if [ -z "${SOURCE_FOLDER}" ]; then if [ -z "${SOURCE_FOLDER}" ]; then
exit_script "'SOURCE_FOLDER' is not set (arg4)" exit_script "'SOURCE_FOLDER' is not set (arg4)"
fi fi
if [ -z "${OUTPUT_FOLDER}" ]; then if [ -z "${OUTPUT_FOLDER}" ]; then
exit_script "'OUTPUT_FOLDER' is not set (arg5)" exit_script "'OUTPUT_FOLDER' is not set (arg5)"
fi fi
if [ "${PLATFORM_NAME}" == "darwin" ]; then if [ "${PLATFORM_NAME}" == "darwin" ]; then
SHA256_EXEC="shasum -a 256 -b" SHA256_EXEC="shasum -a 256 -b"
else else
SHA256_EXEC="sha256sum -b" SHA256_EXEC="sha256sum -b"
fi fi
pushd "${SOURCE_FOLDER}" pushd "${SOURCE_FOLDER}"
BRANCH=$(git branch --show-current) BRANCH=$(git branch --show-current)
RELEASE=$(grep set\(REPERTORY_RELEASE_ITER ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') RELEASE=$(grep set\(REPERTORY_RELEASE_ITER ./CMakeLists.txt | sed s/\)//g | awk '{print $2}')
if [ "${BRANCH}" == "master" ] || [ "${BRANCH}" == "alpha" ] || [ "${BRANCH}" == "beta" ] || [ "${BRANCH}" == "rc" ]; then if [ "${BRANCH}" == "master" ] || [ "${BRANCH}" == "alpha" ] || [ "${BRANCH}" == "beta" ] || [ "${BRANCH}" == "rc" ]; then
OUTPUT_FOLDER=${OUTPUT_FOLDER}/${RELEASE} OUTPUT_FOLDER=${OUTPUT_FOLDER}/${RELEASE}
else else
OUTPUT_FOLDER=${OUTPUT_FOLDER}/nightly OUTPUT_FOLDER=${OUTPUT_FOLDER}/nightly
fi fi
GIT_REV=$(git rev-parse --short HEAD) GIT_REV=$(git rev-parse --short HEAD)
REPERTORY_VERSION=$(grep set\(REPERTORY_MAJOR ./CMakeLists.txt | sed s/\)//g | awk '{print $2}') 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_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}.$(grep set\(REPERTORY_REV ./CMakeLists.txt | sed s/\)//g | awk '{print $2}')
REPERTORY_VERSION=${REPERTORY_VERSION}-${RELEASE} REPERTORY_VERSION=${REPERTORY_VERSION}-${RELEASE}
popd popd
REPERTORY_BINARY=repertory REPERTORY_BINARY=repertory
if [ "${ARM64}" == "1" ]; then if [ "${ARM64}" == "1" ]; then
if [ "${PLATFORM_NAME}" == "${LINUX_PLATFORM}" ]; then if [ "${PLATFORM_NAME}" == "${LINUX_PLATFORM}" ]; then
ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_linux_arm64.zip ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_linux_arm64.zip
else else
ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_${PLATFORM_NAME}_arm64.zip ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_${PLATFORM_NAME}_arm64.zip
fi fi
elif [ "${PLATFORM_NAME}" == "${LINUX_PLATFORM}" ]; then elif [ "${PLATFORM_NAME}" == "${LINUX_PLATFORM}" ]; then
ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_linux_amd64.zip ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_linux_amd64.zip
elif [ "${PLATFORM_NAME}" == "mingw64" ]; then elif [ "${PLATFORM_NAME}" == "mingw64" ]; then
ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_windows_amd64.zip ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_windows_amd64.zip
REPERTORY_BINARY=${REPERTORY_BINARY}.exe REPERTORY_BINARY=${REPERTORY_BINARY}.exe
else else
ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_${PLATFORM_NAME}_amd64.zip ZIP_FILE_NAME=repertory_${REPERTORY_VERSION}_${GIT_REV}_${PLATFORM_NAME}_amd64.zip
fi fi
ZIP_FILE_PATH=./${ZIP_FILE_NAME} ZIP_FILE_PATH=./${ZIP_FILE_NAME}
create_hash_and_sig() { create_hash_and_sig() {
${SHA256_EXEC} ./${1} > ${1}.sha256 || exit_script "SHA-256 failed for $1" ${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 -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" openssl dgst -sha256 -verify "${SIGNING_FOLDER}/blockstorage_dev_public.pem" -signature ${1}.sig $1 || exit_script "Verify signature failed for $1"
} }
clean_directory() { clean_directory() {
rm -f "${ZIP_FILE_PATH}" rm -f "${ZIP_FILE_PATH}"
rm -f "${ZIP_FILE_PATH}.sha256" rm -f "${ZIP_FILE_PATH}.sha256"
rm -f "${ZIP_FILE_PATH}.sig" rm -f "${ZIP_FILE_PATH}.sig"
rm -f "cacert.pem.sha256" rm -f "cacert.pem.sha256"
rm -f "cacert.pem.sig" rm -f "cacert.pem.sig"
rm -f "${REPERTORY_BINARY}.sha256" rm -f "${REPERTORY_BINARY}.sha256"
rm -f "${REPERTORY_BINARY}.sig" rm -f "${REPERTORY_BINARY}.sig"
if [ "${PLATFORM_NAME}" == "mingw64" ]; then if [ "${PLATFORM_NAME}" == "mingw64" ]; then
rm -f "winfsp-x64.dll.sha256" rm -f "winfsp-x64.dll.sha256"
rm -f "winfsp-x64.dll.sig" rm -f "winfsp-x64.dll.sig"
fi fi
} }
pushd "${BINARY_FOLDER}" pushd "${BINARY_FOLDER}"
clean_directory clean_directory
strip ./${REPERTORY_BINARY} strip ./${REPERTORY_BINARY}
create_hash_and_sig ${REPERTORY_BINARY} create_hash_and_sig ${REPERTORY_BINARY}
create_hash_and_sig cacert.pem create_hash_and_sig cacert.pem
if [ "${PLATFORM_NAME}" == "mingw64" ]; then if [ "${PLATFORM_NAME}" == "mingw64" ]; then
create_hash_and_sig winfsp-x64.dll create_hash_and_sig winfsp-x64.dll
fi fi
if [ "${PLATFORM_NAME}" == "mingw64" ]; then if [ "${PLATFORM_NAME}" == "mingw64" ]; then
zip "${ZIP_FILE_PATH}" \ zip "${ZIP_FILE_PATH}" \
${REPERTORY_BINARY} ${REPERTORY_BINARY}.sha256 ${REPERTORY_BINARY}.sig \ ${REPERTORY_BINARY} ${REPERTORY_BINARY}.sha256 ${REPERTORY_BINARY}.sig \
winfsp-x64.dll winfsp-x64.dll.sha256 winfsp-x64.dll.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" cacert.pem cacert.pem.sha256 cacert.pem.sig || exit_script "Create zip failed"
else else
zip "${ZIP_FILE_PATH}" \ zip "${ZIP_FILE_PATH}" \
${REPERTORY_BINARY} ${REPERTORY_BINARY}.sha256 ${REPERTORY_BINARY}.sig \ ${REPERTORY_BINARY} ${REPERTORY_BINARY}.sha256 ${REPERTORY_BINARY}.sig \
cacert.pem cacert.pem.sha256 cacert.pem.sig || exit_script "Create zip failed" cacert.pem cacert.pem.sha256 cacert.pem.sig || exit_script "Create zip failed"
fi fi
create_hash_and_sig ${ZIP_FILE_NAME} 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}" "${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}.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" cp -f "${ZIP_FILE_PATH}.sig" "${OUTPUT_FOLDER}" || exit_script "Copy ${ZIP_FILE_NAME}.sig failed"
clean_directory clean_directory
popd popd

View File

@ -1,21 +1,21 @@
#!/bin/bash #!/bin/bash
BUILD_TYPE=$1 BUILD_TYPE=$1
BUILD_CLEAN=$2 BUILD_CLEAN=$2
BUILD_ARCH=$3 BUILD_ARCH=$3
SOURCE_DIR=$(dirname "$0")/.. SOURCE_DIR=$(dirname "$0")/..
SOURCE_DIR=$(realpath ${SOURCE_DIR}) SOURCE_DIR=$(realpath ${SOURCE_DIR})
NAME=alpine NAME=alpine
if [ -z "${BUILD_ARCH}" ]; then if [ -z "${BUILD_ARCH}" ]; then
BUILD_ARCH=64_bit BUILD_ARCH=64_bit
fi fi
docker stop repertory_${NAME} docker stop repertory_${NAME}
docker rm repertory_${NAME} docker rm repertory_${NAME}
docker build -t repertory:${NAME} - < ${SOURCE_DIR}/docker/${BUILD_ARCH}/${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 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 exec repertory_${NAME} /bin/bash -c "${SOURCE_DIR}/scripts/make_unix_docker.sh ${BUILD_TYPE} ${BUILD_CLEAN}"
docker stop repertory_${NAME} docker stop repertory_${NAME}
docker rm repertory_${NAME} docker rm repertory_${NAME}

View File

@ -1,61 +1,61 @@
#!/bin/bash #!/bin/bash
BUILD_TYPE=$1 BUILD_TYPE=$1
BUILD_CLEAN=$2 BUILD_CLEAN=$2
IS_MINGW=$3 IS_MINGW=$3
if [ "${IS_MINGW}" == "1" ]; then if [ "${IS_MINGW}" == "1" ]; then
BUILD_ROOT=build3 BUILD_ROOT=build3
else else
BUILD_ROOT=build BUILD_ROOT=build
fi fi
BUILD_FOLDER=$(echo "${BUILD_TYPE}" | tr '[:upper:]' '[:lower:]') BUILD_FOLDER=$(echo "${BUILD_TYPE}" | tr '[:upper:]' '[:lower:]')
if [ "${BUILD_FOLDER}" == "release" ]; then if [ "${BUILD_FOLDER}" == "release" ]; then
BUILD_TYPE=Release BUILD_TYPE=Release
fi fi
NUM_JOBS=${MY_NUM_JOBS} NUM_JOBS=${MY_NUM_JOBS}
if [[ -z "${NUM_JOBS}" ]]; then if [[ -z "${NUM_JOBS}" ]]; then
NUM_JOBS=$(getconf _NPROCESSORS_ONLN 2> /dev/null || getconf NPROCESSORS_ONLN 2> /dev/null || echo 1) NUM_JOBS=$(getconf _NPROCESSORS_ONLN 2> /dev/null || getconf NPROCESSORS_ONLN 2> /dev/null || echo 1)
if [ "${NUM_JOBS}" -gt "2" ]; then if [ "${NUM_JOBS}" -gt "2" ]; then
NUM_JOBS=$(expr ${NUM_JOBS} - 2) NUM_JOBS=$(expr ${NUM_JOBS} - 2)
elif [ "${NUM_JOBS}" -gt "1" ]; then elif [ "${NUM_JOBS}" -gt "1" ]; then
NUM_JOBS=$(expr ${NUM_JOBS} - 1) NUM_JOBS=$(expr ${NUM_JOBS} - 1)
fi fi
fi fi
echo "Job count: ${NUM_JOBS}" echo "Job count: ${NUM_JOBS}"
pushd "$(dirname "$0")" pushd "$(dirname "$0")"
mkdir -p ../${BUILD_ROOT}/${BUILD_FOLDER} mkdir -p ../${BUILD_ROOT}/${BUILD_FOLDER}
pushd ../${BUILD_ROOT}/${BUILD_FOLDER} pushd ../${BUILD_ROOT}/${BUILD_FOLDER}
if [ "${IS_MINGW}" == "1" ]; then if [ "${IS_MINGW}" == "1" ]; then
TOOLCHAIN=$(realpath ../../cmake/mingw-w64-x86_64.cmake) TOOLCHAIN=$(realpath ../../cmake/mingw-w64-x86_64.cmake)
EXE_EXT=.exe EXE_EXT=.exe
CMAKE_ADDITIONAL_OPTS=-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} CMAKE_ADDITIONAL_OPTS=-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN}
fi fi
cmake ../.. ${CMAKE_ADDITIONAL_OPTS} \ cmake ../.. ${CMAKE_ADDITIONAL_OPTS} \
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DREPERTORY_ENABLE_S3=ON \ -DREPERTORY_ENABLE_S3=ON \
-DREPERTORY_ENABLE_S3_TESTING=ON || exit 1 -DREPERTORY_ENABLE_S3_TESTING=ON || exit 1
if [ "${BUILD_CLEAN}" == "clean" ]; then if [ "${BUILD_CLEAN}" == "clean" ]; then
make clean make clean
fi fi
make -j${NUM_JOBS} || exit 1 make -j${NUM_JOBS} || exit 1
popd popd
pushd ../${BUILD_ROOT} pushd ../${BUILD_ROOT}
ln -sf ${BUILD_FOLDER}/compile_commands.json . ln -sf ${BUILD_FOLDER}/compile_commands.json .
ln -sf ${BUILD_FOLDER}/repertory${EXE_EXT} . ln -sf ${BUILD_FOLDER}/repertory${EXE_EXT} .
ln -sf ${BUILD_FOLDER}/unittests${EXE_EXT} . ln -sf ${BUILD_FOLDER}/unittests${EXE_EXT} .
if [ "${IS_MINGW}" == "1" ]; then if [ "${IS_MINGW}" == "1" ]; then
ln -sf ${BUILD_FOLDER}/winfsp-x64.dll . ln -sf ${BUILD_FOLDER}/winfsp-x64.dll .
fi fi
popd popd
ln -sf ../3rd_party/cacert.pem ../${BUILD_ROOT}/cacert.pem ln -sf ../3rd_party/cacert.pem ../${BUILD_ROOT}/cacert.pem
popd popd

View File

@ -1,25 +1,25 @@
#!/bin/bash #!/bin/bash
pushd "$(dirname "$0")" pushd "$(dirname "$0")"
CURRENT_DIR=$(pwd) CURRENT_DIR=$(pwd)
pushd "${CURRENT_DIR}/.." pushd "${CURRENT_DIR}/.."
NAME=$1 NAME=$1
TYPE=$2 TYPE=$2
if [ -z "$NAME" ]; then if [ -z "$NAME" ]; then
echo "Name not set" echo "Name not set"
else else
if [ -z "${TYPE}" ]; then if [ -z "${TYPE}" ]; then
TYPE=64_bit TYPE=64_bit
fi fi
docker stop repertory_${NAME} docker stop repertory_${NAME}
docker rm repertory_${NAME} docker rm repertory_${NAME}
docker build -t repertory:${NAME} - < docker/${TYPE}/${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 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 exec -it repertory_${NAME} /bin/bash
docker stop repertory_${NAME} docker stop repertory_${NAME}
docker rm repertory_${NAME} docker rm repertory_${NAME}
fi fi
popd popd
popd popd

View File

@ -1,11 +1,11 @@
pacman -Sqyuu --noconfirm && pacman -Sqyuu --noconfirm &&
pacman -S --noconfirm msys2-keyring && pacman -S --noconfirm msys2-keyring &&
pacman -S --noconfirm --needed --disable-download-timeout \ pacman -S --noconfirm --needed --disable-download-timeout \
mingw64/mingw-w64-x86_64-cmake \ mingw64/mingw-w64-x86_64-cmake \
mingw64/mingw-w64-x86_64-gcc \ mingw64/mingw-w64-x86_64-gcc \
mingw64/mingw-w64-x86_64-gdb \ mingw64/mingw-w64-x86_64-gdb \
mingw64/mingw-w64-x86_64-make \ mingw64/mingw-w64-x86_64-make \
mingw64/mingw-w64-x86_64-toolchain \ mingw64/mingw-w64-x86_64-toolchain \
msys/git \ msys/git \
msys/mercurial \ msys/mercurial \
make make