diff options
Diffstat (limited to 'src/enquiry.c')
-rw-r--r-- | src/enquiry.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/enquiry.c b/src/enquiry.c index 1dfa6c41c..e039529a0 100644 --- a/src/enquiry.c +++ b/src/enquiry.c @@ -47,6 +47,7 @@ #include <dpkg/options.h> #include "filesdb.h" +#include "infodb.h" #include "main.h" struct badstatinfo { @@ -73,6 +74,14 @@ bsyn_status(struct pkginfo *pkg, const struct badstatinfo *bsi) } static bool +bsyn_infofile(struct pkginfo *pkg, const struct badstatinfo *bsi) +{ + if (pkg->status < stat_halfinstalled) + return false; + return !pkg_infodb_has_file(pkg, &pkg->installed, bsi->value.string); +} + +static bool bsyn_arch(struct pkginfo *pkg, const struct badstatinfo *bsi) { if (pkg->status < stat_halfinstalled) @@ -124,6 +133,18 @@ static const struct badstatinfo badstatinfos[]= { "has not yet been done. Trigger processing can be requested using\n" "dselect or dpkg --configure --pending (or dpkg --triggers-only):\n") }, { + .yesno = bsyn_infofile, + .value.string = LISTFILE, + .explanation = N_( + "The following packages are missing the list control file in the\n" + "database, they need to be reinstalled:\n") + }, { + .yesno = bsyn_infofile, + .value.string = HASHFILE, + .explanation = N_( + "The following packages are missing the md5sums control file in the\n" + "database, they need to be reinstalled:\n") + }, { .yesno = bsyn_arch, .value.number = arch_none, .explanation = N_("The following packages do not have an architecture:\n") |