Subject: "make replace package" broken again
To: None <jlam@netbsd.org>
From: Todd Vierling <tv@pobox.com>
List: tech-pkg
Date: 07/06/2006 10:07:58
Maybe "make replace" shouldn't use the common barrier, but rather be
its own isolated target?  It is rather Special compared to plain
"install", so it can't really participate in the normal
chain-of-targets logic.

As it is right now, "make replace package" tries to do an "install"
rather than a "replace":

=====
/usr/pkgsrc/pkgtools/pkglint $ nice make replace package clean
[...]
===> patch-message [pkglint-4.66] ===> Patching for pkglint-4.66
===> configure-message [pkglint-4.66] ===> Configuring for pkglint-4.66
===> install-message [pkglint-4.66] ===> Installing for pkglint-4.66
=> Becoming ``root'' to make su-install-all (/usr/pkg/bin/sudo)
=====

To keep from horking up the existing nonrecursive line of logic, we
could instead do something like:

.if make(replace)
_REPLACEMODE= # set
.endif
replace: install

This would set a variable to tell pkgsrc that we're "installing in
replace mode", which is what "replace" actually does, then defer right
back to the plain "install" target.

-- 
-- Todd Vierling <tv@duh.org> <tv@pobox.com> <todd@vierling.name>