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

Re: Python upgrade path (draft/proposal)



> May I suggest a simpler alternative for (b) (or maybe an alternative "c"):
> 
> Make package python-XXX containing support for both python 1.5 and
> python 2.1.  For each python {1.5,2.1} that is installed, bytecompile
> the package's .py files on install.  Since we use
> /usr/lib/pythonx.y/site-packages, it won't hurt anything if the
> "other" version is not installed.  If the files are identical, they
> should only appear in the package once (use hard links or symlinks,
> but don't symlink directories because of .py[co]).  Depend on
> python-base (>= 1.5.2-1) and nothing should break.  Build-depend on
> both python1.5-base and python2.1-base.

Depend on python-base (>= 1.5.2-1), python-base (<< 2.2), or do you
_know_ the future ;-? You have to make a new upload, but it's an
acknowledgement by the package that he actually tested the package
with the new version.

> Since the buildds need both versions installed to make
> python{2.1,1.5}-X anyway, this approach doesn't cause them any extra
> problems.
> 
> The only downside is that people with one installed python will get
> extra cruft installed, but the use of links should minimize it.  I'd
> follow this alternative unless the package consists entirely of .so
> files and the .so files are *big*.
> 

Is it really simpler?

- from the user's point of view, you have to install packages you
  don't want.

- from the package maintainer's point of view,

  * you have to make new uploads every time a new python is installed/
    adjust your packaging rules.

  * you have to make sure your symlink system works for every single
    package. I would prefer a system, availabe in python-base, but
    then each package would have to pre-depend on python-base.

  * it's limited to arch independent packages. python1.5 and python2.1
    have different ABIs. I didn't look at 2.1 and 2.2 compatibility.

Anthony Towns describe a "register/unregister" system in
http://lists.debian.org/debian-python/2001/debian-python-200110/msg00066.html
Do you want to give it a try?



Reply to: