Alle 07:17, mercoledì 23 novembre 2005, Bob Tanner ha scritto: > 1. Do nothing, go with the status quo as documented in the Debian python > policy, which is no .egg's and unpackage everything into a sub-directory of > site-packages. > > 2. Investigate easydeb <http://cheeseshop.python.org/pypi/easydeb/> > > 3. Using Phillip's .egg-info solution > <http://permalink.gmane.org/gmane.comp.python.distutils.devel/2567> > 2 & 3 can be merged using easy-deb with the right template of debian/rules.
even 1 & 1 can be merged using easy-deb to create a package that the debian developer will manually patch to remove/change egg functionality. I think setuptools could really help Debian developer as well as Fedora, Mandriva, Gentoo... by: 1) providing functionality to install files outside of egg dir/zip (for example one could install code to site-packages and data-files to /usr/share/ or somewhere else) 2) providing a "fakeroot" option to fool setup.py (for example I want setuptools to install the files in debian/tmp/usr/lib/pythonX.Y/site-packages and scripts in debian/tmp/usr/bin and everithing must work when it copied to /usr/{bin,lib}. 2) providing a paseable output with setup process data like: dependencies (meet and unmett), files installed, author, license, and so on All this will let people just "convert" the output of setuptools into an rpm specfile, debian dir, gentoo ebuild and so on. All that is needed is just a common metadata format that can be parsed by tools like easy-deb, easy-rmp easy-ebuild easy-(???). This way setuptools provides the information to distribution maintainers in a well documented, api independent way. Distribution maintainers can use this info to reorganize, repackage, invent new package formats, but without involving setuptools and python developers. About the pythonpath and pth files handlind: if a project A really wants to use project B eggs it can easily require them without the need for a pth file. If project C wants to use project B, but project C is not setuptools aware one could patch project C (just adding require() to it) instead of paching project B and project A removing egg support from them. Onother possible solution would be to have: python-A python-pypi-A python-B python-pypi-B python-C Where python-B) depends on python-pypi-A and just provides the pth file (handled like easy-deb does) python-pypi-B) contains the egg So project C will depend on python-B, which will install the pth. But if project B is required just by project A which is setuptools aware the dependency will be on python-pypi-B: the pth file will not be installed. Vincenzo ___________________________________ Yahoo! Messenger: chiamate gratuite in tutto il mondo http://it.messenger.yahoo.com