On 26.06.2010 02:19, Nick Coghlan wrote:
On Sat, Jun 26, 2010 at 6:12 AM, James Y Knight<f...@fuhm.net> wrote:
However, then you have to also consider python packages made up of multiple
distro packages -- like twisted or zope. Twisted includes some C extensions
in the core package. But then there are other twisted modules (installed
under a "twisted.foo" name) which do not include C extensions. If the base
twisted package is installed under a version-specific directory, then all of
the submodule packages need to also be installed under the same
version-specific directory (and thus built for all versions).
In the past, it has proven somewhat tricky to coordinate which directory the
modules for package "foo" should be installed in, because you need to know
whether *any* of the related packages includes a native ".so" file, not just
the current package.
The converse situation, where a base package did *not* get installed into a
version-specific directory because it includes no native code, but a
submodule *does* include a ".so" file, is even trickier.
I think there are two major ways to tackle this:
- allow multiple versions of a .so file within a single directory (i.e
Barry's current suggestion)
we already do this, see the naming of the extensions of a python debug build on
Windows. Several distributions (Debian, Fedora, Ubuntu) do use this as well to
provide extensions for python debug builds.
- enhanced namespace packages, allowing a single package to be spread
across multiple directories, some of which may be Python version
specific (i.e. modifications to PEP 382 to support references to
version-specific directories)
this is not what I want to use in a distribution. package management systems
like rpm and dpkg do handle conflicts and replacements of files pretty well,
having the same file in potentially different locations in the file system
doesn't help detecting conflicts and duplicate packages.
Matthias
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com