Re: Re: Python Egg Guidelines across distros

2007-09-11 Thread Josselin Mouette
Le lundi 10 septembre 2007 à 20:40 -0700, Toshio Kuratomi a écrit :
 Also, eggs (as in the egg metadata that comes with the packages; not the
 optional pseudo-jar copying zip format) may be duplication but it is not
 needless duplication.  Elf shared libraries and packages contain
 duplicate information but we don't call for removal of versioning
 information from either of those because it's provided by the other.
 Package versioning is useful at install time.  Shared library versioning
 and egg versioning are useful at runtime.  

This would be true, if dependencies in setuptools had been designed
correctly. And they could have been if the authors had discussed with
people familiar with dependency issues right from the start.

An ELF binary depends on a list of sonames, and requires a list of
symbols. What a distributor needs is to list the packages providing the
files and to ensure that they provide the required symbols. This is
entirely independent from the implementation he chooses.

With setuptools, a python module requires a list of modules with certain
*versions*. And there is no way to reliably convert this information
into valuable one for the distributor.

-- 
 .''`.   Josselin Mouette/\./\
: :' :   [EMAIL PROTECTED]
`. `'[EMAIL PROTECTED]
  `-  Debian GNU/Linux -- The power of freedom


signature.asc
Description: Ceci est une partie de message	numériquement signée


Re: Re: Python Egg Guidelines across distros

2007-09-10 Thread Toshio Kuratomi
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

From: Gael Varoquaux [EMAIL PROTECTED]

To sum up, the problem is that setup tools is not designed to interact
with the outside world. It does not provide an api for listing
dependencies, does all kind of magic during the install, and insists for
doing everything itself, and not exposing the info it has to the external
world.
[...]
I also totally strip the Python source from anything relevant to
setuptools, this way I am sure there is not setuptools introduced magic
in them. Setuptools is only a build requirement.

==

Very interesting.  I quite agree with you that the setuptools API is
highly deficient.  And my attempt to point out one deficiency was
dismissed as the way things are supposed to be by the author.  I think a
redesign and rewirte of setuptools (or at least, the pkg_resource.py
portion of setuptools) would be a good project for someone.

However, I don't agree that setuptools is only a build requirement.
setuptools makes writing plugins for a package much easier than starting
from scratch.

Also, eggs (as in the egg metadata that comes with the packages; not the
optional pseudo-jar copying zip format) may be duplication but it is not
needless duplication.  Elf shared libraries and packages contain
duplicate information but we don't call for removal of versioning
information from either of those because it's provided by the other.
Package versioning is useful at install time.  Shared library versioning
and egg versioning are useful at runtime.  Unfortunately, the rest of
the setuptools baggage (with easy_install and friends) tends to throw up
a smoke screen around this useful aspect of the format.

- -Toshio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFG5g5JX6yAic2E7kgRAueBAJ9CksxJhB/Ck739NrL5cUgIjWbCpQCfV6Yk
QagLuG1kDKo8bmXynlxBpa8=
=KJne
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]