Re: Re: How to find out which ports contains a specified command.

From: Wesley Shields <wxs_at_FreeBSD.org>
Date: Sun, 5 Apr 2009 21:19:45 -0400
On Mon, Apr 06, 2009 at 01:45:43AM +0200, Alberto Villa wrote:
> On Sun, Apr 5, 2009 at 10:06 PM, N.J. Mann <njm_at_njm.me.uk> wrote:
> > adduser: /usr/sbin/adduser /usr/share/man/en.ISO8859-15/man8/adduser.8 /usr/src/usr.sbin/adduser
> >
> > So, it is part of the base system. ?This can be confirmed by searching
> > the on-line manual, i.e.
> 
> anyway, if you're looking for other programs, i can't remember if
> there is any special way... i think i'd try something like:
> cd /usr/ports && grep -i "bin/$yourcommand" -f */*/pkg-plist

This makes two assumptions which are not always true:

- It assumes $yourcommand lives in ${PREFIX}/bin.
- It searches only pkg-plist.

Not all ports install into ${PREFIX}/bin and not all ports use
pkg-plist.  If you want a more accurate search you're better off
searching Makefile for the information in PLIST_FILES along with
pkg-plist.  It is worth noting that even this is not fool-proof since
some ports use dynamic plist generation so the information is never in
pkg-plist except for when the plist is built.

IMO this is a short-coming with ports, and only getting more and more
noticeable as we expand the number of ports.  I have some ideas on how
to address this if someone wants to ping me about it off list.

-- WXS
Received on Sun Apr 05 2009 - 23:37:30 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:45 UTC