termux-packages/disabled-packages/apk-tools/src-io.c.patch
Leonid Pliushch 3605599394 apk-tools: don't set ownership and xattrs
Such functionality causes 'permission denied' errors in Termux as
we don't require root permissions for installing packages.
2018-11-20 22:04:57 +01:00

51 lines
1.1 KiB
Diff

diff -uNr apk-tools-2.10.3/src/io.c apk-tools-2.10.3.mod/src/io.c
--- apk-tools-2.10.3/src/io.c 2018-11-15 15:09:07.000000000 +0200
+++ apk-tools-2.10.3.mod/src/io.c 2018-11-18 19:15:25.081674847 +0200
@@ -1012,6 +1012,7 @@
.delete_item = (apk_hash_delete_f) free,
};
+#ifndef __ANDROID__
static struct cache_item *resolve_cache_item(struct apk_hash *hash, apk_blob_t name)
{
struct cache_item *ci;
@@ -1032,6 +1033,7 @@
return ci;
}
+#endif
void apk_id_cache_init(struct apk_id_cache *idc, int root_fd)
{
@@ -1056,6 +1058,9 @@
uid_t apk_resolve_uid(struct apk_id_cache *idc, const char *username, uid_t default_uid)
{
+#ifdef __ANDROID__
+ return getuid();
+#else
#ifdef HAVE_FGETPWENT_R
char buf[1024];
struct passwd pwent;
@@ -1095,10 +1100,14 @@
return ci->uid;
return default_uid;
+#endif
}
uid_t apk_resolve_gid(struct apk_id_cache *idc, const char *groupname, uid_t default_gid)
{
+#ifdef __ANDROID__
+ return getgid();
+#else
#ifdef HAVE_FGETGRENT_R
char buf[1024];
struct group grent;
@@ -1138,4 +1147,5 @@
return ci->gid;
return default_gid;
+#endif
}