[LoN]Kamikaze wrote:
> 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...
>>
>> Warner
> 
> I see I misunderstood, sorry about that. So how about that one:
> 
> # find /usr/ports/ -type f -name pkg-plist -exec grep -El
> '[EMAIL PROTECTED]:space:]]+/boot' \{} \; | sed -E 's|^/usr/ports/||1' | sed 
> -E
> 's|/pkg-plist$||1'
> 
> It only works with ports that have a pkg-plist file, though.

It's all a bit tricky, now. This only returns a very small number of ports.
Changing '[EMAIL PROTECTED]:space:]]+/boot' to '[EMAIL PROTECTED]:space:]]+/' 
helps, but returns
lots of false positives, too:

archivers/dpkg
audio/mt-daapd
comms/hylafax
comms/smstools
databases/cyrus-imspd
databases/firebird-server
databases/firebird2-server
databases/sqlrelay
devel/linux-js
emulators/vmware-guestd6
emulators/snespp
emulators/its
emulators/vmware-guestd4
emulators/vmware-guestd5
games/freebsd-games
games/barrage
games/childsplay
games/lbreakout
games/wanderer
games/xpat2
german/staroffice5
mail/fetchmail
mail/dspam-devel
mail/dspam
mail/mimedefang
mail/py-spambayes
mail/zmailer
multimedia/linux-gspca-kmod
multimedia/linux-ov511-kmod
multimedia/pwcbsd
net-mgmt/cisco_conf
net-mgmt/ng_ipacct
net/acx100
net/asterisk-bristuff
net/asterisk12
net/ipvs
net/ipw-firmware-kmod
net/ipw-firmware
net/iwi-firmware-kmod
net/iwi-firmware
net/openldap23-server
net/openpbx.org
net/asterisk
net/ng_netflow
net/nvnet
net/openldap24-server
news/noffle
print/bjfilter360
print/bjfilter850
print/bjfilter850ug
print/bjfilter860
print/bjfilter870
print/bjfilters600
print/bjfilters630
print/bjfilters6300
print/bjfiltercom
russian/tac+ia
security/bioapi
security/cyrus-sasl
security/drweb
security/ipsec-tools
security/pam-pgsql
security/vncrypt
sysutils/apt
sysutils/devcpu
sysutils/fcron
sysutils/graphicboot
sysutils/heartbeat
sysutils/pmap
textproc/dixit
www/hinventory-client
www/interchange
www/linux-flashplugin9
www/middleman
www/wwwoffle
x11/nvidia-driver

I suppose these would have to be hand-checked.
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to