aboutsummaryrefslogtreecommitdiffstats
path: root/testing/kbuild/allperms.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/kbuild/allperms.patch')
-rw-r--r--testing/kbuild/allperms.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/testing/kbuild/allperms.patch b/testing/kbuild/allperms.patch
new file mode 100644
index 0000000000..2e8bfbfb45
--- /dev/null
+++ b/testing/kbuild/allperms.patch
@@ -0,0 +1,30 @@
+diff --git a/src/kmk/kmkbuiltin/chmod.c b/src/kmk/kmkbuiltin/chmod.c
+index 792a286..8edce38 100644
+--- a/src/kmk/kmkbuiltin/chmod.c
++++ b/src/kmk/kmkbuiltin/chmod.c
+@@ -66,6 +66,10 @@ static char sccsid[] = "@(#)chmod.c 8.8 (Berkeley) 4/1/94";
+ #include "getopt.h"
+ #include "kmkbuiltin.h"
+
++#ifndef ALLPERMS
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ extern void * bsd_setmode(const char *p);
+ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
+ extern void bsd_strmode(mode_t mode, char *p);
+diff --git a/src/kmk/kmkbuiltin/install.c b/src/kmk/kmkbuiltin/install.c
+index 13bec72..08d8ffe 100644
+--- a/src/kmk/kmkbuiltin/install.c
++++ b/src/kmk/kmkbuiltin/install.c
+@@ -127,6 +127,10 @@ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
+ # define IS_SLASH(ch) ((ch) == '/')
+ #endif
+
++#ifndef ALLPERMS
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ static gid_t gid;
+ static uid_t uid;
+ static int dobackup, docompare, dodir, dopreserve, dostrip, nommap, safecopy, verbose, mode_given;