.\" .\" FreeBSD install - a package for the installation and maintenance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_info.1 .\" $FreeBSD$ .\" .Dd November 9, 2012 .Dt PKG_INFO 1 .Os .Sh NAME .Nm pkg_info .Nd a utility for displaying information on software packages .Sh SYNOPSIS .Nm .Op Fl bcdDEfghGiIjkKLmopPqQrRsvVxX .Op Fl e Ar package .Op Fl l Ar prefix .Op Fl t Ar template .Fl a | Ar pkg-name ... .Nm .Op Fl qQ .Fl W Ar filename .Nm .Op Fl qQ .Fl O Ar origin .Nm .Sh DESCRIPTION The .Nm command is used to dump out information for packages, either packed up in files with the .Xr pkg_create 1 command or already installed on the system with the .Xr pkg_add 1 command. .Sh OPTIONS The following command line options are supported: .Bl -tag -width indent .It Ar pkg-name ... The named packages are described. A package name may either be the name of an installed package, the pathname to a package distribution file or a URL to an FTP available package. Package version numbers can also be matched in a relational manner using the .Pa >= , <= , > and .Pa < operators. For example, .Pp .Dl "pkg_info 'portupgrade>=20030723'" .Pp will match versions 20030723 and later of the .Pa portupgrade package. .It Fl a , -all Show all currently installed packages. .It Fl b , -blocksize Use the .Ev BLOCKSIZE environment variable for output even when the .Fl q or .Fl Q flag is present. .It Fl h , -help Print help message. .It Fl v , -verbose Turn on verbose output. .It Fl p Show the installation prefix for each package. .It Fl q , -quiet Be .Dq quiet in emitting report headers and such, just dump the raw info (basically, assume a non-human reading). .It Fl Q Be .Dq quiet as above but print preface output with the package name. .It Fl c Show the (one line) comment field for each package. .It Fl d Show the long description field for each package. .It Fl D Show the install-message file for each package. .It Fl f Show the packing list instructions for each package. .It Fl g Show files that do not match the recorded checksum. .It Fl i Show the install script (if any) for each package. .It Fl I Show an index line for each package. This option takes precedence over all other package formatting options. .It Fl j Show the requirements script (if any) for each package. .It Fl k Show the de-install script (if any) for each package. .It Fl K , -keep Keep any downloaded package in .Ev PKGDIR if it is defined or in current directory by default. .It Fl r For each of the specified packages, show the list of packages on which it depends. .It Fl R For each of the specified packages, show the list of installed packages which require it. .It Fl m Show the .Xr mtree 8 file (if any) for each package. .It Fl L Show the files within each package. This is different from just viewing the packing list, since full pathnames for everything are generated. .It Fl s Show the total size occupied by files installed within each package. .It Fl o Show the .Dq origin path recorded on package generation. This path is the directory name in the .Fx .Em "Ports Collection" of the underlying port from which the package was generated. .It Fl G , -no-glob Do not try to expand shell glob patterns in the .Ar pkg-name when selecting packages to be displayed (by default .Nm automatically expands shell glob patterns in the .Ar pkg-name ) . .It Fl W , -which Ar filename For the specified .Ar filename argument show which package it belongs to. If the file is not in the current directory, and does not have an absolute path, then the directories specified in the environment variable .Ev PATH are searched using .Xr which 1 . .It Fl O , -origin Ar origin List all packages having the specified .Ar origin . .It Fl x , -regex Treat the .Ar pkg-name as a regular expression and display information only for packages whose names match that regular expression. Multiple regular expressions could be provided, in that case .Nm displays information about all packages that match at least one regular expression from the list. .It Fl X , -extended Like .Fl x , but treats the .Ar pkg-name as an extended regular expression. .It Fl e , -exists Ar package If the package identified by .Ar package is currently installed, return 0, otherwise return 1. This option allows you to easily test for the presence of another (perhaps prerequisite) package from a script. .It Fl E Show only matching package names. This option takes precedence over all other package formatting options. If any packages match, return 0, otherwise return 1. .It Fl l Ar prefix Prefix each information category header (see .Fl q ) shown with .Ar prefix . This is primarily of use to front-end programs that want to request a lot of different information fields at once for a package, but do not necessarily want the output intermingled in such a way that they cannot organize it. This lets you add a special token to the start of each field. .It Fl t , -template Ar template Use .Ar template as the argument to .Xr mktemp 3 when creating a .Dq staging area . By default, this is the string .Pa /tmp/instmp.XXXXXX , but it may be necessary to override it in the situation where space in your .Pa /tmp directory is limited. Be sure to leave some number of .Ql X characters for .Xr mktemp 3 to fill in with a unique ID. .Bd -ragged -offset indent -compact Note: This should really not be necessary with .Nm , since very little information is extracted from each package and one would have to have a very small .Pa /tmp indeed to overflow it. .Ed .It Fl V Show revision number of the packing list format. .It Fl P , -version Show revision number of package tools. .El .Sh TECHNICAL DETAILS Package info is either extracted from package files named on the command line, or from already installed package information in .Pa /var/db/pkg/ Ns Aq Ar pkg-name . .Sh ENVIRONMENT .Bl -tag -width ".Ev PKG_TMPDIR" .It Ev BLOCKSIZE If the environment variable .Ev BLOCKSIZE is set the block counts will be displayed in units of that size block. .It Ev PKG_TMPDIR Points to the directory where .Nm creates its temporary files. If this variable is not set, .Ev TMPDIR is used. If both are unset, the builtin defaults are used. .It Ev PKG_DBDIR Specifies an alternative location for the installed package database. .It Ev PKG_PATH Specifies an alternative package location, if a given package cannot be found. .It Ev PKGDIR Specifies an alternative location to save downloaded packages to. .It Ev PKG_OLD_NOWARN If set .Nm will not warn about its use in the presence of pkgng databases. .El .Sh FILES .Bl -tag -width ".Pa /var/db/pkg" -compact .It Pa /var/tmp Used if the environment variables .Ev PKG_TMPDIR and .Ev TMPDIR are not set, or if the directories named have insufficient space. .It Pa /tmp The next choice if .Pa /var/tmp does not exist or has insufficient space. .It Pa /usr/tmp The last choice if .Pa /tmp is unsuitable. .It Pa /var/db/pkg Default location of the installed package database. .It Ev PKG_OLD_NOWARN If set .Nm will not warn about its use in the presence of pkgng databases. .El .Sh SEE ALSO .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_version 1 , .Xr mktemp 3 , .Xr mtree 8 .Sh AUTHORS .An Jordan Hubbard .Sh CONTRIBUTORS .An John Kohl Aq jtk@rational.com , .An Oliver Eikemeier Aq eik@FreeBSD.org .Sh BUGS Sure to be some.