@troberts, your solution is helpful if one wanted to find
configured (but not necessarily installed) ports that have a
DBUS option. Here's a slight modification:
% egrep -l "WITH.*_DBUS" /var/db/ports/*/options
@wblock, for some reason
% portmaster --list-origins
doesn't list everything.
% portmaster --list-origins | wc -l
but
% pkg_info -aoq | wc -l
Here's a minor update to your solution, which seems to work well:
Code:
#!/bin/sh
pkg="dbus-1.4.6"
pkgbase=${pkg%%-*}
depends=`pkg_info -qR ${pkg}`
#origins=`portmaster --list-origins ${depends}`
origins=`pkg_info -oq ${depends}`
for origin in ${origins}
do
mkfile="/usr/ports/${origin}/Makefile"
egrep -il "${pkgbase}.*:" ${mkfile}
done
The output with that script is:
Code:
/usr/ports/net/avahi-app/Makefile
/usr/ports/www/chromium/Makefile
/usr/ports/devel/dbus-glib/Makefile
/usr/ports/devel/eggdbus/Makefile
/usr/ports/editors/emacs/Makefile
/usr/ports/www/firefox/Makefile
/usr/ports/devel/gconf2/Makefile
/usr/ports/graphics/gimp-app/Makefile
/usr/ports/devel/gvfs/Makefile
/usr/ports/textproc/ibus/Makefile
/usr/ports/devel/libnotify/Makefile
/usr/ports/net-im/libpurple/Makefile
/usr/ports/sysutils/polkit/Makefile
/usr/ports/devel/py-dbus/Makefile
/usr/ports/multimedia/vlc/Makefile
Using @troberts script, I can see that of those ports, the ones with a
DBUS configuration flag are:
% for i in `sh find_depends.sh`; do newname=`echo $i | sed -e 's/\/usr\/ports\/[-a-z]*\/\([-a-zA-Z0-9]*\)\/Makefile/\1/'`; if [ -f /var/db/ports/$newname/options ]; then egrep -l "WITH.*_DBUS" /var/db/ports/$newname/options; fi; done;
Code:
/var/db/ports/emacs/options
/var/db/ports/firefox/options
/var/db/ports/gimp-app/options
/var/db/ports/libpurple/options
/var/db/ports/vlc/options
That leaves a few ports that depend on
dbus but cannot turn off that dependency. I wonder what functionality would be lost if
dbus where removed.