From ef4757afa5d31ff6a6c09e3410c889f152826f4f Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 29 Jul 2011 17:03:07 -0500 Subject: Store a package info level flag if we fail to load data If we are missing a local database file, we get repeated messages over and over telling us the same thing, rather than being sane and erroring only once. This package adds an INFRQ_ERROR level that is added to the mask if we encounter any errors on a local_db_read() operation, and short circuits future calls if found in the value. This fixes FS#25313. Note that this does not make any behavior changes other than suppressing error messages and repeated code calls to failure cases; we still have more to do in the "local database is hosed" department. Also make a small update to the wrong but unused flags set in be_package; using INFRQ_ALL there was not totally correct. Signed-off-by: Dan McGee --- lib/libalpm/db.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/libalpm/db.h') diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h index 5c7988b4..a09c7e26 100644 --- a/lib/libalpm/db.h +++ b/lib/libalpm/db.h @@ -40,7 +40,8 @@ typedef enum _alpm_dbinfrq_t { INFRQ_SCRIPTLET = (1 << 3), INFRQ_DSIZE = (1 << 4), /* ALL should be info stored in the package or database */ - INFRQ_ALL = 0x1F + INFRQ_ALL = 0x1F, + INFRQ_ERROR = (1 << 31) } alpm_dbinfrq_t; /** Database status. Bitflags. */ -- cgit v1.2.3-24-g4f1b