Date: Sun, 17 Jun 2007 00:15:16 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: LoN_Kamikaze@gmx.de Cc: ports@FreeBSD.org Subject: Re: How to get a list of all kernel modules Message-ID: <20070617.001516.-1615142562.imp@bsdimp.com> In-Reply-To: <4674CE41.7000103@gmx.de> References: <20070616.213319.-1889956458.imp@bsdimp.com> <4674C9F6.60508@gmx.de> <4674CE41.7000103@gmx.de>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <4674CE41.7000103@gmx.de> "[LoN]Kamikaze" <LoN_Kamikaze@gmx.de> 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... Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070617.001516.-1615142562.imp>