[Distutils] [Python-Dev] Capsule Summary of Some Packaging/Deployment Technology Concerns
jeff at taupro.com
Tue Mar 18 21:20:19 CET 2008
Marius Gedminas wrote:
> On Mon, Mar 17, 2008 at 08:37:30PM -0400, Phillip J. Eby wrote:
>> At 05:10 PM 3/17/2008 -0500, Jeff Rush wrote:
>>> People also want a greater variety of file_finders to be included with
>>> setuptools. Instead of just CVS and SVN, they want it to comprehend
>>> Mercurial, Bazaar, Git and so forth.
>> Did you point them to the Cheeseshop? There are plugins already
>> available for all the systems you mentioned, plus Darcs and
>> Monotone. If you mean "included" as in "bundled", this doesn't make
>> a whole lot of sense to me.
They knew there were plugins out there, of various quality and availability
but wanted them bundled. ;-) It's a pain to track them down. Perhaps if the
RPM format were broken out from setuptools, as the inclusion of some formats
leads them to believe the set is just incomplete, not intentionally sparse.
>> I'd think that if you're using
>> setuptools as a developer (the only reason you need the file finders,
>> since source distributions include a prebuilt manifest), you'd not
>> have a problem saying "easy_install setuptools-git" or adding a
>> "setup_requires='setuptools-git'" line to your setup.py. (Although
>> the latter would only be needed for *development*, not deployment.)
> setup_requires looks like a solution, but it requires extra attention
> from the developers who write the setup.py. Writing a setup.py is
> already quite complicated -- I usually end up copying an existing one
> and modifying it.
As a compromise, of making new formats easily available but not bundled, and
not requiring special action within setup.py, setuptools could treat
--formats=dpkg as an implicit setup_requires= and pull it from PyPI. And the
--list-formats option could query PyPI for the possibilities, just as
--list-classifiers does today. If would require a few standards in
keywording/classifying those format eggs but we already need those standards
for other projects, such as locating recipes for buildout and plugins for trac.
More information about the Distutils-SIG