|
@@ -0,0 +1,50 @@
|
|
|
+From dc507a812d931c24f1ac98c811fdd29bffa21da9 Mon Sep 17 00:00:00 2001
|
|
|
+From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
|
|
|
+Date: Tue, 24 Aug 2021 00:36:40 +0200
|
|
|
+Subject: [PATCH] libcap/Makefile: don't overwrite 'empty' when generating
|
|
|
+ loader.txt
|
|
|
+
|
|
|
+objcopy takes an input file and an output file as arguments. If the
|
|
|
+output file is left out, the input file will be overwritten.
|
|
|
+
|
|
|
+Since the objcopy command used to generate loader.txt only does a
|
|
|
+dump-section and no filtering, in practice there is no change to empty.
|
|
|
+However, as a side-effect, its timestamp is updated. The timestamp of
|
|
|
+empty and of loader.txt will be more or less the same; however,
|
|
|
+loader.txt is closed just before the output file is closed, so it's
|
|
|
+possible that the timestamp of loader.txt is just a little bit earlier.
|
|
|
+If this happens, it causes loader.txt to be rebuilt later, which in turn
|
|
|
+causes a number of other object files to be rebuilt.
|
|
|
+
|
|
|
+Usually that's harmless, but it sometimes causes the rebuild to happen
|
|
|
+during 'make install'. This is particularly annoying if 'make install'
|
|
|
+is done as root, since loader.txt becomes owned by root in that case.
|
|
|
+
|
|
|
+Fix this by specifying a harmless output file: /dev/null.
|
|
|
+
|
|
|
+While we're at it, take in an upstream change that removes the redundant
|
|
|
+redirect.
|
|
|
+
|
|
|
+Fixes: ee3b25c0a877fa74d1aec88f325ac45b09963c82
|
|
|
+
|
|
|
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
|
|
+---
|
|
|
+ libcap/Makefile | 2 +-
|
|
|
+ 1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
+
|
|
|
+diff --git a/libcap/Makefile b/libcap/Makefile
|
|
|
+index 47cf8f4..18e4f4f 100644
|
|
|
+--- a/libcap/Makefile
|
|
|
++++ b/libcap/Makefile
|
|
|
+@@ -105,7 +105,7 @@ empty: empty.c
|
|
|
+ $(CC) -o $@ $<
|
|
|
+
|
|
|
+ loader.txt: empty
|
|
|
+- $(OBJCOPY) --dump-section .interp=/dev/stdout $< > $@
|
|
|
++ $(OBJCOPY) --dump-section .interp=$@ $< /dev/null
|
|
|
+
|
|
|
+ cap_magic.o: execable.h execable.c loader.txt
|
|
|
+ $(CC) $(CFLAGS) $(IPATH) -DLIBRARY_VERSION=\"$(LIBTITLE)-$(VERSION).$(MINOR)\" -DSHARED_LOADER=\"$(shell cat loader.txt)\" -c execable.c -o $@
|
|
|
+--
|
|
|
+2.31.1
|
|
|
+
|