summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libalpm/add.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index 8ccf4a37..5c9885e7 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -466,7 +466,8 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
memset(filename, 0, PATH_MAX); /* just to be sure */
- if(strcmp(entryname, ".PKGINFO") == 0 || strcmp(entryname, ".FILELIST") == 0) {
+ if(strcmp(entryname, ".PKGINFO") == 0
+ || strcmp(entryname, ".FILELIST") == 0) {
archive_read_data_skip(archive);
continue;
} else if(strcmp(entryname, ".INSTALL") == 0) {
@@ -477,6 +478,12 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
/* the changelog goes inside the db */
snprintf(filename, PATH_MAX, "%s/%s-%s/changelog", db->path,
newpkg->name, newpkg->version);
+ } else if(*entryname == '.') {
+ /* for now, ignore all files starting with '.' that haven't
+ * already been handled (for future possibilities) */
+ _alpm_log(PM_LOG_DEBUG, _("skipping extraction of '%s'"), entryname);
+ archive_read_data_skip(archive);
+ continue;
} else {
/* build the new entryname relative to handle->root */
snprintf(filename, PATH_MAX, "%s%s", handle->root, entryname);