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