Manual Page Result
0
Command: pkg_check-problems | Section: 1 | Source: OpenBSD | File: pkg_check-problems.1
PKG_CHECK-PROBLEMS(1) FreeBSD General Commands Manual PKG_CHECK-PROBLEMS(1)
NAME
pkg_check-problems - verify problems in package collections
SYNOPSIS
pkg_check-problems [-CDesv] [-d plist_dir] [-o output] [-p ports_dir]
[pkgname ...]
DESCRIPTION
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 Do not compute conflict information.
-D Do not compute common dir information.
-e Check for extra logical conflicts, by adding supplementary
formatted/unformatted manpages, as same name manpages under
the same base directory will shadow one another.
-o output Save results to output file as well as writing it on the
screen.
-s Be silent.
-v Be verbose.
-d plist-dir Scan directory plist-dir for packing-lists.
-p portsdir Traverse the ports directory for packing-lists, using
print-plist-all. More than one directory could be
specified by delimiting them by colon, e.g.:
/usr/ports/x11/kde:/usr/ports/x11/kde4.
If -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.
SAMPLE OUTPUT
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
o Dependency not found: means some package names could not be found.
Most often happens because of panic issues, and fsck not recovering
some dependency files.
o claws-mail directory: missing directory registration.
pkg_check-problems could not find a common ancestor to claws-mail-
gdata and claws-mail-pdfviewer, so it should be added to both.
o Conflict between arm-non-eabi-gdb and gdb: note that both packages
are current. Two choices: either remove the offending files from one
package (might break the other), or mark an explicit conflict between
the packages (will prevent people from installing both at the same
time).
o Conflict between libnet-...v0 and libnet: Note that only the v0
version is current. People forgot to augment the @option
no-default-conflict with conflicts against the old version when
bumping the EPOCH.
SEE ALSO
pkg_add(1), pkg_create(1), bsd.port.mk(5), packages-specs(7)
FreeBSD 14.1-RELEASE-p8 July 10, 2018 FreeBSD 14.1-RELEASE-p8