Changes between Initial Version and Version 1 of Ticket #2729
- Timestamp:
- 2016-02-09T08:25:30Z (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #2729 – Description
initial v1 1 1 I've recently put together some simple build scripts to help automate the creation binary distributions of Tahoe-LAFS for Windows and Mac using [http://www.pyinstaller.org/ PyInstaller]. Like bb-freeze, py2exe, py2app, and other related projects, with enough tinkering, Pyinstaller can be used to create self-contained distributions of python programs that can effectively be run "out of the box" by end users. Given the rather convoluted state of python packaging (and with it, the additional mess of horrors that typically comes with building Tahoe-LAFS from scratch), I think it would be desirable to have such packages available to end users as an alternative to the current offering of a manual install. 2 2 3 The aforementioned scripts can be found [https://github.com/gridsync/gridsync/blob/master/scripts/make-frozen-tahoe.bat here] (for Windows) and [https://github.com/gridsync/gridsync/blob/master/scripts/make-frozen-tahoe.sh here] (for OS X) and are currently being used by Gridsync's buildbot (which follows Tahoe-LAFS' upstream master branch and publishes the resultant binary packages [https://buildbot.gridsync.io/tahoe-lafs/ here] . It shouldn't be terribly difficult to port these over to tahoe-lafs.org's buildbot and I'd be happy to help out with the process (or even lend some buildslaves to it, if needed).3 The aforementioned scripts can be found [https://github.com/gridsync/gridsync/blob/master/scripts/make-frozen-tahoe.bat here] (for Windows) and [https://github.com/gridsync/gridsync/blob/master/scripts/make-frozen-tahoe.sh here] (for OS X) and are currently being used by Gridsync's buildbot (which follows Tahoe-LAFS' upstream master branch and publishes the resultant binary packages [https://buildbot.gridsync.io/tahoe-lafs/ here]). It shouldn't be terribly difficult to port these over to tahoe-lafs.org's buildbot and I'd be happy to help out with the process (or even lend some buildslaves to it, if needed). 4 4 5 5 A few explanatory notes: … … 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). 16 17 * Pyinstaller builds are forwards-compatible but not (always) backwards-compatible; it's better to build on older operating system versions if possible.