Subject: Simultaneous builds
To: None <tech-pkg@netbsd.org>
From: Amitai Schlair <schmonz@schmonz.com>
List: tech-pkg
Date: 01/10/2002 12:00:59
I was helping a friend install and configure NetBSD last night, and we
ran into an interesting problem while adding some packages. On one
virtual console, we started devel/cvs building; on another, we started
mail/fetchmail. When we came back to check progress, we found that both
builds had stopped. This occurred because both packages required
lang/perl5, which hadn't been installed already, and both happened to
try building it at the same time. I don't have the precise error
messages, but one package terminated the make, and the other was blocked
in the middle of "make patch" asking for "File to patch:". It was a
race.

I would have liked pkgsrc to let the first package to descend into
lang/perl5 win, and have the other package block (perhaps with an
informative message) until Perl is installed. So I'm wondering whether
it's worthwhile to put a simple lock around each package build.

Are there other unsolved problems in pkgsrc with multiple simultaneous
builds? Is it desired for pkgsrc to behave well in such situations?

Thanks,

- Amitai