Changes between Version 7 and Version 8 of Packaging
- Timestamp:
- 2007-08-20T18:10:10Z (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Packaging
v7 v8 32 32 * 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 33 33 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 38 34 We 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 -Brian49 35 50 36 == related tickets == 51 37 52 #15 -- consider using setuptools for tahoe 38 The primary ticket for tracking our progress on this issue: 39 40 #82 -- remove the "build" step in the "edit, build, run" cycle 41 42 Other related tickets: 53 43 54 44 #10 -- clean up after yourself when told to "make clean" 55 45 56 #82 -- remove the "build" step in the "edit, build, run" cycle57 58 46 #47 -- use pyutil as a separate package and contribute src/allmydata/util/* into pyutil