From 0c9f4329f8dd2a6eb6d7717998e71c3a17fd2583 Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Sun, 8 Feb 2015 02:27:42 -0500 Subject: 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(+) (limited to 'lib') 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); -- cgit v1.2.3-24-g4f1b From ba869597fb64f1101012df4b0d834ed5eced0b7c Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Wed, 4 Feb 2015 14:48:31 +1000 Subject: Disable directory ownership warnings There was a lot of confusion regarding these warnings, particularly for packages that create users post_install and then chown the directories. Signed-off-by: Allan McRae --- lib/libalpm/add.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib') diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c index 725f2b5c..5e2d0a15 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -220,8 +220,10 @@ static int extract_single_file(alpm_handle_t *handle, struct archive *archive, } else { if(S_ISDIR(lsbuf.st_mode)) { if(S_ISDIR(entrymode)) { +#if 0 uid_t entryuid = archive_entry_uid(entry); gid_t entrygid = archive_entry_gid(entry); +#endif /* case 6: existing dir, ignore it */ if(lsbuf.st_mode != entrymode) { @@ -236,6 +238,11 @@ static int extract_single_file(alpm_handle_t *handle, struct archive *archive, entrymode & mask); } +#if 0 + /* Disable this warning until our user management in packages has improved. + Currently many packages have to create users in post_install and chown the + directories. These all resulted in "false-positive" warnings. */ + if((entryuid != lsbuf.st_uid) || (entrygid != lsbuf.st_gid)) { _alpm_log(handle, ALPM_LOG_WARNING, _("directory ownership differs on %s\n" "filesystem: %u:%u package: %u:%u\n"), filename, @@ -245,6 +252,7 @@ static int extract_single_file(alpm_handle_t *handle, struct archive *archive, "filesystem: %u:%u package: %u:%u\n", filename, lsbuf.st_uid, lsbuf.st_gid, entryuid, entrygid); } +#endif _alpm_log(handle, ALPM_LOG_DEBUG, "extract: skipping dir extraction of %s\n", filename); -- cgit v1.2.3-24-g4f1b