Re: Britney(2) and dpkg
On Fri, 2008-05-02 at 16:54:47 +0200, Fabio Tranchitella wrote:
> as you probably already know, britney (the testing migration script) is
> using a local customized dpkg source to test the installability of a
> package while updating the testing distribution.
Just for reference, britney sources seem to be at:
the "dpkg" files there do not seem to be really derived from dpkg
sources, they seem to contain a specialized reimplementation.
> This is not really easy to manage, and in fact the code is quite complex to
> maintain and debug. I'm sure that it would be possible to use dpkg
> directly, and this would help a lot the release team maintaining britney
> without taking care of the details for the installability check. The
> problem is that I don't know at all the dpkg internals and I have no idea
> about the parts of the dpkg source code which should be exposed to britney
> for this purpose.
> Is it possible, in your opinion, to directly use dpkg from python for this
> purpose? Any hints about where to start looking at the code?
Yes, I guess it would be possible, but what should be considered is if
that would be desirable. britney only cares about a subset of the
package metadata and does not need to keep the rest in memmory. It
also has its optimized memory pool handling. Being it a long lived
process with a huge amount of data to process and keep, any additional
unneeded operation or data seem like a big problem to me.
Also as an easy optimization target, you could check how fast (if
any) is apt's compare version function vs dpkg's one, and replace that
call from dpkg-lib.cpp.