[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: