Subject: pkg/28392: pkgsrc should use a variable name other than MAKEFILE
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <tv@duh.org>
List: pkgsrc-bugs
Date: 11/23/2004 05:59:00
>Number:         28392
>Category:       pkg
>Synopsis:       pkgsrc should use a variable name other than MAKEFILE
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Nov 23 05:59:00 +0000 2004
>Originator:     Todd Vierling
>Release:        Interix 3.5
>Organization:
	DUH.ORG:  Pointing out the obvious since 1994.
>Environment:

Partially case-insensitive environment:

Windows Services for Unix with bug in NFS Client that doesn't completely
provide case-sensitive file access to NFS shares.  pkgsrc located on
NFS, but with WRKOBJDIR set to local case-sensitive filesystem.

>Description:

There is a corner case in Interix that is triggering a problem in pkgsrc's
reuse of variables set internally by bmake.  In bmake/main.c, the variable
MAKEFILE is set to the last read makefile, per SysV make(1).  Problem is,
pkgsrc also uses this variable name to indicate the name of the desired
makefile in the package's build directory.

Normally this would not be a problem, but it does illustrate bad reuse of
the MAKEFILE variable name and could cause problems in other case
insensitive environments (e.g., Darwin).  pkgsrc should change the variable
name, probably to MAKE_FILE or MAKE_MAKEFILE following MAKE_ARGS and
MAKE_ENV, to differentiate it from the implicitly set MAKEFILE.

>How-To-Repeat:
>Fix: