Subject: Re: pkgsrc on SMP machines
To: Hubert Feyrer <email@example.com>
From: Lars Nordlund <firstname.lastname@example.org>
Date: 12/17/2005 12:12:18
On Sat, 17 Dec 2005 04:10:12 +0100 (CET)
Hubert Feyrer <email@example.com> wrote:
> On Fri, 16 Dec 2005, Lars Nordlund wrote:
> > Waiting for dependancies is something you want to do, if you want your
> > builds to succeed.
> I think you didn't understand the whole concept (judging by your other
> mails): the point is not to wait on dependencies with N-1 CPUs spinning
> idle, but to build the depends with all N CPUs (if possible).
Please, try to understand when 'make parallel' is really useful. You
seem to think that all machines using pkgsrc start out with >300
packages installed. In that case I agree that the rest of the packages
probably already have their dependancies installed.
But suppose you have a fresh machine, or a machine you want to upgrade.
Then most of the central libraries like gtk/qt must be rebuilt!
Now suppose you use pkg_chk to generate a /usr/pkgsrc/pkgchk.conf file
it is *trivial* to generate a meta-pkg which depends on all the
packages you want installed. Running 'make parallel | ...' now will make
good use of multiple CPUs (or machines if you use clusterit). This will
*just work* and no mysterious multi-job-bugs in random packages' make
systems will happen.
The patch to do this is fairly simple. No *years of development* is
required. I posted it to the list many months ago.
> I'm sort of bored of repeating this again and again.