diff options
-rw-r--r-- | src/state.c | 4 | ||||
-rw-r--r-- | 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, }; |