[Distutils] zc.buildout fails to use system-installed dep?
Barry Warsaw
barry at python.org
Fri Dec 10 14:19:32 CET 2010
On Dec 10, 2010, at 01:42 PM, Brian Sutherland wrote:
>On Fri, Dec 10, 2010 at 07:17:16AM -0500, Barry Warsaw wrote:
>> The way zope.interface "owns" the zope namespace is not correct. Ideally,
>> there would be a separate binary package that owns zope/__init__.py and on
>> which all other zope subpackages depends. This could of course be built
>> from the zope.interface source package.
>
>I originally had it that way, but was strongly advised to change it to
>the current method to be able to pass the Debian FTP Master gauntlet.
Just goes to illustrate the myth of TOOWTDI. :) AFAICT, from my discussions
with various folks on debian-python, it should now[*] be done with the
separate binary package.
[*] At least until dh_python2, if we can ensure it always DTRT.
>The current method using dpkg-divert is not too bad, more packages than
>python-zope.interface could include that file as well. So you don't
>force installation of python-zope.interface.
Doing the diversion means it's harder for someone to explicitly determine
which package owns the file. Better (I think!) to have none of them own the
file.
>It also uses standard dpkg functionality, which is a robustness bonus.
True.
>> Second, we're going to make a big push after Squeeze is released to convert
>> packaging to use dh_python2, the new goodness in Debian Python packaging.
>
>I've had a brief look at it already and will have a much deeper look
>once squeeze is released. AFAIKR the only feature it was missing to
>completely cover my usecase was good handling of setuptools extras.
Can you be more specific? Before I got swamped with the Python 2.7 transition
(it will be the default in Ubuntu 11.04), I began looking at dh_python2,
adding unit tests, etc. I do plan to get back to it once we have the archive
more happily on Python 2.7[*].
[*] https://bugs.launchpad.net/ubuntu/+bugs?field.tag=python27
>I'm hoping to be able to completely replace the custom tools we use in
>python-zope.* packages with it at some point.
+1. We hope to get rid of python-support and python-central.
>> This should make things more consistent, and, while I have not yet tracked
>> down specific details yet, it should make handling namespace packages much
>> more robust. For example, with my flufl packages, there is no binary
>> package owning flufl/__init__.py. That file does not show up in the binary
>> package and yet it still gets created properly when any of the subpackages
>> get installed.
>
>Any idea as to the mechanism?
Hints, but nothing definite. I'm not sure which part of the tool chain is
suppressing the neamespace package's __init__.py, and which part is laying it
down when the package gets installed. It *is* nice that the packager doesn't
have to worry about it though. I don't think you should have to do the tricks
zope.interface is doing, or even do the extra binary package. IOW, it should
Just Work.
>What about 2nd level namespace packages (horror: zope.app.foo)?
Haven't tried that yet.
>> Sadly PEP 382 was not complete in time for Python 3.2.
>
>Yeah, there are a lot of packaging related PEPs coming out lately. It's
>really great to see attention being paid to these dusty corners:)
Indeed! I think we all owe Tarek and the other folks an unlimited supply of
beers at the next Pycon. :)
-Barry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20101210/39e5b682/attachment.pgp>
More information about the Distutils-SIG
mailing list