Skip site navigation (1)Skip section navigation (2)
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>