File 3862-otp-Make-sure-filelib-find_source-finds-all-sources.patch of Package erlang

From a7ecc5be47bfc09475c17dbd760f96e5669ba192 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Mon, 31 Jan 2022 15:40:56 +0100
Subject: [PATCH 2/2] otp: Make sure filelib:find_source finds all sources

Adjust eunit and public_key to place sources in the correct
folders during a release so that filelib:find_source can
find them.

Also adds a test that makes sure that we don't break this in
the future.

Closes #5655
---
 lib/eunit/src/Makefile            |  2 +-
 lib/public_key/.gitignore         |  8 +++++---
 lib/public_key/asn1/Makefile      | 31 ++++++++++++++++--------------
 lib/stdlib/test/filelib_SUITE.erl | 32 +++++++++++++++++++++++++++----
 4 files changed, 51 insertions(+), 22 deletions(-)

diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
index 4ec5af6988..f4eaf6807a 100644
--- a/lib/eunit/src/Makefile
+++ b/lib/eunit/src/Makefile
@@ -121,7 +121,7 @@ release_spec: opt
 	$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
 	$(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin"
 	$(INSTALL_DIR) "$(RELSYSDIR)/src"
-	$(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) "$(RELSYSDIR)/src"
+	$(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) $(BEHAVIOUR_SOURCES) "$(RELSYSDIR)/src"
 	$(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
 	$(INSTALL_DIR) "$(RELSYSDIR)/include"
 	$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
index 02903a2d84..c5f539519e 100644
--- a/lib/public_key/asn1/Makefile
+++ b/lib/public_key/asn1/Makefile
@@ -18,6 +18,9 @@
 # %CopyrightEnd%
 #
 
+EGEN = ../src
+ESRC = ../src
+
 include $(ERL_TOP)/make/target.mk
 include $(ERL_TOP)/make/$(TARGET)/otp.mk
 
@@ -39,28 +42,26 @@ RELSYSDIR = $(RELEASE_PATH)/lib/public_key-$(VSN)
 .SUFFIXES: .asn1
 .PRECIOUS: %.erl
 
+INCLUDE = ../include
+EBIN = ../ebin
+
 ASN_TOP = OTP-PUB-KEY PKCS-FRAME
 ASN_MODULES = PKIX1Explicit88 PKIX1Implicit88 PKIX1Algorithms88 \
 	PKIXAttributeCertificate PKCS-1 PKCS-3 PKCS-7 PKCS-8 PKCS-10 PKCS5v2-0 OTP-PKIX \
 	InformationFramework RFC5639
 ASN_ASNS = $(ASN_MODULES:%=%.asn1)
-ASN_ERLS = $(ASN_TOP:%=%.erl)
+ASN_ERLS = $(ASN_TOP:%=$(ESRC)/%.erl)
 ASN_HRLS = $(ASN_TOP:%=%.hrl)
 ASN_CONFIGS = OTP-PUB-KEY.asn1config
 ASN_DBS = $(ASN_MODULES:%=%.asn1db) OTP-PUB-KEY.asn1db  
 ASN_TABLES = $(ASN_MODULES:%=%.table)
 
-GEN_MODULES = 
-GEN_ERLS    = $(GEN_MODULES:%=%.erl)
 ERL_MODULES = $(ASN_TOP) $(GEN_MODULES)
 
 TARGET_FILES= $(ERL_MODULES:%=$(EBIN)/%.$(EMULATOR))
 
 HRL_FILES = $(ASN_HRLS:%=$(INCLUDE)/%)
 
-INCLUDE = ../include
-EBIN = ../ebin
-
 # ----------------------------------------------------
 # FLAGS
 # ----------------------------------------------------
@@ -76,15 +77,15 @@ ASN_FLAGS = -bber +der +noobj +asn1config
 debug opt: $(TARGET_FILES) $(HRL_FILES)
 
 clean:
-	-rm -f $(ASN_ERLS) $(GEN_ERLS) $(ASN_HRLS) $(HRL_FILES) $(ASN_DBS) \
+	-rm -f $(ASN_ERLS) $(ASN_HRLS) $(HRL_FILES) $(ASN_DBS) \
 		$(ASN_TABLES)  $(TARGET_FILES) *.beam *~
 
 docs:
 
-%.erl %.hrl: %.set.asn
-	$(asn_verbose)erlc $(ASN_FLAGS) $<
+$(ESRC)/%.erl $(ESRC)/%.hrl: %.set.asn
+	$(asn_verbose)erlc $(ASN_FLAGS) -o $(ESRC) $<
 
-$(INCLUDE)/%.hrl: %.hrl
+$(INCLUDE)/%.hrl: $(ESRC)/%.hrl
 	$(gen_verbose)cp -p $<  $@
 
 # ----------------------------------------------------
@@ -96,8 +97,10 @@ release_spec: opt
 	$(INSTALL_DIR) "$(RELSYSDIR)/include"
 	$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
 	$(INSTALL_DIR) "$(RELSYSDIR)/asn1"
-	$(INSTALL_DATA) $(ASN_ASNS) $(ASN_ERLS) $(ASN_HRLS) $(ASN_CONFIGS) \
-		 $(GEN_ERLS) "$(RELSYSDIR)/asn1"
+	$(INSTALL_DATA) $(ASN_ASNS) $(ASN_CONFIGS) \
+		  "$(RELSYSDIR)/asn1"
+	$(INSTALL_DIR) "$(RELSYSDIR)/src"
+	$(INSTALL_DATA) $(ASN_ERLS) "$(RELSYSDIR)/src"
 	$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
 	$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
 
@@ -106,7 +109,7 @@ release_docs_spec:
 #
 # Dependencies
 
-$(EBIN)/OTP-PUB-KEY.beam: 	OTP-PUB-KEY.erl OTP-PUB-KEY.hrl
+$(EBIN)/OTP-PUB-KEY.beam: 	$(ESRC)/OTP-PUB-KEY.erl $(INCLUDE)/OTP-PUB-KEY.hrl
 OTP-PUB-KEY.erl OTP-PUB-KEY.hrl:	OTP-PUB-KEY.asn1db
 OTP-PUB-KEY.asn1db:		PKIX1Algorithms88.asn1 \
 				PKIX1Explicit88.asn1 \
@@ -120,7 +123,7 @@ OTP-PUB-KEY.asn1db:		PKIX1Algorithms88.asn1 \
 				OTP-PKIX.asn1 \
 				RFC5639.asn1
 
-$(EBIN)/PKCS-FRAME.beam: 	        PKCS-FRAME.erl PKCS-FRAME.hrl
+$(EBIN)/PKCS-FRAME.beam: 	        $(ESRC)/PKCS-FRAME.erl $(INCLUDE)/PKCS-FRAME.hrl
 PKCS-FRAME.erl PKCS-FRAME.hrl:		PKCS-FRAME.asn1db
 PKCS-FRAME.asn1db:			PKCS5v2-0.asn1\
 					PKCS-8.asn1\
-- 
2.34.1

openSUSE Build Service is sponsored by