Some checks failed
		
		
	
	BlockStorage/repertory_osx/pipeline/head This commit looks good
				
			BlockStorage/repertory_windows/pipeline/head This commit looks good
				
			BlockStorage/repertory/pipeline/head There was a failure building this commit
				
			BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
				
			BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
				
			### Issues
* \#1 \[bug\] Unable to mount S3 due to 'item_not_found' exception
* \#2 Require bucket name for S3 mounts
* \#3 \[bug\] File size is not being updated in S3 mount
* \#4 Upgrade to libfuse-3.x.x
* \#5 Switch to renterd for Sia support
* \#6 Switch to cpp-httplib to further reduce dependencies
* \#7 Remove global_data and calculate used disk space per provider
* \#8 Switch to libcurl for S3 mount support
### Changes from v1.x.x
* Added read-only encrypt provider
  * Pass-through mount point that transparently encrypts source data using `XChaCha20-Poly1305`
* Added S3 encryption support via `XChaCha20-Poly1305`
* Added replay protection to remote mounts
* Added support base64 writes in remote FUSE
* Created static linked Linux binaries for `amd64` and `aarch64` using `musl-libc`
* Removed legacy Sia renter support
* Removed Skynet support
* Fixed multiple remote mount WinFSP API issues on \*NIX servers
* Implemented chunked read and write
  * Writes for non-cached files are performed in chunks of 8Mib
* Removed `repertory-ui` support
* Removed `FreeBSD` support
* Switched to `libsodium` over `CryptoPP`
* Switched to `XChaCha20-Poly1305` for remote mounts
* Updated `GoogleTest` to v1.14.0
* Updated `JSON for Modern C++` to v3.11.2
* Updated `OpenSSL` to v1.1.1w
* Updated `RocksDB` to v8.5.3
* Updated `WinFSP` to 2023
* Updated `boost` to v1.78.0
* Updated `cURL` to v8.3.0
* Updated `zlib` to v1.3
* Use `upload_manager` for all providers
  * Adds a delay to uploads to prevent excessive API calls
  * Supports re-upload after mount restart for incomplete uploads
  * NOTE: Uploads for all providers are full file (no resume support)
    * Multipart upload support is planned for S3
Reviewed-on: #9
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |