Hi, I placed new experimental packages of python and jpython on my private web page, http://www.mathi.uni-heidelberg.de/~flight/debian-private/.
Sorry that I still not managed to put together the proposal for a Debian Python policy. If you look at the packages, you'll get the idea for a few modifications that I'd like to make before the slink release: - removal of python-net and python-misc - instead, a new package python-lib - python-lib is Architecture: all; it's the architecture-independent part of python-1.5.1/Lib. - /usr/share/python instead of /usr/lib/python1.5 - /usr/lib/python1.5 has the architecture-dependent stuff like lib-dynload and config (this should probably be /usr/lib/python/). - sitecustomize should be a conffile and therefore live in /etc/python/. - Not yet done: Change Makefile.pre.in so that it installs in the correct places. - Not yet included, the code exists: Build a shared libpython. The layout with /usr/share/python and /usr/lib/python has many advantages for Debian, but also a few drawbacks: It makes it impossible to install two different Debian python versions at the same time (not possible yet with the current layout; do we really need this ???). It drives us away from the upstream python layout. Still I think the advantages (much easier upgrade paths; let the Debian packaging system handle versioned dependencies) are more important. Then, there's the question where and how to install Debian Python add-on packages. I'd like to adopt a mechanism similar to emacen-common, where every package registers itself with the system. The install-python program would byte-compile the files for the installed Python systems (i.e. with "python", with "python -O" and perhaps with "jpython"). IMHO this is much better than the current python /usr/lib/python1.5/compileall.py hack that will have to be updated with every new major release). Then, there's the question where to install Python add-on packages: e.g. /usr/share/site-python or /usr/share/python/site-packages (for architecture-independent files) or /usr/lib/python/site-packages or /usr/lib/site-python or even /usr/lib/python1.5/site-packages (for architecture-dependent or binary packages). Finally, how to handle "old-style" packages ? The snapshots are very much unfinished; the upgrade is not yet really working, and they'll certainly break some things. The JPython stuff is quite unfinished, too (sorry, I forgot to copy the orig file). You see that it depends on python-lib. In fact JPython is the very one reason that I'd like to have python-lib. With JPython, there are still a few copyright issues to resolve: - Guido and Jim Hugunin told me that they want JPython to be Open Source. - still the license has at least a few very unclear sentences: You have to notify CNRI if you distribute modified versions of JPython. I had a short discussion with Eric Raymond, and I understand that he would accept this clause as Open Source compatible if they e.g. included an e-mail address that this notification should be sent to. - JPython includes a non-free Java regex library, OROMatcher. This has been removed in this experimental package. Therefore, the package has no regex support. - JPython won't work yet with kaffe (kaffe is missing BigInt etc.) - To compile JPython, you need the non-free JavaCC (Java Compiler Compiler) package from SunSoft, a kind of Java lex. I don't know the consequences of this. Is this a reason not to include JPython in main ? Consequently, if we intended to switch over to this new directory layout, quite a few packages needed to be changed. Still, the changes would be mostly trivial. I really would like to introduce these changes with slink. Glad to hear any comments, Gregor