From 04d211effa8d65020887112ee30c7b3b0fc28ad3 Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Sun, 9 Apr 2017 20:42:01 -0400 Subject: add --overwrite option to ignore file conflicts Allows for safer, more fine-grained control for overwriting files than --force's all-or-nothing approach. Implements FS#31549. Signed-off-by: Andrew Gregory Signed-off-by: Allan McRae --- lib/libalpm/handle.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'lib/libalpm/handle.c') diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index f08f614c..b6b27881 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -283,6 +283,12 @@ alpm_list_t SYMEXPORT *alpm_option_get_ignoregroups(alpm_handle_t *handle) return handle->ignoregroup; } +alpm_list_t SYMEXPORT *alpm_option_get_overwrite_files(alpm_handle_t *handle) +{ + CHECK_HANDLE(handle, return NULL); + return handle->overwrite_files; +} + alpm_list_t SYMEXPORT *alpm_option_get_assumeinstalled(alpm_handle_t *handle) { CHECK_HANDLE(handle, return NULL); @@ -657,6 +663,21 @@ int SYMEXPORT alpm_option_remove_ignoregroup(alpm_handle_t *handle, const char * return _alpm_option_strlist_rem(handle, &(handle->ignoregroup), grp); } +int SYMEXPORT alpm_option_add_overwrite_file(alpm_handle_t *handle, const char *glob) +{ + return _alpm_option_strlist_add(handle, &(handle->overwrite_files), glob); +} + +int SYMEXPORT alpm_option_set_overwrite_files(alpm_handle_t *handle, alpm_list_t *globs) +{ + return _alpm_option_strlist_set(handle, &(handle->overwrite_files), globs); +} + +int SYMEXPORT alpm_option_remove_overwrite_file(alpm_handle_t *handle, const char *glob) +{ + return _alpm_option_strlist_rem(handle, &(handle->overwrite_files), glob); +} + int SYMEXPORT alpm_option_add_assumeinstalled(alpm_handle_t *handle, const alpm_depend_t *dep) { alpm_depend_t *depcpy; -- cgit v1.2.3-54-g00ecf