Changes between Version 17 and Version 18 of Packaging


Ignore:
Timestamp:
2010-09-18T09:32:11Z (14 years ago)
Author:
zooko
Comment:

explain my strategy about quickstart.html+binary-eggs vs. AdvancedInstall

Legend:

Unmodified
Added
Removed
Modified
  • Packaging

    v17 v18  
     1''Attention: this page is for Tahoe-LAFS developers. If you are not a Tahoe-LAFS developer, then the page you want is http://tahoe-lafs.org/source/tahoe-lafs/trunk/docs/quickstart.html .''
     2
    13= Packaging =
     4
     5== quickstart.html ==
     6
     7The setup method that we offer to people when we don't know what platform they are setting up on or what level of expertise they have is "the quickstart.html method". This method starts by giving them a link to http://tahoe-lafs.org/source/tahoe-lafs/trunk/docs/quickstart.html .
     8 * The quickstart.html is intended to be as platform-independent as possible--the only mention of a specific platform is that the dependency on "pywin32" can't be satisfied automatically (#142).
     9 * The quickstart.html should ''not'' instruct the user to install any dependency if the build system could instead satisfy that dependency automatically (currently, as of 2010-09-18, the only dependencies that can't be satisfied automatically are python, and pywin32 which is needed only on Windows).
     10 * The quickstart.html is intended to be as simple as possible. Options (you can do it this way or that way as you prefer) or branches (if you are in this situation do this, else do that) are strongly discouraged from being written into quickstart.html. If at all possible, please move those to AdvancedInstall.
     11
     12=== binary .egg's of dependency native-code packages ===
     13
     14For quickstart.html to work on your platform there ''must'' exist a binary .egg for your platform of every dependency which has a native-code extension module. Currently those are: pycryptopp, zfec, pywin32, and PyCrypto. If there is not a binary .egg available of one of those packages for a given platform then this is a bug which prevents quickstart.html from working on that platform. (Note: if you already had that Python package installed on your system then you would be able to setup Tahoe-LAFS even if there is not a binary egg of that Python package available, e.g. if you manually installed the package already or if you installed the package already using an operating system packaging tool like apt-get. Nonetheless, since we can't rely on the user having done that and since quickstart.html cannot instruct the user to do that (see the section about quickstart.html above), then the absence of a binary .egg of a dependency for a platform is a bug preventing quickstart.html from working on that platform.
     15
     16== AdvancedInstall ==
     17
     18Another installation method, alternative to quickstart.html, is [wiki:AdvancedInstall]. This method would be appropriate for people who prefer for the setup to be done differently than the way quickstart.html works. It is also the fallback for people who have tried quickstart.html and it didn't work (although the fact that quickstart.html didn't work should also be treated as a build process bug even if falling back to AdvancedInstall allows the user to proceed).
     19
     20== pre-built Debian packages ==
     21
     22See [DownloadDebianPackages].
     23
     24== as shipped by Ubuntu ==
     25
     26Tahoe-LAFS comes with Ubuntu. See http://packages.ubuntu.com/lucid/tahoe-lafs .
     27
     28
     29== desiderata ==
    230
    331We want to package Tahoe-LAFS for people to download and use and we want to use
     
    1745}}}
    1846
    19 For libraries that Tahoe uses, we have these desiderata:
     47For libraries that Tahoe-LAFS uses, we have these desiderata:
    2048
    2149 * We use the source code as it is written by upstream. That is: no patching
     
    2957 * The user doesn't have to manually resolve any conflicts (this means that
    3058   we either have to automatically use a 3rd-party library if it is already
    31    installed or else we have to automatically force Tahoe to use the copy
     59   installed or else we have to automatically force Tahoe-LAFS to use the copy
    3260   that it came bundled with).
    3361
     
    3563   we use e.g. system-wide packages or newer or alternate versions, etc..
    3664
    37  * Bundle required libraries with the Tahoe distribution so that if someone
     65 * Bundle required libraries with the Tahoe-LAFS distribution so that if someone
    3866   downloads the distribution, moves to a desert island without a net
    3967   connection, and then installs, it works.