Re: Ye Olde Package Manager

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



On 16/01/11 07:34, Brendan Long wrote:
On 01/13/2011 12:12 PM, C Anthony Risinger wrote:
leverage a revisioning system for package files instead of tarballs,
even if only locally.  store metadata in a non-relational engine like
couchdb (peer replicaition), or at least something like sqlite, for
sane access.

A relational engine is actually really helpful for packages. A while ago
I tried writing a package manager like pacman but using sqlite, and it's
MUCH faster and still easy to use. The huge pauses every time you need
metadata are incredibly annoying, and they completely disappear when you
store things in a real database. The problem is that it has to be used
by the official package manager, because having package data stored in
two formats causes issues (because any time you use pacman, the other
database doesn't know what changed).

It is not so much having the data in a real database, but not having it spread over hundreds of small files. This has been largely fixed in the developmental branch of pacman, which is a lot faster. It could probably be improved further, but the complaints to patches ratio is really poor.

Revisioning package files is also interesting; I don't see the point of
doing it locally though. Once you have the package, installing it is
fast. Checking if files are the same first seems like a waste of effort.
There already is a mechanism for creating those .pacnew files (and I
think auto-merging those into the existing file would mess with the
"knowing what your system is doing" part of Arch). Using deltas for
packages would be helpful though, especially in the case of huge
packages with minor changes.

Using binary deltas has been available in pacman for ages. Arch just does not use them...

Allan


[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux