From 0c9f4329f8dd2a6eb6d7717998e71c3a17fd2583 Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Sun, 8 Feb 2015 02:27:42 -0500 Subject: [PATCH] set package origin when adding to db cache Signed-off-by: Andrew Gregory Signed-off-by: Allan McRae --- lib/libalpm/db.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c index 466c96f1..26e351fd 100644 --- a/lib/libalpm/db.c +++ b/lib/libalpm/db.c @@ -574,6 +574,13 @@ int _alpm_db_add_pkgincache(alpm_db_t *db, alpm_pkg_t *pkg) _alpm_log(db->handle, ALPM_LOG_DEBUG, "adding entry '%s' in '%s' cache\n", newpkg->name, db->treename); + if(newpkg->origin == ALPM_PKG_FROM_FILE) { + free(newpkg->origin_data.file); + } + newpkg->origin = (db->status & DB_STATUS_LOCAL) + ? ALPM_PKG_FROM_LOCALDB + : ALPM_PKG_FROM_SYNCDB; + newpkg->origin_data.db = db; db->pkgcache = _alpm_pkghash_add_sorted(db->pkgcache, newpkg); free_groupcache(db);