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}
- 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).
This is occasionally useful for pseudo-flavors: these do not get encoded
in the pkgpath, so taking (for instance) sqlports, this generates lines
which are later impossible to exploit based only on the fullpkgpath, as
opposed to fullpkgpath,flavor (which might contain the flavor twice, but
this is not an issue).
exit if the dependency doesn't match.
then do the actual dependency and the normal tests.
stop looking at full pkgnames list, makes no sense, even configure depends
can use the required ,-subpackage if they want.
This allows stuff such as BUILD_DEPENDS = dir>=5.0:configure
to get out early if the tree is not uptodate, instead of first configuring
then getting out (problem noticed by landry@).
tested by landry@ and jasper@