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.