.\" $OpenBSD: pkg_info.1,v 1.28 2007/06/20 15:41:36 steven Exp $ .\" .\" Documentation and design originally from FreeBSD. All the code has .\" been rewritten since. We keep the documentation's notice: .\" .\" 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 .\" .\" .Dd $Mdocdate: June 20 2007 $ .Dt PKG_INFO 1 .Os .Sh NAME .Nm pkg_info .Nd a utility for displaying information on software packages .Sh SYNOPSIS .Nm pkg_info .Bk -words .Op Fl AacDdfIiKkLMPpqRrSstUv .Op Fl E Ar filename .Op Fl e Ar pkg-name .Op Fl l Ar str .Op Fl Q Ar query .Op Ar pkg-name .Op Ar ... .Ek .Sh DESCRIPTION The .Nm command is used to dump out information for packages, as created by .Xr pkg_create 1 , which may be still packed up or already installed on the system with the .Xr pkg_add 1 command. .Pp The .Ar pkg-name may be the name of an installed package, the pathname to a package distribution file, or a URL to a package available through FTP, HTTP, HTTPS, or SCP. .Nm will try to complete .Ar pkg-name with a version number while looking through installed packages. .Pp When browsing through uninstalled packages, running .Ic pkg_info -I *.tgz will report a summary line for each package, so that it is possible to run .Ic pkg_info pkgname.tgz to obtain a longer package description, and .Ic pkg_add -n pkgname.tgz to check that the installation would proceed cleanly, including dependencies. .Pp The following command-line options are supported: .Bl -tag -width indent .It Fl A Show information for all currently installed packages, including internal packages. .It Fl a Show information for all currently installed packages. .It Fl c Show the one-line comment field for each package. .It Fl D Show the install-message file (if any) for each package (deprecated option). .It Fl d Show the long-description field for each package. .It Fl E Ar filename Look for the package(s) that contains the given .Ar filename . .It Fl e Ar pkg-name This option allows you to test for the presence of another (perhaps prerequisite) package from a script. If the package identified by .Ar pkg-name is currently installed, return 0, otherwise return 1. In addition, the names of any package(s) found installed are printed to stdout unless turned off using the .Fl q option. .Pp The given .Ar pkg-name is actually a package specification, as described in .Xr packages-specs 7 . For example, .Ic pkg_info -e 'name->=1.3' will match versions 1.3 and later of the .Pa name package. .It Fl e Ar pkg-path Another variant of this option that uses a package path instead. A package path is a location within the ports tree, as described in .Ev FULLPKGPATH in .Xr bsd.port.mk 5 . For example, .Ic pkg_info -e x11/kde/base3 will match any package that was compiled according to .Pa ${PORTSDIR}/x11/kde/base3 . .It Fl f Show the packing list instructions for each package. .It Fl I Show the index entry for each package. .It Fl i Show the install script (if any) for each package. .It Fl K Prefix file names with category keyword (e.g., @file, @lib). Always used together with .Fl L . .It Fl k Show the de-install script (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 l Ar str Prefix each information category header (see .Fl q ) shown with .Ar str . 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 don't necessarily want the output intermingled in such a way that they can't organize it. This lets you add a special token to the start of each field. .It Fl M Show the install-message file (if any) for each package. .It Fl P Show the pkgpath for each package. You can easily build a subdirlist with this. .It Fl p Show the installation prefix for each package. .It Fl Q Ar query Show all packages in $PKG_PATH which match the given .Ar query . .It Fl q Be .Dq quiet in emitting report headers and such, just dump the raw info (basically, assume a non-human reading). .It Fl R Show which packages require a given package. .It Fl r Show the requirements script (if any) for each package. .It Fl S Show the package signature for each package. This signature is a unique tag showing the package name, and the version number of every dependency and shared library necessary to build this package. .It Fl s Show an estimate of the total size of each package. .It Fl t Show packages which are not required by any other packages. .It Fl U Show the deinstall-message file (if any) for each package. .It Fl v Turn on verbose output. .El .Sh ENVIRONMENT .Bl -tag -width PKG_TMPDIR .It Ev PKG_DBDIR The standard package database directory, .Pa /var/db/pkg , can be overridden by specifying an alternative directory in the .Ev PKG_DBDIR environment variable. .It Ev PKG_PATH This can be used to specify a colon-separated list of paths to search for package files. The current directory is always searched first, even if .Ev PKG_PATH is set. If .Ev PKG_PATH is used, the suffix .Dq .tgz is automatically appended to the .Ar pkg-name , whereas searching in the current directory uses .Ar pkg-name literally. .It Ev PKG_TMPDIR Temporary area where package information files will be extracted, instead of .Pa /var/tmp . .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/ . .Sh SEE ALSO .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr bsd.port.mk 5 , .Xr package 5 , .Xr packages-specs 7 .Sh AUTHORS .Bl -tag -width indent -compact .It "Jordan Hubbard" initial design .It "Marc Espie" complete rewrite .El