NAME
make-plist —
create or update packing-list(s) for a
given port.
SYNOPSIS
make-plist |
var=value ... |
DESCRIPTION
make-plist is a helper script for the
target update-plist in
bsd.port.mk(5).
make-plist looks in
MULTI_PACKAGES to know which packing-lists to
regenerate, the corresponding filenames are passed as variable assignments
PLIST-sub=filename.
make-plist will scan all files under
DESTDIR and dispatch them into corresponding
subpackages, according to
PREFIX-sub=directory.
make-plist is usually run as root to be
able to thoroughly scan DESTDIR. However, it
switches back to OWNER and
GROUP before writing new packing-lists.
make-plist will avoid reporting files in
OKAY_FILES (used for storing cookies generated under
${WRKINST} by fake).
By default, files and directories will end up in the main
subpackage, unless there already exists packing-lists, in which case
make-plist will dispatch them to the most likely
packing-list.
make-plist will also scan dependencies for
those packages, in order to strip common directories. Those are passed as
DEPPATH-sub=list,
a list of FULLPKGPATH for each subpackage. These may
require
make print-list
to be run to figure out common directories.
Variables from SUBST_VARS should be
back-substituted into the regenerated packing-lists, and so should be passed
as var=value on the command
line.
Shared libraries versions will also be backsubstituted. In
addition, make-plist will complain if it doesn't
find the corresponding LIBname_VERSION=value
assignment.
make-plist will separate shared files
fragments unless SHARED_ONLY is set.
make-plist also has limited understanding
of existing fragments, and will try to dispatch entries to the most likely
fragment.
Existing packing-lists are scanned for non-file entries, such as
newuser, mode, or
exec markers. Those will be inserted into the
updated packing-lists at the most likely position.
SEE ALSO
BUGS
make-plist might be the most complicated
piece of the ports infrastructure. It tries its best at doing something
which is definitely not trivial, so it will require manual intervention in
specific cases. It is especially bad at figuring common directories in
inter-dependent subpackages.