Subject: Ruminations on pkg_chk...
To: None <>
From: Bruce J.A. Nourish <>
List: tech-pkg
Date: 12/30/2003 19:23:37
Hey everyone,

Several people (including myself) have complained about pkg_chk's rather
poor handling of complex dependency graphs, that in practice results in
packages bieng repeatedly rebuilt during an update.

I spent the afternoon trying to hack pkg_chk to tsort the update/install
list. The result looks so ugly, I don't even want to use it myself. 

The main problem is the way pkg_chk represents the packages it is
going to install/upgrade: a list of 2-tuples of (name, dir). It is 
impossible to tsort the list in that form. The obvious solution,
to make an associative array with one data as key, and the other
as value is not practially possible with any of the base system shells. 

If anyone has any bright ideas on this, perhaps they'd care to share
them with me?

On the same note, what do people think of the portupgrade stuff in
FreeBSD? I've just acquired a FreeBSD box to experiment on. One problem
I can see is that it requires a binary INDEX.db that must be generated
on the host with the ports tree. This would make it hard to share a 
pkgsrc tree across multiple machines by NFS, which is what I do at home.
Perhaps it's worth it, though...

Bruce J.A. Nourish <>