smart diff and registration of
|dir [pkgname ...]
register-plist is used to check that a
packing-list for a given package name doesn't change. By default, it is
invoked at the end of
make package, see
bsd.port.mk(5). Package names (package stem plus version) are
used to uniquely identify packages. When something in the package changes,
the package name should change, usually by increasing
register-plist records a packing-list for
each pkgname into the given directory
dir. If no previous packing-list for the given pkgname
exists, the packing-list is recorded. If a previous packing-list exists,
register-plist compares both packing-list for
discrepancies. Whenever something significant changes,
register-plist will display a diff of the
differences, and exit with an error.
Some items in the packing-list may change without actual problems. For instance, dependencies are allowed to go forward. On the other hand, some items like the package DESCR can't change at all. Since this is a generated file, porters often overlook that items such as the HOMEPAGE or the MAINTAINER's email address are embedded into that file, and thus that changing these requires a REVISION bump.
register-plist can also be invoked with
-t and two packing-lists p1
p2 to directly compare those packing-lists.