From 4baeb8e40be9100681e16cc9dcbc7c2411accfa8 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Sat, 3 Feb 2024 17:11:23 +0000 Subject: [PATCH] libalpm: print errors when unknown keys in database --- lib/libalpm/be_local.c | 6 ++++++ lib/libalpm/be_package.c | 4 +++- lib/libalpm/be_sync.c | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c index 1802814f..43982368 100644 --- a/lib/libalpm/be_local.c +++ b/lib/libalpm/be_local.c @@ -837,6 +837,12 @@ static int local_db_read(alpm_pkg_t *info, int inforeq) } } FREELIST(lines); + } else { + _alpm_log(db->handle, ALPM_LOG_ERROR, _("%s: unknown key '%s' in sync database\n"), info->name, line); + alpm_list_t *lines = NULL; + READ_AND_STORE_ALL(lines); + FREELIST(lines); + } } fclose(fp); diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c index cddbc01e..561ba9dd 100644 --- a/lib/libalpm/be_package.c +++ b/lib/libalpm/be_package.c @@ -251,8 +251,10 @@ static int parse_descfile(alpm_handle_t *handle, struct archive *a, alpm_pkg_t * return -1; } } else { + const char *pkgname = newpkg->name ? newpkg->name : "error"; + _alpm_log(handle, ALPM_LOG_ERROR, _("%s: unknown key '%s' in package description\n"), pkgname, key); _alpm_log(handle, ALPM_LOG_DEBUG, "%s: unknown key '%s' in description file line %d\n", - newpkg->name ? newpkg->name : "error", key, linenum); + pkgname, key, linenum); } } } diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c index 8d6795bf..77dd0b4b 100644 --- a/lib/libalpm/be_sync.c +++ b/lib/libalpm/be_sync.c @@ -691,6 +691,11 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive, } } FREELIST(lines); + } else { + _alpm_log(db->handle, ALPM_LOG_ERROR, _("%s: unknown key '%s' in local database\n"), pkg->name, line); + alpm_list_t *lines = NULL; + READ_AND_STORE_ALL(lines); + FREELIST(lines); } } if(ret != ARCHIVE_EOF) {