mirror of
https://github.com/borgbackup/borg.git
synced 2025-02-21 21:57:36 +00:00
pyinstaller: use a spec file to build borg.exe binary
also: exclude osxfuse dylib on Mac OS X
This commit is contained in:
parent
d8a7b17924
commit
864333d686
2 changed files with 39 additions and 1 deletions
2
Vagrantfile
vendored
2
Vagrantfile
vendored
|
@ -263,7 +263,7 @@ def build_binary_with_pyinstaller(boxname)
|
|||
cd /vagrant/borg
|
||||
. borg-env/bin/activate
|
||||
cd borg
|
||||
pyinstaller -F -n borg.exe --distpath=/vagrant/borg --clean borg/__main__.py
|
||||
pyinstaller --clean --distpath=/vagrant/borg scripts/borg.exe.spec
|
||||
EOF
|
||||
end
|
||||
|
||||
|
|
38
scripts/borg.exe.spec
Normal file
38
scripts/borg.exe.spec
Normal file
|
@ -0,0 +1,38 @@
|
|||
# -*- mode: python -*-
|
||||
# this pyinstaller spec file is used to build borg binaries on posix platforms
|
||||
|
||||
import os, sys
|
||||
|
||||
basepath = '/vagrant/borg/borg'
|
||||
|
||||
block_cipher = None
|
||||
|
||||
a = Analysis([os.path.join(basepath, 'borg/__main__.py'), ],
|
||||
pathex=[basepath, ],
|
||||
binaries=[],
|
||||
datas=[],
|
||||
hiddenimports=['borg.platform.posix'],
|
||||
hookspath=[],
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher)
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
# do not bundle the osxfuse libraries, so we do not get a version
|
||||
# mismatch to the installed kernel driver of osxfuse.
|
||||
a.binaries = [b for b in a.binaries if 'libosxfuse' not in b[0]]
|
||||
|
||||
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
|
||||
|
||||
exe = EXE(pyz,
|
||||
a.scripts,
|
||||
a.binaries,
|
||||
a.zipfiles,
|
||||
a.datas,
|
||||
name='borg.exe',
|
||||
debug=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
console=True )
|
Loading…
Reference in a new issue