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

Re: python 2.2 -> python 2.3 transition



On Fri, 2003-08-15 at 07:11, Matthias Klose wrote:
> Derrick 'dman' Hudson writes:
> > So what's the problem?  The problem is
> > 
> > $ apt-cache show python2.3 | grep Depends | head -1
> > Depends: libbz2-1.0, libc6 (>= 2.3.2-1), libdb4.1,
> >             libncurses5 (>= 5.3.20030510-1), libreadline4 (>= 4.3-1),
> >             libssl0.9.7, zlib1g (>= 1:1.1.4), python (>= 2.3)
> >                                               ^^^^^^^^^^^^^^^

It looks like you will have to use the python2.3 package from testing
too... if there was one.

There are also quite a few python-foo (M.N) packages in testing that
have "Depends: python2.2-foo (=M.N) which means you can't use the
python2.2-foo packages from unstable with the python-foo packages from
testing. This is kinda annoying; I don't see why it had to be (=M.N),
when (>=M.N) would probably suffice. It means you can't upgrade
python2.2-foo without also upgrading python-foo... which now means
installing python2.3-foo instead.

> > This wasn't an issue until Matthias added that versioned dependency on
> > 'python' in response to bug #204748.  In so doing, he has prevented
> > people from having the fully functioning 'python' package (version
> > 2.2) installed alongside the fully functioning 'python2.3' package and
> > use libraries with the version of python that they are currently
> > available for.
> > 
> > IMO there should not be a pythonX.Y -> python dependency.  Instead,
> > the problem reported in bug #204748 can be solved by requiring all
> > pythonX.Y related packages to use /usr/bin/pythonX.Y instead of
> > /usr/bin/python.  Only packages which depend directly on 'python' can
> > use /usr/bin/python.

Yeah. 100% agree.

> If we don't have this "back" dependency, then we cannot make sure,
> that the unversioned dependency is installed at all. The reason for
> the unversioned packages was to provide a user with the "python"
> binary. If the dependency is made "python" without "(>= 2.3)", then
> it's not clear which version get's installed. I think this will be a
> non-issue after the transition is done.

But that was kinda the point... you should be able to install a
pythonX.Y package without python (X.Y). This way you get
/usr/bin/pythonX.Y, but not /usr/bin/python. I don't see any reason why
python2.3 needs to depend on python at all. You should only need python
(2.3) depending on python2.3.

There might be occasions where you want to install something like zope
that needs python2.1, but don't particularly want to install python. If
python2.1 had "Depends: python (>=2.1)" then you couldn't do this.

When we had python (2.2), the python2.3 package had no dependencies on
python. What changed now that we have python (2.3) that even required a
new python2.3 package? You should have been able to just release a new
python (2.3) package with an updated "Depends: python2.3".

When I saw this I was concerned, but didn't have time to look into why
you might have done that. Why did you? It looks like a bug to me :-)

I just read bug #204748, and if that was the reason for it, then the
reasoning was flawed :-).

You can't just have python2.3 depend on python (>=2.3) so that it can
use #!/usr/bin/python for compiling because what happens when we have
python (2.4)? All the python2.3 modules get compiled with python (2.4)
and mass breakages.

IMHO the original bug poster and Derrick were correct; all
pythonX.Y[-foo] packages should be using /usr/bin/pythonX.Y explicitly
everywhere, and that includes pythonX.Y itself.

BTW, I think my upstream mirror is lagging; my apt-get shows python2.3-4
has no such dependency. Has this been fixed already, or am I yet to see
the problem?

-- 
Donovan Baarda <abo@minkirri.apana.org.au>



Reply to: