42 lines
1.5 KiB
Diff
42 lines
1.5 KiB
Diff
|
diff -uNr pacman-6.0.0/lib/libalpm/add.c pacman-termux/lib/libalpm/add.c
|
||
|
--- pacman-6.0.0/lib/libalpm/add.c 2021-05-20 06:38:45.938120000 +0300
|
||
|
+++ pacman-termux/lib/libalpm/add.c 2021-10-04 16:00:39.000000000 +0300
|
||
|
@@ -132,6 +132,9 @@
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
+ archive_entry_set_uid(entry, getuid());
|
||
|
+ archive_entry_set_gid(entry, getgid());
|
||
|
+
|
||
|
archive_write_disk_set_options(archive_writer, archive_flags);
|
||
|
|
||
|
ret = archive_read_extract2(archive, entry, archive_writer);
|
||
|
@@ -242,7 +245,6 @@
|
||
|
* 3,4- conflict checks should have caught this. either overwrite
|
||
|
* or backup the file.
|
||
|
* 5- file replacing directory- don't allow it.
|
||
|
- * 6- skip extraction, dir already exists.
|
||
|
*/
|
||
|
|
||
|
isnewfile = llstat(filename, &lsbuf) != 0;
|
||
|
@@ -254,19 +256,6 @@
|
||
|
gid_t entrygid = archive_entry_gid(entry);
|
||
|
#endif
|
||
|
|
||
|
- /* case 6: existing dir, ignore it */
|
||
|
- if(lsbuf.st_mode != entrymode) {
|
||
|
- /* if filesystem perms are different than pkg perms, warn user */
|
||
|
- mode_t mask = 07777;
|
||
|
- _alpm_log(handle, ALPM_LOG_WARNING, _("directory permissions differ on %s\n"
|
||
|
- "filesystem: %o package: %o\n"), filename, lsbuf.st_mode & mask,
|
||
|
- entrymode & mask);
|
||
|
- alpm_logaction(handle, ALPM_CALLER_PREFIX,
|
||
|
- "warning: directory permissions differ on %s\n"
|
||
|
- "filesystem: %o package: %o\n", filename, lsbuf.st_mode & mask,
|
||
|
- entrymode & mask);
|
||
|
- }
|
||
|
-
|
||
|
#if 0
|
||
|
/* Disable this warning until our user management in packages has improved.
|
||
|
Currently many packages have to create users in post_install and chown the
|