openbsd-ports/infrastructure
espie 03bb654c59 allow better integration of ports tree with dpb.
if PORTS_PRIVSEP=Yes, use FETCH_USER and BUILD_USER (defaults to
_pbuild/_pfetch) for common directories. Includes
- fetching stuff into DISTDIR
- building packages under PACKAGE_REPOSITORY
- also caching packages
- running register-plist

the extra complication is reasonably small, the largest part being the
gap between pkg_create to tmp file as regular user and moving into
_pbuild.

(regular pkg_create has to be the same user as make build, because of
ports like boost where the archive has no read rights for anyone but
the user active during extraction)

The full build is not privsep'd (yet, I have to see how complicated this
gets), but with this, using the same machine for regular ports build and
for dpb usage becomes easier.

(note that dpb proper sets PORTS_PRIVSEP=No since it's doing all the privsep
on its own)

as discussed with pirofti@, sthen@ during p2k17

okay pirofti@
2017-11-13 14:01:44 +00:00
..
2012-08-27 12:30:20 +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

fetch/check-distfiles
	Heuristic to check the whole contents of /usr/ports/distfiles against
	all MD5 files in the ports tree.

package/check-dependencies
	Check dependencies for all packages in the current directory.
	Basically, verifies that the tsort in bsd.port.mk did their job.

bin/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.

bin/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.

db/user.list
	List of users and groups created by the ports (or that are advised
	to be added.

fetch/check-license
	Legacy script used by Marco to check the LICENSE files.

bin/outdated-perl-ports
	Compare perl ports INDEX entries with the latest module
	versions available from CPAN.

templates/Makefile.template
	Template Makefile that may be of use when making a port.