[csw-pkgsubmissions] newpkgs idle, libpython2_5_1_0, libpython2_6_(...)
Maciej (Matchek) Blizinski
maciej at opencsw.org
Wed Oct 13 10:07:40 CEST 2010
No dia 12 de Outubro de 2010 20:27, Philip Brown <phil at bolthole.com> escreveu:
> oh, blah.
> I was going to say 'since packages needing the lib only depend on
> CSWpython, I dont see the point in splitting this out', but I just
> realized the point: you donthave to re-upload the same old lib when
> you do updates of python this way.
Yes, that's it.
> Dependencies still get a little hairy, though. This is reminicent of
> the old "python_rt" package that we USED to have.
Yes, it'll contain almost exactly the same files, but won't be called
a runtime package any more, since in the case of Python, the
interpreter is the runtime, from the point of view of Python programs.
> packages used to
> depend on THAT, but not the core python package.
> We might want to redo dependency trees for this.
> if we were starting fresh, I might say have the shared libs depend on CSWpython.
> But since older packages only depend on CSWpython now, it will be a
> requirement for CSWpython, to pull in shared lib(s) as deps. Circular
> deps arent allowed, so that wont work.
Dependencies will, ahem, depend on package contents. If there's a
Python module that has a shared object linking against libpython,
it'll need to depend on both CSWpython and CSWlibpython*. Each
dependency for a different reason: *.py files need the interpreter,
*.so files need libpython2.x.so.1.0.
> >From now on, (unmodified) checkpkg would only detect a needed
> dependency on the libpython package, not CSWpython any more. What's
> the plan to handle that sort of thing?
This has already been taken care of, we don't need to modify checkpkg.
The heuristic is that if a package contains *.py files, it requires
the interpreter. When we release Python 2.7 and 3.1, things will get
more complicated, we'll need to look at the file headers and
distinguish between, say, #!/opt/csw/bin/python,
#!/opt/csw/bin/python2.6, #!/opt/csw/bin/python2.7, #!/usr/bin/env
python2.7, etc., to choose whether to depend on the generic CSWpython,
or a specific CSWpython27, CSWpython31, etc. We'll also need not just
py_foo, but more specifically py26_foo, py31_foo, etc. But I think
I'm getting ahead of myself, as I haven't built 2.7 nor 3.1 yet.
Back to the main topic, unmodified checkpkg already handles that, so
there will be no issues with dependencies.
More information about the pkgsubmissions
mailing list