On 4/1/19 2:21 pm, Allan McRae wrote:
The behaviour of "pacman -Qu" was very strange... It would only consider packages from repos with Usage = Search (or All), and ignore those with Usage = Sync, Install or Upgrade.
This is because alpm_sync_newversion() used ALPM_DB_USAGE_SEARCH for its filtering. Given this function is documented (at least in the source) to "Check for new version of pkg in sync repos", I would expect that to look at all repos. However, just changing this parameter, would result in a fairly silent change in behaviour of this function. To counter that, add a parameter to the function that tells it which databases usage levels to consider.
Finally, list all available updates in -Qu output, but include [ignored] beside those that will not be updated in a -Su operation due to thier repo Usage value (in addition to those that are Ignored).
With thanks to the following who provided initial patches to print [ignored] on -Qu operations, which highlighted the larger problem: morganamilo firstname.lastname@example.org Michael Straube email@example.com
Signed-off-by: Allan McRae firstname.lastname@example.org
In comments on earlier patches, there was debate about what the alpm_sync_newversion() is doing. Although I expect users of this function to likely always pass ALPM_DB_USAGE_ALL, I think changing the function signature is the safest way to handle this change.
For reference, here are other threads about this: