- 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).
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@
- if _DEPRUNLIB is empty, there's no need for any computation since the
result will be empty.
- zap the loop on _LIB4* for port-wantlib-args, as run-dir-depends already
grabs them.
- expose wantlib_args and corresponding targets for pkg_create to take
advantage of.
- add a dirty way for developers to waive the fake vs. ports check (PLEASE
use with EXTRA CAUTION).
* cut it into separate targets for readability and better testing
* filter libraries more efficiently
* use internal variable for resolve-lib
create two targets for solving wantlib: one (_fake-wantlib-args) which uses
the information under the fake directory and installed packages, and another
(_port-wantlib-args) which walks packing-lists. The second one can be used
to collect meta-info even when nothing is installed, and thus provide better
package-signature accuracy, or help with lib-depends-check.
The first one uses what's actually in place when a package is built.
For now, we're paranoid and use both when building a package, erroring out
if they don't match, even though _port-wantlib-args is somewhat slower.
derive IGNORE-sub from IGNORE, and then test IGNORE-sub
Define complete value for IGNORE very late, _MULTI_PACKAGES trimming only
requires subpackage-specific info.
fix bug in describe, correctly differentiate between empty and !defined
ONLY_FOR_ARCHS.
- strip extra : at start of depends (old LIB_DEPENDS are gone, right)
- rely on the fact, :extra is only patch|configure|build for any depends.
- use _parse_pkgspec to do things intelligently.
- _set_stem2default to handle STEM-*.
- switch internal stuff to new style.
This is backwards compatible. But this does require -current dpb, -current
sqlports, and -current pkg_add to work !