[pacman-dev] pactree, view the dependency tree

Xavier shiningxc at gmail.com
Wed Jul 16 02:37:43 EDT 2008

Allan McRae wrote:
> 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
> |--glibc
>    +--bash provides sh
>       |--glibc
>    |--tzdata
> 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:
> bincimap/PKGBUILD:provides=('imap-server')
> 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?

What pacman does when resolving dependencies is to first look for a 
package with the literal name (eg sh or imap-server) and if it doesn't 
exist, then it just picks up the first provider it finds.
So just doing the same in pactree is fine.
I guess that, as a bonus, you could also display the other providers 
(without their dep tree), but that is just optional.

More information about the pacman-dev mailing list