aboutsummaryrefslogtreecommitdiffstats
path: root/main/busybox/0001-install-compat-fix-for-mode-of-created-files.patch
blob: a17ca23556b0d9c7f5debf0f5244dfb47c982a30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From 1f363a086779152ab04067e81484b8bb69e4af72 Mon Sep 17 00:00:00 2001
From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Mon, 15 Jun 2009 18:13:51 +0200
Subject: [PATCH] install: compat fix for mode of created files.

By Mat Hostetter (mhostetter AT tilera.com)

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
 coreutils/install.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/coreutils/install.c b/coreutils/install.c
index 24fb402..2e604be 100644
--- a/coreutils/install.c
+++ b/coreutils/install.c
@@ -129,7 +129,7 @@ int install_main(int argc, char **argv)
 	if (opts & OPT_PRESERVE_TIME) {
 		copy_flags |= FILEUTILS_PRESERVE_STATUS;
 	}
-	mode = 0666;
+	mode = 0755; /* GNU coreutils 6.10 compat */
 	if (opts & OPT_MODE)
 		bb_parse_mode(mode_str, &mode);
 	uid = (opts & OPT_OWNER) ? get_ug_id(uid_str, xuname2uid) : getuid();
@@ -175,8 +175,9 @@ int install_main(int argc, char **argv)
 			}
 		}
 
-		/* Set the file mode */
-		if ((opts & OPT_MODE) && chmod(dest, mode) == -1) {
+		/* Set the file mode (always, not only with -m).
+		 * GNU coreutils 6.10 is not affected by umask. */
+		if (chmod(dest, mode) == -1) {
 			bb_perror_msg("can't change %s of %s", "permissions", dest);
 			ret = EXIT_FAILURE;
 		}
-- 
1.6.3.3