Changes between Version 7 and Version 8 of Packaging


Ignore:
Timestamp:
2007-08-20T18:10:10Z (17 years ago)
Author:
zooko
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Packaging

    v7 v8  
    3232 * 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
    3333
    34 Disadvantages:
    35 
    36  * We haven't figured out exactly how to take advantage of setuptools's dependency management while also integrating smoothly with platform-specific package managers such as Debian apt.  I (Zooko) think that this is possible, but it isn't yet standard practice among setuptools users.  One important detail is the special option to setuptools called {{{--single-version-externally-managed}}}.
    37 
    3834We already have [http://allmydata.org/darcs.cgi/tahoe-setuptools/?c=annotate&p=20070522155758-eb44e-15f8219675d4b35b2488bc742f46714526d61cb3.gz a patch] which changes Tahoe to use setuptools, but it doesn't solve the "How to integrate smoothly with platform-specific package managers." part yet.
    39 
    40 == discussion ==
    41 
    42 I came across this page: http://wiki.debian.org/DebianPythonFAQ , which suggests that --single-version-externally-managed is the Right Way to build debian packages out of setuptool-using python projects, and that the process is actually fairly easy.
    43 
    44 So one way to do this is to have each of our built-in subprojects (allmydata, foolscap, zfec, and now simplejson) produce separate eggs, and have some debian glue that produces separate .debs for each. Given that both foolscap and simplejson have native ways of producing .debs, it would be good for the tahoe .deb to not include them (to allow both tahoe and the native .debs of foolscap or simplejson be installed at the same time).
    45 
    46 So we could have a 'build' target (perhaps in the makefile) which produces a handful of eggs, or a handful of .debs, and you need to install whichever ones you don't already have. Or you can just run from source.
    47 
    48  -Brian
    4935
    5036== related tickets ==
    5137
    52 #15 -- consider using setuptools for tahoe
     38The primary ticket for tracking our progress on this issue:
     39
     40#82 -- remove the "build" step in the "edit, build, run" cycle
     41
     42Other related tickets:
    5343
    5444#10 -- clean up after yourself when told to "make clean"
    5545
    56 #82 -- remove the "build" step in the "edit, build, run" cycle
    57 
    5846#47 -- use pyutil as a separate package and contribute src/allmydata/util/* into pyutil