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

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: