diff --git a/erlang-configure-c99.patch b/erlang-configure-c99.patch new file mode 100644 index 0000000..e7abc79 --- /dev/null +++ b/erlang-configure-c99.patch @@ -0,0 +1,89 @@ +Configure changes to adjust to stricter C99 compilers: Avoid +implicit function declarations, and define main as returning int. + +Submitted upstream: + +diff --git a/erts/configure b/erts/configure +index 815428caaf61c914..7d057e69ae5e3a93 100755 +--- a/erts/configure ++++ b/erts/configure +@@ -20529,6 +20529,9 @@ else $as_nop + #ifdef HAVE_MALLOC_H + # include + #endif ++#ifdef HAVE_UNISTD_H ++# include ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) +@@ -24437,10 +24440,13 @@ else $as_nop + /* end confdefs.h. */ + + #include +-main() ++#ifdef HAVE_FCNTL_H ++#include ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -24449,9 +24455,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + +diff --git a/erts/configure.ac b/erts/configure.ac +index ab2ee78acdca211e..f658b66e3c0e508a 100644 +--- a/erts/configure.ac ++++ b/erts/configure.ac +@@ -2436,6 +2436,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], + #ifdef HAVE_MALLOC_H + # include + #endif ++#ifdef HAVE_UNISTD_H ++# include ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) +@@ -3033,10 +3036,13 @@ poll_works=no + + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include +-main() ++#ifdef HAVE_FCNTL_H ++#include ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -3045,9 +3051,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + ]])],[poll_works=yes],[poll_works=no],[ diff --git a/erlang.spec b/erlang.spec index 878fb41..c7175e7 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,13 +68,15 @@ Name: erlang -Version: 26.2.5.16 +Version: 25.3.2.7 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment -License: Apache-2.0 +License: ASL 2.0 URL: https://www.erlang.org -VCS: git:https://github.com/erlang/otp.git +%if ! (0%{?rhel} && 0%{?rhel} <= 6) +VCS: scm:git:https://github.com/erlang/otp +%endif Source0: https://github.com/erlang/otp/archive/OTP-%{version}/otp-OTP-%{version}.tar.gz Source5: epmd.service Source6: epmd.socket @@ -103,16 +105,17 @@ Patch2: otp-0002-Remove-rpath.patch Patch3: otp-0003-Do-not-install-C-sources.patch Patch4: otp-0004-Do-not-install-Java-sources.patch Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch -Patch6: otp-0006-Add-extra-search-directory.patch -Patch7: otp-0007-Avoid-forking-sed-to-get-basename.patch -Patch8: otp-0008-Load-man-pages-from-system-wide-directory.patch -Patch9: otp-0009-Add-GDB-tools.patch +Patch6: otp-0006-Do-not-install-erlang-sources.patch +Patch7: otp-0007-Add-extra-search-directory.patch +Patch8: otp-0008-Avoid-forking-sed-to-get-basename.patch +Patch9: otp-0009-Load-man-pages-from-system-wide-directory.patch +Patch10: otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +Patch11: otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch +Patch12: otp-0012-Revert-Do-not-install-erlang-sources.patch # end of autogenerated patch tag list BuildRequires: gcc BuildRequires: gcc-c++ -# For gdb-tools -BuildRequires: gdb BuildRequires: flex BuildRequires: make @@ -123,11 +126,13 @@ BuildRequires: erlang %endif %endif +%if ! (0%{?rhel} && 0%{?rhel} <= 6) # for BuildRequires: systemd-devel BuildRequires: systemd %{?systemd_requires} Requires: systemd +%endif BuildRequires: autoconf BuildRequires: automake #BuildRequires: erlang-rpm-macros @@ -242,10 +247,10 @@ A byte code compiler for Erlang which produces highly compact code. %package crypto Summary: Cryptographical support -BuildRequires: pkgconfig(openssl) -%if 0%{?fedora} > 40 -BuildRequires: openssl-devel-engine -%endif +#BuildRequires: pkgconfig(openssl) +# FIXME there is something wrong with OpenSSL 3.0 support in Erlang right now. +# We have to fallback to OpenSSL1 explicitly. +BuildRequires: openssl1.1-devel Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -352,6 +357,7 @@ BuildRequires: m4 BuildRequires: ncurses-devel BuildRequires: zlib-devel # epmd user, epmd group +Requires(pre): shadow-utils Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Requires: lksctp-tools @@ -360,10 +366,9 @@ Requires: lksctp-tools Provides: erlang(erl_drv_version) = 3.3 # See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version). #Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt) -Provides: erlang(erl_nif_version) = 2.17 +# FIXME has to be 2.16 +Provides: erlang(erl_nif_version) = 2.16 Provides: bundled(pcre) = 8.44 -# git commit 965d19506ff2aed72e039b8c650b6ef5e9446b8c -Provides: bundled(asmjit) Obsoletes: erlang-appmon Obsoletes: erlang-docbuilder Obsoletes: erlang-gs @@ -415,7 +420,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description examples Examples for some Erlang modules. -%endif # __with_examples +%endif %{__with_examples} %package ftp Summary: FTP client @@ -426,14 +431,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description ftp FTP client. -%package gdb-tools -Summary: GDB plugin -License: GPL-3.0-or-later -Requires: gdb - -%description gdb-tools -GDB plugin. - %package inets Summary: A set of services such as a Web server and a HTTP client etc Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -704,7 +701,7 @@ Summary: A set of programming tools including a coverage analyzer etc %if %{__with_emacs} BuildRequires: emacs BuildRequires: emacs-el -%endif # __with_emacs +%endif %{__with_emacs} Requires: %{name}-compiler%{?_isa} = %{version}-%{release} Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-inets%{?_isa} = %{version}-%{release} @@ -715,7 +712,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Requires: emacs-filesystem Obsoletes: emacs-erlang Obsoletes: emacs-erlang-el -%endif # __with_emacs +%endif %{__with_emacs} %description tools @@ -753,11 +750,6 @@ Provides support for XML 1.0. # remove shipped zlib sources #rm -f erts/emulator/zlib/*.[ch] -# Create a sysusers.d config file -cat >erlang.sysusers.conf </dev/null || groupadd -r epmd +getent passwd epmd >/dev/null || \ +useradd -r -g epmd -d /dev/null -s /sbin/nologin \ +-c "Erlang Port Mapper Daemon" epmd 2>/dev/null || : %files @@ -1071,14 +1053,14 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %files dialyzer %{_bindir}/dialyzer # FIXME FIXME FIXME this must be installed properly!!!!!! -%{_bindir}/erlang-typer +%{_bindir}/typer %{_libdir}/erlang/bin/dialyzer %{_libdir}/erlang/bin/typer %{_libdir}/erlang/erts-*/bin/dialyzer %{_libdir}/erlang/erts-*/bin/typer %{_libdir}/erlang/lib/dialyzer-*/ %if %{with doc} -%{_mandir}/man1/erlang-typer.* +%{_mandir}/man1/typer.* %{_mandir}/man3/dialyzer.* %endif %endif # __with_wxwidgets @@ -1232,11 +1214,12 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %endif %{_libdir}/erlang/releases/* %{_libdir}/erlang/usr/ +%if ! (0%{?rhel} && 0%{?rhel} <= 6) %{_unitdir}/epmd.service %{_unitdir}/epmd.socket %{_unitdir}/epmd@.service %{_unitdir}/epmd@.socket -%{_sysusersdir}/erlang.conf +%endif %if %{__with_wxwidgets} %files et @@ -1292,7 +1275,7 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %if %{__with_wxwidgets} %{_libdir}/erlang/lib/wx-*/examples/ %endif # __with_wxwidgets -%endif # __with_examples +%endif %{__with_examples} %files ftp %dir %{_libdir}/erlang/lib/ftp-*/ @@ -1302,9 +1285,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/ftp.* %endif -%files gdb-tools -%{_libdir}/gdb/jit-reader.so - %files inets %dir %{_libdir}/erlang/lib/inets-*/ %{_libdir}/erlang/lib/inets-*/ebin @@ -1376,6 +1356,7 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/pg.* %{_mandir}/man3/rpc.* %{_mandir}/man3/seq_trace.* +%{_mandir}/man3/user.* %{_mandir}/man3/wrap_log_reader.* %{_mandir}/man3/zlib_stub.* %{_mandir}/man4/app.* @@ -1481,6 +1462,7 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %if %{with doc} %{_mandir}/man3/dbg.* %{_mandir}/man3/dyntrace.* +%{_mandir}/man3/erts_alloc_config.* %{_mandir}/man3/msacc.* %{_mandir}/man3/system_information.* %{_mandir}/man6/runtime_tools.* @@ -1608,7 +1590,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_libdir}/erlang/lib/stdlib-*/include %{_libdir}/erlang/lib/stdlib-*/src %if %{with doc} -%{_mandir}/man3/argparse.* %{_mandir}/man3/array.* %{_mandir}/man3/base64.* %{_mandir}/man3/beam_lib.* @@ -1619,8 +1600,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/dict.* %{_mandir}/man3/digraph.* %{_mandir}/man3/digraph_utils.* -%{_mandir}/man3/edlin.* -%{_mandir}/man3/edlin_expand.* %{_mandir}/man3/epp.* %{_mandir}/man3/erl_anno.* %{_mandir}/man3/erl_error.* @@ -1727,7 +1706,7 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_emacs_sitelispdir}/erlang/*.el %{_emacs_sitelispdir}/erlang/*.elc %{_emacs_sitestartdir}/erlang-init.el -%endif # __with_emacs +%endif %{__with_emacs} %if %{__with_wxwidgets} %files wx @@ -1992,110 +1971,26 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %changelog -* Wed Sep 10 2025 Peter Lemenkov - 26.2.5.15-1 -- Ver. 26.2.5.15 +* Fri Oct 13 2023 Peter Lemenkov - 25.3.2.7-1 +- Ver. 25.3.2.7 -* Wed Jul 23 2025 Fedora Release Engineering - 26.2.5.14-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild +* Sat Sep 9 2023 Peter Lemenkov - 25.3.2.6-1 +- Ver. 25.3.2.6 -* Thu Jul 17 2025 Peter Lemenkov - 26.2.5.14-1 -- Ver. 26.2.5.14 +* Mon Jul 31 2023 Peter Lemenkov - 25.3.2.5-1 +- Ver. 25.3.2.5 -* Fri Jun 20 2025 Peter Lemenkov - 26.2.5.13-3 -- Add GDB tools +* Mon Jul 17 2023 Peter Lemenkov - 25.3.2.4-1 +- Ver. 25.3.2.4 -* Wed Jun 18 2025 Benjamin A. Beasley - 26.2.5.13-2 -- Rename typer (in /usr/bin) to erlang-typer; fixes RHBZ#2359567 +* Sat Jul 1 2023 Peter Lemenkov - 25.3.2.3-1 +- Ver. 25.3.2.3 -* Mon Jun 16 2025 Peter Lemenkov - 26.2.5.13-1 -- Ver. 26.2.5.13 +* Wed Jun 7 2023 Peter Lemenkov - 25.3.2.2-1 +- Ver. 25.3.2.2 -* Thu May 8 2025 Peter Lemenkov - 26.2.5.12-1 -- Ver. 26.2.5.12 - -* Wed Apr 16 2025 Peter Lemenkov - 26.2.5.11-1 -- Ver. 26.2.5.11 - -* Fri Mar 28 2025 Peter Lemenkov - 26.2.5.10-1 -- Ver. 26.2.5.10 - -* Mon Mar 10 2025 Zbigniew Jedrzejewski-Szmek - 26.2.5.9-2 -- Add sysusers.d config file to allow rpm to create users/groups automatically - -* Thu Feb 13 2025 Peter Lemenkov - 26.2.5.8-1 -- Ver. 26.2.5.8 - -* Tue Feb 11 2025 Peter Lemenkov - 26.2.5.7-1 -- Ver. 26.2.5.7 - -* Thu Jan 16 2025 Fedora Release Engineering - 26.2.5.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Dec 7 2024 Peter Lemenkov - 26.2.5.6-1 -- Ver. 26.2.5.6 - -* Fri Nov 1 2024 Peter Lemenkov - 26.2.5.5-1 -- Ver. 26.2.5.5 - -* Wed Oct 9 2024 Peter Lemenkov - 26.2.5.4-1 -- Ver. 26.2.5.4 - -* Thu Sep 5 2024 Peter Lemenkov - 26.2.5.3-1 -- Ver. 26.2.5.3 - -* Wed Jul 17 2024 Fedora Release Engineering - 26.2.5.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jul 10 2024 Peter Lemenkov - 26.2.5.2-1 -- Ver. 26.2.5.2 - -* Wed Jun 26 2024 Peter Lemenkov - 26.2.5.1-1 -- Ver. 26.2.5.1 - -* Sat May 4 2024 Peter Lemenkov - 26.2.5-1 -- Ver. 26.2.5 - -* Sat Apr 13 2024 Peter Lemenkov - 26.2.4-1 -- Ver. 26.2.4 - -* Mon Feb 12 2024 Peter Lemenkov - 26.2.2-1 -- Ver. 26.2.2 - -* Wed Jan 24 2024 Fedora Release Engineering - 26.2.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 26.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Dec 18 2023 Peter Lemenkov - 26.2.1-1 -- Ver. 26.2.1 - -* Wed Dec 13 2023 Peter Lemenkov - 26.2-1 -- Ver. 26.2 - -* Fri Oct 13 2023 Peter Lemenkov - 26.1.2-1 -- Ver. 26.1.2 - -* Fri Sep 29 2023 Peter Lemenkov - 26.1.1-1 -- Ver. 26.1.1 - -* Wed Sep 20 2023 Peter Lemenkov - 26.1-1 -- Ver. 26.1 - -* Tue Aug 8 2023 Peter Lemenkov - 26.0.2-3 -- Reenable OpenSSL 3 - -* Wed Jul 19 2023 Fedora Release Engineering - 26.0.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jul 1 2023 Peter Lemenkov - 26.0.2-1 -- Ver. 26.0.2 - -* Fri Jun 9 2023 Peter Lemenkov - 26.0.1-1 -- Ver. 26.0.1 - -* Sat May 20 2023 Peter Lemenkov - 26.0-1 -- Ver. 26.0 +* Tue May 30 2023 Peter Lemenkov - 25.3.2.1-1 +- Ver. 25.3.2.1 * Sat May 6 2023 Peter Lemenkov - 25.3.2-1 - Ver. 25.3.2 diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch index 270792a..96f0494 100644 --- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch +++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous Signed-off-by: Peter Lemenkov diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in -index 42af9c87dc..c017e0a4ed 100644 +index 86f63dcf41..b74c789775 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in -@@ -552,10 +552,6 @@ endif +@@ -555,10 +555,6 @@ endif ifneq ($(INSTALL_TOP_BIN),) $(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)" endif diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch index 5cadc0c..b906050 100644 --- a/otp-0002-Remove-rpath.patch +++ b/otp-0002-Remove-rpath.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Remove rpath Signed-off-by: Peter Lemenkov diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in -index aedc9e7a13..b27c2aa01b 100644 +index 25167a8a3a..2345970fa9 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in @@ -147,7 +147,7 @@ endif diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch index 23056c4..bb55157 100644 --- a/otp-0003-Do-not-install-C-sources.patch +++ b/otp-0003-Do-not-install-C-sources.patch @@ -27,10 +27,10 @@ index 82a6b6e87a..5f2fe8ba7d 100644 release_docs_spec: diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in -index fa1ea3cd39..b977b6afe5 100644 +index 0a5ae800be..2cc354c43e 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in -@@ -715,13 +715,11 @@ ifeq (@DYNAMIC_LIB@, yes) +@@ -712,13 +712,11 @@ ifeq (@DYNAMIC_LIB@, yes) endif $(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin" $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src" diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch new file mode 100644 index 0000000..e40945b --- /dev/null +++ b/otp-0006-Do-not-install-erlang-sources.patch @@ -0,0 +1,660 @@ +From: Hans Ulrich Niedermann +Date: Mon, 21 Mar 2011 15:41:49 +0100 +Subject: [PATCH] Do not install erlang sources + +Don't install *.erl, *.xrl, *.yrl, and *.asn1 files at all. + +Signed-off-by: Peter Lemenkov +Signed-off-by: Hans Ulrich Niedermann + +diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile +index 1994aa1302..007b7d44bd 100644 +--- a/erts/preloaded/src/Makefile ++++ b/erts/preloaded/src/Makefile +@@ -117,8 +117,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: $(APP_TARGET) +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(BEAM_FILES) $(STUBS_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin" + +diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile +index 9e13d02c8a..77ba98c2f8 100644 +--- a/lib/asn1/src/Makefile ++++ b/lib/asn1/src/Makefile +@@ -157,7 +157,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" + $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples" + +diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile +index 00f13589f3..5bf4e50f14 100644 +--- a/lib/common_test/src/Makefile ++++ b/lib/common_test/src/Makefile +@@ -157,7 +157,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/common_test/test_server/Makefile b/lib/common_test/test_server/Makefile +index 4ff5e678ee..4e3fa5c60f 100644 +--- a/lib/common_test/test_server/Makefile ++++ b/lib/common_test/test_server/Makefile +@@ -83,9 +83,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_tests_spec: opt + $(INSTALL_DIR) "$(RELEASE_PATH)/test_server" +- $(INSTALL_DATA) $(TS_ERL_FILES) $(TS_HRL_FILES) \ ++ $(INSTALL_DATA) $(TS_HRL_FILES) \ + $(TS_TARGET_FILES) \ +- $(AUTOCONF_FILES) $(CONFIG) \ ++ $(CONFIG) \ + "$(RELEASE_PATH)/test_server" + $(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server" + +diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile +index d801d6baa0..4eed19b516 100644 +--- a/lib/compiler/src/Makefile ++++ b/lib/compiler/src/Makefile +@@ -188,8 +188,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ +- $(YRL_FILE) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ ++ "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile +index 893f679390..6f8a329421 100644 +--- a/lib/crypto/src/Makefile ++++ b/lib/crypto/src/Makefile +@@ -81,8 +81,6 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile +index 2fb955b2e3..6ddce27ec1 100644 +--- a/lib/debugger/src/Makefile ++++ b/lib/debugger/src/Makefile +@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile +index c934ecdc2b..cc266f48e2 100644 +--- a/lib/dialyzer/src/Makefile ++++ b/lib/dialyzer/src/Makefile +@@ -162,7 +162,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ ++ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ + "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile +index 75e23d4191..7097541548 100644 +--- a/lib/diameter/src/Makefile ++++ b/lib/diameter/src/Makefile +@@ -266,11 +266,8 @@ release_spec: opt + $(MAKE) ERL_DETERMINISTIC=$(ERL_DETERMINISTIC) $(EXAMPLE_DIRS:%/=release_examples_%) + + $(TARGET_DIRS:%/=release_src_%): release_src_%: +- $(INSTALL_DIR) "$(RELSYSDIR)/src/$*" +- $(INSTALL_DATA) $(filter $*/%, $(TARGET_MODULES:%=%.erl) \ +- $(INTERNAL_HRLS)) \ +- $(filter $*/%, compiler/$(DICT_YRL).yrl) \ +- "$(RELSYSDIR)/src/$*" ++ $(INSTALL_DATA) $(filter $*/%, $(INTERNAL_HRLS)) \ ++ "$(RELSYSDIR)/src/$*" || true + + $(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%: + $(INSTALL_DIR) "$(RELSYSDIR)/examples/$*" +diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile +index a455662049..e5b2f886ed 100644 +--- a/lib/edoc/src/Makefile ++++ b/lib/edoc/src/Makefile +@@ -87,7 +87,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(SOURCES) $(HRL_FILES) $(YRL_FILE) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + + release_docs_spec: + +diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile +index 04a84a4766..78fc4a9687 100644 +--- a/lib/eldap/src/Makefile ++++ b/lib/eldap/src/Makefile +@@ -98,13 +98,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +- $(INSTALL_DATA) $(ASN1_HRL) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" +- $(INSTALL_DIR) "$(RELSYSDIR)/asn1" +- $(INSTALL_DATA) ../asn1/$(ASN1_FILES) "$(RELSYSDIR)/asn1" ++ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +- $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + + release_docs_spec: + +diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile +index 458094e35f..cc3368ad02 100644 +--- a/lib/erl_docgen/src/Makefile ++++ b/lib/erl_docgen/src/Makefile +@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile +index fc66cc1eaf..a567965ed4 100644 +--- a/lib/et/src/Makefile ++++ b/lib/et/src/Makefile +@@ -109,7 +109,6 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile +index f4eaf6807a..2a49a2ca7a 100644 +--- a/lib/eunit/src/Makefile ++++ b/lib/eunit/src/Makefile +@@ -121,7 +121,6 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(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/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile +index 62f62792f0..ca4b539017 100644 +--- a/lib/inets/src/http_client/Makefile ++++ b/lib/inets/src/http_client/Makefile +@@ -92,7 +92,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_client" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_client" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_client" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile +index 481c4f66eb..896a806695 100644 +--- a/lib/inets/src/http_lib/Makefile ++++ b/lib/inets/src/http_lib/Makefile +@@ -90,7 +90,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_lib" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_lib" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_lib" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile +index abf8413f33..42925ba58f 100644 +--- a/lib/inets/src/http_server/Makefile ++++ b/lib/inets/src/http_server/Makefile +@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_server" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_server" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_server" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile +index 405e86105a..a8b932772a 100644 +--- a/lib/inets/src/inets_app/Makefile ++++ b/lib/inets/src/inets_app/Makefile +@@ -114,7 +114,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/inets_app" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/inets_app" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile +index 2149e89776..891d3e6f6a 100644 +--- a/lib/kernel/src/Makefile ++++ b/lib/kernel/src/Makefile +@@ -229,7 +229,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/megaco/src/app/Makefile b/lib/megaco/src/app/Makefile +index c681b88428..8cb286181a 100644 +--- a/lib/megaco/src/app/Makefile ++++ b/lib/megaco/src/app/Makefile +@@ -114,7 +114,7 @@ release_spec: opt + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/app" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile +index 9ecb649f0c..3ca5654eb3 100644 +--- a/lib/megaco/src/binary/Makefile ++++ b/lib/megaco/src/binary/Makefile +@@ -154,7 +154,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/binary" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(ASN1_FILES) "$(RELSYSDIR)/src/binary" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/binary" + + + release_docs_spec: +diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile +index cc4974e09d..b7a7c703b3 100644 +--- a/lib/megaco/src/engine/Makefile ++++ b/lib/megaco/src/engine/Makefile +@@ -102,7 +102,7 @@ release_spec: opt + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/engine" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + + +diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in +index d8c5c68b99..2053d3297b 100644 +--- a/lib/megaco/src/flex/Makefile.in ++++ b/lib/megaco/src/flex/Makefile.in +@@ -248,7 +248,6 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src/flex" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/flex" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true) + $(INSTALL_DATA) $(FLEX_FILES) "$(RELSYSDIR)/src/flex" +diff --git a/lib/megaco/src/tcp/Makefile b/lib/megaco/src/tcp/Makefile +index ef4232244a..85cfb4b4ee 100644 +--- a/lib/megaco/src/tcp/Makefile ++++ b/lib/megaco/src/tcp/Makefile +@@ -94,7 +94,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/tcp" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" + + + release_docs_spec: +diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile +index 6872b0ec04..a097be4d48 100644 +--- a/lib/megaco/src/text/Makefile ++++ b/lib/megaco/src/text/Makefile +@@ -133,7 +133,7 @@ release_spec: opt + $(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/text" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_YRL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" + + + release_docs_spec: +diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile +index 5699c3e952..f8dcb5c681 100644 +--- a/lib/megaco/src/udp/Makefile ++++ b/lib/megaco/src/udp/Makefile +@@ -94,7 +94,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/udp" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" + + + release_docs_spec: +diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile +index 72aa054fb3..08c6c5ffc1 100644 +--- a/lib/mnesia/src/Makefile ++++ b/lib/mnesia/src/Makefile +@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile +index 2edb2ceb3e..884e69c7b7 100644 +--- a/lib/observer/src/Makefile ++++ b/lib/observer/src/Makefile +@@ -151,7 +151,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" + $(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples" +diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile +index e18628e94d..fa01850f38 100644 +--- a/lib/odbc/src/Makefile ++++ b/lib/odbc/src/Makefile +@@ -110,7 +110,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile +index ee32f3946f..2413fb68bf 100644 +--- a/lib/os_mon/src/Makefile ++++ b/lib/os_mon/src/Makefile +@@ -105,7 +105,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile +index c7971750a7..f6024f1184 100644 +--- a/lib/parsetools/src/Makefile ++++ b/lib/parsetools/src/Makefile +@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile +index c1adf58ed4..bba7cae5d6 100644 +--- a/lib/public_key/asn1/Makefile ++++ b/lib/public_key/asn1/Makefile +@@ -103,8 +103,6 @@ release_spec: opt + $(INSTALL_DIR) "$(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" + +diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile +index 9b2b442794..a5dcba4ec3 100644 +--- a/lib/public_key/src/Makefile ++++ b/lib/public_key/src/Makefile +@@ -111,8 +111,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile +index 173a557d58..6864febbc3 100644 +--- a/lib/reltool/src/Makefile ++++ b/lib/reltool/src/Makefile +@@ -100,7 +100,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile +index 8e8c4074f5..6e380e1b11 100644 +--- a/lib/runtime_tools/src/Makefile ++++ b/lib/runtime_tools/src/Makefile +@@ -99,8 +99,6 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" +diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile +index 490e03595d..739830ae3f 100644 +--- a/lib/sasl/src/Makefile ++++ b/lib/sasl/src/Makefile +@@ -94,7 +94,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/agent/Makefile.in b/lib/snmp/src/agent/Makefile.in +index 6ab9ed437a..14ae0bbc79 100644 +--- a/lib/snmp/src/agent/Makefile.in ++++ b/lib/snmp/src/agent/Makefile.in +@@ -161,7 +161,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/agent" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/agent" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/agent" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile +index f5a74aa78e..0340088eb3 100644 +--- a/lib/snmp/src/app/Makefile ++++ b/lib/snmp/src/app/Makefile +@@ -144,7 +144,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/app" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/app" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/app" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/compile/Makefile b/lib/snmp/src/compile/Makefile +index f255237a04..04232658c7 100644 +--- a/lib/snmp/src/compile/Makefile ++++ b/lib/snmp/src/compile/Makefile +@@ -141,7 +141,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" +- $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/bin" +diff --git a/lib/snmp/src/manager/Makefile b/lib/snmp/src/manager/Makefile +index 693ef75469..61b8dc4692 100644 +--- a/lib/snmp/src/manager/Makefile ++++ b/lib/snmp/src/manager/Makefile +@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/manager" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/manager" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/manager" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile +index e92506e855..8dc421d2a1 100644 +--- a/lib/snmp/src/misc/Makefile ++++ b/lib/snmp/src/misc/Makefile +@@ -125,7 +125,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/misc" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/misc" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/misc" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile +index 2fcb164301..2c7acf384d 100644 +--- a/lib/ssh/src/Makefile ++++ b/lib/ssh/src/Makefile +@@ -182,7 +182,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile +index 789bed5c3f..9cd7f7226c 100644 +--- a/lib/ssl/src/Makefile ++++ b/lib/ssl/src/Makefile +@@ -211,7 +211,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile +index 761d6c4c28..43e7a650a5 100644 +--- a/lib/stdlib/src/Makefile ++++ b/lib/stdlib/src/Makefile +@@ -230,7 +230,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) erl_parse.yrl "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/syntax_tools/src/Makefile b/lib/syntax_tools/src/Makefile +index dc0ac61734..5bb265e2c2 100644 +--- a/lib/syntax_tools/src/Makefile ++++ b/lib/syntax_tools/src/Makefile +@@ -96,8 +96,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(SOURCES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" + +diff --git a/lib/tftp/src/Makefile b/lib/tftp/src/Makefile +index cfcb1ea134..fba9cc5873 100644 +--- a/lib/tftp/src/Makefile ++++ b/lib/tftp/src/Makefile +@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile +index b05ce883ec..f8d143922d 100644 +--- a/lib/tools/src/Makefile ++++ b/lib/tools/src/Makefile +@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile +index ce14c0b6df..f052399c0f 100644 +--- a/lib/wx/src/Makefile ++++ b/lib/wx/src/Makefile +@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES) + include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/gen" +- $(INSTALL_DATA) $(GEN_HRL) $(GEN_FILES) "$(RELSYSDIR)/src/gen" ++ $(INSTALL_DATA) $(GEN_HRL) "$(RELSYSDIR)/src/gen" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile +index e7e7c8e978..37b7843605 100644 +--- a/lib/xmerl/src/Makefile ++++ b/lib/xmerl/src/Makefile +@@ -223,9 +223,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) xmerl_xpath_parse.yrl "$(RELSYSDIR)/src" +- $(INSTALL_DATA) xmerl_b64Bin.yrl "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + diff --git a/otp-0006-Add-extra-search-directory.patch b/otp-0007-Add-extra-search-directory.patch similarity index 90% rename from otp-0006-Add-extra-search-directory.patch rename to otp-0007-Add-extra-search-directory.patch index 2f872ef..cb84b30 100644 --- a/otp-0006-Add-extra-search-directory.patch +++ b/otp-0007-Add-extra-search-directory.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add extra search directory Signed-off-by: Peter Lemenkov diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl -index 7327636751..2e92e77598 100644 +index af8531271f..66050d6cdb 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl -@@ -90,11 +90,17 @@ init(Ref, Parent, [Root,Mode]) -> +@@ -79,11 +79,17 @@ init(Ref, Parent, [Root,Mode]) -> IPath = case Mode of interactive -> diff --git a/otp-0007-Avoid-forking-sed-to-get-basename.patch b/otp-0008-Avoid-forking-sed-to-get-basename.patch similarity index 100% rename from otp-0007-Avoid-forking-sed-to-get-basename.patch rename to otp-0008-Avoid-forking-sed-to-get-basename.patch diff --git a/otp-0009-Add-GDB-tools.patch b/otp-0009-Add-GDB-tools.patch deleted file mode 100644 index 462324e..0000000 --- a/otp-0009-Add-GDB-tools.patch +++ /dev/null @@ -1,464 +0,0 @@ -From: Peter Lemenkov -Date: Thu, 19 Jun 2025 13:17:52 +0200 -Subject: [PATCH] Add GDB tools - -* https://github.com/erlang/otp-gdb-tools -* Commit 7b864f58c534699e4124e31ecfda86041b941037. - -Signed-off-by: Peter Lemenkov - -diff --git a/erts/etc/unix/gdb-tools/README.md b/erts/etc/unix/gdb-tools/README.md -new file mode 100644 -index 0000000000..8a6cf92b1d ---- /dev/null -+++ b/erts/etc/unix/gdb-tools/README.md -@@ -0,0 +1,42 @@ -+# Erlang/OTP GDB Tools -+ -+This repository contains GDB tools that cannot -+be part of the main Erlang/OTP repository for licensing -+reasons. The tools are used when building and debugging -+Erlang/OTP with gdb and are installed as needed by the -+Erlang/OTP build system. -+ -+Right now the only tool in this repository is the jit-reader -+which is a plugin to gdb that allows it to read the stack of -+Erlang processes when using the JIT. This allows commands -+such as `backtrace` to show Erlang stackframes. For example: -+ -+``` -+(gdb) bt -+#0 0x00007fffa40005ee in global::call_bif_shared () -+#1 0x00007fffa411eaac in erl_eval:eval_lc1/7 () at erl_eval.erl:929 -+#2 0x00007fffa411e7bc in erl_eval:eval_lc/7 () at erl_eval.erl:917 -+#3 0x00007fffa4296528 in lists:map_1/2 () at lists.erl:2082 -+#4 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 -+#5 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 -+#6 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 -+..... -+#98 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 -+#99 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 -+#100 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 -+#101 0x00007fffa42963d4 in lists:map/2 () at lists.erl:2077 -+#102 0x00007fffa411e45c in erl_eval:do_apply/7 () at erl_eval.erl:904 -+#103 0x00007fffa45f4c58 in shell:exprs/7 () at shell.erl:893 -+#104 0x00007fffa45f42c4 in shell:eval_exprs/7 () at shell.erl:849 -+#105 0x00007fffa45f3dac in shell:eval_loop/4 () at shell.erl:834 -+#106 0x00007fffa40024b8 in erts_beamasm:normal_exit/0-CodeInfoPrologue () -+Backtrace stopped: previous frame inner to this frame (corrupt stack?) -+(gdb) -+``` -+ -+## Updates of jit-reader -+ -+When updating jit-reader you first need to update this repository -+and push the new version here. Then you need to run -+`./otp_build update_gdb_tools` in the Erlang/OTP repo for -+it to use the correct commit. -diff --git a/erts/etc/unix/gdb-tools/jit-reader.c b/erts/etc/unix/gdb-tools/jit-reader.c -new file mode 100644 -index 0000000000..3c39c5540d ---- /dev/null -+++ b/erts/etc/unix/gdb-tools/jit-reader.c -@@ -0,0 +1,386 @@ -+#include -+ -+#include -+#include -+#include -+#include -+ -+/* Useful links -+ * - https://pwparchive.wordpress.com/2011/11/20/new-jit-interface-for-gdb/ -+ * - https://sourceware.org/gdb/current/onlinedocs/gdb/Custom-Debug-Info.html -+ * - https://github.com/tetzank/asmjit-utilities -+ * - https://github.com/bminor/binutils-gdb/blob/master/gdb/testsuite/gdb.base/jitreader.c -+ */ -+ -+GDB_DECLARE_GPL_COMPATIBLE_READER -+ -+#if 0 -+#define HARD_DEBUG -+static FILE *log = NULL; -+#define LOG(...) do { fprintf(log, ##__VA_ARGS__); fflush(log); } while(0) -+#else -+#define LOG(...) -+#endif -+ -+typedef enum { -+ X64_RBP = 6, /* Frame pointer iff native frames are enabled */ -+ X64_RSP = 7, /* Stack pointer when using native stack */ -+ X64_R12 = 12, /* Stack pointer when using non-native stack */ -+ X64_R13 = 13, /* Current process */ -+ X64_RIP = 16 -+} X64Register; -+ -+typedef enum { -+ /* Return address only */ -+ ERTS_FRAME_LAYOUT_RA, -+ /* Frame pointer, return address */ -+ ERTS_FRAME_LAYOUT_FP_RA -+} ErtsFrameLayout; -+ -+struct emulator_info { -+ /* 0 = regular, 1 = frame pointers */ -+ int frame_layout; -+ const void *normal_exit; -+}; -+ -+struct erlang_module_info { -+ uint64_t base_address; -+ uint32_t range_count; -+ uint32_t code_size; -+ /* Module name, including null terminator. */ -+ uint16_t name_length; -+ char name[]; -+ /* array of range_info structures */ -+}; -+ -+struct range_info { -+ uint32_t start_offset; -+ uint32_t end_offset; -+ uint32_t line_count; -+ /* Range name, including null terminator. */ -+ uint16_t name_length; -+ char name[]; -+ /* array of line_info structures */ -+}; -+ -+struct line_info { -+ uint32_t start_offset; -+ uint32_t line_number; -+ /* File name, including null terminator. */ -+ uint16_t file_length; -+ char file[]; -+}; -+ -+enum debug_info_header { -+ DEBUG_INFO_HEADER_EMULATOR = 0, -+ DEBUG_INFO_HEADER_MODULE = 1, -+}; -+ -+struct debug_info { -+ enum debug_info_header header; -+ union { -+ struct emulator_info emu; -+ struct erlang_module_info mod; -+ } payload; -+}; -+ -+typedef struct range { -+ GDB_CORE_ADDR start; -+ GDB_CORE_ADDR end; -+#ifdef HARD_DEBUG -+ char *name; -+#endif -+} range; -+ -+typedef struct priv { -+ range *ranges; -+ int num_ranges; -+ ErtsFrameLayout frame_layout; -+ const void *normal_exit; -+} priv; -+ -+static enum gdb_status read_module_info(struct gdb_reader_funcs *self, -+ struct gdb_symbol_callbacks *cb, -+ struct erlang_module_info *module_info) { -+ struct gdb_object *obj = cb->object_open(cb); -+ GDB_CORE_ADDR mod_start, mod_end; -+ char *symfile = (char*)module_info; -+ priv *priv = self->priv_data; -+ -+ symfile += sizeof(*module_info) + module_info->name_length; -+ -+ mod_start = module_info->base_address; -+ mod_end = mod_start + module_info->code_size; -+ -+ priv->ranges = realloc(priv->ranges, (priv->num_ranges + 1) * sizeof(range)); -+ priv->ranges[priv->num_ranges].start = mod_start; -+ priv->ranges[priv->num_ranges].end = mod_end; -+#ifdef HARD_DEBUG -+ priv->ranges[priv->num_ranges].name = strdup(module_info->name); -+#endif -+ priv->num_ranges += 1; -+ -+ LOG("Add module `%s` (0x%lx, 0x%lx)\r\n", -+ module_info->name, mod_start, mod_end); -+ -+ for (int range = 0; range < module_info->range_count; range++) { -+ struct range_info *range_info; -+ struct gdb_symtab *symtab; -+ GDB_CORE_ADDR begin, end; -+ -+ range_info = (struct range_info *)symfile; -+ symfile += sizeof(*range_info) + range_info->name_length; -+ -+ begin = mod_start + range_info->start_offset; -+ end = mod_start + range_info->end_offset; -+ -+ LOG("Add range `%s` (0x%lx, 0x%lx), %u lines\r\n", -+ range_info->name, -+ begin, end, -+ range_info->line_count); -+ -+ /* A bug in GDB < 9 forces us to open and close the symtab for each -+ * iteration. */ -+ symtab = cb->symtab_open(cb, obj, module_info->name); -+ cb->block_open(cb, symtab, NULL, begin, end, range_info->name); -+ cb->symtab_close(cb, symtab); -+ -+ for (int line = 0; line < range_info->line_count; line++) { -+ struct gdb_line_mapping line_mapping; -+ struct line_info *line_info; -+ -+ line_info = (struct line_info *)symfile; -+ symfile += sizeof(*line_info) + line_info->file_length; -+ -+ line_mapping.pc = mod_start + line_info->start_offset; -+ line_mapping.line = line_info->line_number; -+ -+ LOG("\t%s:%u\r\n", line_info->file, line_info->line_number); -+ -+ /* The symbol table must be opened and closed on every single line -+ * for file names to work properly, as there is no other way to -+ * tell GDB that a certain line belongs to a different file than -+ * the rest of the table. Sigh. */ -+ symtab = cb->symtab_open(cb, obj, line_info->file); -+ -+ cb->block_open(cb, symtab, NULL, line_mapping.pc, end, -+ range_info->name); -+ cb->line_mapping_add(cb, symtab, 1, &line_mapping); -+ cb->symtab_close(cb, symtab); -+ } -+ } -+ -+ cb->object_close(cb, obj); -+ -+ return GDB_SUCCESS; -+} -+ -+static enum gdb_status read_emulator_info(struct gdb_reader_funcs *self, -+ struct gdb_symbol_callbacks *cb, -+ struct emulator_info *emulator_info) { -+ priv *priv = self->priv_data; -+ -+ priv->frame_layout = emulator_info->frame_layout; -+ priv->normal_exit = emulator_info->normal_exit; -+ -+ LOG("initialize: frame layout = %i\r\n", priv->frame_layout); -+ -+ return GDB_SUCCESS; -+} -+ -+static enum gdb_status read_debug_info(struct gdb_reader_funcs *self, -+ struct gdb_symbol_callbacks *cb, -+ void *memory, long memory_sz) { -+ struct debug_info *debug_info = memory; -+ -+ (void)memory_sz; -+ -+ switch (debug_info->header) { -+ case DEBUG_INFO_HEADER_EMULATOR: -+ return read_emulator_info(self, cb, &debug_info->payload.emu); -+ case DEBUG_INFO_HEADER_MODULE: -+ return read_module_info(self, cb, &debug_info->payload.mod); -+ } -+ -+ return GDB_FAIL; -+} -+ -+static void regfree(struct gdb_reg_value *reg) { -+ free(reg); -+} -+ -+static struct range *get_range(priv *priv, GDB_CORE_ADDR rip) { -+ for (int i = 0; i < priv->num_ranges; i++) { -+ if (rip >= priv->ranges[i].start && rip < priv->ranges[i].end) { -+ return &priv->ranges[i]; -+ } -+ } -+ -+ return NULL; -+} -+ -+static enum gdb_status unwind(struct gdb_reader_funcs *self, -+ struct gdb_unwind_callbacks *cb) { -+ GDB_CORE_ADDR rbp, rsp, rip; -+ struct range *range; -+ priv *priv; -+ -+ rbp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RBP)->value; -+ rsp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RSP)->value; -+ rip = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RIP)->value; -+ -+ priv = self->priv_data; -+ range = get_range(priv, rip); -+ -+ /* Check that rip points to one of the addresses that we handle */ -+ if (range) { -+ struct gdb_reg_value *prev_rbp, *prev_rsp, *prev_rip; -+ -+ prev_rbp = malloc(sizeof(struct gdb_reg_value) + sizeof(char*)); -+ prev_rsp = malloc(sizeof(struct gdb_reg_value) + sizeof(char*)); -+ prev_rip = malloc(sizeof(struct gdb_reg_value) + sizeof(char*)); -+ -+ LOG("UNWIND match %s: rbp: 0x%lx rsp: 0x%lx rip: 0x%lx \r\n", -+ range->name, rbp, rsp, rip); -+ -+ prev_rbp->free = ®free; -+ prev_rbp->defined = 1; -+ prev_rbp->size = sizeof(char*); -+ prev_rsp->free = ®free; -+ prev_rsp->defined = 1; -+ prev_rsp->size = sizeof(char*); -+ prev_rip->free = ®free; -+ prev_rip->defined = 1; -+ prev_rip->size = sizeof(char*); -+ -+ if (priv->frame_layout == ERTS_FRAME_LAYOUT_FP_RA) { -+ /* Frame pointers are enabled, which means that rbp will point to -+ * where we stored the previous frames rbp. Also the previous -+ * frames address will be at rbp + 8 and the previous frames rsp -+ * will be rbp + 16. -+ * -+ * 0x00: <- prev_rsp -+ * 0x08: prev call addr -+ * 0x10: prev rbp <- curr rbp -+ * 0x18: current frame -+ * 0x20: <- curr rip */ -+ cb->target_read(rbp + 1 * sizeof(char*), &prev_rip->value, -+ sizeof(char*)); -+ cb->target_read(rbp + 0 * sizeof(char*), &prev_rbp->value, -+ sizeof(char*)); -+ *(GDB_CORE_ADDR*)prev_rsp->value = rbp + sizeof(char*[2]); -+ } else { -+ /* Normal frame layout, we need to scan the stack. */ -+ cb->target_read(rsp, &prev_rip->value, sizeof(char*)); -+ -+ for (rsp += sizeof(char*); ; rsp += sizeof(char*)) { -+ cb->target_read(rsp, &prev_rip->value, sizeof(char*)); -+ -+ LOG("rsp: 0x%lx rip: 0x%lx\r\n", -+ rsp, *(GDB_CORE_ADDR*)prev_rip->value); -+ -+ /* Check if it is a cp */ -+ if ((*(GDB_CORE_ADDR*)prev_rip->value & 0x3) == 0) { -+ break; -+ } -+ } -+ -+ *(GDB_CORE_ADDR*)prev_rsp->value = rsp; -+ *(GDB_CORE_ADDR*)prev_rbp->value = rsp - sizeof(char*); -+ } -+ -+ if (*(GDB_CORE_ADDR*)prev_rip->value == (uintptr_t)priv->normal_exit) { -+ LOG("Normal exit\r\n"); -+ *(GDB_CORE_ADDR*)prev_rsp->value = 0; -+ *(GDB_CORE_ADDR*)prev_rbp->value = 0; -+ } else { -+ LOG("UNWIND prev: rbp: 0x%lx rsp: 0x%lx rip: 0x%lx\r\n", -+ *(GDB_CORE_ADDR*)prev_rbp->value, -+ *(GDB_CORE_ADDR*)prev_rsp->value, -+ *(GDB_CORE_ADDR*)prev_rip->value); -+ } -+ -+ cb->reg_set(cb, X64_RIP, prev_rip); -+ cb->reg_set(cb, X64_RSP, prev_rsp); -+ cb->reg_set(cb, X64_RBP, prev_rbp); -+ -+ return GDB_SUCCESS; -+ } -+ -+ LOG("UNWIND no match: rbp: 0x%lx rsp: 0x%lx rip: 0x%lx\r\n", rbp, rsp, rip); -+ return GDB_FAIL; -+} -+ -+static struct gdb_frame_id get_frame_id(struct gdb_reader_funcs *self, -+ struct gdb_unwind_callbacks *cb){ -+ struct gdb_frame_id frame = {0, 0}; -+ GDB_CORE_ADDR rbp, rsp, rip; -+ struct range *range; -+ priv *priv; -+ -+ rbp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RBP)->value; -+ rsp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RSP)->value; -+ rip = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RIP)->value; -+ -+ priv = self->priv_data; -+ range = get_range(priv, rip); -+ -+ LOG("FRAME: rip: 0x%lx rsp: 0x%lx rbp: 0x%lx \r\n", rip, rsp, rbp); -+ -+ if (range) { -+ frame.code_address = rip; -+ -+ if (priv->frame_layout == ERTS_FRAME_LAYOUT_FP_RA) { -+ frame.stack_address = rbp + sizeof(char*); -+ } else { -+ GDB_CORE_ADDR prev_rip; -+ -+ for (rsp += sizeof(char*); ; rsp += sizeof(char*)) { -+ cb->target_read(rsp, &prev_rip, sizeof(char*)); -+ -+ LOG("rsp: 0x%lx rip: 0x%lx\r\n", rsp, prev_rip); -+ -+ /* Check if it is a cp */ -+ if ((prev_rip & 0x3) == 0) { -+ break; -+ } -+ } -+ -+ frame.stack_address = rsp; -+ } -+ } -+ -+ LOG("FRAME: code_address: 0x%lx stack_address: 0x%lx\r\n", -+ frame.code_address, frame.stack_address); -+ -+ return frame; -+} -+ -+static void destroy(struct gdb_reader_funcs *self){ -+ free(self); -+} -+ -+struct gdb_reader_funcs *gdb_init_reader(void){ -+ struct gdb_reader_funcs *funcs = malloc(sizeof(struct gdb_reader_funcs)); -+ priv *priv_data = malloc(sizeof(priv)); -+ -+ priv_data->num_ranges = 1; -+ priv_data->ranges = malloc(sizeof(range)); -+ priv_data->ranges[0].start = 0; -+ priv_data->ranges[0].end = 0; -+ -+ funcs->reader_version = GDB_READER_INTERFACE_VERSION; -+ funcs->priv_data = priv_data; -+ -+ funcs->read = read_debug_info; -+ funcs->unwind = unwind; -+ funcs->get_frame_id = get_frame_id; -+ funcs->destroy = destroy; -+ -+#ifdef HARD_DEBUG -+ log = fopen("/tmp/jit-reader.log","w+"); -+ if (!log) fprintf(stderr,"Could not open /tmp/jit-reader.log"); -+#endif -+ -+ return funcs; -+} -diff --git a/erts/etc/unix/gdb-tools/jit-reader.mk b/erts/etc/unix/gdb-tools/jit-reader.mk -new file mode 100644 -index 0000000000..8ef0bccec2 ---- /dev/null -+++ b/erts/etc/unix/gdb-tools/jit-reader.mk -@@ -0,0 +1,9 @@ -+EXTRA_LIBS = $(BINDIR)/jit-reader.so -+ -+jit-reader: $(EXTRA_LIBS) -+ -+$(OBJDIR)/jit-reader.o: $(GDB_TOOLS)/jit-reader.c $(GDB_TOOLS)/jit-reader.h -+ $(V_CC) $(DED_CFLAGS) -I$(ETC) -o $@ -c $< -+ -+$(BINDIR)/jit-reader.so: $(OBJDIR)/jit-reader.o -+ $(V_LD) $(DED_LDFLAGS) -o $@ $^ diff --git a/otp-0008-Load-man-pages-from-system-wide-directory.patch b/otp-0009-Load-man-pages-from-system-wide-directory.patch similarity index 89% rename from otp-0008-Load-man-pages-from-system-wide-directory.patch rename to otp-0009-Load-man-pages-from-system-wide-directory.patch index e014671..2075f81 100644 --- a/otp-0008-Load-man-pages-from-system-wide-directory.patch +++ b/otp-0009-Load-man-pages-from-system-wide-directory.patch @@ -7,10 +7,10 @@ Patch allows one to use standard man path with erl -man command. as required by Debian policy.) diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c -index 888df87e35..14272f06c6 100644 +index fa951ae770..9cce3857db 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c -@@ -716,8 +716,10 @@ int main(int argc, char **argv) +@@ -709,8 +709,10 @@ int main(int argc, char **argv) error("-man not supported on Windows"); #else argv[i] = "man"; diff --git a/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch b/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch new file mode 100644 index 0000000..2f6fc77 --- /dev/null +++ b/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch @@ -0,0 +1,35 @@ +From: Florian Weimer +Date: Thu, 24 Nov 2022 11:57:49 +0100 +Subject: [PATCH] configure.ac: C99 fix for + ERTS___AFTER_MORECORE_HOOK_CAN_TRACK_MALLOC + +#include for the sbrk function if the header is available. + +diff --git a/erts/configure b/erts/configure +index 336bdede38..b2765dc2d5 100755 +--- a/erts/configure ++++ b/erts/configure +@@ -20644,6 +20644,9 @@ else $as_nop + #ifdef HAVE_MALLOC_H + # include + #endif ++#ifdef HAVE_UNISTD_H ++# include ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) +diff --git a/erts/configure.ac b/erts/configure.ac +index e095b68ab2..e911e070a4 100644 +--- a/erts/configure.ac ++++ b/erts/configure.ac +@@ -2436,6 +2436,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], + #ifdef HAVE_MALLOC_H + # include + #endif ++#ifdef HAVE_UNISTD_H ++# include ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) diff --git a/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch b/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch new file mode 100644 index 0000000..11b94b5 --- /dev/null +++ b/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch @@ -0,0 +1,72 @@ +From: Florian Weimer +Date: Thu, 24 Nov 2022 11:59:22 +0100 +Subject: [PATCH] configure.ac: C99 fixes for poll_works check + +Include if it is available for the open prototype. +Return from main instead of calling exit, so that no function +declaration is needed. + +diff --git a/erts/configure b/erts/configure +index b2765dc2d5..1ff6698adc 100755 +--- a/erts/configure ++++ b/erts/configure +@@ -24580,10 +24580,13 @@ else $as_nop + /* end confdefs.h. */ + + #include +-main() ++#ifdef HAVE_FCNTL_H ++#include ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -24592,9 +24595,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + +diff --git a/erts/configure.ac b/erts/configure.ac +index e911e070a4..2398d21a83 100644 +--- a/erts/configure.ac ++++ b/erts/configure.ac +@@ -3059,10 +3059,13 @@ poll_works=no + + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include +-main() ++#ifdef HAVE_FCNTL_H ++#include ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -3071,9 +3074,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + ]])],[poll_works=yes],[poll_works=no],[ diff --git a/otp-0012-Revert-Do-not-install-erlang-sources.patch b/otp-0012-Revert-Do-not-install-erlang-sources.patch new file mode 100644 index 0000000..1a0bb85 --- /dev/null +++ b/otp-0012-Revert-Do-not-install-erlang-sources.patch @@ -0,0 +1,657 @@ +From: Peter Lemenkov +Date: Wed, 4 Jan 2023 20:49:01 +0100 +Subject: [PATCH] Revert "Do not install erlang sources" + +This reverts commit 02d89974af96987a7cbcfe9d18533d509ad33690. + +diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile +index 007b7d44bd..1994aa1302 100644 +--- a/erts/preloaded/src/Makefile ++++ b/erts/preloaded/src/Makefile +@@ -117,6 +117,8 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: $(APP_TARGET) ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(BEAM_FILES) $(STUBS_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin" + +diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile +index 77ba98c2f8..9e13d02c8a 100644 +--- a/lib/asn1/src/Makefile ++++ b/lib/asn1/src/Makefile +@@ -157,7 +157,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" + $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples" + +diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile +index 5bf4e50f14..00f13589f3 100644 +--- a/lib/common_test/src/Makefile ++++ b/lib/common_test/src/Makefile +@@ -157,7 +157,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/common_test/test_server/Makefile b/lib/common_test/test_server/Makefile +index 4e3fa5c60f..4ff5e678ee 100644 +--- a/lib/common_test/test_server/Makefile ++++ b/lib/common_test/test_server/Makefile +@@ -83,9 +83,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_tests_spec: opt + $(INSTALL_DIR) "$(RELEASE_PATH)/test_server" +- $(INSTALL_DATA) $(TS_HRL_FILES) \ ++ $(INSTALL_DATA) $(TS_ERL_FILES) $(TS_HRL_FILES) \ + $(TS_TARGET_FILES) \ +- $(CONFIG) \ ++ $(AUTOCONF_FILES) $(CONFIG) \ + "$(RELEASE_PATH)/test_server" + $(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server" + +diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile +index 4eed19b516..d801d6baa0 100644 +--- a/lib/compiler/src/Makefile ++++ b/lib/compiler/src/Makefile +@@ -188,8 +188,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ +- "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ ++ $(YRL_FILE) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile +index 6f8a329421..893f679390 100644 +--- a/lib/crypto/src/Makefile ++++ b/lib/crypto/src/Makefile +@@ -81,6 +81,8 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile +index 6ddce27ec1..2fb955b2e3 100644 +--- a/lib/debugger/src/Makefile ++++ b/lib/debugger/src/Makefile +@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile +index cc266f48e2..c934ecdc2b 100644 +--- a/lib/dialyzer/src/Makefile ++++ b/lib/dialyzer/src/Makefile +@@ -162,7 +162,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ + "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile +index 7097541548..75e23d4191 100644 +--- a/lib/diameter/src/Makefile ++++ b/lib/diameter/src/Makefile +@@ -266,8 +266,11 @@ release_spec: opt + $(MAKE) ERL_DETERMINISTIC=$(ERL_DETERMINISTIC) $(EXAMPLE_DIRS:%/=release_examples_%) + + $(TARGET_DIRS:%/=release_src_%): release_src_%: +- $(INSTALL_DATA) $(filter $*/%, $(INTERNAL_HRLS)) \ +- "$(RELSYSDIR)/src/$*" || true ++ $(INSTALL_DIR) "$(RELSYSDIR)/src/$*" ++ $(INSTALL_DATA) $(filter $*/%, $(TARGET_MODULES:%=%.erl) \ ++ $(INTERNAL_HRLS)) \ ++ $(filter $*/%, compiler/$(DICT_YRL).yrl) \ ++ "$(RELSYSDIR)/src/$*" + + $(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%: + $(INSTALL_DIR) "$(RELSYSDIR)/examples/$*" +diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile +index e5b2f886ed..a455662049 100644 +--- a/lib/edoc/src/Makefile ++++ b/lib/edoc/src/Makefile +@@ -87,7 +87,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(SOURCES) $(HRL_FILES) $(YRL_FILE) "$(RELSYSDIR)/src" + + release_docs_spec: + +diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile +index 78fc4a9687..04a84a4766 100644 +--- a/lib/eldap/src/Makefile ++++ b/lib/eldap/src/Makefile +@@ -98,9 +98,13 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +- $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" ++ $(INSTALL_DATA) $(ASN1_HRL) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DIR) "$(RELSYSDIR)/asn1" ++ $(INSTALL_DATA) ../asn1/$(ASN1_FILES) "$(RELSYSDIR)/asn1" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" ++ $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + + release_docs_spec: + +diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile +index cc3368ad02..458094e35f 100644 +--- a/lib/erl_docgen/src/Makefile ++++ b/lib/erl_docgen/src/Makefile +@@ -91,6 +91,8 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile +index a567965ed4..fc66cc1eaf 100644 +--- a/lib/et/src/Makefile ++++ b/lib/et/src/Makefile +@@ -109,6 +109,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile +index 2a49a2ca7a..f4eaf6807a 100644 +--- a/lib/eunit/src/Makefile ++++ b/lib/eunit/src/Makefile +@@ -121,6 +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) $(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/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile +index ca4b539017..62f62792f0 100644 +--- a/lib/inets/src/http_client/Makefile ++++ b/lib/inets/src/http_client/Makefile +@@ -92,7 +92,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_client" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_client" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_client" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile +index 896a806695..481c4f66eb 100644 +--- a/lib/inets/src/http_lib/Makefile ++++ b/lib/inets/src/http_lib/Makefile +@@ -90,7 +90,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_lib" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_lib" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_lib" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile +index 42925ba58f..abf8413f33 100644 +--- a/lib/inets/src/http_server/Makefile ++++ b/lib/inets/src/http_server/Makefile +@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_server" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_server" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_server" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile +index a8b932772a..405e86105a 100644 +--- a/lib/inets/src/inets_app/Makefile ++++ b/lib/inets/src/inets_app/Makefile +@@ -114,7 +114,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/inets_app" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/inets_app" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile +index 891d3e6f6a..2149e89776 100644 +--- a/lib/kernel/src/Makefile ++++ b/lib/kernel/src/Makefile +@@ -229,6 +229,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/megaco/src/app/Makefile b/lib/megaco/src/app/Makefile +index 8cb286181a..c681b88428 100644 +--- a/lib/megaco/src/app/Makefile ++++ b/lib/megaco/src/app/Makefile +@@ -114,7 +114,7 @@ release_spec: opt + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/app" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile +index 3ca5654eb3..9ecb649f0c 100644 +--- a/lib/megaco/src/binary/Makefile ++++ b/lib/megaco/src/binary/Makefile +@@ -154,7 +154,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/binary" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/binary" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(ASN1_FILES) "$(RELSYSDIR)/src/binary" + + + release_docs_spec: +diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile +index b7a7c703b3..cc4974e09d 100644 +--- a/lib/megaco/src/engine/Makefile ++++ b/lib/megaco/src/engine/Makefile +@@ -102,7 +102,7 @@ release_spec: opt + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/engine" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + + +diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in +index 2053d3297b..d8c5c68b99 100644 +--- a/lib/megaco/src/flex/Makefile.in ++++ b/lib/megaco/src/flex/Makefile.in +@@ -248,6 +248,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src/flex" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" + $(INSTALL_DIR) "$(RELSYSDIR)/include" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/flex" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true) + $(INSTALL_DATA) $(FLEX_FILES) "$(RELSYSDIR)/src/flex" +diff --git a/lib/megaco/src/tcp/Makefile b/lib/megaco/src/tcp/Makefile +index 85cfb4b4ee..ef4232244a 100644 +--- a/lib/megaco/src/tcp/Makefile ++++ b/lib/megaco/src/tcp/Makefile +@@ -94,7 +94,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/tcp" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" + + + release_docs_spec: +diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile +index a097be4d48..6872b0ec04 100644 +--- a/lib/megaco/src/text/Makefile ++++ b/lib/megaco/src/text/Makefile +@@ -133,7 +133,7 @@ release_spec: opt + $(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/text" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_YRL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" + + + release_docs_spec: +diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile +index f8dcb5c681..5699c3e952 100644 +--- a/lib/megaco/src/udp/Makefile ++++ b/lib/megaco/src/udp/Makefile +@@ -94,7 +94,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/udp" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" + + + release_docs_spec: +diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile +index 08c6c5ffc1..72aa054fb3 100644 +--- a/lib/mnesia/src/Makefile ++++ b/lib/mnesia/src/Makefile +@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile +index 884e69c7b7..2edb2ceb3e 100644 +--- a/lib/observer/src/Makefile ++++ b/lib/observer/src/Makefile +@@ -151,6 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" + $(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples" +diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile +index fa01850f38..e18628e94d 100644 +--- a/lib/odbc/src/Makefile ++++ b/lib/odbc/src/Makefile +@@ -110,7 +110,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile +index 2413fb68bf..ee32f3946f 100644 +--- a/lib/os_mon/src/Makefile ++++ b/lib/os_mon/src/Makefile +@@ -105,6 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile +index f6024f1184..c7971750a7 100644 +--- a/lib/parsetools/src/Makefile ++++ b/lib/parsetools/src/Makefile +@@ -91,6 +91,8 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile +index bba7cae5d6..c1adf58ed4 100644 +--- a/lib/public_key/asn1/Makefile ++++ b/lib/public_key/asn1/Makefile +@@ -103,6 +103,8 @@ release_spec: opt + $(INSTALL_DIR) "$(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" + +diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile +index a5dcba4ec3..9b2b442794 100644 +--- a/lib/public_key/src/Makefile ++++ b/lib/public_key/src/Makefile +@@ -111,6 +111,8 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile +index 6864febbc3..173a557d58 100644 +--- a/lib/reltool/src/Makefile ++++ b/lib/reltool/src/Makefile +@@ -100,7 +100,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile +index 6e380e1b11..8e8c4074f5 100644 +--- a/lib/runtime_tools/src/Makefile ++++ b/lib/runtime_tools/src/Makefile +@@ -99,6 +99,8 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" +diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile +index 739830ae3f..490e03595d 100644 +--- a/lib/sasl/src/Makefile ++++ b/lib/sasl/src/Makefile +@@ -94,6 +94,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/agent/Makefile.in b/lib/snmp/src/agent/Makefile.in +index 14ae0bbc79..6ab9ed437a 100644 +--- a/lib/snmp/src/agent/Makefile.in ++++ b/lib/snmp/src/agent/Makefile.in +@@ -161,7 +161,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/agent" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/agent" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/agent" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile +index 0340088eb3..f5a74aa78e 100644 +--- a/lib/snmp/src/app/Makefile ++++ b/lib/snmp/src/app/Makefile +@@ -144,7 +144,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/app" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/app" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/app" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/compile/Makefile b/lib/snmp/src/compile/Makefile +index 04232658c7..f255237a04 100644 +--- a/lib/snmp/src/compile/Makefile ++++ b/lib/snmp/src/compile/Makefile +@@ -141,7 +141,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" ++ $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/bin" +diff --git a/lib/snmp/src/manager/Makefile b/lib/snmp/src/manager/Makefile +index 61b8dc4692..693ef75469 100644 +--- a/lib/snmp/src/manager/Makefile ++++ b/lib/snmp/src/manager/Makefile +@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/manager" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/manager" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/manager" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile +index 8dc421d2a1..e92506e855 100644 +--- a/lib/snmp/src/misc/Makefile ++++ b/lib/snmp/src/misc/Makefile +@@ -125,7 +125,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/misc" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/misc" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/misc" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile +index 2c7acf384d..2fcb164301 100644 +--- a/lib/ssh/src/Makefile ++++ b/lib/ssh/src/Makefile +@@ -182,7 +182,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile +index 9cd7f7226c..789bed5c3f 100644 +--- a/lib/ssl/src/Makefile ++++ b/lib/ssl/src/Makefile +@@ -211,7 +211,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile +index 43e7a650a5..761d6c4c28 100644 +--- a/lib/stdlib/src/Makefile ++++ b/lib/stdlib/src/Makefile +@@ -230,6 +230,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) erl_parse.yrl "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/syntax_tools/src/Makefile b/lib/syntax_tools/src/Makefile +index 5bb265e2c2..dc0ac61734 100644 +--- a/lib/syntax_tools/src/Makefile ++++ b/lib/syntax_tools/src/Makefile +@@ -96,6 +96,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(SOURCES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" + +diff --git a/lib/tftp/src/Makefile b/lib/tftp/src/Makefile +index fba9cc5873..cfcb1ea134 100644 +--- a/lib/tftp/src/Makefile ++++ b/lib/tftp/src/Makefile +@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile +index f8d143922d..b05ce883ec 100644 +--- a/lib/tools/src/Makefile ++++ b/lib/tools/src/Makefile +@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile +index f052399c0f..ce14c0b6df 100644 +--- a/lib/wx/src/Makefile ++++ b/lib/wx/src/Makefile +@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES) + include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/gen" +- $(INSTALL_DATA) $(GEN_HRL) "$(RELSYSDIR)/src/gen" ++ $(INSTALL_DATA) $(GEN_HRL) $(GEN_FILES) "$(RELSYSDIR)/src/gen" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile +index 37b7843605..e7e7c8e978 100644 +--- a/lib/xmerl/src/Makefile ++++ b/lib/xmerl/src/Makefile +@@ -223,7 +223,9 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) xmerl_xpath_parse.yrl "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) xmerl_b64Bin.yrl "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + diff --git a/sources b/sources index 674a546..addbfa1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.16.tar.gz) = 4e973be7e8ccad196d59759108a521535b0f046268eb0406f789a50f411fa27c9c11fcfb61a7218605bf1b32921bb52c52fc7c99917e1acfc0d3ed09437129b2 +SHA512 (otp-OTP-25.3.2.7.tar.gz) = 173f2f790893e7230279bf25347a0a6f5d1f4709346adb580e5a93a46ff2e4d22843b8f7935e1303a7ccad22c1ab89b9599cf0bc5c6a541e6bfac5031ca917ee