diff options
author | Dan McGee <dan@archlinux.org> | 2008-05-11 19:00:18 +0200 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2010-10-13 15:53:18 +0200 |
commit | d1126db1281596ba8ea960bfa963e86731d28b5e (patch) | |
tree | 4201eb0da47075c27b65e38eea4f4046a25861f4 /lib/libalpm/be_files.c | |
parent | 49176461a6b476e673e232075c95f07963750f74 (diff) | |
download | pacman-d1126db1281596ba8ea960bfa963e86731d28b5e.tar.gz pacman-d1126db1281596ba8ea960bfa963e86731d28b5e.tar.xz |
Allow local and sync db to be treated separately
Implement this seemingly simple change in package.h:
typedef enum _pmpkgfrom_t {
- PKG_FROM_CACHE = 1,
- PKG_FROM_FILE
+ PKG_FROM_FILE = 1,
+ PKG_FROM_LOCALDB,
+ PKG_FROM_SYNCDB
} pmpkgfrom_t;
which requires flushing out several assumptions from around the codebase
with regards to usage of the PKG_FROM_CACHE value. Make some changes where
required to allow the switch, and now the correct value should be set (via a
crude hack) depending on whether a package was loaded as an entry in a local
db or a sync db.
This patch underwent some big rebasing from Allan and Dan.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'lib/libalpm/be_files.c')
-rw-r--r-- | lib/libalpm/be_files.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c index 0f055e03..c0298049 100644 --- a/lib/libalpm/be_files.c +++ b/lib/libalpm/be_files.c @@ -415,7 +415,11 @@ int _alpm_db_populate(pmdb_t *db) _alpm_pkg_free(pkg); continue; } - pkg->origin = PKG_FROM_CACHE; + if(db == handle->db_local) { + pkg->origin = PKG_FROM_LOCALDB; + } else { + pkg->origin = PKG_FROM_SYNCDB; + } pkg->origin_data.db = db; /* add to the collection */ _alpm_log(PM_LOG_FUNCTION, "adding '%s' to package cache for db '%s'\n", |