diff options
author | Dan McGee <dan@archlinux.org> | 2011-02-28 17:46:00 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-02-28 17:46:00 +0100 |
commit | f45369800abdeb54847d9ea6a326eb613f30cd3b (patch) | |
tree | 41ed4f7ae8c9fa18ed60a5b5ca1ccf6d4540bc62 /lib/libalpm/db.h | |
parent | 5ea4706f57e15de23a5fd36eff3bc4619aeac224 (diff) | |
download | pacman-f45369800abdeb54847d9ea6a326eb613f30cd3b.tar.gz pacman-f45369800abdeb54847d9ea6a326eb613f30cd3b.tar.xz |
Check local DB version before continuing transaction
Ensure we have a local DB version that is up to par with what we expect
before we go down any road that might modify it. This should prevent
stupid mistakes with the 3.5.X upgrade and people not running
pacman-db-upgrade after the transaction as they will need to.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/db.h')
-rw-r--r-- | lib/libalpm/db.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h index a530a2e9..75776d71 100644 --- a/lib/libalpm/db.h +++ b/lib/libalpm/db.h @@ -45,6 +45,7 @@ typedef enum _pmdbinfrq_t { struct db_operations { int (*populate) (pmdb_t *); void (*unregister) (pmdb_t *); + int (*version) (pmdb_t *); }; /* Database */ @@ -65,14 +66,15 @@ struct __pmdb_t { /* db.c, database general calls */ +pmdb_t *_alpm_db_new(const char *treename, int is_local); void _alpm_db_free(pmdb_t *db); const char *_alpm_db_path(pmdb_t *db); +int _alpm_db_version(pmdb_t *db); int _alpm_db_cmp(const void *d1, const void *d2); alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles); pmdb_t *_alpm_db_register_local(void); pmdb_t *_alpm_db_register_sync(const char *treename); void _alpm_db_unregister(pmdb_t *db); -pmdb_t *_alpm_db_new(const char *treename, int is_local); /* be_*.c, backend specific calls */ int _alpm_local_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq); |