diff --git a/erlang.spec b/erlang.spec index 878fb41..45680e7 100644 --- a/erlang.spec +++ b/erlang.spec @@ -1,9 +1,9 @@ -%global need_bootstrap_set 1 +%global need_bootstrap_set 0 %{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}} -%ifarch %{arm} %{mips} riscv64 %{ix86} -# MIPS and RISC-V does not have all dependencies for fop yet. +%ifarch %{arm} %{mips} riscv64 +# MIPS does not have all dependencies for fop yet # For some reason, fop hangs on arm, so for now don't generate docs by # default %bcond_with doc @@ -16,21 +16,18 @@ %endif %endif -# Compile with FIPS support by default -%bcond_without fips +%ifarch %{arm} %{ix86} x86_64 ppc %{power64} +%global __with_hipe 1 +%endif ## ## Optional components ## %global __with_emacs 1 +%global __with_xemacs 0 %global __with_examples 1 -%ifarch %{java_arches} %global __with_java 1 -%else -%global __with_java 0 -%endif -%global __with_sources 1 # # wxWidgets plugin blocks the following ones: # @@ -68,13 +65,15 @@ Name: erlang -Version: 26.2.5.16 +Version: 22.0.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,18 +102,16 @@ 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-Improve-nodes-querying.patch # end of autogenerated patch tag list BuildRequires: gcc BuildRequires: gcc-c++ -# For gdb-tools -BuildRequires: gdb BuildRequires: flex -BuildRequires: make %if %{with doc} %if 0%{?need_bootstrap} < 1 @@ -123,11 +120,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 @@ -155,6 +154,7 @@ Requires: %{name}-et%{?_isa} = %{version}-%{release} %endif # __with_wxwidgets Requires: %{name}-eunit%{?_isa} = %{version}-%{release} Requires: %{name}-ftp%{?_isa} = %{version}-%{release} +Requires: %{name}-hipe%{?_isa} = %{version}-%{release} Requires: %{name}-inets%{?_isa} = %{version}-%{release} %if %{__with_java} Requires: %{name}-jinterface%{?_isa} = %{version}-%{release} @@ -177,7 +177,6 @@ Requires: %{name}-reltool%{?_isa} = %{version}-%{release} Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} Requires: %{name}-sasl%{?_isa} = %{version}-%{release} Requires: %{name}-snmp%{?_isa} = %{version}-%{release} -Requires: %{name}-src%{?_isa} = %{version}-%{release} Requires: %{name}-ssh%{?_isa} = %{version}-%{release} Requires: %{name}-ssl%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -234,6 +233,7 @@ A portable framework for automatic testing. Summary: A byte code compiler for Erlang which produces highly compact code Requires: %{name}-crypto%{?_isa} = %{version}-%{release} Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-hipe%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -243,9 +243,6 @@ 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 Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -271,6 +268,7 @@ A debugger for debugging and testing of Erlang programs. Summary: A DIscrepancy AnaLYZer for ERlang programs Requires: %{name}-compiler%{?_isa} = %{version}-%{release} Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-hipe%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} @@ -300,6 +298,7 @@ Diameter (RFC 3588) library Summary: Erlang documentation BuildRequires: fop BuildRequires: libxslt +BuildArch: noarch %description doc Documentation for Erlang. @@ -352,6 +351,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,14 +360,11 @@ 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 -Provides: bundled(pcre) = 8.44 -# git commit 965d19506ff2aed72e039b8c650b6ef5e9446b8c -Provides: bundled(asmjit) +Provides: erlang(erl_nif_version) = 2.14 +Provides: bundled(pcre) = 8.33 Obsoletes: erlang-appmon Obsoletes: erlang-docbuilder Obsoletes: erlang-gs -Obsoletes: erlang-hipe Obsoletes: erlang-inviso Obsoletes: erlang-ose Obsoletes: erlang-otp_mibs @@ -415,7 +412,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,13 +423,16 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description ftp FTP client. -%package gdb-tools -Summary: GDB plugin -License: GPL-3.0-or-later -Requires: gdb +%package hipe +Summary: High Performance Erlang +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} -%description gdb-tools -GDB plugin. +%description hipe +High Performance Erlang. %package inets Summary: A set of services such as a Web server and a HTTP client etc @@ -602,50 +602,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Simple Network Management Protocol (SNMP) support including a MIB compiler and tools for creating SNMP agents. -%if %{__with_sources} -%package src -Summary: Erlang sources -Requires: %{name}-asn1%{?_isa} = %{version}-%{release} -Requires: %{name}-common_test%{?_isa} = %{version}-%{release} -Requires: %{name}-compiler%{?_isa} = %{version}-%{release} -Requires: %{name}-crypto%{?_isa} = %{version}-%{release} -Requires: %{name}-debugger%{?_isa} = %{version}-%{release} -Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release} -Requires: %{name}-diameter%{?_isa} = %{version}-%{release} -Requires: %{name}-edoc%{?_isa} = %{version}-%{release} -Requires: %{name}-eldap%{?_isa} = %{version}-%{release} -Requires: %{name}-erl_docgen%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-et%{?_isa} = %{version}-%{release} -Requires: %{name}-eunit%{?_isa} = %{version}-%{release} -Requires: %{name}-ftp%{?_isa} = %{version}-%{release} -Requires: %{name}-inets%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-megaco%{?_isa} = %{version}-%{release} -Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} -Requires: %{name}-observer%{?_isa} = %{version}-%{release} -Requires: %{name}-odbc%{?_isa} = %{version}-%{release} -Requires: %{name}-os_mon%{?_isa} = %{version}-%{release} -Requires: %{name}-parsetools%{?_isa} = %{version}-%{release} -Requires: %{name}-public_key%{?_isa} = %{version}-%{release} -Requires: %{name}-reltool%{?_isa} = %{version}-%{release} -Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-sasl%{?_isa} = %{version}-%{release} -Requires: %{name}-snmp%{?_isa} = %{version}-%{release} -Requires: %{name}-ssh%{?_isa} = %{version}-%{release} -Requires: %{name}-ssl%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} -Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-tftp%{?_isa} = %{version}-%{release} -Requires: %{name}-tools%{?_isa} = %{version}-%{release} -Requires: %{name}-wx%{?_isa} = %{version}-%{release} -Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} - -%description src -Erlang sources. It may be useful as a reference for code completion tools in -various editors, for documentation or automatical-code generation purposes. -%endif # __with_sources - %package ssh Summary: Secure Shell application with sftp and ssh support Requires: %{name}-crypto%{?_isa} = %{version}-%{release} @@ -704,7 +660,11 @@ 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} +%if %{__with_xemacs} +BuildRequires: xemacs +BuildRequires: xemacs-packages-extra-el +%endif %{__with_xemacs} Requires: %{name}-compiler%{?_isa} = %{version}-%{release} Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-inets%{?_isa} = %{version}-%{release} @@ -715,7 +675,12 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Requires: emacs-filesystem Obsoletes: emacs-erlang Obsoletes: emacs-erlang-el -%endif # __with_emacs +%endif %{__with_emacs} +%if %{__with_xemacs} +Requires: xemacs-filesystem +Obsoletes: xemacs-erlang +Obsoletes: xemacs-erlang-el +%endif %{__with_xemacs} %description tools @@ -724,7 +689,7 @@ A set of programming tools including a coverage analyzer etc. %if %{__with_wxwidgets} %package wx Summary: A library for wxWidgets support in Erlang -BuildRequires: wxGTK-devel +BuildRequires: wxGTK3-devel Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -753,15 +718,11 @@ 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 < xemacs-erlang-init.el << EOF +(setq load-path (cons "%{_xemacs_sitelispdir}/erlang" load-path)) +(setq erlang-root-dir "%{_libdir}/erlang") +(setq exec-path (cons "%{_libdir}/erlang/bin" exec-path)) +(require 'erlang-start) +EOF +mkdir xemacs-erlang +cp lib/tools/emacs/*.el xemacs-erlang/ +rm -f xemacs-erlang/erlang-flymake.el xemacs-erlang/erlang-test.el xemacs-erlang/erldoc.el xemacs-erlang/erlang-edoc.el +pushd xemacs-erlang +%{_xemacs_bytecompile} *.el +popd +%endif %{__with_xemacs} -%make_build +make %if %{with doc} # should use FOP_OPTS after #832323 is resolved @@ -846,7 +815,20 @@ for f in lib/tools/emacs/{README,*.el}; do "$RPM_BUILD_ROOT%{_emacs_sitelispdir}/erlang/" done install -m 0644 emacs-erlang/*.elc "$RPM_BUILD_ROOT%{_emacs_sitelispdir}/erlang/" -%endif # __with_emacs +%endif %{__with_emacs} +%if %{__with_xemacs} +# XEmacs related stuff +install -m 0755 -d "$RPM_BUILD_ROOT%{_xemacs_sitestartdir}" +install -m 0755 -d "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang" +install -m 0644 xemacs-erlang-init.el "$RPM_BUILD_ROOT%{_xemacs_sitestartdir}/erlang-init.el" +for f in lib/tools/emacs/{README,*.el}; do + b="$(basename "$f")"; + ln -s "%{_libdir}/erlang/lib/tools-${erlang_tools_vsn}/emacs/$b" \ + "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/" +done +rm -f "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/erlang-flymake.el" +install -m 0644 xemacs-erlang/*.elc "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/" +%endif %{__with_xemacs} make DESTDIR=$RPM_BUILD_ROOT install @@ -864,7 +846,7 @@ find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/kernel-*/examples/uds_dist -type d -pe %else # Remove all examples find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ -mindepth 1 -maxdepth 2 -type d -name examples -exec rm -rf {} \; -%endif # __with_examples +%endif %{__with_examples} chmod 0755 $RPM_BUILD_ROOT%{_libdir}/erlang/bin @@ -876,12 +858,7 @@ cd $RPM_BUILD_ROOT%{_libdir}/erlang mv -v doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} for i in erts-* ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/$i ; done cd $RPM_BUILD_ROOT%{_libdir}/erlang/lib -for i in * ; do - mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/lib/$i || true - # symlink 'chunks' in the code path for EEP-48 compliance (rhbz#2068758) - mkdir $i/doc - ln -s %{_docdir}/%{name}-%{version}/lib/$i/chunks $i/doc/ -done +for i in * ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/lib/$i || true ; done popd cp -av AUTHORS LICENSE.txt README.md $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/PR.template $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} @@ -943,27 +920,16 @@ ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{na %endif # __with_java # systemd-related stuff +%if ! (0%{?rhel} && 0%{?rhel} <= 6) install -D -p -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/epmd.service install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/epmd.socket install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/epmd@.service install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket +%endif %if %{__with_wxwidgets} echo "No need to fix additional scripts" -# Fix file conflict w/ python3-typer-cli by renaming our typer to erlang-typer. -# We only rename the symlink in %%{_bindir}, not its direct and indirect -# targets in subdirectories of %%{_libdir}. -# -# File conflicts: /usr/bin/typer between erlang-dialyzer and python3-typer-cli -# https://bugzilla.redhat.com/show_bug.cgi?id=2359567 -mv %{buildroot}%{_bindir}/typer %{buildroot}%{_bindir}/erlang-typer -%if %{with doc} -mv %{buildroot}%{_mandir}/man1/typer.1 \ - %{buildroot}%{_mandir}/man1/erlang-typer.1 -sed -r -i 's/^(\.TH[[:blank:]]+)?(typer)\b/\1erlang-\2/' \ - %{buildroot}%{_mandir}/man1/erlang-typer.1 -%endif %else # FIXME workaround for broken Erlang install procedure echo "Removing scripts which won't work w/o wxWidgets anyway" @@ -979,10 +945,6 @@ done install -d -p -m 0755 %{buildroot}%{_datadir}/erlang/ install -d -p -m 0755 %{buildroot}%{_datadir}/erlang/lib -install -m0644 -D erlang.sysusers.conf %{buildroot}%{_sysusersdir}/erlang.conf - -# GDB tools -install -D -p -m 0755 ./bin/*/jit-reader.so %{buildroot}%{_libdir}/gdb/jit-reader.so %check TARGET="$(make target_configured)" @@ -993,6 +955,11 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests # https://github.com/erlang/otp/wiki/Running-tests +%pre erts +getent group epmd >/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 @@ -1033,7 +1000,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/ct_slave.* %{_mandir}/man3/ct_snmp.* %{_mandir}/man3/ct_ssh.* -%{_mandir}/man3/ct_suite.* %{_mandir}/man3/ct_telnet.* %{_mandir}/man3/ct_testspec.* %{_mandir}/man3/unix_telnet.* @@ -1044,9 +1010,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %files compiler %{_libdir}/erlang/lib/compiler-*/ %if %{with doc} -%{_mandir}/man3/cerl.* -%{_mandir}/man3/cerl_clauses.* -%{_mandir}/man3/cerl_trees.* %{_mandir}/man3/compile.* %endif @@ -1071,15 +1034,15 @@ 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}/man3/dialyzer.* +%{_mandir}/man3/typer.* %endif %endif # __with_wxwidgets @@ -1103,7 +1066,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %if %{with doc} %files doc -%{_libdir}/erlang/lib/*/doc %doc %{_docdir}/%{name}-%{version}/doc %doc %{_docdir}/%{name}-%{version}/erts-*/ %doc %{_docdir}/%{name}-%{version}/lib/ @@ -1112,13 +1074,10 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %files edoc %{_libdir}/erlang/lib/edoc-*/ %if %{with doc} -%{_mandir}/man1/edoc.* %{_mandir}/man3/edoc.* %{_mandir}/man3/edoc_doclet.* -%{_mandir}/man3/edoc_doclet_chunks.* %{_mandir}/man3/edoc_extract.* %{_mandir}/man3/edoc_layout.* -%{_mandir}/man3/edoc_layout_chunks.* %{_mandir}/man3/edoc_lib.* %{_mandir}/man3/edoc_run.* %endif @@ -1136,21 +1095,19 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %endif %files erl_interface -%{_libdir}/erlang/bin/erl_call -%{_libdir}/erlang/erts-*/bin/erl_call %{_libdir}/erlang/lib/erl_interface-*/ %if %{with doc} %{_mandir}/man1/erl_call.* %{_mandir}/man3/ei.* %{_mandir}/man3/ei_connect.* -%{_mandir}/man3/ei_global.* -#%%{_mandir}/man3/erl_connect.* -#%%{_mandir}/man3/erl_error.* -#%%{_mandir}/man3/erl_eterm.* -#%%{_mandir}/man3/erl_format.* -#%%{_mandir}/man3/erl_global.* -#%%{_mandir}/man3/erl_malloc.* -#%%{_mandir}/man3/erl_marshal.* +%{_mandir}/man3/erl_connect.* +%{_mandir}/man3/erl_error.* +%{_mandir}/man3/erl_eterm.* +%{_mandir}/man3/erl_format.* +%{_mandir}/man3/erl_global.* +%{_mandir}/man3/erl_malloc.* +%{_mandir}/man3/erl_marshal.* +%{_mandir}/man3/registry.* %endif %files erts @@ -1201,7 +1158,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_libdir}/erlang/erts-*/bin/start.src %{_libdir}/erlang/erts-*/bin/start_erl.src %{_libdir}/erlang/erts-*/bin/to_erl -%{_libdir}/erlang/erts-*/bin/yielding_c_fun %{_libdir}/erlang/erts-*/include %{_libdir}/erlang/erts-*/lib/ %{_libdir}/erlang/erts-*/src/ @@ -1232,11 +1188,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 +1249,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,8 +1259,8 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/ftp.* %endif -%files gdb-tools -%{_libdir}/gdb/jit-reader.so +%files hipe +%{_libdir}/erlang/lib/hipe-*/ %files inets %dir %{_libdir}/erlang/lib/inets-*/ @@ -1332,9 +1289,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %dir %{_javadir}/%{name}/ %{_javadir}/%{name}/OtpErlang.jar %{_libdir}/erlang/lib/jinterface-*/ -%if %{with doc} -%{_mandir}/man3/jinterface.* -%endif %endif # __with_java %files kernel @@ -1352,7 +1306,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/erl_epmd.* %{_mandir}/man3/erl_prim_loader_stub.* %{_mandir}/man3/erlang_stub.* -%{_mandir}/man3/erpc.* %{_mandir}/man3/error_handler.* %{_mandir}/man3/error_logger.* %{_mandir}/man3/file.* @@ -1373,9 +1326,10 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/net_adm.* %{_mandir}/man3/net_kernel.* %{_mandir}/man3/os.* -%{_mandir}/man3/pg.* +%{_mandir}/man3/pg2.* %{_mandir}/man3/rpc.* %{_mandir}/man3/seq_trace.* +%{_mandir}/man3/user.* %{_mandir}/man3/wrap_log_reader.* %{_mandir}/man3/zlib_stub.* %{_mandir}/man4/app.* @@ -1481,6 +1435,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.* @@ -1564,13 +1519,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man7/TRANSPORT-ADDRESS-MIB.* %endif -%if %{__with_sources} -%files src -%dir %{_libdir}/erlang/lib/*/src/ -%{_libdir}/erlang/lib/*/src/*.erl -%{_libdir}/erlang/lib/*/src/*.yrl -%endif - %files ssh %dir %{_libdir}/erlang/lib/ssh-*/ %{_libdir}/erlang/lib/ssh-*/ebin @@ -1578,7 +1526,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_libdir}/erlang/lib/ssh-*/src %if %{with doc} %{_mandir}/man3/ssh.* -%{_mandir}/man3/ssh_agent.* %{_mandir}/man3/ssh_client_channel.* %{_mandir}/man3/ssh_client_key_api.* %{_mandir}/man3/ssh_connection.* @@ -1587,7 +1534,7 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/ssh_server_key_api.* %{_mandir}/man3/ssh_sftp.* %{_mandir}/man3/ssh_sftpd.* -%{_mandir}/man6/SSH.* +%{_mandir}/man6/ssh.* %endif %files ssl @@ -1608,7 +1555,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,14 +1565,10 @@ 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.* %{_mandir}/man3/erl_eval.* %{_mandir}/man3/erl_expand_records.* -%{_mandir}/man3/erl_features.* %{_mandir}/man3/erl_id_trans.* %{_mandir}/man3/erl_internal.* %{_mandir}/man3/erl_lint.* @@ -1653,7 +1595,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/ms_transform.* %{_mandir}/man3/orddict.* %{_mandir}/man3/ordsets.* -%{_mandir}/man3/peer.* %{_mandir}/man3/pool.* %{_mandir}/man3/proc_lib.* %{_mandir}/man3/proplists.* @@ -1665,7 +1606,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/sets.* %{_mandir}/man3/shell.* %{_mandir}/man3/shell_default.* -%{_mandir}/man3/shell_docs.* %{_mandir}/man3/slave.* %{_mandir}/man3/sofs.* %{_mandir}/man3/string.* @@ -1690,6 +1630,8 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/erl_recomment.* %{_mandir}/man3/erl_syntax.* %{_mandir}/man3/erl_syntax_lib.* +%{_mandir}/man3/erl_tidy.* +%{_mandir}/man3/igor.* %{_mandir}/man3/merl.* %{_mandir}/man3/merl_transform.* %{_mandir}/man3/prettypr.* @@ -1705,6 +1647,7 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %files tools %dir %{_libdir}/erlang/lib/tools-*/ +%{_libdir}/erlang/lib/tools-*/bin %{_libdir}/erlang/lib/tools-*/ebin %{_libdir}/erlang/lib/tools-*/emacs %{_libdir}/erlang/lib/tools-*/src @@ -1727,7 +1670,14 @@ 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_xemacs} +%dir %{_xemacs_sitelispdir}/erlang +%doc %{_xemacs_sitelispdir}/erlang/README +%{_xemacs_sitelispdir}/erlang/*.el +%{_xemacs_sitelispdir}/erlang/*.elc +%{_xemacs_sitestartdir}/erlang-init.el +%endif %{__with_xemacs} %if %{__with_wxwidgets} %files wx @@ -1755,8 +1705,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/wxBitmap.* %{_mandir}/man3/wxBitmapButton.* %{_mandir}/man3/wxBitmapDataObject.* -%{_mandir}/man3/wxBookCtrlBase.* -%{_mandir}/man3/wxBookCtrlEvent.* %{_mandir}/man3/wxBoxSizer.* %{_mandir}/man3/wxBrush.* %{_mandir}/man3/wxBufferedDC.* @@ -1816,13 +1764,11 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/wxGBSizerItem.* %{_mandir}/man3/wxGCDC.* %{_mandir}/man3/wxGLCanvas.* -%{_mandir}/man3/wxGLContext.* %{_mandir}/man3/wxGauge.* %{_mandir}/man3/wxGenericDirCtrl.* %{_mandir}/man3/wxGraphicsBrush.* %{_mandir}/man3/wxGraphicsContext.* %{_mandir}/man3/wxGraphicsFont.* -%{_mandir}/man3/wxGraphicsGradientStops.* %{_mandir}/man3/wxGraphicsMatrix.* %{_mandir}/man3/wxGraphicsObject.* %{_mandir}/man3/wxGraphicsPath.* @@ -1887,7 +1833,7 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/wxMultiChoiceDialog.* %{_mandir}/man3/wxNavigationKeyEvent.* %{_mandir}/man3/wxNotebook.* -%{_mandir}/man3/wxNotificationMessage.* +%{_mandir}/man3/wxNotebookEvent.* %{_mandir}/man3/wxNotifyEvent.* %{_mandir}/man3/wxOverlay.* %{_mandir}/man3/wxPageSetupDialog.* @@ -1966,8 +1912,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/wxTreeEvent.* %{_mandir}/man3/wxTreebook.* %{_mandir}/man3/wxUpdateUIEvent.* -%{_mandir}/man3/wxWebView.* -%{_mandir}/man3/wxWebViewEvent.* %{_mandir}/man3/wxWindow.* %{_mandir}/man3/wxWindowCreateEvent.* %{_mandir}/man3/wxWindowDC.* @@ -1992,385 +1936,6 @@ 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 - -* Wed Jul 23 2025 Fedora Release Engineering - 26.2.5.14-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jul 17 2025 Peter Lemenkov - 26.2.5.14-1 -- Ver. 26.2.5.14 - -* Fri Jun 20 2025 Peter Lemenkov - 26.2.5.13-3 -- Add GDB tools - -* Wed Jun 18 2025 Benjamin A. Beasley - 26.2.5.13-2 -- Rename typer (in /usr/bin) to erlang-typer; fixes RHBZ#2359567 - -* Mon Jun 16 2025 Peter Lemenkov - 26.2.5.13-1 -- Ver. 26.2.5.13 - -* 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 - -* Sat May 6 2023 Peter Lemenkov - 25.3.2-1 -- Ver. 25.3.2 - -* Thu Apr 27 2023 Peter Lemenkov - 25.3.1-1 -- Ver. 25.3.1 - -* Wed Mar 8 2023 Peter Lemenkov - 25.3-1 -- Ver. 25.3 - -* Fri Feb 17 2023 Peter Lemenkov - 25.2.3-1 -- Ver. 25.2.3 - -* Mon Jan 30 2023 Peter Lemenkov - 25.2.2-1 -- Ver. 25.2.2 - -* Thu Jan 19 2023 Fedora Release Engineering - 25.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jan 18 2023 Peter Lemenkov - 25.2.1-1 -- Ver. 25.2.1 - -* Fri Jan 6 2023 Peter Lemenkov - 25.2-3 -- Fix deps - -* Wed Jan 4 2023 Peter Lemenkov - 25.2-2 -- LSP applications require source code to be available (rhbz #2157170). Let's - restore it in a separate package - -* Wed Dec 14 2022 Peter Lemenkov - 25.2-1 -- Ver. 25.2 - -* Sun Nov 27 2022 Mamoru TASAKA - 25.1.2-3 -- Rebuild due to wxGLCanvas ABI change - -* Thu Nov 24 2022 Florian Weimer - 25.1.2-2 -- Fix C99 compatibility issues in configure checks - -* Tue Oct 25 2022 Peter Lemenkov - 25.1.2-1 -- Ver. 25.1.2 - -* Mon Oct 3 2022 Peter Lemenkov - 25.1.1-1 -- Ver. 25.1.1 - -* Wed Sep 21 2022 Peter Lemenkov - 25.1-1 -- Ver. 25.1 - -* Thu Aug 18 2022 Peter Lemenkov - 25.0.4-1 -- Ver. 25.0.4 - -* Thu Jul 28 2022 Peter Lemenkov - 25.0.3-3 -- Rebuild with new wxWidgets - -* Thu Jul 21 2022 Fedora Release Engineering - 25.0.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jul 16 2022 Peter Lemenkov - 25.0.3-1 -- Ver. 25.0.3 - -* Tue Jul 12 2022 Peter Lemenkov - 25.0.2-1 -- Ver. 25.0.2 - -* Thu Jun 23 2022 Peter Lemenkov - 24.3.4.2-1 -- Ver. 24.3.4.2 - -* Wed Jun 8 2022 Peter Lemenkov - 24.3.4.1-1 -- Ver. 24.3.4.1 - -* Tue May 24 2022 Peter Lemenkov - 24.3.4-2 -- Downgrade to OpenSSL 1.x - -* Wed May 4 2022 Peter Lemenkov - 24.3.4-1 -- Ver. 24.3.4 - -* Fri Apr 8 2022 Peter Lemenkov - 24.3.3-2 -- Temporarily disable FIPS (doesn't work reliably with OpenSSL 3.0 yet) - -* Tue Mar 29 2022 Peter Lemenkov - 24.3.3-1 -- Ver. 24.3.3 -- Doc sub-package no longermarked as noarch (contains links to _libdir) - -* Mon Mar 28 2022 John Eckersberg - 24.2.2-2 -- Keep documentation chunks in the code path (rhbz#2068758) - -* Tue Mar 1 2022 Peter Lemenkov - 24.2.2-1 -- Ver. 24.2.2 - -* Sat Feb 05 2022 Jiri Vanek - 24.2.1-2 -- Rebuilt for java-17-openjdk as system jdk - -* Wed Jan 26 2022 Peter Lemenkov - 24.2.1-1 -- Ver. 24.2.1 - -* Thu Jan 20 2022 Fedora Release Engineering - 24.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Dec 15 2021 Peter Lemenkov - 24.2-1 -- Ver. 24.2 - -* Mon Nov 22 2021 Peter Lemenkov - 24.1.7-1 -- Ver. 24.1.7 - -* Thu Nov 18 2021 Peter Lemenkov - 24.1.6-1 -- Ver. 24.1.6 - -* Sat Nov 13 2021 Peter Lemenkov - 24.1.5-1 -- Ver. 24.1.5 - -* Tue Nov 2 2021 Peter Lemenkov - 24.1.4-1 -- Ver. 24.1.4 - -* Thu Oct 28 2021 Peter Lemenkov - 24.1.3-1 -- Ver. 24.1.3 - -* Tue Oct 12 2021 Peter Lemenkov - 24.1.2-2 -- Fix FTBFS with OpenSSL 3.0 - -* Tue Oct 5 2021 Peter Lemenkov - 24.1.2-1 -- Ver. 24.1.2 - -* Mon Oct 4 2021 Peter Lemenkov - 24.1.1-1 -- Ver. 24.1.1 - -* Thu Sep 23 2021 Peter Lemenkov - 24.1-1 -- Ver. 24.1 - -* Tue Sep 14 2021 Sahana Prasad - 24.0.6-2 -- Rebuilt with OpenSSL 3.0.0 - -* Fri Sep 3 2021 Peter Lemenkov - 24.0.6-1 -- Ver. 24.0.6 - -* Tue Aug 3 2021 Peter Lemenkov - 24.0.5-1 -- Ver. 24.0.5 - -* Thu Jul 22 2021 Peter Lemenkov - 24.0.4-1 -- Ver. 24.0.4 - -* Wed Jul 21 2021 Fedora Release Engineering - 24.0.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jun 29 2021 Peter Lemenkov - 24.0.3-1 -- Ver. 24.0.3 - -* Tue Jun 01 2021 Peter Lemenkov - 24.0.2-1 -- Ver. 24.0.2 - -* Fri May 21 2021 John Eckersberg - 24.0.1-1 -- Ver. 24.0.1 - -* Wed May 12 2021 Peter Lemenkov - 24.0-1 -- Ver. 24.0 - -* Wed Apr 21 2021 Peter Lemenkov - 24.0-0.2.rc3 -- Ver. 24.0-rc3 - -* Sat Apr 3 2021 Peter Lemenkov - 24.0-0.1.rc2 -- Ver. 24.0-rc2 -- Removed hipe - -* Tue Mar 30 2021 Peter Lemenkov - 23.3.1-1 -- Ver. 23.3.1 - -* Wed Mar 24 2021 Peter Lemenkov - 23.3-1 -- Ver. 23.3 - -* Fri Mar 5 2021 Peter Lemenkov - 23.2.7-1 -- Ver. 23.2.7 - -* Thu Feb 25 2021 Peter Lemenkov - 23.2.6-1 -- Ver. 23.2.6 - -* Tue Feb 16 2021 Peter Lemenkov - 23.2.5-1 -- Ver. 23.2.5 - -* Thu Feb 4 2021 John Eckersberg - 23.2.4-1 -- Ver. 23.2.4 - -* Tue Jan 26 2021 Fedora Release Engineering - 23.2.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jan 20 2021 Peter Lemenkov - 23.2.3-1 -- Ver. 23.2.3 - -* Fri Jan 15 2021 Peter Lemenkov - 23.2.2-1 -- Ver. 23.2.2 -- Disable XEmacs support (dead upstream, scheduled for removal from Fedora) - -* Tue Dec 22 2020 Peter Lemenkov - 23.2.1-1 -- Ver. 23.2.1 - -* Thu Dec 17 2020 Peter Lemenkov - 23.2-1 -- Ver. 23.2 - -* Fri Dec 11 2020 Peter Lemenkov - 23.1.5-1 -- Ver. 23.1.5 - -* Fri Nov 20 2020 Peter Lemenkov - 23.1.4-1 -- Ver. 23.1.4 - -* Tue Nov 17 2020 Peter Lemenkov - 23.1.3-1 -- Ver. 23.1.3 - -* Sat Oct 3 2020 Peter Lemenkov - 23.1.1-1 -- Ver. 23.1.1 - -* Tue Sep 15 2020 Peter Lemenkov - 23.0.4-1 -- Ver. 23.0.4 - -* Mon Jul 27 2020 Fedora Release Engineering - 23.0.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 20 2020 Peter Lemenkov - 23.0.3-1 -- Ver. 23.0.3 - -* Fri Jul 10 2020 Jiri Vanek - 23.0.2-2 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Thu May 28 2020 Peter Lemenkov - 23.0.2-1 -- Ver. 23.0.2 - -* Wed May 20 2020 Peter Lemenkov - 23.0.1-1 -- Ver. 23.0.1 - -* Wed May 13 2020 Peter Lemenkov - 23.0-1 -- Ver. 23.0 - -* Thu Apr 23 2020 Peter Lemenkov - 23.0-0.2.rc3 -- Ver. 23.0-rc3 - -* Sun Apr 19 2020 Peter Lemenkov - 23.0-0.1.rc2 -- Ver. 23.0-rc2 - -* Thu Apr 9 2020 Peter Lemenkov - 22.3.2-1 -- Ver. 22.3.2 - -* Fri Feb 28 2020 Peter Lemenkov - 22.2.8-1 -- Ver. 22.2.8 - -* Fri Feb 21 2020 Peter Lemenkov - 22.2.7-2 -- Fix building with GCC 10 (-fno-common) - -* Fri Feb 21 2020 Peter Lemenkov - 22.2.7-1 -- Ver. 22.2.7 - -* Thu Feb 6 2020 Peter Lemenkov - 22.2.6-1 -- Ver. 22.2.6 - -* Tue Jan 28 2020 Fedora Release Engineering - 22.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Jan 13 2020 Peter Lemenkov - 22.2.2-1 -- Ver. 22.2.2 - -* Sat Dec 28 2019 Peter Lemenkov - 22.2.1-1 -- Ver. 22.2.1 - -* Thu Nov 21 2019 John Eckersberg - 22.1.8-1 -- Ver. 22.1.8 -- Re-enable s390x, but disable kernel polling, see rhbz#1770256 - -* Mon Nov 11 2019 John Eckersberg - 22.1.7-1 -- Ver. 22.1.7 -- Add ExcludeArch for s390x, see rhbz#1770256 - -* Tue Nov 5 2019 John Eckersberg - 22.1.5-1 -- Ver. 22.1.5 - -* Mon Sep 16 2019 Peter Lemenkov - 22.0.7-3 -- Enable arches disabled in a previous build - -* Wed Sep 11 2019 Peter Lemenkov - 22.0.7-2 -- Disable arches with a broken builders -- Expose a correct NIF API version - * Tue Jul 30 2019 Peter Lemenkov - 22.0.7-1 - Ver. 22.0.7 - Removed otp_mibs application 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..5f2f83f 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 1f35cef669..f603eb2946 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in -@@ -552,10 +552,6 @@ endif +@@ -496,10 +496,6 @@ endif ifneq ($(INSTALL_TOP_BIN),) $(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)" endif @@ -21,10 +21,10 @@ index 42af9c87dc..c017e0a4ed 100644 $(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src" $(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src" diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src -index b00dd09f1a..2147774f50 100644 +index e4b842877c..382561821f 100644 --- a/erts/etc/unix/Install.src +++ b/erts/etc/unix/Install.src -@@ -143,14 +143,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot . +@@ -141,14 +141,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot . cp -p ../releases/%I_SYSTEM_VSN%/no_dot_erlang.boot . cp -p $Name.boot start.boot cp -p ../releases/%I_SYSTEM_VSN%/$Name.script start.script diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch index 5cadc0c..dd08460 100644 --- a/otp-0002-Remove-rpath.patch +++ b/otp-0002-Remove-rpath.patch @@ -5,15 +5,28 @@ 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 b6a65d7488..cd60549711 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in -@@ -147,7 +147,7 @@ endif - endif +@@ -114,7 +114,7 @@ TEST_ENGINE_LIB = $(LIBDIR)/otp_test_engine$(TYPEMARKER).@DED_EXT@ + DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@ - ifeq ($(DYNAMIC_OR_WIN_CRYPTO_LIB),yes) + ifeq ($(DYNAMIC_CRYPTO_LIB),yes) -SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@ +SSL_DED_LD_RUNTIME_LIBRARY_PATH = CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME) EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB else +diff --git a/lib/crypto/priv/Makefile b/lib/crypto/priv/Makefile +index ff9d3e1dc9..d3aba77808 100644 +--- a/lib/crypto/priv/Makefile ++++ b/lib/crypto/priv/Makefile +@@ -61,7 +61,7 @@ OBJS = $(OBJDIR)/crypto.o + # ---------------------------------------------------- + + $(SO_NIFLIB): $(OBJS) +- $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) -Wl,-R$(SO_SSL_LIBDIR) \ ++ $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) \ + -o $@ $^ -lcrypto + + $(DLL_NIFLIB): $(OBJS) diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch index 23056c4..f70afb1 100644 --- a/otp-0003-Do-not-install-C-sources.patch +++ b/otp-0003-Do-not-install-C-sources.patch @@ -14,10 +14,10 @@ https://bugzilla.redhat.com/818419 Signed-off-by: Peter Lemenkov diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile -index 82a6b6e87a..5f2fe8ba7d 100644 +index 1f714df357..95835d6ed2 100644 --- a/lib/asn1/c_src/Makefile +++ b/lib/asn1/c_src/Makefile -@@ -137,8 +137,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -136,8 +136,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" $(INSTALL_PROGRAM) $(NIF_SHARED_OBJ_FILE) "$(RELSYSDIR)/priv/lib" @@ -26,31 +26,56 @@ index 82a6b6e87a..5f2fe8ba7d 100644 release_docs_spec: +diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in +index cd60549711..5be70391d2 100644 +--- a/lib/crypto/c_src/Makefile.in ++++ b/lib/crypto/c_src/Makefile.in +@@ -223,16 +223,11 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" +- $(INSTALL_DATA) $(NIF_MAKEFILE) "$(RELSYSDIR)/priv/obj" +- $(INSTALL_PROGRAM) $(CRYPTO_OBJS) "$(RELSYSDIR)/priv/obj" + $(INSTALL_PROGRAM) $(NIF_LIB) "$(RELSYSDIR)/priv/lib" + ifeq ($(DYNAMIC_CRYPTO_LIB),yes) +- $(INSTALL_PROGRAM) $(CALLBACK_OBJS) "$(RELSYSDIR)/priv/obj" + $(INSTALL_PROGRAM) $(CALLBACK_LIB) "$(RELSYSDIR)/priv/lib" + endif +- $(INSTALL_PROGRAM) $(TEST_ENGINE_OBJS) "$(RELSYSDIR)/priv/obj" + $(INSTALL_PROGRAM) $(TEST_ENGINE_LIB) "$(RELSYSDIR)/priv/lib" + + release_docs_spec: diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in -index fa1ea3cd39..b977b6afe5 100644 +index 6e0d3476c7..55499fd9d4 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in -@@ -715,13 +715,11 @@ ifeq (@DYNAMIC_LIB@, yes) - endif +@@ -848,14 +848,14 @@ ifneq ($(EXE_TARGETS),) $(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin" + endif $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src" - $(INSTALL_DATA) connect/*.[ch] "$(RELSYSDIR)/src/connect" - $(INSTALL_DATA) decode/*.[ch] "$(RELSYSDIR)/src/decode" - $(INSTALL_DATA) encode/*.[ch] "$(RELSYSDIR)/src/encode" - $(INSTALL_DATA) epmd/*.[ch] "$(RELSYSDIR)/src/epmd" - $(INSTALL_DATA) misc/*.[ch] "$(RELSYSDIR)/src/misc" -- $(INSTALL_DATA) global/*.[ch] "$(RELSYSDIR)/src/global" +- $(INSTALL_DATA) registry/*.[ch] "$(RELSYSDIR)/src/registry" +- $(INSTALL_DATA) legacy/*.[ch] "$(RELSYSDIR)/src/legacy" - $(INSTALL_DATA) prog/*.[ch] "$(RELSYSDIR)/src/prog" + $(INSTALL_DATA) connect/*.h "$(RELSYSDIR)/src/connect" + $(INSTALL_DATA) decode/*.h "$(RELSYSDIR)/src/decode" + $(INSTALL_DATA) encode/*.h "$(RELSYSDIR)/src/encode" + $(INSTALL_DATA) epmd/*.h "$(RELSYSDIR)/src/epmd" + $(INSTALL_DATA) misc/*.h "$(RELSYSDIR)/src/misc" ++ $(INSTALL_DATA) registry/*.h "$(RELSYSDIR)/src/registry" ++ $(INSTALL_DATA) legacy/*.h "$(RELSYSDIR)/src/legacy" ++ $(INSTALL_DATA) prog/*.h "$(RELSYSDIR)/src/prog" release_docs: diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in -index 3649e2c392..d8c5c68b99 100644 +index 26d2ddd44c..753925ed77 100644 --- a/lib/megaco/src/flex/Makefile.in +++ b/lib/megaco/src/flex/Makefile.in @@ -251,7 +251,7 @@ release_spec: opt @@ -63,7 +88,7 @@ index 3649e2c392..d8c5c68b99 100644 endif diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in -index d1b26743a6..cf8faae1f5 100644 +index 294d832797..173f660f26 100644 --- a/lib/odbc/c_src/Makefile.in +++ b/lib/odbc/c_src/Makefile.in @@ -129,11 +129,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -91,3 +116,16 @@ index 27b156a2c9..f11ff303b6 100644 $(INSTALL_DIR) "$(RELSYSDIR)/priv/bin" $(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin" +diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in +index 289322b6fa..9e2b9b7e7c 100644 +--- a/lib/tools/c_src/Makefile.in ++++ b/lib/tools/c_src/Makefile.in +@@ -189,8 +189,6 @@ include ../vsn.mk + RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN) + + release_spec: all +- $(INSTALL_DIR) "$(RELSYSDIR)/c_src" +- $(INSTALL_DATA) $(EMEM_SRCS) $(EMEM_HEADERS) "$(RELSYSDIR)/c_src" + ifneq ($(PROGS),) + $(INSTALL_DIR) "$(RELSYSDIR)/bin" + $(INSTALL_PROGRAM) $(PROGS) "$(RELSYSDIR)/bin" diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch index a8037ea..7b8bbd4 100644 --- a/otp-0004-Do-not-install-Java-sources.patch +++ b/otp-0004-Do-not-install-Java-sources.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Do not install Java sources Signed-off-by: Peter Lemenkov diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile -index 089cf4ab1a..404654a437 100644 +index ee616f3d7e..fdd28e79b3 100644 --- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile +++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile -@@ -123,8 +123,6 @@ release release_docs release_tests release_html: +@@ -120,8 +120,6 @@ release release_docs release_tests release_html: $(V_at)$(MAKE) $(MFLAGS) RELEASE_PATH="$(RELEASE_PATH)" $(TARGET_MAKEFILE) $@_spec release_spec: opt diff --git a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch index 1965881..cfd78de 100644 --- a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch +++ b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32 Signed-off-by: Peter Lemenkov diff --git a/lib/os_mon/doc/src/Makefile b/lib/os_mon/doc/src/Makefile -index 8e3882bfdc..ea999cf9c7 100644 +index 8e9a4c333c..33b32b09b9 100644 --- a/lib/os_mon/doc/src/Makefile +++ b/lib/os_mon/doc/src/Makefile -@@ -31,11 +31,16 @@ APPLICATION=os_mon +@@ -36,11 +36,16 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN) # Target Specs # ---------------------------------------------------- XML_APPLICATION_FILES = ref_man.xml @@ -28,20 +28,20 @@ index 8e3882bfdc..ea999cf9c7 100644 XML_REF6_FILES = os_mon_app.xml diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile -index e28fb12548..ee32f3946f 100644 +index 923a31f290..5963351b0f 100644 --- a/lib/os_mon/src/Makefile +++ b/lib/os_mon/src/Makefile @@ -34,7 +34,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN) # ---------------------------------------------------- # Target Specs # ---------------------------------------------------- --MODULES= disksup memsup cpu_sup os_mon os_mon_mib os_sup os_mon_sysinfo nteventlog +-MODULES= disksup memsup cpu_sup os_mon os_sup os_mon_sysinfo nteventlog +ifeq ($(findstring win32,$(TARGET)),win32) +NTEVENTLOG=nteventlog +else +NTEVENTLOG= +endif -+MODULES= disksup memsup cpu_sup os_mon os_mon_mib os_sup os_mon_sysinfo \ ++MODULES= disksup memsup cpu_sup os_mon os_sup os_mon_sysinfo \ + $(NTEVENTLOG) INCLUDE=../include 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..595a92d --- /dev/null +++ b/otp-0006-Do-not-install-erlang-sources.patch @@ -0,0 +1,774 @@ +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 27d450c873..d3ea19286e 100644 +--- a/erts/preloaded/src/Makefile ++++ b/erts/preloaded/src/Makefile +@@ -112,8 +112,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 ba459f6cd3..5565126214 100644 +--- a/lib/asn1/src/Makefile ++++ b/lib/asn1/src/Makefile +@@ -154,7 +154,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 80eaed70bd..cde0c6823d 100644 +--- a/lib/common_test/src/Makefile ++++ b/lib/common_test/src/Makefile +@@ -152,7 +152,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 f015064b39..57f96d2929 100644 +--- a/lib/common_test/test_server/Makefile ++++ b/lib/common_test/test_server/Makefile +@@ -86,9 +86,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 87b0d345f2..db0ea47135 100644 +--- a/lib/compiler/src/Makefile ++++ b/lib/compiler/src/Makefile +@@ -179,8 +179,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 1753ba4f36..2cd09475e8 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 118cb6b758..86722d8767 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 bddd761705..f0c2e7c35b 100644 +--- a/lib/dialyzer/src/Makefile ++++ b/lib/dialyzer/src/Makefile +@@ -160,7 +160,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 98636ed6e2..171846f1e4 100644 +--- a/lib/diameter/src/Makefile ++++ b/lib/diameter/src/Makefile +@@ -250,11 +250,8 @@ release_spec: opt + $(MAKE) $(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 ea2f45dc4c..84af08eb67 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 b79a537424..d0b231e5fc 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 82d051e9bb..950fdbe177 100644 +--- a/lib/erl_docgen/src/Makefile ++++ b/lib/erl_docgen/src/Makefile +@@ -90,8 +90,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 b6347d8b6d..a695d2cc2d 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 3510d3cc93..9179e9b4c2 100644 +--- a/lib/eunit/src/Makefile ++++ b/lib/eunit/src/Makefile +@@ -120,7 +120,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) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" +diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile +index 5c367b5b77..b7a85ba115 100644 +--- a/lib/hipe/cerl/Makefile ++++ b/lib/hipe/cerl/Makefile +@@ -105,7 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/cerl" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/cerl" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/cerl" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/flow/Makefile b/lib/hipe/flow/Makefile +index d883eecf36..3119bc4638 100644 +--- a/lib/hipe/flow/Makefile ++++ b/lib/hipe/flow/Makefile +@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/flow" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(INC_FILES) "$(RELSYSDIR)/flow" ++ $(INSTALL_DATA) $(HRL_FILES) $(INC_FILES) "$(RELSYSDIR)/flow" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/icode/Makefile b/lib/hipe/icode/Makefile +index b220bc16a0..d4073277be 100644 +--- a/lib/hipe/icode/Makefile ++++ b/lib/hipe/icode/Makefile +@@ -120,7 +120,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/icode" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/icode" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/icode" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile +index 9f7a2def6d..def1b4be52 100644 +--- a/lib/hipe/llvm/Makefile ++++ b/lib/hipe/llvm/Makefile +@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) $(RELSYSDIR)/llvm +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(RELSYSDIR)/llvm ++ $(INSTALL_DATA) $(HRL_FILES) $(RELSYSDIR)/llvm + $(INSTALL_DIR) $(RELSYSDIR)/ebin + $(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin + +diff --git a/lib/hipe/main/Makefile b/lib/hipe/main/Makefile +index 8ef31dbb46..80d28819f2 100644 +--- a/lib/hipe/main/Makefile ++++ b/lib/hipe/main/Makefile +@@ -118,7 +118,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DATA) ../vsn.mk "$(RELSYSDIR)" + $(INSTALL_DIR) "$(RELSYSDIR)/main" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/main" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/main" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/misc/Makefile b/lib/hipe/misc/Makefile +index e5033e444b..74a444b386 100644 +--- a/lib/hipe/misc/Makefile ++++ b/lib/hipe/misc/Makefile +@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/misc" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/misc" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/misc" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile +index 0c0f6e24f5..fcffc1f8b5 100644 +--- a/lib/hipe/rtl/Makefile ++++ b/lib/hipe/rtl/Makefile +@@ -108,7 +108,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/rtl" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/rtl" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/rtl" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/util/Makefile b/lib/hipe/util/Makefile +index 20b1c3bf50..40c642a441 100644 +--- a/lib/hipe/util/Makefile ++++ b/lib/hipe/util/Makefile +@@ -50,7 +50,6 @@ HIPE_MODULES = + endif + MODULES = hipe_timing hipe_dot hipe_digraph hipe_dsets $(HIPE_MODULES) + +-HRL_FILES= + ERL_FILES= $(MODULES:%=%.erl) + TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) + DOC_FILES= $(MODULES:%=$(DOCS)/%.html) +@@ -104,8 +103,6 @@ $(DOCS)/%.html:%.erl + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/util" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/util" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile +index a1c1f36b70..f2eb86f7ac 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 8248e37c44..1f1b23184b 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 1c05d454a5..88f9f62d3b 100644 +--- a/lib/inets/src/http_server/Makefile ++++ b/lib/inets/src/http_server/Makefile +@@ -135,7 +135,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 ec1ae70305..88c084ef58 100644 +--- a/lib/inets/src/inets_app/Makefile ++++ b/lib/inets/src/inets_app/Makefile +@@ -116,7 +116,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 fcb599859b..14f82f9ea4 100644 +--- a/lib/kernel/src/Makefile ++++ b/lib/kernel/src/Makefile +@@ -228,7 +228,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 ab45548099..5c7a7f0be9 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 b9643669f6..5b5a4cf482 100644 +--- a/lib/megaco/src/binary/Makefile ++++ b/lib/megaco/src/binary/Makefile +@@ -176,7 +176,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 869b516b05..fa7d774d84 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 753925ed77..c6b68e225f 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 d07db3fa4b..7f421d24cc 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 8e7e82b276..2a118d24e3 100644 +--- a/lib/megaco/src/text/Makefile ++++ b/lib/megaco/src/text/Makefile +@@ -135,7 +135,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 028a63e98e..9e11e9bfb2 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 7d316df263..60fdefb5d0 100644 +--- a/lib/mnesia/src/Makefile ++++ b/lib/mnesia/src/Makefile +@@ -134,7 +134,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 f9f239db37..dd061f29f4 100644 +--- a/lib/observer/src/Makefile ++++ b/lib/observer/src/Makefile +@@ -150,7 +150,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 7ca59495ed..a52ade2fe3 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 5963351b0f..22c41137d0 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 ba206904ec..281cc8657c 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 a920ea87ea..7672ef3470 100644 +--- a/lib/public_key/asn1/Makefile ++++ b/lib/public_key/asn1/Makefile +@@ -96,8 +96,8 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/asn1" +- $(INSTALL_DATA) $(ASN_ASNS) $(ASN_ERLS) $(ASN_HRLS) $(ASN_CONFIGS) \ +- $(GEN_ERLS) "$(RELSYSDIR)/asn1" ++ $(INSTALL_DATA) $(ASN_ASNS) $(ASN_HRLS) $(ASN_CONFIGS) \ ++ "$(RELSYSDIR)/asn1" + $(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 e61390bce3..6ed6c2cf9f 100644 +--- a/lib/public_key/src/Makefile ++++ b/lib/public_key/src/Makefile +@@ -109,8 +109,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 4bddee4664..c714255548 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 76286c5499..d921f9f294 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 fd62588f5c..07373bfa78 100644 +--- a/lib/sasl/src/Makefile ++++ b/lib/sasl/src/Makefile +@@ -97,7 +97,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 b/lib/snmp/src/agent/Makefile +index 2943a4d550..8203e62361 100644 +--- a/lib/snmp/src/agent/Makefile ++++ b/lib/snmp/src/agent/Makefile +@@ -131,7 +131,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) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile +index 6f2b8a4077..bd062a6473 100644 +--- a/lib/snmp/src/app/Makefile ++++ b/lib/snmp/src/app/Makefile +@@ -132,7 +132,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 4093ffa9ca..18878aa5db 100644 +--- a/lib/snmp/src/compile/Makefile ++++ b/lib/snmp/src/compile/Makefile +@@ -123,7 +123,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 0cc87492f1..d203f2846a 100644 +--- a/lib/snmp/src/manager/Makefile ++++ b/lib/snmp/src/manager/Makefile +@@ -114,7 +114,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) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile +index adc2c4858f..89ce954e99 100644 +--- a/lib/snmp/src/misc/Makefile ++++ b/lib/snmp/src/misc/Makefile +@@ -112,7 +112,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 6d64a45112..5b1249ca5b 100644 +--- a/lib/ssh/src/Makefile ++++ b/lib/ssh/src/Makefile +@@ -139,7 +139,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 8dc76f2638..3c2f73f5be 100644 +--- a/lib/ssl/src/Makefile ++++ b/lib/ssl/src/Makefile +@@ -183,7 +183,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 86003c953d..69bfbefeb9 100644 +--- a/lib/stdlib/src/Makefile ++++ b/lib/stdlib/src/Makefile +@@ -216,7 +216,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 c21d2f49c8..03dbc74ef7 100644 +--- a/lib/syntax_tools/src/Makefile ++++ b/lib/syntax_tools/src/Makefile +@@ -100,8 +100,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 602ae845a4..a1f2f09a00 100644 +--- a/lib/tftp/src/Makefile ++++ b/lib/tftp/src/Makefile +@@ -98,7 +98,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 cc5bee9a8f..7dfa55cb41 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 52f4008e0a..dc297f1d55 100644 +--- a/lib/wx/src/Makefile ++++ b/lib/wx/src/Makefile +@@ -122,9 +122,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 51d9190797..1ab65bd2ed 100644 +--- a/lib/xmerl/src/Makefile ++++ b/lib/xmerl/src/Makefile +@@ -218,9 +218,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..a8b3649 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 68e1205301..0f534ff814 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 83% rename from otp-0007-Avoid-forking-sed-to-get-basename.patch rename to otp-0008-Avoid-forking-sed-to-get-basename.patch index d146ab2..f98699a 100644 --- a/otp-0007-Avoid-forking-sed-to-get-basename.patch +++ b/otp-0008-Avoid-forking-sed-to-get-basename.patch @@ -4,14 +4,14 @@ Subject: [PATCH] Avoid forking sed to get basename. diff --git a/erts/etc/unix/erl.src.src b/erts/etc/unix/erl.src.src -index 536fa139d9..4dcffbc4c8 100644 +index 959c099e8f..861b8bcbf1 100644 --- a/erts/etc/unix/erl.src.src +++ b/erts/etc/unix/erl.src.src -@@ -49,7 +49,7 @@ else - fi - BINDIR="$ROOTDIR/erts-%VSN%/bin" +@@ -21,7 +21,7 @@ + ROOTDIR="%FINAL_ROOTDIR%" + BINDIR=$ROOTDIR/erts-%VSN%/bin EMU=%EMULATOR%%EMULATOR_NUMBER% --PROGNAME=`basename "$0"` +-PROGNAME=`echo $0 | sed 's/.*\///'` +PROGNAME=${0##*/} export EMU export ROOTDIR 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..4cd87ce 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 8203c46a39..631b93a92e 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c -@@ -716,8 +716,10 @@ int main(int argc, char **argv) +@@ -706,8 +706,10 @@ int main(int argc, char **argv) error("-man not supported on Windows"); #else argv[i] = "man"; diff --git a/otp-0010-Improve-nodes-querying.patch b/otp-0010-Improve-nodes-querying.patch new file mode 100644 index 0000000..fbf61b1 --- /dev/null +++ b/otp-0010-Improve-nodes-querying.patch @@ -0,0 +1,134 @@ +From: Peter Lemenkov +Date: Wed, 24 Oct 2018 14:58:41 +0200 +Subject: [PATCH] Improve nodes querying + +We've got a few similar stacktraces once. See the following one for +example: + +** Reason for termination == +** {badarg, + [{ets,next,[sys_dist,'rabbitmq-cli-42@host.example.com'],[]}, + {net_kernel,get_nodes,2,[{file,"net_kernel.erl"},{line,1025}]}, + {net_kernel,get_nodes,2,[{file,"net_kernel.erl"},{line,1019}]}, + {net_kernel,get_nodes_info,0,[{file,"net_kernel.erl"},{line,1439}]}, + {rabbit_mgmt_external_stats,cluster_links,0, + [{file,"src/rabbit_mgmt_external_stats.erl"},{line,252}]}, + {rabbit_mgmt_external_stats,emit_node_node_stats,1, + [{file,"src/rabbit_mgmt_external_stats.erl"},{line,366}]}, + {rabbit_mgmt_external_stats,handle_info,2, + [{file,"src/rabbit_mgmt_external_stats.erl"},{line,347}]}, + {gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]}]} + +The problem is that when we're trying to query a list of connected +nodes, we're doing it in the following way: + + Call for the first record in ETS + While not EOF: + Call for the next record in ETS + +What happens, when some Node disconnects during the "not EOF" loop? +We'll get an exception. + +Let's do it differently - query a list of nodes in one shot, and then +get info from each of the nodes in list (w/o extra calls to ets). These +individual calls care of disconnected nodes so everything will be fine +even if a node disconnects. + +Signed-off-by: Peter Lemenkov + +diff --git a/lib/kernel/src/net_kernel.erl b/lib/kernel/src/net_kernel.erl +index 83d3b4b5e1..bebefc2e08 100644 +--- a/lib/kernel/src/net_kernel.erl ++++ b/lib/kernel/src/net_kernel.erl +@@ -670,24 +670,16 @@ code_change(_OldVsn, State, _Extra) -> + + terminate(no_network, State) -> + lists:foreach( +- fun({Node, Type}) -> +- case Type of +- normal -> ?nodedown(Node, State); +- _ -> ok +- end +- end, get_up_nodes() ++ [{node(), normal}]); ++ fun(Node) -> ?nodedown(Node, State) ++ end, get_nodes_up_normal() ++ [node()]); + terminate(_Reason, State) -> + lists:foreach( + fun(#listen {listen = Listen,module = Mod}) -> + Mod:close(Listen) + end, State#state.listen), + lists:foreach( +- fun({Node, Type}) -> +- case Type of +- normal -> ?nodedown(Node, State); +- _ -> ok +- end +- end, get_up_nodes() ++ [{node(), normal}]). ++ fun(Node) -> ?nodedown(Node, State) ++ end, get_nodes_up_normal() ++ [node()]). + + + %% ------------------------------------------------------------ +@@ -1147,35 +1139,10 @@ disconnect_pid(Pid, State) -> + %% + %% + %% +-get_nodes(Which) -> +- get_nodes(ets:first(sys_dist), Which). + +-get_nodes('$end_of_table', _) -> +- []; +-get_nodes(Key, Which) -> +- case ets:lookup(sys_dist, Key) of +- [Conn = #connection{state = up}] -> +- [Conn#connection.node | get_nodes(ets:next(sys_dist, Key), +- Which)]; +- [Conn = #connection{}] when Which =:= all -> +- [Conn#connection.node | get_nodes(ets:next(sys_dist, Key), +- Which)]; +- _ -> +- get_nodes(ets:next(sys_dist, Key), Which) +- end. +- +-%% Return a list of all nodes that are 'up'. +-get_up_nodes() -> +- get_up_nodes(ets:first(sys_dist)). +- +-get_up_nodes('$end_of_table') -> []; +-get_up_nodes(Key) -> +- case ets:lookup(sys_dist, Key) of +- [#connection{state=up,node=Node,type=Type}] -> +- [{Node,Type}|get_up_nodes(ets:next(sys_dist, Key))]; +- _ -> +- get_up_nodes(ets:next(sys_dist, Key)) +- end. ++%% Return a list of all nodes that are 'up' and not hidden. ++get_nodes_up_normal() -> ++ ets:select(sys_dist, [{#connection{node = '$1', state = up, type = normal, _ = '_'}, [], ['$1']}]). + + ticker(Kernel, Tick) when is_integer(Tick) -> + process_flag(priority, max), +@@ -1640,15 +1607,14 @@ get_node_info(Node, Key) -> + end. + + get_nodes_info() -> +- get_nodes_info(get_nodes(all), []). +- +-get_nodes_info([Node|Nodes], InfoList) -> +- case get_node_info(Node) of +- {ok, Info} -> get_nodes_info(Nodes, [{Node, Info}|InfoList]); +- _ -> get_nodes_info(Nodes, InfoList) +- end; +-get_nodes_info([], InfoList) -> +- {ok, InfoList}. ++ Nodes = ets:select(sys_dist, [{#connection{node = '$1', _ = '_'}, [], ['$1']}]), ++ {ok, lists:filtermap( ++ fun(Node) -> ++ case get_node_info(Node) of ++ {ok, Info} -> {true, {Node, Info}}; ++ _ -> false ++ end ++ end, Nodes)}. + + %% ------------------------------------------------------------ + %% Misc. functions diff --git a/otp-make-subpackages.py b/otp-make-subpackages.py index fd9df5e..e004bf3 100644 --- a/otp-make-subpackages.py +++ b/otp-make-subpackages.py @@ -24,7 +24,9 @@ package_headers = {} package_noarch = [ "emacs-erlang", "emacs-erlang-el", - "erlang-doc"] + "erlang-doc", + "xemacs-erlang", + "xemacs-erlang-el"] # These are additional Requires which cannot be picked up automatically (yet). # TODO these should be added automatically @@ -42,6 +44,8 @@ package_additional_requires = { # Stores files/links in /usr/share/java so has to depend on jpackage-utils "erlang-jinterface": ["%{name}-erts%{?_isa} = %{version}-%{release}", "jpackage-utils"], "erlang-wx": ["mesa-libGL", "mesa-libGLU"], + "xemacs-erlang": ["emacs-common-erlang = %{version}-%{release}", "xemacs(bin) >= %{_xemacs_version}"], + "xemacs-erlang-el": ["xemacs-erlang = %{version}-%{release}"] } package_additional_buildrequires = { @@ -66,6 +70,8 @@ package_additional_buildrequires = { "erlang-jinterface": ["java-devel"], "erlang-odbc": ["unixODBC-devel"], + "erlang-wx": ["wxGTK-devel"], + "xemacs-erlang": ["xemacs", "xemacs-packages-extra-el"], } package_additional_obsoletes = { diff --git a/sources b/sources index 674a546..2313247 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.16.tar.gz) = 4e973be7e8ccad196d59759108a521535b0f046268eb0406f789a50f411fa27c9c11fcfb61a7218605bf1b32921bb52c52fc7c99917e1acfc0d3ed09437129b2 +SHA512 (otp-OTP-22.0.7.tar.gz) = cf84cc20b97ed46f9ab3c7f1d77bcf6254ac3ebbb5c1e4e5202f4d5ba3d9c3bf5542567b047edaa68c204bc67ca667b1d96eb8153ac660e628c78fe271b6a8d9