Add an array to hold the resolved paths of the files in alpm_filelist_t.
When the file name and its resolved file name are identical, the pointer
to the original file name is used to avoid duplicate memory allocation.
/** Local package or package file backup entry */
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index a4c3309..ab84329 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -540,6 +540,9 @@ int _alpm_pkg_dup(alpm_pkg_t *pkg, alpm_pkg_t **new_ptr)
}
}
newpkg->files.count = pkg->files.count;
+ /* deliberately do not copy resolved_path as this is only used
+ * during conflict checking and the sorting of list does not readily
+ * allow keeping its efficient memory usage when copying */
}