Date: Sun, 17 Jun 2007 08:33:38 +0200 From: Erik Trulsson <ertr1013@student.uu.se> To: "M. Warner Losh" <imp@bsdimp.com> Cc: ports@FreeBSD.org, LoN_Kamikaze@gmx.de Subject: Re: How to get a list of all kernel modules Message-ID: <20070617063338.GB68637@owl.midgard.homeip.net> In-Reply-To: <20070617.001516.-1615142562.imp@bsdimp.com> References: <20070616.213319.-1889956458.imp@bsdimp.com> <4674C9F6.60508@gmx.de> <4674CE41.7000103@gmx.de> <20070617.001516.-1615142562.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 17, 2007 at 12:15:16AM -0600, M. Warner Losh wrote: > 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... 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 ertr1013@student.uu.se
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070617063338.GB68637>