Subject: pkg/7893: possible bug in pkgsrc 'make clean' target
To: None <gnats-bugs@gnats.netbsd.org>
From: None <ahorn@anim.dreamworks.com>
List: netbsd-bugs
Date: 07/01/1999 18:22:53
>Number:         7893
>Category:       pkg
>Synopsis:       make clean does not work correctly when WRKOBJDIR defined
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager (NetBSD software packages system bug manager)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jul  1 18:20:00 1999
>Last-Modified:
>Originator:     Alan Horn
>Organization:
Dreamworks Animation
>Release:        NetBSD 1.4 i386
>Environment:

System: NetBSD lethe 1.4 NetBSD 1.4 (GENERIC) #0: Fri May 7 12:27:31 PDT 1999 perry@cynic.cynic.net:/usr/src/sys/arch/i386/compile/GENERIC i386

RCS lines from pkgsrc/mk/*.mk
bsd.pkg.mk:#    $NetBSD: bsd.pkg.mk,v 1.286 1999/06/28 11:42:28 agc Exp $
bsd.pkg.subdir.mk:#     $NetBSD: bsd.pkg.subdir.mk,v 1.29 1999/06/28 11:42:29 agc Exp $
bsd.prefs.mk:# $NetBSD: bsd.prefs.mk,v 1.9 1999/06/23 17:06:21 christos Exp $

>Description:

If the variable WRKOBJDIR is set in /etc/mk.conf 
(e.g. WRKOBJDIR=/usr/obj/pkgobj), normally /usr/pkgsrc/blah/package/work
becomes a symbolic link to a subdirectry of WRKOBJDIR.

A 'make clean' in the pkgsrc package directory only seems to remove the
work link, but leaves all the data within WRKOBJDIR intact. A subsequent
make will create the link, and then see all of the intact files, including
the work/.??*_done files, so no action is performed, even though make
will report the steps as it undertakes (and falls through) them.

>How-To-Repeat:

Add WRKOBJDIR=/usr/obj/pkgobj into /etc/mk.conf

mkdir -p /usr/obj/pkgobj

cd into a package (e.g. apache), make sure no work directory exists 
(since make will try to create a symbolic link)

make
make clean
ls /usr/obj/pkgobj/path/to/your/selected/package
make

observe the incredible new compiling speed of your machine... :)

>Fix:

Tidy relevant directories and source from WRKOBJDIR by hand

>Audit-Trail:
>Unformatted: