863226a22f
LIB_DEPENDS are no longer part of ALWAYS_DEPEND for the new-depends code, but use their own code. The code does scan the list of libraries for dependent packages, and insert corresponding @libdepend lines into the resulting package. There are a few important consequences: - no libdepend lines are inserted if only a static library is found. So RUN_DEPENDS are now needed to supplement LIB_DEPENDS if a package requires another package for something that isn't a library. - dependency checking for installed stuff can go one step further, since we have the major/minor number of the libraries used for the build. At the moment, pkg resolve dependencies does nothing smart with the inserted libdepends, but it will (soon). In fact, for most libdepends, if the major/minor scheme are correct, no check on the installed pkgspec ought to be necessary... which is why the `default pkgspec to check' is pkg-* for libraries. - resolving recursive run dependencies need to go one step further: a RUN_DEPENDS pkg may have some LIB_DEPENDS, and the RUN_DEPENDS pkg will be needed to explicitly write the required information into the resulting package... Hence the necessity of being able to tune the list of libraries to ask the uninstalled package (and to make sure the uninstalled package is built). This is only preliminary work. Currently, this doesn't yield any real benefits to the old approach, as a few semantic details need to be sharpened out. Also, there are now quite a few old targets that are a complete mess and will need to be cleaned up/removed entirely. Thanks to naddy@ for testing various preliminary versions of this patch and helping me iron bugs out. |
||
---|---|---|
.. | ||
build | ||
db | ||
fetch | ||
install | ||
mk | ||
package | ||
patches | ||
templates | ||
README |
This directory does not hold ports, but rather stuff to help with building specific ports, or with checking packages. Better documentation will be written as this progresses. Quick list of what exists, most useful stuff first build/bundle-readmes: create README.html files and bundle them as one tar archive. fetch/check-distfiles heuristic to check the whole contents of /usr/ports/distfiles against all MD5 files in the ports tree. packages/check-dependencies Check dependencies for all packages in the current directory. Basically, verifies that the tsort in bsd.port.mk did their job. build/find-build-order used such as cat db/essentials | build/find-build-order outputs a list of stuff that actually needs to be built to obtain those packges, in a suitable order for removing backward dependencies. Optional arg `build' or `run' to take only build or run dependencies into account. Major defect: tsort is not a stable sort, so find-build-order will rearrange the list it gets as input. build/out-of-date compare installed registered packages with INDEX, try to find out of date ports. install/make-plist perl helper for the make plist target db/network.conf Distfiles configuration. Tweakable by the user fetch/check-license legacy script used by Marco to check the LICENSE files install/create-user simple script to create new users account, based on db/users.db