mirror of
https://github.com/borgbackup/borg.git
synced 2024-12-22 15:57:15 +00:00
Created new scripts for preparing and building borg
This commit is contained in:
parent
b00559a5b9
commit
f0b74146da
5 changed files with 52 additions and 20 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -2,6 +2,7 @@ MANIFEST
|
||||||
docs/_build
|
docs/_build
|
||||||
build
|
build
|
||||||
dist
|
dist
|
||||||
|
external
|
||||||
borg-env
|
borg-env
|
||||||
.tox
|
.tox
|
||||||
src/borg/compress.c
|
src/borg/compress.c
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
REM Use the downloaded OpenSSL, for all other libraries the bundled version is used.
|
|
||||||
REM On Appveyor different OpenSSL versions are available, therefore the directory contains the version information.
|
|
||||||
set BORG_OPENSSL_PREFIX=C:\OpenSSL-v111-Win64
|
|
||||||
set BORG_USE_BUNDLED_B2=YES
|
|
||||||
set BORG_USE_BUNDLED_LZ4=YES
|
|
||||||
set BORG_USE_BUNDLED_ZSTD=YES
|
|
||||||
set BORG_USE_BUNDLED_XXHASH=YES
|
|
||||||
|
|
||||||
REM Somehow on my machine rc.exe was not found. Adding the Windows Kit to the path worked.
|
|
||||||
set PATH=%PATH%;C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64
|
|
||||||
|
|
||||||
REM Run the build in the project directory.
|
|
||||||
SET WORKPATH=%~dp0\..
|
|
||||||
pushd %WORKPATH%
|
|
||||||
|
|
||||||
python setup.py clean
|
|
||||||
pip install -v -e .
|
|
||||||
|
|
||||||
popd
|
|
18
scripts/win-build.ps1
Normal file
18
scripts/win-build.ps1
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Build a wheel and single file executable
|
||||||
|
|
||||||
|
# Configure the build environment
|
||||||
|
& $PSScriptRoot\win-setup-build-env.ps1
|
||||||
|
|
||||||
|
# Clean the old build
|
||||||
|
python setup.py clean
|
||||||
|
|
||||||
|
# Build the extension inplace
|
||||||
|
python setup.py build_ext --inplace
|
||||||
|
|
||||||
|
# Run pip install to install install_requires of borg.
|
||||||
|
pip install -v -e .
|
||||||
|
|
||||||
|
# Build the wheel
|
||||||
|
python setup.py bdist_wheel
|
||||||
|
|
||||||
|
pyinstaller -y scripts/borg.exe.spec
|
15
scripts/win-download-openssl.ps1
Normal file
15
scripts/win-download-openssl.ps1
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# Download and extract the prebuilt openssl libraries provided by the python developers.
|
||||||
|
# The file is extracted to the .\external directory.
|
||||||
|
|
||||||
|
$url = "https://github.com/python/cpython-bin-deps/archive/openssl-bin-1.1.1c.zip"
|
||||||
|
$dest = "external"
|
||||||
|
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
|
||||||
|
Write-Output "Downloading OpenSSL from cpython-bin-deps repository ..."
|
||||||
|
Invoke-WebRequest $url -OutFile openssl.zip
|
||||||
|
|
||||||
|
Write-Output "Extracting OpenSSL"
|
||||||
|
Expand-Archive -Path openssl.zip -DestinationPath $dest -Force
|
||||||
|
|
||||||
|
Remove-Item -Path openssl.zip
|
18
scripts/win-setup-build-env.ps1
Normal file
18
scripts/win-setup-build-env.ps1
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Configure the environment such that borg can be built and run.
|
||||||
|
# Note that building borg requires OpenSSL which is not available by default.
|
||||||
|
# Use the win-download-openssl.ps1 script to get correct OpenSSL version.
|
||||||
|
|
||||||
|
$opensslPath = Resolve-Path "$PSScriptRoot\..\external\cpython-bin-deps-openssl-bin-1.1.1c\$env:PROCESSOR_ARCHITECTURE"
|
||||||
|
if(!(Test-Path $opensslPath)) {
|
||||||
|
Write-Host "OpenSSL not found! Please run win-download-openssl.ps1 and check if your platform is supported."
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
$env:BORG_OPENSSL_PREFIX = $opensslPath
|
||||||
|
$env:BORG_USE_BUNDLED_B2 = "YES"
|
||||||
|
$env:BORG_USE_BUNDLED_LZ4 = "YES"
|
||||||
|
$env:BORG_USE_BUNDLED_ZSTD = "YES"
|
||||||
|
$env:BORG_USE_BUNDLED_XXHASH = "YES"
|
||||||
|
|
||||||
|
Write-Host "Environment configured for borg. The following variables where set:"
|
||||||
|
Write-Host ( Get-ChildItem Env: | Where-Object { $_.Name.StartsWith("BORG_") } | Out-String )
|
Loading…
Reference in a new issue