mirror of
https://github.com/borgbackup/borg.git
synced 2024-12-22 07:43:06 +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
|
||||
build
|
||||
dist
|
||||
external
|
||||
borg-env
|
||||
.tox
|
||||
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