Re: Speed improvements
Previously Michal Kosek wrote:
> I have the feeling that dpkg hasn't been designed to hold as many
> packages as there are in Debian today -- it keeps everything in large,
> non-indexed text files.
That's quite an understatement :)
> In this case a complete rewrite probably would be the best solution.
> But, as I found in Debian archives, there were people who wanted make
> dpkgv2 since 1999, and I there have been no results :) So I decided to
> find solutions to things that are the most annoying for me:
I've come to realize that we can accomplish all the goals from dpkg2 by
making incremental changes to the existing codebase, which is imho a
better approach.
> - There should be no such thing as /var/lib/dpkg/available -- I think
> that dpkg shouldn't know anything about not installed packages.
Right.
> - Parsing of /var/lib/dpkg/status also takes a lot of time, so there
> should be some better way of storing that information. As putting it
> into binary database might be controversial, I thought that splitting
> that file would be the best solution -- every installed package should
> have its own *.status file in /var/lib/dpkg/info directory. This
> makes recreating of original status file (for backward compatibility)
> very simple: just
That is an option, but I think we need to make a different change:
instead of a single status file it should be split up into a file
with information that is needed to resolve dependencies, and a seperate
file that contains 'fluff' such as package descriptions, maintainer
information, etc. That will be http://www.dpkg.org/dep/003/, but it
needs to be fleshed out yet (currently only dep 004 has been specified).
> - There should be ability to make more complicated queries. I like
> grep-dctrl very much. I also think that many features may be taken
> from rpm...
dpkg-query is supposed to become such a query tool. At the moment it
only adds the showformat stuff. The next interesting change would be
a good filter expression so you can tell it which packages to output,
but I haven't been able to come up with a good syntax for that so far.
Wichert.
--
Wichert Akkerman <wichert@wiggy.net> It's hard to make things simple.
http://www.wiggy.net/
Reply to: