Subject: Re: mk/bulk/post-build portability
To: Julien T. Letessier <mezis@users.sourceforge.net>
From: Alistair Crooks <agc@wasabisystems.com>
List: tech-pkg
Date: 08/19/2003 11:35:39
On Mon, Aug 18, 2003 at 09:23:26PM +0200, Julien T. Letessier wrote:
> Jonathan Perkin wrote:
> 
> >I've also been working on a patch which has fixed most of the
> >problems with bulk builds on SunOS (started a run on Friday and it's
> >currently 48.8% through).
> 
> Wow. Looks like the three of us did almost the same job -- fixing bulk 
> builds for Solaris. My own bulk-builds have been running repeatedly (and 
> completely, except for the post-build part) for several months, and I 
> never found the time to PR everything.
> 
> Your fixes are almost those I wanted to submit. A few thoughts, though:
> 
> - The [ x"$BMAKE" = x"bmake" ] test isn't very clean IMO, I'd rather 
> test ${OPSYS} != "NetBSD".

Actually, I'd like to isolate all the operating system dependent tests
into abstract definitions which are set in the corresponding
defs.${OPSYS}.mk.  We did this for bsd.pkg.mk a while back, and it's
much more scalable to other platforms.  If you look at bsd.pkg.mk, for
example, it is completely free of

.if ${OPSYS} == ...

conditionals.
 
> - I'd like to keep the original "rm -rf *". It's really clean, and seems 
>  useful for repetitive builds. My current solution is to re-extract a 
> bootstrap kit right afterwards (kept in some ${BOOTSTRAP_TARBALLS} 
> directory).
> 
> - To the list of stuff we don't want to build during bulks, add 
> archivers/pax, net/lukemftp, and possibly archivers/gcpio.
> 
> Gavan, Jonathan, if you're going to work some more on bulk builds for 
> Solaris, I might remind you that Pierre Bourgin posted a "mksandbox" 
> equivalent a few months ago, for Solaris 7. It just works for Solaris 8 
> (provided you have the system package), with minor tweaking.

I also saw in Jonathan's diffs that there were some

	if ! ${GREP} ...

constructs that had been retained - when I ported pkgsrc to Solaris
originally, I went through bsd.pkg.mk and got rid of all of those
constructs - I think we should probably do the same here.

I've heard of various versions of a mksandbox for Solaris flying
about, but there was a problem with null mounts on Solaris not being
as read-only as required, I thought.

It sounds like the pkgsrc on Solaris work is making huge strides,
though - thanks to everyone for working on this.

Regards,
Al