Subject: Re: pkgsrc make clean speedup
To: David Maxwell <david@fundy.net>
From: None <mcmahill@mtl.mit.edu>
List: tech-pkg
Date: 12/05/2002 06:39:26
Just so I'm sure I understand, it just works by checking for $WRKDIR first
and only cleaning if it exists right?  Therefore eliminating up to 3000
calls to make :)  So my only question is if it does the right thing if you
have something like

WRKOBJDIR=             /u2/disk1/build/pkgsrc

in /etc/mk.conf and possibly a read-only /usr/pkgsrc

In the first case, /usr/pkgsrc/foo/bar/work will be a link to
/u2/disk1/build/pkgsrc/foo/bar/work  and in the second,
/usr/pkgsrc/foo/bar/work will never even exist, but
/u2/disk1/build/pkgsrc/foo/bar/work will.  As long as those 2 variations
are dealt with then I think this is a good idea.

-Dan


On Wed, 4 Dec 2002, David Maxwell wrote:

> 
> Below, I've attached a patch for pkgsrc/mk/bsd.pkg.subdir.mk which
> implements a new target 'fastclean'. This could of course replace the
> 'clean' target instead, if appropriate.
> 
> current clean target from toplevel
> 497.330u 218.665s 12:56.43 92.2%        0+0k 6112+7401io 117pf+0wo
> fastclean with Skipping (patch below) from toplevel
> 3.397u 2.219s 0:36.31 15.4%     0+0k 4848+80io 0pf+0w
> fastclean quietly (patch below, minus 'Skipping' echo) from toplevel
> 3.287u 1.815s 0:35.89 14.1%     0+0k 4848+80io 0pf+0w
> 
> So, 13 minutes before, and 36 seconds using this patch. I tried taking
> out the 'Skipping' echo, since I thought output overhead might be
> getting significant, but it didn't matter much. Personally, I prefer the
> cleaner (hah) output though.
> 
> If there's no discussion, I'll talk to the pkgsrc infrastructure people
> about applying some form of this.
> 
> 							David
> 
>