In the case where we want an install, run one single pkg_info instead of two.
If this fails during the second pass, we will run it again to figure out
whether the install or the default is wrong, but this is an error condition,
so this need not slow down the general case.
Add PREPARE_CHECK_ONLY knob, to be used by dpb: dpb already installs what
it needs, so for install dependencies to be missing during the "prepare"
stage is an error in dpb's logic...
create a new category of recursive targets that can use this fragment,
and use them, e.g., print-package-signature from top-level should benefit
a lot.
- resolve-lib -needed, less perl invocations (gains a lot)
- show-run-depends, less fancy than run-dir-depends, a bit faster...
- don't create cache for internal targets (external stuff already did it)
define _PERLSCRIPT in pkgpath.mk since getpkgpath should use it...
- expose MISSING_FILES
- treat them as a special kind of IGNORE
- handle that in DPB
that way, ports that are IGNORE'd for other reasons (not correct arch)
stay ignored, and relevant ports with missing distfiles get better error
messages
with targets.
lib-depends-check should be defined as ignored along with the rest.
errors-handling should occur last, so that the last block of errors gets
used.
Makefile.inc and bsd.port.arch.mk without infinite recursion.
- use simpler pattern to test for arch stuff, we just need the values, so
.for A B in ${MACHINE_ARCH} ${ARCH}
is enough and avoids the setting of intermediate variables.
- new PROPERTIES variable that's easy to test with e.g. if ${PROPERTIES:Mapm}
dpb coalesces build dependencies over MULTI_PACKAGES: if we don't substract
from MULTI_PACKAGES, this can lead to bootstrap loops.
Case in point: sysutils/gamin, whose build relies on "no_server" to be
available as a dependency for glib2/gtk+2.
(but IGNORED stuff is properly kept as MULTI_PACKAGES, since it's mostly
intended to avoid strange arch errors)
- if there is no flavor in BUILD_PKGPATH, it's not necessarily the default,
make sure there's an empty flavor by appending a ,
- pass FLAVOR to dump-vars, so that eventually dpb can match "no flavor
specified" to "this is the default flavor", thus getting a bit smarter
(this should speed up the LISTING job by not traversing as many subdirs).