Subject: Re: apparent dependency of pkgsrc/mk/*.mk on NetBSD-current...
To: Greg A. Woods <>
From: Chris G. Demetriou <>
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 <> 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, as it appears in 1.3:

TARGETS+=       all clean cleandir depend includes install lint obj regress \
.PHONY:         all clean cleandir depend includes install lint obj regress \
                tags beforedepend afterdepend beforeinstall afterinstall \

.if !target(install)
install:        .NOTMAIN beforeinstall subdir-install realinstall
beforeinstall:  .NOTMAIN
subdir-install: .NOTMAIN beforeinstall
realinstall:    .NOTMAIN beforeinstall
afterinstall:   .NOTMAIN subdir-install realinstall

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 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 (present in 1.3, present but hacked around in
-current). 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.