28d8f8dfd5
Do not overwrite destination file if it exists. Fixes: #10986 Reported-by: mzweerspenko+bugzilla@gmail.com Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: mzweerspenko+bugzilla@gmail.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
68 lines
2.1 KiB
Diff
68 lines
2.1 KiB
Diff
From 4187e60ab52cac3ed36036a354977310dab68dcb Mon Sep 17 00:00:00 2001
|
|
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
Date: Tue, 8 May 2018 15:16:10 +0200
|
|
Subject: [PATCH] all: use install(1) to install executables
|
|
|
|
When the destination file already exists, the current install script
|
|
will overwrite it with the new executable.
|
|
|
|
However, when the existing executable is a symlink or hardlink to
|
|
something else, like busybox, this effectively overwrites that something
|
|
with the new executable, and thus replaces busybox and all its applets
|
|
with the code for either of the three commands.
|
|
|
|
We fix that by simply calling install(1). install(1) is sufficiently
|
|
widespread that we don't bother checking for it, as this is just a
|
|
workaround while waiting for the version bump that will eventually fix
|
|
it for good.
|
|
|
|
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
---
|
|
attr/Makefile | 4 ++--
|
|
getfattr/Makefile | 4 ++--
|
|
setfattr/Makefile | 4 ++--
|
|
3 files changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/attr/Makefile b/attr/Makefile
|
|
index 1c467e8..326dd7e 100644
|
|
--- a/attr/Makefile
|
|
+++ b/attr/Makefile
|
|
@@ -29,6 +29,6 @@ default: $(LTCOMMAND)
|
|
include $(BUILDRULES)
|
|
|
|
install: default
|
|
- $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
|
|
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
|
|
+ install -D -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
|
|
+
|
|
install-dev install-lib:
|
|
diff --git a/getfattr/Makefile b/getfattr/Makefile
|
|
index 91d3df2..f913172 100644
|
|
--- a/getfattr/Makefile
|
|
+++ b/getfattr/Makefile
|
|
@@ -30,6 +30,6 @@ default: $(LTCOMMAND)
|
|
include $(BUILDRULES)
|
|
|
|
install: default
|
|
- $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
|
|
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
|
|
+ install -D -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
|
|
+
|
|
install-dev install-lib:
|
|
diff --git a/setfattr/Makefile b/setfattr/Makefile
|
|
index d55461b..26dc5d8 100644
|
|
--- a/setfattr/Makefile
|
|
+++ b/setfattr/Makefile
|
|
@@ -30,6 +30,6 @@ default: $(LTCOMMAND)
|
|
include $(BUILDRULES)
|
|
|
|
install: default
|
|
- $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
|
|
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
|
|
+ install -D -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
|
|
+
|
|
install-dev install-lib:
|
|
--
|
|
2.14.1
|
|
|