diff options
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | lib/dpkg/parse.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 60f4c3a1e..78d11178a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -79,6 +79,9 @@ dpkg (1.17.0) UNRELEASED; urgency=low * Remove update-alternatives, dpkg-divert and dpkg-statoverride compatibility symlinks under /usr/sbin/. * Remove install-info wrapper. + * Only ignore older packages if the existing version is informative. This + allows any program using libdpkg to parse the available file to see again + packages with versions lesser than 0-0 (like 0~0-0). Closes: #676664 [ Updated manpages translations ] * Fix incorrect translation of "fortify" in French manpage for dpkg-buildflags diff --git a/lib/dpkg/parse.c b/lib/dpkg/parse.c index 71076de27..b51ca1b3d 100644 --- a/lib/dpkg/parse.c +++ b/lib/dpkg/parse.c @@ -742,6 +742,7 @@ int parsedb(const char *filename, enum parsedbflags flags, db_pkgbin = &db_pkg->installed; if (((flags & pdb_ignoreolder) || ps.type == pdb_file_available) && + dpkg_version_is_informative(&db_pkgbin->version) && dpkg_version_compare(&new_pkgbin->version, &db_pkgbin->version) < 0) continue; |