Python upgrade: dependency question
I'm currently trying to prepare python for an non-maintainer upgrade from
1.4 to 1.5, and I'm running into several issues that I don't know how to
resolve correctly. Since some people classified python as an important
package, I'm reposting this mail to the bigger audience of debian-devel,
hoping to get some more answers.
1.) Python 1.4 (at release 1.4-4) consisted of one base package
python-base and several extensions: python-dev, -misc, -tk, -mpz, -gdbm,
-curses, -bsddb, -net, -stdwin, -elisp and -examples. All of them depend
on python-base (= ${Source-Version}).
python-base installs the interpreter in /usr/bin/python and .py libraries
in /usr/lib/python1.4 (with a symlink from /usr/lib/python to python1.4)
and it calls a python script, compileall.py, in its postinst to precompile
the .py files in /usr/lib/python1.4. postrm removes the precompiled .pyc
files. The extensions also use compileall.py in their postinst and postrm
to precompile and remove their .pyc files.
The .pyc format of python 1.5 is not backwards compatible with 1.4.
Principly, python 1.4 and 1.5 can happily coexist on one system, if there
wasn't /usr/bin/python, which both of them want to use. Debian only has a
very small number of packages that depend on python, and apart from the
pyc format, 1.5 should be nearly completely backwards compatible with 1.4,
therefore I don't see a need for a cohabitation solution.
My question is now, what Depends, Replaces and Conflicts I have to choose
to make the upgrade smooth.
An added complication is that I'd like to merge the mpz, gdbm, curses,
bsddb, net and stdwin packages back into python-misc.
One problem is that python-base-1.4 is needed in the postrm's of all the
other 1.4 packages, therefore -base has to be the last to be replaced.
OTOH, base-1.5 should conflict with base (<< 1.5), while misc-1.5 will
depend on base (= 1.5), so I can't simple replace misc-1.4 and friends
with misc-1.5.
The only solution I found so far is to completely remove all python-1.4
packages and then install the 1.5 packages, but then I'm also forced to
remove all other packages that depend on python like dpkglint or
dpkg-python. Hmm, since they may have to recompile pyc files, that may be
a necessity anyway ?
Is there a clean solution for those kinds of problems ?
Gregor
---
| Gregor Hoffleit admin MATHInet / contact HeidelNeXT |
| MAIL: Mathematisches Institut PHONE: (49)6221 56-5771 |
| INF 288, 69120 Heidelberg / Germany FAX: 56-3812 |
| EMAIL: flight@mathi.uni-heidelberg.de (NeXTmail) |
--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org .
Trouble? e-mail to templin@bucknell.edu .
Reply to: