[pacman-dev] undocumented features, bugs and why pacman's speed cannot be tuned...

Nagy Gabor ngaba at petra.hos.u-szeged.hu
Sat Feb 24 17:07:37 EST 2007


I looked into the source of pacman (I want to speed it up), I haven't
finished yet, but I'd like to share some of my impressions:
1. There are some undocumented features: -Syy (force sync remote repos),
-A, -U can install from http://, ftp://; -Sgg list groups with their
2. The main problem with speed, that pacman always reads the repos: I
thought, that in the case of sync repos, this is absolutely not needed
in most cases (an "ls" is enough) and when all information is needed
(e.g. when -Ss is invoked) we may use the ungziped db.
But of course, in local repo we cannot use a db file. I am
disappointed, because in almost all cases (-S -A -U) the whole localdb
must be cached.
Because of conflict checking and provide checking (this problem can be
solved, as I wrote in my previous e-mail; but needs to convert
(just adding some new symlinks to) the existing local repo). The main
problem, when you install a new package, it is needed to fill in the
requiredby field (you may say, that this is needless, nut it's not,
because you may have broked dependencies with -d earlier) :-(
3. Probably when 2 packages provide the same content and they are not
mutual, bugs can happen: as I can see from the source (someone should
test) if foo1 and foo2 provides foo, and you install foo3 which needs
foo, then requieredby foo3 is set for both foo1 and foo2. And you won't
be able to remove neigther foo1 and nor foo2 until you remove foo3,
however foo3's foo dependency is satisfied until at least one of the
foo-providers is installed.

Bye, Nagy Gabor
-------------- next part --------------
A non-text attachment was scrubbed...
Name: remove.c.patch
Type: text/x-patch
Size: 533 bytes
Desc: not available
URL: <http://archlinux.org/pipermail/pacman-dev/attachments/20070224/9b56f05a/attachment.bin>

More information about the pacman-dev mailing list