PKG_CHECK-PROBLEMS(1) | General Commands Manual | PKG_CHECK-PROBLEMS(1) |
pkg_check-problems
—
verify problems in package collections
pkg_check-problems |
[-CDesv ] [-d
plist_dir] [-o
output] [-p
ports_dir] [pkgname ...] |
pkg_check-problems
is used to check a
collection of packages for problems that cannot be noticed in individual
packages, such as conflict and directory registration issues.
A conflict is a file that belongs to two distinct packages.
By default, packages with the same stem (see
packages-specs(7)) are registered
to conflict. This can be changed to add or remove extra conflict
registration with @option no-default-conflict
or
@conflict
(see
pkg_create(1)).
Conflicts between packages mean that a user can't have both packages installed at the same time. In some cases (same software, different version), this is expected, but the packages should be marked as conflicting, so that pkg_add(1) knows how to deal with it. In other cases, this is an oversight from the ports maintainer, and action should be taken to make sure both packages can be installed simultaneously. Conflicts also interact with dependencies, and sometimes a missing dependency will show up as an unregistered conflict.
Directories can belong to distinct packages, as long as they are registered somewhere. Every directory that is not part of the standard mtree(8) set should appear in a packing-list somewhere.
Contrary to files, directories can be shared between several packages.
pkg_check-problems
knows enough about
packages to trace directories back to a common dependency, or to not flag
two packages as conflicting when they depend on already conflicting
packages.
pkg_check-problems
requires a set of
packing-lists to operate, which it can obtain from several sources. The
preferred source is the packing-list databases (see
PACKAGE_REPOSITORY in
bsd.port.mk(5) and
register-plist(1)), as it
persists over time and can be used to fix update information as well as
current version information.
It should be supplemented with the ports tree itself in order to figure out current versions.
Options are as follows:
-C
-D
-e
-o
output-s
-v
-d
plist-dir-p
portsdirIf -d
plist-dir
is also used, traverse only the directories corresponding to the
packages under plist-dir to figure out current
pkgnames, and annotate those with a ‘!’ in the report.
Dependency not found zarafa-webaccess-7.1.11p2 Dependency not found kwebkitpart-1.2p3 [...] Common dirs: !claws-mail-gdata-3.11.1p1-ldap(mail/claws-mail,-gdata,ldap): /usr/local/lib/claws-mail !claws-mail-pdfviewer-3.11.1p1-ldap(mail/claws-mail,-pdfviewer,ldap): /usr/local/lib/claws-mail [...] Conflicts: !arm-none-eabi-gdb-7.9.1(devel/arm-none-eabi/gdb),!gdb-7.9.1(devel/gdb) /usr/local/include/gdb/jit-reader.h /usr/local/share/gdb/system-gdbinit/elinos.py /usr/local/share/gdb/system-gdbinit/wrs-linux.py !libnet-1.0.2ap0v0(net/libnet/1.0),libnet-1.0.2ap2(net/libnet/1.0),libnet-1.0.2av0(net/libnet/1.0) /usr/local/bin/libnet-config-1.0 /usr/local/include/libnet-1.0/libnet.h /usr/local/include/libnet-1.0/libnet/libnet-asn1.h /usr/local/include/libnet-1.0/libnet/libnet-functions.h /usr/local/include/libnet-1.0/libnet/libnet-headers.h /usr/local/include/libnet-1.0/libnet/libnet-macros.h /usr/local/include/libnet-1.0/libnet/libnet-ospf.h /usr/local/include/libnet-1.0/libnet/libnet-structures.h /usr/local/lib/libnet-1.0/libnet.a /usr/local/lib/libnet-1.0/libnet.so.0.0 /usr/local/lib/libnet-1.0/libpwrite.a /usr/local/lib/libnet.so.0.0 /usr/local/man/cat3/libnet.0 [...] zathura-pdf-mupdf-0.2.7(textproc/zathura/plugins/mupdf),zathura-pdf-poppler-0.2.5(textproc/zathura/plugins/poppler) /usr/local/lib/zathura/pdf.so
pkg_check-problems
could not find a common
ancestor to claws-mail-gdata and claws-mail-pdfviewer, so it should be
added to both.@option
no-default-conflict
with conflicts against the old version when
bumping the EPOCH.pkg_add(1), pkg_create(1), bsd.port.mk(5), packages-specs(7)
July 10, 2018 | OpenBSD-current |