Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1Ignore EINVAL errors. This matters within user namespaces. 2 3See: 4https://github.com/NixOS/nixpkgs/issues/25901 5https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802612 6https://github.com/NixOS/nixpkgs/issues/10496 7 8diff --git a/libfakeroot.c b/libfakeroot.c 9index 68a95fb..70da8bc 100644 10--- a/libfakeroot.c 11+++ b/libfakeroot.c 12@@ -792,7 +792,7 @@ int chown(const char *path, uid_t owner, gid_t group){ 13 r=next_lchown(path,owner,group); 14 else 15 r=0; 16- if(r&&(errno==EPERM)) 17+ if(r&&(errno==EPERM||errno==EINVAL)) 18 r=0; 19 20 return r; 21@@ -819,7 +819,7 @@ int lchown(const char *path, uid_t owner, gid_t group){ 22 r=next_lchown(path,owner,group); 23 else 24 r=0; 25- if(r&&(errno==EPERM)) 26+ if(r&&(errno==EPERM||errno==EINVAL)) 27 r=0; 28 29 return r; 30@@ -843,7 +843,7 @@ int fchown(int fd, uid_t owner, gid_t group){ 31 else 32 r=0; 33 34- if(r&&(errno==EPERM)) 35+ if(r&&(errno==EPERM||errno==EINVAL)) 36 r=0; 37 38 return r; 39@@ -870,7 +870,7 @@ int fchownat(int dir_fd, const char *path, uid_t owner, gid_t group, int flags) 40 else 41 r=0; 42 43- if(r&&(errno==EPERM)) 44+ if(r&&(errno==EPERM||errno==EINVAL)) 45 r=0; 46 47 return r;