Changes between Version 27 and Version 28 of Packaging


Ignore:
Timestamp:
2011-07-17T23:21:39Z (14 years ago)
Author:
davidsarah
Comment:

more balanced discussion of setuptools (which sucks)

Legend:

Unmodified
Added
Removed
Modified
  • Packaging

    v27 v28  
    8888 * for hackers who like setuptools, this makes using Tahoe convenient and pleasant for them
    8989
    90 Possible advantages:
     90 * it allows "build/configure/package/distribute/test/develop" code written in the Make language to be replaced with code written in Python. One specific instance of this is {{{./setup.py test}}} which runs the unit tests. (We still have a makefile, but it is possible to build and develop Tahoe-LAFS without using it.)
    9191
    92  * perhaps in the future we will replace "build/configure/package/distribute/test/develop" code written in the Make language with code written in Python;  One specific instance of this is {{{./setup.py test}}} which runs the unit tests
     92Disadvantages:
     93
     94 * setuptools has many bugs and is poorly maintained.
     95
     96 * these bugs affect Tahoe-LAFS disproportionately because it has more, and more complicated, dependencies than most Python packages. We currently have [[TicketQuery(status!=closed&keywords~=setuptools, count)]] open setuptools-related bugs ([query:status!=closed&keywords~=setuptools full list]) and have closed [[TicketQuery(status=closed&keywords~=setuptools, count)]] such bugs ([query:status=closed&keywords~=setuptools full list]). (These counts may be a bit high because of duplicates and non-bugs, but they're indicative of the problem.)
     97
     98 * maintaining our fork (which is necessary to avoid some of the bugs) takes up developer time and mental bandwidth that would be more productively spent on Tahoe-LAFS itself.
     99
     100 * even when working as designed, setuptools has some serious problems. For example, people who package Tahoe for OS distributions generally dislike very much its behaviour of automatically downloading dependencies from random websites (however convenient something like that would be if it were optional and designed properly).
     101
    93102
    94103== Build System Theory ==