File 0161-otp-Fix-prebuild-to-work-better-with-doc-chunks.patch of Package erlang

From 4bdab0f25d2d892adffe4cdcac6aa11e5fc5e156 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Wed, 7 Apr 2021 11:19:30 +0200
Subject: [PATCH 1/2] otp: Fix prebuild to work better with doc chunks

The doc chunks would be rebuilt because the timestamps
of the bootstrap files that they depend on are updated.
By using -p to cp we preserve the timestamps and the
doc chunks are no longer re-built.
---
 Makefile.in | 110 ++++++++++++++++++++++++++--------------------------
 1 file changed, 55 insertions(+), 55 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 0368a1b829..b8c07a31f1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -619,9 +619,9 @@ tiny_secondary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 	$(V_at)for x in lib/parsetools/include/*.hrl; do \
@@ -629,9 +629,9 @@ tiny_secondary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/include/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl ; fi
@@ -642,9 +642,9 @@ tiny_secondary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/sasl/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 
@@ -658,23 +658,23 @@ secondary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
-#	$(V_at)cp lib/parsetools/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/ebin
+#	$(V_at)${INSTALL_DATA} -p lib/parsetools/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/ebin
 	$(V_at)for x in lib/parsetools/include/*.hrl; do \
 		BN=`basename $$x`; \
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/include/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
-#	$(V_at)cp -f lib/parsetools/include/*.hrl $(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/include
+#	$(V_at)${INSTALL_DATA} -p -f lib/parsetools/include/*.hrl $(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/include
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1 ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1 ; fi
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/ebin ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/ebin ; fi
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/src ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/src ; fi
@@ -683,23 +683,23 @@ secondary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
-#	$(V_at)cp lib/asn1/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/ebin
+#	$(V_at)${INSTALL_DATA} -p lib/asn1/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/ebin
 	$(V_at)for x in lib/asn1/src/*.[eh]rl; do \
 		BN=`basename $$x`; \
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/src/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
-#	$(V_at)cp -f lib/asn1/src/*.erl lib/asn1/src/*.hrl $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/src
+#	$(V_at)${INSTALL_DATA} -p -f lib/asn1/src/*.erl lib/asn1/src/*.hrl $(BOOTSTRAP_ROOT)/bootstrap/lib/asn1/src
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/xmerl ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/xmerl ; fi
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/xmerl/include ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/xmerl/include ; fi
 	$(V_at)for x in lib/xmerl/include/*.hrl; do \
@@ -707,9 +707,9 @@ secondary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/xmerl/include/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 
@@ -728,12 +728,12 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/snmp/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
-#	$(V_at)cp lib/snmp/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/snmp/ebin
+#	$(V_at)${INSTALL_DATA} -p lib/snmp/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/snmp/ebin
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl ; fi
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl/ebin ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl/ebin ; fi
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl/include ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl/include ; fi
@@ -757,12 +757,12 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/sasl/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
-#	$(V_at)cp lib/sasl/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl/ebin
+#	$(V_at)${INSTALL_DATA} -p lib/sasl/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/sasl/ebin
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/syntax_tools ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/syntax_tools ; fi
 	$(V_at)if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/syntax_tools/ebin ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/syntax_tools/ebin ; fi
 	$(V_at)for x in lib/syntax_tools/ebin/*.beam; do \
@@ -770,9 +770,9 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/syntax_tools/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 	$(V_at)for x in lib/wx/include/*.hrl; do \
@@ -780,9 +780,9 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/wx/include/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 #       copy wx_object to remove undef behaviour warnings
@@ -791,9 +791,9 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/wx/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 
@@ -803,9 +803,9 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/common_test/include/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 
@@ -815,9 +815,9 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/runtime_tools/include/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 #	copy erl_interface includes
@@ -826,9 +826,9 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/erl_interface/include/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 #	copy jinterface priv directory
@@ -837,9 +837,9 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/jinterface/priv/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 	$(V_at)for x in lib/jinterface/priv/com/ericsson/otp/erlang/*; do \
@@ -847,12 +847,12 @@ tertiary_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/jinterface/priv/com/ericsson/otp/erlang/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
-#	$(V_at)cp lib/syntax_tools/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/syntax_tools/ebin
+#	$(V_at)${INSTALL_DATA} -p lib/syntax_tools/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/syntax_tools/ebin
 
 doc_bootstrap_build:
 	$(make_verbose)cd lib && \
@@ -869,9 +869,9 @@ doc_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/xmerl/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 #       xmerl/include already copied in secondary bootstrap
@@ -884,9 +884,9 @@ doc_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/edoc/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 	$(V_at)for x in lib/edoc/include/*.hrl; do \
@@ -894,9 +894,9 @@ doc_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/edoc/include/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 #       ERL_DOCGEN
@@ -907,9 +907,9 @@ doc_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/erl_docgen/ebin/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	done
 	$(V_at)for d in priv priv/bin priv/css priv/dtd priv/dtd_html_entities priv/dtd_man_entities priv/images priv/js priv/js/flipmenu priv/xsl; do \
@@ -920,9 +920,9 @@ doc_bootstrap_copy:
 		TF=$(BOOTSTRAP_ROOT)/bootstrap/lib/erl_docgen/$$d/$$BN; \
 		test -f  $$TF && \
 		test '!' -z "`find $$x -newer $$TF -print`" && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		test '!' -f $$TF && \
-			cp $$x $$TF; \
+			${INSTALL_DATA} -p $$x $$TF; \
 		true; \
 	   fi; \
 	  done; \
@@ -1037,8 +1037,8 @@ primary_bootstrap_mkdirs:
 
 primary_bootstrap_copy:
 	$(make_verbose)
-	$(V_at)cp -f lib/kernel/include/*.hrl $(BOOTSTRAP_TOP)/lib/kernel/include
-	$(V_at)cp -f lib/stdlib/include/*.hrl $(BOOTSTRAP_TOP)/lib/stdlib/include
+	$(V_at)${INSTALL_DATA} -p -f lib/kernel/include/*.hrl $(BOOTSTRAP_TOP)/lib/kernel/include
+	$(V_at)${INSTALL_DATA} -p -f lib/stdlib/include/*.hrl $(BOOTSTRAP_TOP)/lib/stdlib/include
 
 # To remove modules left by the bootstrap building, but leave (restore)
 # the modules in kernel which are needed for an emulator build
-- 
2.26.2

openSUSE Build Service is sponsored by