OpenBSD::PkgCfl(3p) Perl Programmers Reference Guide OpenBSD::PkgCfl(3p) #
OpenBSD::PkgCfl(3p) Perl Programmers Reference Guide OpenBSD::PkgCfl(3p)
NNAAMMEE #
OpenBSD::PkgCfl - "pkg_create(1)" "@conflict" handling
SSYYNNOOPPSSIISS #
use OpenBSD::PkgCfl;
$clist = OpenBSD::PkgCfl->make_conflicts_list($plist);
@cfls = $clist->conflicts_with(@pkgnames);
OpenBSD::PkgCfl::register($plist, $state);
OpenBSD::PkgCfl::unregister($plist, $state);
@cfls = OpenBSD::PkgCfl::find_all($plist, $state);
DDEESSCCRRIIPPTTIIOONN #
"OpenBSD::PkgCfl" is the canonical interface to packing-list conflict
handling.
Conflict information can be extracted from a packing-list (see
OpenBSD::PackingList) through the "OpenBSD::PkgCfl" class method. The
result is an opaque object $clist that can be queried to find out which
package names conflict with the packing-list. A query of the form
"$clist->conflicts_with(@pkgnames)" will extract from the list the
package names that actually conflict with the packing-list.
Most handling of conflict information happens through the higher level
interface: "OpenBSD::PkgCfl::register", "OpenBSD::PkgCfl::unregister" and
"OpenBSD::PkgCfl::find_all". Package tools usually handle installed
packages, and this interface automatically takes the initial set of
installed packages into account. The "register" and "unregister"
functions must be used to add and remove a packing-list from the set of
installed packages, where conflict information is concerned.
The "find_all" function can be used to find out about all possible
conflicts a new packing-list will entail, before actually adding the
package.
The extra argument $state is a hash used to record system-wide options.
In this case, it acts as a hidden object that records all conflict
information. The hash key "conflict_list" is reserved for that purpose.
perl v5.36.3 2020-12-20 OpenBSD::PkgCfl(3p)