Solved Visualizing dependencies

r00ty

New Member


Messages: 18

Greetings,

So I have this thing, sometimes when I want to install some port I'm getting a huge dependency list:
Code:
# make missing
graphics/ImageMagick6-nox11
print/ghostscript9-agpl-base
graphics/jbig2dec
dns/libidn
print/cups
net/avahi-app
textproc/intltool
textproc/p5-XML-Parser
devel/libdaemon
devel/dbus-glib
devel/dbus
textproc/minixmlto
textproc/html2text
databases/gdbm
devel/gobject-introspection
graphics/cairo
x11/xorgproto
devel/xorg-macros
x11/pixman
x11/libX11
x11/xtrans
x11/libXau
x11/libxcb
devel/check
x11/xcb-proto
devel/libpthread-stubs
x11/libXdmcp
x11/libXext
x11/libXrender
graphics/mesa-libs
graphics/wayland-protocols
graphics/wayland
devel/libepoll-shim
lang/python27
devel/llvm80
textproc/py-recommonmark
textproc/py-CommonMark
devel/py-future
devel/binutils
math/gmp
math/mpfr
devel/swig30
x11/libXdamage
x11/libXfixes
x11/libxshmfence
x11/libXxf86vm
graphics/libdrm
devel/libpciaccess
misc/pciids
sysutils/gnome_subr
security/gnutls
security/nettle
security/libtasn1
security/p11-kit
security/trousers
So in this case obviously there's bunch of dependencies of some other dependencies, probably some specific port requires a bunch of other ports because of some option in configuration.
I'm trying to find out how I can track down this "problematic" port.

What I'm thinking right now it would be cool to draw a dependency list which visualizes this dependency tree, something like
Code:
# show me dependencies for "www/ytdl" >>
www/ytdl
├─ports-mgmt/pkg
└─lang/go
    └─more...dependencies...in...here
Does anybody know how to implement this?
 

Elazar

Well-Known Member

Reaction score: 108
Messages: 255

I had this problem too.^^
I think you'd have to run "make build-depends-list && make run-depends-list". Then repeat this for each dependency.

This could be done in a script, or displayed in a gtk3 treeview.
 

T-Daemon

Aspiring Daemon

Reaction score: 333
Messages: 809

If someone is interested in displaying installed packages dependencies and dependencies of those dependencies in a tree view, there is a sh(1) script doing that:

You might want to pipe the output to less(1) or redirect into a file. By packages with a lot of dependencies the tree will exceed the scroll back possibility of the console.
 
Top