Subject: sparse pkgsrc tree?
To: None <>
From: George Coulouris <>
List: tech-pkg
Date: 02/03/2000 22:12:21

My apologies if this sort of idea has come up before.

If I'm wearing my end-user hat, one of the things that always puzzled me
about NetBSD (and FreeBSD) is the necessity to download and continually
synchronize the pkgsrc (ports) tree.

According to the graphs that Hubert made in November, the number of
packages in pkgsrc is growing at least linearly with respect to time. My
intuition, however, is that the number of packages installed on any
given box is more or less constant. This means I'm spending
exponentially more time on supping packages that I'll never use :-)

Is the following sparse pkgsrc tree model viable?

1. Rather than maintain the entire tree, maintain an index of all

2. Have an (ordered) list of pkgsrc servers.

3. When I wish to build package foo/bar, the dependency system goes out
and fetches http://someserver/pkgsrc/foo/bar.tgz, and untars it,
creating only the subtree of pkgsrc that is needed. Failover to other
servers as necessary.

4. Lather, rinse, repeat, recursively for all dependencies of foo/bar.

Seems like this approach would save a lot disk space on the client end,
as well as time spent supping, since you only need to update the index
file rather than the whole tree. The rest of the bookkeeping can be
pushed back to the pkgsrc maintainer :-)

Now, if I'm wearing my developer hat, it seems like such changes
wouldn't be terribly difficult to implement, and can probably be done by
tweaking mk/* .

Critiques, suggestions, flames, all welcome.

George Coulouris -