openbsd-ports/infrastructure
espie 863226a22f Basic new lib dependency code for package.
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.
2001-11-12 14:32:52 +00:00
..
build Groan. Even after I refreshed my memory with perlvar(1), I still managed 2001-11-11 12:57:25 +00:00
db Grab config.guess from master repository, to repair ppc globally. 2001-09-24 22:30:03 +00:00
fetch Handle cases like lgrind 2000-12-19 15:10:37 +00:00
install First cut at a lib-depends checker: this version does use WRKINST instead 2001-10-24 11:57:34 +00:00
mk Basic new lib dependency code for package. 2001-11-12 14:32:52 +00:00
package deal with revised FULLPKGNAME semantics; ok espie@ 2001-10-06 01:09:08 +00:00
patches libtool 1.3.0 patches, ok brad@ 2001-10-31 11:58:04 +00:00
templates Add MASTER_SITE_FREEBSD_LOCAL. The FreeBSD project harbors at least 2001-10-24 12:37:12 +00:00
README Document what currently exists 1999-10-26 15:38:06 +00:00

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