On Sun, Jun 17, 2007 at 12:15:16AM -0600, M. Warner Losh wrote:
> In message: <[EMAIL PROTECTED]>
> "[LoN]Kamikaze" <[EMAIL PROTECTED]> writes:
> : [LoN]Kamikaze wrote:
> : > M. Warner Losh wrote:
> : >> Greetings,
> : >>
> : >> is there an easy way to get a list of all the ports that compile
> : >> kernel modules? I'd like to add them to my kernel build. I did this
> : >> once before, but I lost all information on how to do it when I lost my
> : >> laptop's hard disk after the last bsdcan...
> : >>
> : >> Warner
> : >
> : > # find /boot/ -type f -exec pkg_info -W \{} \;
> :
> : Sorry about that, it takes very long. Better is:
> :
> : # sh -c 'for mod in `pkg_info -qaL|grep -E "^/+boot"`; { pkg_info -W
> "$mod"; }
>
> This sounds great, except for one problem. This will tell me all the
> modules that I've installed that are from ports. Since I've never
> installed any from ports, this will not work for what I want. I want
> a list of all the ports in /usr/ports that install kernel modules.
> I'd even settle for a list of all the ports in /usr/ports that only
> install modules.
>
> Something like
> egrep -l '\.ko$' /usr/ports/*/*/pkg-plist | sed -e s=/pkg-plist//
> might do the trick, but that blows the command line limits out of the
> water. Replacing egrep with 'find' would need to be carefully
> constructed to avoid false positives in any work directories I have
> laying around. I was hoping for something a little easier to do...
Keep in mind that not all ports have a 'pkg-plist' file. Some ports list
that info directly in the Makefile.
I don't think there is any way of doing what you want without searching
through every single Makefile/pkg-plist file in the entire ports tree.
--
<Insert your favourite quote here.>
Erik Trulsson
[EMAIL PROTECTED]
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"