From 4c2bfd9dedab2533cbfc9c2bf4f827eb5f5f51a6 Mon Sep 17 00:00:00 2001 From: Timo Teras Date: Thu, 16 Apr 2009 20:05:22 +0300 Subject: db: cache index files, 'update' applet Cache non-local index files always locally. Introduce 'update' applet to force refresh of cached index files. Fixes #19. --- src/update.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/update.c (limited to 'src/update.c') diff --git a/src/update.c b/src/update.c new file mode 100644 index 0000000..4351653 --- /dev/null +++ b/src/update.c @@ -0,0 +1,41 @@ +/* update.c - Alpine Package Keeper (APK) + * + * Copyright (C) 2005-2008 Natanael Copa + * Copyright (C) 2008 Timo Teräs + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. See http://www.gnu.org/ for details. + */ + +#include +#include "apk_defines.h" +#include "apk_applet.h" +#include "apk_database.h" +#include "apk_version.h" + +static int update_main(void *ctx, int argc, char **argv) +{ + struct apk_database db; + int i; + + if (apk_db_open(&db, apk_root, APK_OPENF_READ) < 0) + return -1; + + for (i = 0; i < db.num_repos; i++) + apk_repository_update(&db, &db.repos[i]); + + apk_db_close(&db); + + return 0; +} + +static struct apk_applet apk_update = { + .name = "update", + .usage = "", + .main = update_main, +}; + +APK_DEFINE_APPLET(apk_update); + -- cgit v1.2.3-60-g2f50