Subject: Re: apparent dependency of pkgsrc/mk/*.mk on NetBSD-current...
To: Greg A. Woods <woods@weird.com>
From: Chris G. Demetriou <cgd@pa.dec.com>
List: tech-userlevel
Date: 04/18/1998 11:53:04
> I was surprised to find that it would seem the pkgsrc collection's new
> "private" mk/*.mk files are dependent on share/mk/*.mk changes only
> available in NetBSD-current. This makes it impossible for a "release"
> user to download the pkgsrc collection and build tools from it, even
> though pkgsrc now includes its own mk files (actually only the 'install'
> fails at the moment -- the download, patch, and build work OK).
This hackery is actually necessary because of wrong-ness in the
share/mk/* bits.
To quote bsd.README (with a bit of emacs-induced text rewrapping 8-):
>The include file <bsd.own.mk> contains source tree configuration
>parameters, such as the owners, groups, etc. for both manual pages and
>binaries, and a few global "feature configuration" parameters.
>
>It has no targets.
That's the way it's always been.
In other words, bsd.own.mk as it appears in 1.3:
TARGETS+= all clean cleandir depend includes install lint obj regress \
tags
.PHONY: all clean cleandir depend includes install lint obj regress \
tags beforedepend afterdepend beforeinstall afterinstall \
realinstall
.if !target(install)
install: .NOTMAIN beforeinstall subdir-install realinstall
afterinstall
beforeinstall: .NOTMAIN
subdir-install: .NOTMAIN beforeinstall
realinstall: .NOTMAIN beforeinstall
afterinstall: .NOTMAIN subdir-install realinstall
.endif
violates the existing documentation, in a way that breaks bsd.p*.mk
("whatever they package .mk files are called today).
In -current, the package makefiles have hacked bsd.own.mk so that it
really doesn't define targets if NEED_OWN_INSTALL_TARGET is not 'yes'.
The pkg Makefiles set it to 'no'.
This is not really a bug in the NetBSD package makefiles, but rather a
bug in bsd.own.mk (present in 1.3, present but hacked around in
-current).
bsd.own.mk is what needs to be fixed, and when it is, a bug fix patch
should be pulled up to the 1.3 branch for the next (bug fix) 1.3-based
patch release.
cgd