Since the discussion on http://bugs.archlinux.org/task/7884 is confusing me, I thought I would bring it here.
The issue reported by Dan is the following : The -Qu output is different than -Su one, because -Su resolves dependencies, while -Qu does not.
IMHO -Qu is needless [I've never used that]. -Qu should do the same as alpm_sync_upgrade with some automatic answers (duplicated code or tricky transaction manipulations, grr), so user can also do -Su and break the transaction.
My first question : is that really an issue?
IMHO yes;-) However, in most cases the "output of -Su" == "output of current -Qu" [if the user's database is not broken and updated version of a local package doesn't need some extra dependencies <=> upgrading all local package is enough to satisfy dependencies]
The description of -Qu says : -u, --upgrades list all packages that can be upgraded
IMO, a new dependency does not belong to the list of packages that can be upgraded. So it isn't necessarily a bug if it shows up in -Su, but not in -Qu.
Also, note that -Qu can't match exactly -Su, because -Su is interactive : Replace %s with %s/%s? [Y/n] %s conflicts with %s. Remove %s? [Y/n]
But if you answer no to the conflicts question, pacman just fails and stops there. So not very interesting. And the replace question is generally answered by yes. So answering yes to both questions should give a good picture of what will happen.
---------------------------------------------------- SZTE Egyetemi Könyvtár - http://www.bibl.u-szeged.hu This mail sent through IMP: http://horde.org/imp/