Changes between Version 29 and Version 30 of Packaging


Ignore:
Timestamp:
2011-08-15T23:15:55Z (13 years ago)
Author:
davidsarah
Comment:

quickstart.html -> quickstart.rst and many other updates

Legend:

Unmodified
Added
Removed
Modified
  • Packaging

    v29 v30  
    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 .''
     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/trac/tahoe-lafs/browser/trunk/docs/quickstart.rst?rev=155d048d1714a96e here].''
    22
    33= Packaging =
    44
    5 == quickstart.html ==
     5== quickstart.rst ==
    66
    7 The 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.
     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.rst method". This method starts by telling them to go to http://tahoe-lafs.org and follow "the quickstart instructions" link.
     8 * quickstart.rst is intended to be as platform-independent as possible.
     9 * quickstart.rst should ''not'' instruct the user to install any dependency if the build system could instead satisfy that dependency automatically (currently, as of 2011-08-16, the only dependency that can't be satisfied automatically for a build from trunk is Python).
     10 * quickstart.rst 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.rst. If at all possible, please move those to AdvancedInstall.
    1111
    1212The goal is to start with a bare OS and a network connection (no Python, no compiler) and get to a working {{{./bin/tahoe}}} by downloading a few things and running {{{setup.py build}}} (which downloads the rest).
     
    1414=== binary .egg's of dependency native-code packages ===
    1515
    16 For 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.)
     16For quickstart.rst to work on your platform there ''must'' exist a binary .egg for your platform of every dependency that has a native-code extension module, which are listed in the columns of [http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-lafs-dep-eggs/README.html this table]. If there is no binary .egg available of one of those packages for a given platform then this is a bug which prevents quickstart.rst 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 no 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.rst cannot instruct the user to do that -- see the section about quickstart.rst above -- then the absence of a binary .egg of a dependency for a platform is a bug preventing quickstart.rst from working on that platform.)
    1717
    18 ==== Creating binary egg for pycrypto ====
     18==== Creating a binary egg for !PyCrypto ====
    1919
    20 Juste add this line to setup.py: {{{from setuptools import setup, Extension}}}
     20Just add this line to setup.py: {{{from setuptools import setup, Extension}}}
    2121
    2222and run: {{{python setup.py bdist_egg}}}
     
    2424== AdvancedInstall ==
    2525
    26 An alternative method to quickstart.html, is 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).
     26An alternative method to quickstart.rst is AdvancedInstall. This method would be appropriate for people who prefer for the setup to be done differently than the way quickstart.rst works. It is also the fallback for people who have tried quickstart.rst and it didn't work (although the fact that quickstart.rst didn't work should also be treated as a build process bug even if falling back to AdvancedInstall allows the user to proceed).
    2727
    28 == pre-built Debian packages ==
     28== Pre-built Debian packages ==
    2929
    3030See DownloadDebianPackages.
    3131
    32 == as shipped by Ubuntu ==
     32== As shipped by Ubuntu ==
    3333
    3434Tahoe-LAFS comes with Ubuntu. See http://packages.ubuntu.com/lucid/tahoe-lafs .
    3535
    3636
    37 == desiderata ==
     37== Desiderata ==
    3838
    3939We want to package Tahoe-LAFS for people to download and use and we want to use
    40403rd-party libraries. The following are our current desiderata:
    4141
    42  * For certain deployment targets (namely, recent Debian and recent or Long-Term Support Ubuntu), we produce a Tahoe-LAFS binary package for
    43    that platform, ship that package to a user using that platform, they can
    44    install that package, and it will work. That is: user doesn't have to
    45    manually satisfy any dependencies by building other packages.
    46 
    47    This is accomplished by adding the following clause to
    48    {{{/etc/apt/sources.list}}} and then running
    49    {{{apt-get install allmydata-tahoe}}}:
    50 
    51 {{{
    52 deb http://allmydata.org/debian  $DIST  main tahoe
    53 }}}
     42 * For certain deployment targets (namely, recent Debian and recent or Long-Term Support Ubuntu), our Debian packagers produce a Tahoe-LAFS binary package for
     43   that platform, and upload it to the standard apt repositories. Our users can install that package by running
     44   {{{
     45     sudo apt-get install tahoe-lafs
     46   }}}
     47   and it will Just Work. That is, users don't have to manually satisfy any dependencies by building other packages.
    5448
    5549For libraries that Tahoe-LAFS uses, we have these desiderata:
     
    10397== Build System Theory ==
    10498
    105 See BuildSystemTheory for a discussion of the ways in which tahoe is built, the conflicting goals of these ways, and (eventually) a plan to be able to meet these multiple goals.
     99See BuildSystemTheory for a discussion of the ways in which Tahoe-LAFS is built, the conflicting goals of these ways, and (eventually) a plan to be able to meet these multiple goals.