diff --git a/builder/builder-source-file.c b/builder/builder-source-file.c index 688dfe62..960810f0 100644 --- a/builder/builder-source-file.c +++ b/builder/builder-source-file.c @@ -366,6 +366,12 @@ builder_source_file_extract (BuilderSource *source, dest_file = g_file_get_child (dest, dest_filename); + /* If the destination file exists, just delete it. We can encounter errors when + * trying to overwrite files that are not writable. + */ + if (g_file_query_exists (dest_file, NULL) && !g_file_delete (dest_file, NULL, error)) + return FALSE; + if (is_inline) { g_autoptr(GBytes) content = NULL;