From 974a00bc5f42d11da1b0f27a4c2d399147a07f10 Mon Sep 17 00:00:00 2001 From: Timo Teras Date: Thu, 6 Aug 2009 14:50:51 +0300 Subject: [PATCH] state, update: fixes --- src/state.c | 4 +++- src/update.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/state.c b/src/state.c index d886754..1b1b333 100644 --- a/src/state.c +++ b/src/state.c @@ -502,7 +502,9 @@ int apk_state_lock_name(struct apk_state *state, } /* If the chosen package is installed, all is done here */ - if (oldpkg == newpkg && !(newpkg->name->flags & APK_NAME_REINSTALL)) + if (oldpkg == newpkg && + (newpkg == NULL || + !(newpkg->name->flags & APK_NAME_REINSTALL))) return 0; /* Track change */ diff --git a/src/update.c b/src/update.c index 5bf7295..eed5d45 100644 --- a/src/update.c +++ b/src/update.c @@ -23,7 +23,7 @@ static int update_main(void *ctx, struct apk_database *db, int argc, char **argv static struct apk_applet apk_update = { .name = "update", .help = "Update repository indexes from all remote repositories.", - .open_flags = APK_OPENF_READ | APK_OPENF_NO_STATE, + .open_flags = APK_OPENF_WRITE, .forced_flags = APK_UPDATE_CACHE, .main = update_main, };