Enhance and utilize database status flags
commitc885a953eb888004f0302ed3eceafef93e2f072f
authorDan McGee <dan@archlinux.org>
Thu, 18 Aug 2011 02:06:04 +0000 (17 21:06 -0500)
committerDan McGee <dan@archlinux.org>
Thu, 18 Aug 2011 15:47:41 +0000 (18 10:47 -0500)
tree676e9d86361ba8af989d8f8277db58e261471518
parent4a7f3bbc469d1f6a8da1c7f310ab518ad841c2b9
Enhance and utilize database status flags

* Move is_local standalone field to status enum
* Create VALID/INVALID flag pair
* Create EXISTS/MISSING flag pair

With these additional fields, we can be more intelligent with database
loading and messages to the user. We now only warn once if a sync
database does not exist and do not continue to try to load it once we
have marked it as missing.

The reason for the flags existing in pairs is so the unknown case can be
represented. There should never be a time when both flags in the same
group are true, but if they are both false, it represents the unknown
case. Care is taken to always manipulate both flags at the same time.

Signed-off-by: Dan McGee <dan@archlinux.org>
lib/libalpm/be_local.c
lib/libalpm/be_sync.c
lib/libalpm/db.c
lib/libalpm/db.h
lib/libalpm/package.c
lib/libalpm/sync.c