From ecdacd15032578148489f868fd928fb502032c60 Mon Sep 17 00:00:00 2001 From: Timo Teras Date: Thu, 6 Aug 2009 14:25:03 +0300 Subject: all: implement database open options so user can override trusted keys directory and repositories file. --- src/cache.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'src/cache.c') diff --git a/src/cache.c b/src/cache.c index 641cecd..d4509e1 100644 --- a/src/cache.c +++ b/src/cache.c @@ -141,11 +141,9 @@ static int cache_clean(struct apk_database *db) return 0; } -static int cache_main(void *ctx, int argc, char **argv) +static int cache_main(void *ctx, struct apk_database *db, int argc, char **argv) { - struct apk_database db; - int actions = 0; - int r; + int r = 0, actions = 0; if (argc != 1) return -EINVAL; @@ -159,24 +157,18 @@ static int cache_main(void *ctx, int argc, char **argv) else return -EINVAL; - r = apk_db_open(&db, apk_root, APK_OPENF_READ | - APK_OPENF_NO_SCRIPTS | APK_OPENF_NO_INSTALLED); - if (r != 0) - return r; - - if (!apk_db_cache_active(&db)) { + if (!apk_db_cache_active(db)) { apk_error("Package cache is not enabled.\n"); r = 2; goto err; } if (r == 0 && (actions & CACHE_CLEAN)) - r = cache_clean(&db); + r = cache_clean(db); if (r == 0 && (actions & CACHE_DOWNLOAD)) - r = cache_download(&db); + r = cache_download(db); err: - apk_db_close(&db); return r; } @@ -187,6 +179,7 @@ static struct apk_applet apk_cache = { "making /etc/apk/cache a symlink to the directory (on boot " "media) that will be used as package cache.", .arguments = "sync | clean | download", + .open_flags = APK_OPENF_READ|APK_OPENF_NO_SCRIPTS|APK_OPENF_NO_INSTALLED, .main = cache_main, }; -- cgit v1.2.3