PORTSEARCH(1) FreeBSD General Commands Manual PORTSEARCH(1) NAME portsearch - A utility for searching the ports tree. SYNOPSIS portsearch [-h] [-n name] [-p path] [-i info] [-m maint] [-x index] [-b b_deps] [-r r_deps] [-d deps] [-f file] DESCRIPTION portsearch is a utility to for searching of the ports tree. It permits much more detailed searches to be performed than ``make search key='' by allowing you to specify which field(s) to search. It also supports all valid perl(1) regular expressions for pattern matching. portsearch displays matching ports in the same format as ``make search'' and also displays the number of matching ports found. The following command line options are supported: -h Prints a multi-line help message and exits -n name Search for name in the name field. This is the default if no flags are specified -p path Search for path in the path field -i info Search for info in the comments field -m maint Search for maint in the Maintainer field -x index Search for index in the category field -b b_deps Search for b_deps in the build-depends field -r r_deps Search for r_deps in the run-depends field -d deps Search for deps in the both the build and run dependency fields. This option behaves differently to the other op- tions, see the EXAMPLES section -f file Use an index file with the name "file," instead of /usr/ports/INDEX -e Print the pkg-descr (long description) for each port found All searches are case-insensitive /usr/ports/INDEX is not updated everytime a change is made to the ports tree so in order to get the most accurate results from using portsearch you should consider rebuilding the index thus: # cd /usr/ports && make index FILES /usr/ports/INDEX The ports master index file EXAMPLES Find all ports whose name contains "emacs": portsearch -n emacs Restrict the search to only those ports whose name begins with "emacs" by anchoring the match to the beginning of the name: portsearch -n ^emacs Find all the ports in the textproc, print, and www categories that are maintained by Nik or Jim and have a run-time dependency on the tidy(1) port: portsearch -x '(textproc|print|www)' -m '(nik|jim)' -r tidy Note that the regular expression operators have to be quoted to protect them from the shell. The behaviour of the -d deps option is slightly different to the other search options. If used it makes portsearch search both the build- and run-dependency fields. If the -b b_deps and/or the -r r_deps are used as well then they are ignored; the deps pattern is used to search both fields. Note that portsearch -d foobar is not the same as portsearch -b foobar -r foobar Normally all the options are logically ANDed together so in the above ex- ample a port would need to have both a build and run dependency on "foobar" to match, whereas the -d option logically ORs the two dependency fields so that only a single dependency is required for a match. This is primarily to provide an easy way of generating a list of all the depen- dencies of a port; handy if the maintainer is making changes and needs to know which other ports may be affected. DIAGNOSTICS portsearch exits 0 on success or 1 if a help message was output. SEE ALSO perlre(1), ports(7) AUTHORS Mark Ovens BUGS The "Index" field would probably be better named "Category" but it has been left unchanged to be consistent with ``make search''. perl(1) treats ``-'' as a word boundary so when a dependency field is wrapped over more than one line a port name may get split like this: gettext-0.10.35 jpeg-6b libproplist-0.10.1 libungif- 4.1.0 png-1.0.6 FreeBSD 13 June 2000 2