Re: dpkg suggestion
>>"Edward" == Edward Betts <firstname.lastname@example.org> writes:
Edward> The obvious think to do is to copy the sendmail way, when the
Edward> database gets to large, in our case the dpkg package database
Edward> and in the case of sendmail the aliases database, start
Edward> representing it as a database instead of text.
Yes. This may happen in the future. However, there are certain
advantages of a human readable database (I spend a lot of time using
less on /var/lib/dpkg/available; and in the info/* files).
Edward> Great, at the moment I can right a quick awk script to look
Edward> for stuff in the dpkg database of packages, that I could not
Edward> if it was a database. But that agument falls apart when you
Edward> relise that I can not do any real work like that because the
Edward> stuff I am working on is not going to stay on the same place
Edward> on the machine. At some point /var/lib/dpkg will become
Edward> /var/state/dpkg, and who knows it might change again.
Real work? I can just as quickly do m /var/state.dpkg/* as
anything else. Even if you are thinking code, surely your code
can be modular and flexible enough to look at ~/etc/dpkg-config? Keep
the location of the directory there. I don't think the argument falls
apart for this reason.
Of course, one is not supposed to depend on the internals of
dpkg for real programs; but in the meanwhile, my code serves me just
Edward> Give it up,
Give it up? Really? Methinks you give up too easily ;-)
Edward> dpkg, dselect, pkg-order they are all to slow, it is time to
Edward> drop the need for text files for large databases.
Have you looked at APT? How it handles data? How it does not
demand that the text databases all go away?
Edward> If you really wanted you could have a program that would dump
Edward> an identical text file from the database.
Do it the other way around. Have the text database be the
master, and let the program parse that (once); just like apt does.
You are not dead yet. But watch for further reports.
Manoj Srivastava <email@example.com> <http://www.datasync.com/%7Esrivasta/>
Key C7261095 fingerprint = CB D9 F4 12 68 07 E4 05 CC 2D 27 12 1D F5 E8 6E