Changes between Version 1 and Version 2 of Ticket #2729
- Timestamp:
- 2016-02-10T01:03:49Z (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #2729 – Description
v1 v2 11 11 * On Windows, OpenSSL will need to be installed in accordance with Daira's instructions outlined [https://github.com/tahoe-lafs/tahoe-lafs/blob/195.windows-packaging.10/docs/build/windows-installer.rst here]. I put together a quick script to do this [https://github.com/gridsync/gridsync/blob/master/scripts/make-tahoe-deps.bat here] but the dependencies specified at the top of the file will still need to be installed manually. 12 12 13 * The build scripts contain a few workarounds that seem to be necessary to pass the dependency checks when running frozen. This includes [https://github.com/gridsync/gridsync/blob/master/disable_setuptools.patch patching out the setuptools requirement from _auto_deps.py] and juggling versions of Twisted on Windows to appease nevow (whose install fails for me when using the pinned version of Twisted). Maybe this isn't necessary and maybe there's a better way to do it but I couldn't get tahoe running frozen without it and, frankly, there's a lot going on with Tahoe-LAFS' auto_deps/setuptools that I don't quite understand (and I look forward to the day when ticket #1582 is closed). :)13 * The build scripts [https://github.com/gridsync/gridsync/blob/master/disable_setuptools.patch patch out the setuptools requirement from _auto_deps.py] before running pyinstaller which allows tahoe to run frozen. Maybe this isn't necessary and maybe there's a better way to do it (I do see [https://github.com/tahoe-lafs/tahoe-lafs/blob/master/src/allmydata/_auto_deps.py#L100 some code to this effect in _auto_deps.py]) but I couldn't get tahoe running frozen without patching as __init.py__'s check_requirement() fails with "PackagingError: no version info for setuptools". More investigation is needed.. 14 14 15 15 * Pyinstaller builds can be made reproducible (assuming the same platform, interpreter version, and architecture) by setting the PYTHONHASHSEED environment variable to a known/shared value. Note that this only affects the pythonic bits (and not, e.g., the C libraries); given the current dependencies, more work is needed to make these packages fully reproducible (but even so remains a worthy goal).