[pacman-dev] pactree, view the dependency tree

Allan McRae allan at archlinux.org
Wed Jul 16 00:26:53 EDT 2008

Carlo Bersani wrote:
> Hello,
> this time I wrote a dependency tree viewer.
> Feel free to check it: comments are very welcome.
> I especially would like to know how it should behave with packages which 
> provide another one: I wrote part of the script thinking you couldn't install 
> two packets providing the same one, but Allan proved me wrong.
> At the moment the script is untested with multiple providers, but otherwise it 
> works quite well.
> The design choice of passing the directory instead of the packet name was ugly 
> in the end, but I was fighting with the scoping in bash at the time, so I 
> preferred to let things be; I might fix it.
> Hope you like it.

I am going to give this a prod.   There is a slightly updated version on 
the forums (http://bbs.archlinux.org/viewtopic.php?pid=393865).

The only question I have for everyone is what is the best way to deal 
with provides?  e.g. Currently:

> ./pactree glibc
   +--bash provides sh

But there is the possibility that multiple installed packages provide 
something  E.g. there are multiple packages that provide imap-server 
that don't (all) conflict:

courier-imap/PKGBUILD:provides=('imap-server' 'pop3-server')
courier-mta/PKGBUILD:provides=('smtp-server' 'imap-server' 'pop3-server' 
'courier-imap' 'courier-maildrop')
dovecot/PKGBUILD:provides=('imap-server' 'pop3-server')
imap/PKGBUILD:provides=('imap-server' 'pop3-server')

So what is the best approach here?   If possible I think that continuing 
down the dependency tree if we find one installed provider is good but 
we should just list the providers if more than one.

Any opinions?


More information about the pacman-dev mailing list