The "newer" package is not installing (unless you force it) because it has been marked with a low priority indicating "do not install".
Notice how in the version table there is a priority to the left of each source under each version. For the first, it's -1
, and for the second it's 100
.
Version table:
1.10.0.4523-648bc61d4-1 -1
-1 https://dev2day.de/pms jessie/main armhf Packages
*** 1.9.7.4460-a39b25852-1 100
100 /var/lib/dpkg/status
Somehow in your APT preferences, you have it configured not to install that other package. Looking at its URL, I'm guessing it's to do with the repository it's coming from: that repository is probably marked as do not install in your config, or there may be an issue with that repository making APT do that itself.
APT priorities
You can modify APT priorities and how they work, but in general they work like this. When a package install or upgrade is requested, a priority is calculated for all available versions of each package and the package with the highest priority is the one installed.
You can use APT pinning (see apt_preferences) to specify any value for a repository, target, or individual package version, but the general values are:
- Less than 0: special value indicating package should never be installed (if you've chosen to block install of a package it'll be -1)
- 100: Currently installed version of a package
- 500: Available package from a different target
- 990: Available package from current default target
- More than 1000: special value indicating package should be installed even if version is lower than current ("force downgrade")
This means that if you already have a package installed, then another package would have to have a priority of over 100 to beat it (and be a newer version, unless it's over 1000).