MP machine, show examples of lines displayed by dpb, document the extra
files produced by fetch. Explain how fetch works (in particular, the *.part
files and the use of ftp -C).
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.
there's a safeguard against self-depends anyways.
This prevents ports from getting moved from "built" to "installable"
prematurely.
For instance, devel/libsoup,-gnome doesn't directly depend on
net/glib2-networking, but it depends on devel/libsoup,-main which has
the net/glib2-networking.
Without this patch, dependencies on devel/libsoup,-gnome would often build
prematurely and build net/glib2-networking with them.
- zap heuristic#3, not critical
- don't rebuild the Fetch queue all the time, it's too expensive
- fix bugs in FetchQueue computation, correctly handle 1 distfile case
- create a quick path thru adjust* that handles only new paths.
- use it during LISTING while fetching files, to make more files available
quicker.
- model distfiles as FDEPENDS, DIST, so that they can get dumped.
- add -v option that dumps a bit more stuff in log files.
with these, dpb will fetch all distfiles in a not too surprising order,
and it won't consume 40% cpu while doing so...