openbsd-ports/infrastructure
espie 0e89359ef4 Lock infrastructure for the ports tree.
If LOCK_CMD, UNLOCK_CMD and LOCK_DIR are defined, those are used to
perform `big-lock' style locking on top-level targets, such as
extract, patch, build.

The internals of the ports tree do not use any finer grained locking.
Those top-level targets now redirect to _internal-targets, without
any behavioral change.

Any dependency computation will recurse to another directory, and
invoke a top-level target, thus triggering the locking of the dependency.

All locking is done using FULLPKGNAME, except for fetch with uses
the DISTFILES names for independent files.

If no locking is desired, the top-level targets simply redirect to
the _internal-targets. The cost is close to zero: make just needs to
handle an extra ~20 phony targets.

Much testing and approval by brad@, naddy@, pval@, fries@ and other
people. Thanks to niklas@ for some useful discussion.
2004-07-18 22:44:36 +00:00
..
build gdiff die, die, die 2004-06-20 19:11:08 +00:00
db sync with CVS as of today, adds luna88k and removes pegasos. 2004-06-15 04:06:26 +00:00
fetch don't try to fetch distfiles of ports marked FETCH_MANUALLY 2003-08-28 16:19:00 +00:00
install permit moving of shared objects and shared libraries from PLIST 2004-07-03 17:50:52 +00:00
mk Lock infrastructure for the ports tree. 2004-07-18 22:44:36 +00:00
package replace with a new script that works faster. 2004-03-04 17:48:29 +00:00
patches hppa has shared libs now 2004-06-01 21:43:09 +00:00
plist sync 2004-04-09 05:23:21 +00:00
templates FETCH_DEPENDS is long gone 2004-07-15 22:08:00 +00:00
README mention build/outdated-perl-ports; from Robert Nagy/Sam Smith 2004-04-11 20:55:10 +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 plist/i386 | build/find-build-order
	outputs a list of stuff that actually needs to be built to obtain those
	packages, 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

build/outdated-perl-ports
	compare perl ports INDEX entries with the latest module
	versions available from CPAN