diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 3afb629..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# erlang - -#### Description -A general-purpose programming language and runtime environment - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index 8fccff8..0000000 --- a/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# erlang - -#### 介绍 -A general-purpose programming language and runtime environment - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/erlang.spec b/erlang.spec index 557981f..144df53 100644 --- a/erlang.spec +++ b/erlang.spec @@ -1,442 +1,487 @@ %global need_bootstrap_set 0 %{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}} %bcond_with doc + %ifarch %{arm} %{ix86} x86_64 ppc %{power64} %global __with_hipe 1 %endif + %global __with_emacs 1 %global __with_xemacs 0 %global __with_examples 1 %global __with_java 1 %global __with_wxwidgets 1 -Name: erlang -Version: 21.3.3 -Release: 4 -Summary: General-purpose programming language and runtime environment -License: ASL 2.0 -URL: https://www.erlang.org -VCS: scm:git:https://github.com/erlang/otp -Source0: https://github.com/erlang/otp/archive/OTP-%{version}/otp-OTP-%{version}.tar.gz -Source1: epmd.service -Source2: epmd.socket -Source3: epmd@.service -Source4: epmd@.socket -Patch1: otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch -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-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 -Patch11: extern-ei-default-socket-callbacks.patch -Patch12: fix-build-error-for-autoconf-2.71.patch -BuildRequires: gcc gcc-c++ flex + + +Name: erlang +Version: 23.3.4.9 +Release: 1 +Summary: General-purpose programming language and runtime environment + +License: ASL 2.0 +URL: https://www.erlang.org +VCS: scm:git:https://github.com/erlang/otp +Source0: https://github.com/erlang/otp/archive/OTP-%{version}/otp-OTP-%{version}.tar.gz +Source1: epmd.service +Source2: epmd.socket +Source3: epmd@.service +Source4: epmd@.socket + +Patch1: otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch +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-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 + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: flex +BuildRequires: make + %if %{with doc} %if 0%{?need_bootstrap} < 1 -BuildRequires: erlang +# Required for building docs (escript) +BuildRequires: erlang %endif %endif -BuildRequires: systemd-devel systemd + +# for +BuildRequires: systemd-devel +BuildRequires: systemd %{?systemd_requires} -Requires: systemd -BuildRequires: autoconf automake -Requires: %{name}-asn1%{?_isa} = %{version}-%{release} +Requires: systemd +BuildRequires: autoconf +BuildRequires: automake +#BuildRequires: erlang-rpm-macros + +Requires: %{name}-asn1%{?_isa} = %{version}-%{release} %if %{__with_wxwidgets} -Requires: %{name}-common_test%{?_isa} = %{version}-%{release} -%endif %{__with_wxwidgets} -Requires: %{name}-compiler%{?_isa} = %{version}-%{release} -Requires: %{name}-crypto%{?_isa} = %{version}-%{release} +Requires: %{name}-common_test%{?_isa} = %{version}-%{release} +%endif # __with_wxwidgets +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-crypto%{?_isa} = %{version}-%{release} %if %{__with_wxwidgets} -Requires: %{name}-debugger%{?_isa} = %{version}-%{release} -%endif %{__with_wxwidgets} +Requires: %{name}-debugger%{?_isa} = %{version}-%{release} +%endif # __with_wxwidgets %if %{__with_wxwidgets} -Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release} -%endif %{__with_wxwidgets} -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}-erl_interface%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release} +%endif # __with_wxwidgets +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}-erl_interface%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} %if %{__with_wxwidgets} -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} +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} -%endif %{__with_java} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-jinterface%{?_isa} = %{version}-%{release} +%endif # __with_java +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} %if %{__with_wxwidgets} -Requires: %{name}-megaco%{?_isa} = %{version}-%{release} -%endif %{__with_wxwidgets} -Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-megaco%{?_isa} = %{version}-%{release} +%endif # __with_wxwidgets +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} %if %{__with_wxwidgets} -Requires: %{name}-observer%{?_isa} = %{version}-%{release} -%endif %{__with_wxwidgets} -Requires: %{name}-odbc%{?_isa} = %{version}-%{release} -Requires: %{name}-os_mon%{?_isa} = %{version}-%{release} -Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release} -Requires: %{name}-parsetools%{?_isa} = %{version}-%{release} -Requires: %{name}-public_key%{?_isa} = %{version}-%{release} +Requires: %{name}-observer%{?_isa} = %{version}-%{release} +%endif # __with_wxwidgets +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} %if %{__with_wxwidgets} -Requires: %{name}-reltool%{?_isa} = %{version}-%{release} -%endif %{__with_wxwidgets} -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}-reltool%{?_isa} = %{version}-%{release} +%endif # __with_wxwidgets +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} %if %{__with_wxwidgets} -Requires: %{name}-wx%{?_isa} = %{version}-%{release} -%endif %{__with_wxwidgets} -Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} +Requires: %{name}-wx%{?_isa} = %{version}-%{release} +%endif # __with_wxwidgets +Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} + %description Erlang is a general-purpose programming language and runtime environment. Erlang has built-in support for concurrency, distribution and fault tolerance. Erlang is used in several large telecommunication systems from Ericsson. +### BEGIN OF AUTOGENERATED LIST ### + %package asn1 -Summary: Provides support for Abstract Syntax Notation One -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Provides support for Abstract Syntax Notation One +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description asn1 Provides support for Abstract Syntax Notation One. -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %package common_test -Summary: A portable framework for automatic testing -Requires: %{name}-compiler%{?_isa} = %{version}-%{release} -Requires: %{name}-crypto%{?_isa} = %{version}-%{release} -Requires: %{name}-debugger%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-inets%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-observer%{?_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}-stdlib%{?_isa} = %{version}-%{release} -Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-tools%{?_isa} = %{version}-%{release} -Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} -Obsoletes: erlang-test_server +Summary: A portable framework for automatic testing +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-crypto%{?_isa} = %{version}-%{release} +Requires: %{name}-debugger%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-observer%{?_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}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-tools%{?_isa} = %{version}-%{release} +Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} +Obsoletes: erlang-test_server + %description common_test A portable framework for automatic testing. -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %package compiler -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} +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} + %description compiler A byte code compiler for Erlang which produces highly compact code. %package crypto -Summary: Cryptographical support -BuildRequires: pkgconfig(openssl) -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Cryptographical support +BuildRequires: pkgconfig(openssl) +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description crypto Cryptographical support. -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %package debugger -Summary: A debugger for debugging and testing of Erlang programs -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}-wx%{?_isa} = %{version}-%{release} +Summary: A debugger for debugging and testing of Erlang programs +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}-wx%{?_isa} = %{version}-%{release} + %description debugger A debugger for debugging and testing of Erlang programs. -%endif %{__with_wxwidgets} -%if %{__with_wxwidgets} +%endif # __with_wxwidgets +%if %{__with_wxwidgets} %package dialyzer -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} -Requires: %{name}-wx%{?_isa} = %{version}-%{release} graphviz -Obsoletes: erlang-typer +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} +Requires: %{name}-wx%{?_isa} = %{version}-%{release} +Requires: graphviz +Obsoletes: erlang-typer + %description dialyzer A DIscrepancy AnaLYZer for ERlang programs. -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %package diameter -Summary: Diameter (RFC 3588) library -BuildRequires: ed -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-ssl%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} -Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} +Summary: Diameter (RFC 3588) library +BuildRequires: ed +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-ssl%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} + %description diameter Diameter (RFC 3588) library -%if %{with doc} +%if %{with doc} %package doc -Summary: Erlang documentation -BuildRequires: fop libxslt -BuildArch: noarch +Summary: Erlang documentation +BuildRequires: fop +BuildRequires: libxslt +BuildArch: noarch + %description doc Documentation for Erlang. %endif %package edoc -Summary: A utility used to generate documentation out of tags in source files -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-inets%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} -Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} +Summary: A utility used to generate documentation out of tags in source files +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} + %description edoc A utility used to generate documentation out of tags in source files. %package eldap -Summary: Erlang LDAP library -Requires: %{name}-asn1%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-ssl%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Erlang LDAP library +Requires: %{name}-asn1%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-ssl%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description eldap Erlang LDAP library. %package erl_docgen -Summary: A utility used to generate erlang HTML documentation -Requires: %{name}-edoc%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} -Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} +Summary: A utility used to generate erlang HTML documentation +Requires: %{name}-edoc%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} + %description erl_docgen A utility used to generate erlang HTML documentation. %package erl_interface -Summary: Low level interface to C -Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Summary: Low level interface to C +Requires: %{name}-erts%{?_isa} = %{version}-%{release} + %description erl_interface Low level interface to C. %package erts -Summary: Functionality necessary to run the Erlang System itself -BuildRequires: lksctp-tools-devel m4 ncurses-devel zlib-devel +Summary: Functionality necessary to run the Erlang System itself +BuildRequires: lksctp-tools-devel +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} lksctp-tools -Provides: erlang(erl_drv_version) = 3.3 -Provides: erlang(erl_nif_version) = 2.14 -Provides: bundled(pcre) = 8.33 -Obsoletes: erlang-appmon -Obsoletes: erlang-docbuilder -Obsoletes: erlang-gs -Obsoletes: erlang-inviso -Obsoletes: erlang-ose -Obsoletes: erlang-percept < 20.2.3 -Obsoletes: erlang-pman -Obsoletes: erlang-toolbar -Obsoletes: erlang-tv -Obsoletes: erlang-webtool +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: lksctp-tools +Provides: erlang(erl_drv_version) = 3.3 +Provides: erlang(erl_nif_version) = 2.15 +Provides: bundled(pcre) = 8.33 +Obsoletes: erlang-appmon +Obsoletes: erlang-docbuilder +Obsoletes: erlang-gs +Obsoletes: erlang-inviso +Obsoletes: erlang-ose +Obsoletes: erlang-otp_mibs +# Moved to https://github.com/erlang/percept +Obsoletes: erlang-percept < 20.2.3 +Obsoletes: erlang-pman +Obsoletes: erlang-toolbar +Obsoletes: erlang-tv +Obsoletes: erlang-webtool + %description erts Functionality necessary to run the Erlang System itself. -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %package et -Summary: An event tracer for Erlang programs -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} -Requires: %{name}-wx%{?_isa} = %{version}-%{release} +Summary: An event tracer for Erlang programs +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-wx%{?_isa} = %{version}-%{release} + %description et An event tracer for Erlang programs. -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %package eunit -Summary: Support for unit testing -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Support for unit testing +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description eunit Support for unit testing. -%if %{__with_examples} +%if %{__with_examples} %package examples -Summary: Examples for some Erlang modules -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-public_key%{?_isa} = %{version}-%{release} -Requires: %{name}-sasl%{?_isa} = %{version}-%{release} -Requires: %{name}-ssl%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Examples for some Erlang modules +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-public_key%{?_isa} = %{version}-%{release} +Requires: %{name}-sasl%{?_isa} = %{version}-%{release} +Requires: %{name}-ssl%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description examples Examples for some Erlang modules. %endif %{__with_examples} %package ftp -Summary: FTP client -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: FTP client +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description ftp FTP client. %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} +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 hipe High Performance Erlang. %package inets -Summary: A set of services such as a Web server and a HTTP client etc -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} -Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-ssl%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: A set of services such as a Web server and a HTTP client etc +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-ssl%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description inets A set of services such as a Web server and a HTTP client etc. -%if %{__with_java} +%if %{__with_java} %package jinterface -Summary: A library for accessing Java from Erlang -BuildRequires: java-devel -Requires: javapackages-tools %{name}-erts%{?_isa} = %{version}-%{release} +Summary: A library for accessing Java from Erlang +BuildRequires: java-devel +Requires: javapackages-tools +Requires: %{name}-erts%{?_isa} = %{version}-%{release} + %description jinterface Low level interface to Java. -%endif %{__with_java} +%endif # __with_java %package kernel -Summary: Main erlang library -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Main erlang library +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description kernel Main erlang library. -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %package megaco -Summary: Megaco/H.248 support library -Requires: %{name}-asn1%{?_isa} = %{version}-%{release} -Requires: %{name}-debugger%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-et%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Megaco/H.248 support library +Requires: %{name}-asn1%{?_isa} = %{version}-%{release} +Requires: %{name}-debugger%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-et%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description megaco Megaco/H.248 is a protocol for control of elements in a physically decomposed multimedia gateway, enabling separation of call control from media conversion. -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %package mnesia -Summary: A heavy duty real-time distributed database -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: A heavy duty real-time distributed database +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description mnesia A heavy duty real-time distributed database. -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %package observer -Summary: A set of tools for tracing and investigation of distributed systems -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-et%{?_isa} = %{version}-%{release} -Requires: %{name}-inets%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} -Requires: %{name}-wx%{?_isa} = %{version}-%{release} +Summary: A set of tools for tracing and investigation of distributed systems +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-et%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-wx%{?_isa} = %{version}-%{release} + %description observer A set of tools for tracing and investigation of distributed systems. -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %package odbc -Summary: A library for unixODBC support in Erlang -BuildRequires: unixODBC-devel -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: A library for unixODBC support in Erlang +BuildRequires: unixODBC-devel +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description odbc An interface to relational SQL-databases built on ODBC (Open Database Connectivity). %package os_mon -Summary: A monitor which allows inspection of the underlying operating system -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} -Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release} -Requires: %{name}-sasl%{?_isa} = %{version}-%{release} -Requires: %{name}-snmp%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: A monitor which allows inspection of the underlying operating system +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-sasl%{?_isa} = %{version}-%{release} +Requires: %{name}-snmp%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description os_mon A monitor which allows inspection of the underlying operating system. -%package otp_mibs -Summary: SNMP management information base for Erlang/OTP nodes -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} -Requires: %{name}-snmp%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} -%description otp_mibs -SNMP management information base for Erlang/OTP nodes. - %package parsetools -Summary: A set of parsing and lexical analysis tools -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: A set of parsing and lexical analysis tools +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description parsetools A set of parsing and lexical analysis tools. %package public_key -Summary: API to public key infrastructure -Requires: %{name}-asn1%{?_isa} = %{version}-%{release} -Requires: %{name}-crypto%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: API to public key infrastructure +Requires: %{name}-asn1%{?_isa} = %{version}-%{release} +Requires: %{name}-crypto%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description public_key API to public key infrastructure. -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %package reltool -Summary: A release management tool -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-sasl%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} -Requires: %{name}-tools%{?_isa} = %{version}-%{release} -Requires: %{name}-wx%{?_isa} = %{version}-%{release} +Summary: A release management tool +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-sasl%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-tools%{?_isa} = %{version}-%{release} +Requires: %{name}-wx%{?_isa} = %{version}-%{release} + %description reltool Reltool is a release management tool. It analyses a given Erlang/OTP installation and determines various dependencies @@ -444,133 +489,141 @@ between applications. The graphical frontend depicts the dependencies and enables interactive customization of a target system. The backend provides a batch interface for generation of customized target systems. -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %package runtime_tools -Summary: A set of tools to include in a production system -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: A set of tools to include in a production system +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description runtime_tools A set of tools to include in a production system. %package sasl -Summary: The System Architecture Support Libraries -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} -Requires: %{name}-tools%{?_isa} = %{version}-%{release} +Summary: The System Architecture Support Libraries +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-tools%{?_isa} = %{version}-%{release} + %description sasl The System Architecture Support Libraries is a set of tools for release upgrades and alarm handling etc. %package snmp -Summary: Simple Network Management Protocol (SNMP) support -Requires: %{name}-crypto%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} -Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Simple Network Management Protocol (SNMP) support +Requires: %{name}-crypto%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description snmp Simple Network Management Protocol (SNMP) support including a MIB compiler and tools for creating SNMP agents. %package ssh -Summary: Secure Shell application with sftp and ssh support -Requires: %{name}-crypto%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-public_key%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Secure Shell application with sftp and ssh support +Requires: %{name}-crypto%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-public_key%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description ssh Secure Shell application with sftp and ssh support. %package ssl -Summary: Secure Socket Layer support -Requires: %{name}-crypto%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-inets%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-public_key%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Secure Socket Layer support +Requires: %{name}-crypto%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-public_key%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description ssl Secure Socket Layer support. %package stdlib -Summary: The Erlang standard libraries -Requires: %{name}-compiler%{?_isa} = %{version}-%{release} -Requires: %{name}-crypto%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Summary: The Erlang standard libraries +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-crypto%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} + %description stdlib The Erlang standard libraries. %package syntax_tools -Summary: A set of tools for dealing with erlang sources -Requires: %{name}-compiler%{?_isa} = %{version}-%{release} -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: A set of tools for dealing with erlang sources +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description syntax_tools A utility used to handle abstract Erlang syntax trees, reading source files differently, pretty-printing syntax trees. %package tftp -Summary: TFTP client -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: TFTP client +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description tftp TFTP client. %package tools -Summary: A set of programming tools including a coverage analyzer etc +Summary: A set of programming tools including a coverage analyzer etc %if %{__with_emacs} -BuildRequires: emacs emacs-el +BuildRequires: emacs +BuildRequires: emacs-el %endif %{__with_emacs} -%if %{__with_xemacs} -BuildRequires: xemacs 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} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %if %{__with_emacs} -Requires: emacs-filesystem -Obsoletes: emacs-erlang -Obsoletes: emacs-erlang-el +Requires: emacs-filesystem +Obsoletes: emacs-erlang +Obsoletes: emacs-erlang-el %endif %{__with_emacs} -%if %{__with_xemacs} -Requires: xemacs-filesystem -Obsoletes: xemacs-erlang -Obsoletes: xemacs-erlang-el -%endif %{__with_xemacs} + + %description tools A set of programming tools including a coverage analyzer etc. -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %package wx -Summary: A library for wxWidgets support in Erlang -BuildRequires: wxGTK3-devel -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} mesa-libGL mesa-libGLU +Summary: A library for wxWidgets support in Erlang +BuildRequires: wxGTK3-devel +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: mesa-libGL +Requires: mesa-libGLU + %description wx A Graphics System used to write platform independent user interfaces. -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %package xmerl -Summary: Provides support for XML 1.0 -Requires: %{name}-erts%{?_isa} = %{version}-%{release} -Requires: %{name}-kernel%{?_isa} = %{version}-%{release} -Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Summary: Provides support for XML 1.0 +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + %description xmerl Provides support for XML 1.0. + %prep %autosetup -p1 -n otp-OTP-%{version} ./otp_build autoconf @@ -582,25 +635,28 @@ ERL_FLAGS="${RPM_OPT_FLAGS} -mcpu=ultrasparc -fno-strict-aliasing" ERL_FLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing" %endif CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --enable-sctp --enable-systemd --disable-silent-rules \ - %{?__with_hipe:--enable-hipe} \ + %{?__with_hipe:--enable-hipe} \ + %{?__without_kernel_poll:--disable-kernel-poll} \ %if %{__with_java} - \ + \ %else - --without-jinterface \ -%endif %{__with_java} + --without-jinterface \ +%endif # __with_java %if %{__with_wxwidgets} - --with-wx-config=/usr/bin/wx-config-3.0 + --with-wx-config=/usr/bin/wx-config-3.0 %else - --without-common_test \ - --without-debugger \ - --without-dialyzer \ - --without-et \ - --without-megaco \ - --without-observer \ - --without-reltool \ - --without-wx -%endif %{__with_wxwidgets} + --without-common_test \ + --without-debugger \ + --without-dialyzer \ + --without-et \ + --without-megaco \ + --without-observer \ + --without-reltool \ + --without-wx +%endif # __with_wxwidgets + make clean + %if %{__with_emacs} erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)" cat > emacs-erlang-init.el << EOF @@ -614,68 +670,52 @@ cp lib/tools/emacs/*.el emacs-erlang/ pushd emacs-erlang %{_emacs_bytecompile} *.el popd -%endif %{__with_emacs} -%if %{__with_xemacs} -cat > 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 %{?_smp_mflags} +%endif # __with_emacs + +make + %if %{with doc} %ifnarch ppc %{power64} export BASE_OPTIONS=-Xmx1024m %else export BASE_OPTIONS=-Xmx1536m %endif -make %{?_smp_mflags} docs +make docs %endif + %install %if %{__with_emacs} erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)" + install -m 0755 -d "$RPM_BUILD_ROOT%{_emacs_sitestartdir}" install -m 0755 -d "$RPM_BUILD_ROOT%{_emacs_sitelispdir}/erlang" install -m 0644 emacs-erlang-init.el "$RPM_BUILD_ROOT%{_emacs_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%{_emacs_sitelispdir}/erlang/" + b="$(basename "$f")"; + ln -s "%{_libdir}/erlang/lib/tools-${erlang_tools_vsn}/emacs/$b" \ + "$RPM_BUILD_ROOT%{_emacs_sitelispdir}/erlang/" done install -m 0644 emacs-erlang/*.elc "$RPM_BUILD_ROOT%{_emacs_sitelispdir}/erlang/" %endif %{__with_emacs} -%if %{__with_xemacs} -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 + %if %{with doc} env ERL_LIBS="$RPM_BUILD_ROOT%{_libdir}/erlang/lib" make DESTDIR=$RPM_BUILD_ROOT install-docs %endif + find $RPM_BUILD_ROOT%{_libdir}/erlang -type f -name info -exec rm -f {} \; + %if %{__with_examples} find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ssl-*/examples/ -type d -perm 0775 -print -exec chmod 755 {} \; find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/kernel-*/examples/uds_dist -type d -perm 0775 -print -exec chmod 755 {} \; %else find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ -mindepth 1 -maxdepth 2 -type d -name examples -exec rm -rf {} \; %endif %{__with_examples} + chmod 0755 $RPM_BUILD_ROOT%{_libdir}/erlang/bin + %if %{with doc} mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/lib pushd . @@ -690,65 +730,83 @@ mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/PR.template $RPM_BUILD_ROOT%{_docdir}/%{n mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/COPYRIGHT $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/README.md %endif + rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/man/man1/erlsrv.* rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/man/man1/werl.* rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/man/man3/win32reg.* + rm -r $RPM_BUILD_ROOT%{_libdir}/erlang/erts-*/man + %if %{with doc} for manpage in $RPM_BUILD_ROOT%{_libdir}/erlang/man/man3/* do - mv ${manpage} ${manpage}erl + mv ${manpage} ${manpage}erl done mkdir -p $RPM_BUILD_ROOT%{_mandir}/ mv $RPM_BUILD_ROOT%{_libdir}/erlang/man/* $RPM_BUILD_ROOT%{_mandir}/ %endif + rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/Install + for exe in $RPM_BUILD_ROOT%{_libdir}/erlang/erts-*/bin/* do - base="$(basename "$exe")" - next="$RPM_BUILD_ROOT%{_libdir}/erlang/bin/${base}" - rel="$(echo "$exe" | sed "s,^$RPM_BUILD_ROOT%{_libdir}/erlang/,../,")" - if cmp "$exe" "$next"; then - ln -sf "$rel" "$next" - fi + base="$(basename "$exe")" + next="$RPM_BUILD_ROOT%{_libdir}/erlang/bin/${base}" + rel="$(echo "$exe" | sed "s,^$RPM_BUILD_ROOT%{_libdir}/erlang/,../,")" + if cmp "$exe" "$next"; then + ln -sf "$rel" "$next" + fi done for exe in $RPM_BUILD_ROOT%{_libdir}/erlang/bin/* do - base="$(basename "$exe")" - next="$RPM_BUILD_ROOT%{_bindir}/${base}" - rel="$(echo "$exe" | sed "s,^$RPM_BUILD_ROOT,,")" - if cmp "$exe" "$next"; then - ln -sf "$rel" "$next" - fi + base="$(basename "$exe")" + next="$RPM_BUILD_ROOT%{_bindir}/${base}" + rel="$(echo "$exe" | sed "s,^$RPM_BUILD_ROOT,,")" + if cmp "$exe" "$next"; then + ln -sf "$rel" "$next" + fi done + %if %{__with_java} install -m 0755 -d "$RPM_BUILD_ROOT%{_javadir}/%{name}" + jinterface_lib_dir="$(ls -d1 $RPM_BUILD_ROOT%{_libdir}/erlang/lib/jinterface-*/ | sed "s,^$RPM_BUILD_ROOT,,")" test -d "$RPM_BUILD_ROOT$jinterface_lib_dir" ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/" -%endif %{__with_java} +%endif # __with_java + +%if ! (0%{?rhel} && 0%{?rhel} <= 6) install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/epmd.service install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/epmd.socket install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/epmd@.service install -D -p -m 0644 %{SOURCE4} %{buildroot}%{_unitdir}/epmd@.socket +%endif + + %if %{__with_wxwidgets} echo "No need to fix additional scripts" %else echo "Removing scripts which won't work w/o wxWidgets anyway" for exe in ct_run dialyzer typer do - rm -f $RPM_BUILD_ROOT/%{_bindir}/${exe} - rm -f $RPM_BUILD_ROOT/%{_libdir}/erlang/bin/${exe} - rm -f $RPM_BUILD_ROOT/%{_libdir}/erlang/erts-*/bin/${exe} + rm -f $RPM_BUILD_ROOT/%{_bindir}/${exe} + rm -f $RPM_BUILD_ROOT/%{_libdir}/erlang/bin/${exe} + rm -f $RPM_BUILD_ROOT/%{_libdir}/erlang/erts-*/bin/${exe} done -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets + install -d -p -m 0755 %{buildroot}%{_datadir}/erlang/ install -d -p -m 0755 %{buildroot}%{_datadir}/erlang/lib + %check TARGET="$(make target_configured)" ERL_TOP="$(pwd)" ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests +# Unfortunately running the tests will take several hours. So we build the +# package w/o tests for now. See this: +# https://github.com/erlang/otp/wiki/Running-tests + %pre erts getent group epmd >/dev/null || groupadd -r epmd @@ -756,6 +814,7 @@ 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 %if %{with doc} %dir %{_docdir}/%{name}-%{version}/ @@ -774,8 +833,8 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %if %{with doc} %{_mandir}/man3/asn1ct.* %endif -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %files common_test %{_bindir}/ct_run %{_libdir}/erlang/bin/ct_run @@ -794,16 +853,20 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_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.* %{_mandir}/man6/common_test.* %endif -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %files compiler %{_libdir}/erlang/lib/compiler-*/ %if %{with doc} +%{_mandir}/man3/cerl.* +%{_mandir}/man3/cerl_clauses.* +%{_mandir}/man3/cerl_trees.* %{_mandir}/man3/compile.* %endif @@ -813,8 +876,8 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/crypto.* %{_mandir}/man6/crypto.* %endif -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %files debugger %{_libdir}/erlang/lib/debugger-*/ %if %{with doc} @@ -822,11 +885,12 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/i.* %{_mandir}/man3/int.* %endif -%endif %{__with_wxwidgets} -%if %{__with_wxwidgets} +%endif # __with_wxwidgets +%if %{__with_wxwidgets} %files dialyzer %{_bindir}/dialyzer +# FIXME FIXME FIXME this must be installed properly!!!!!! %{_bindir}/typer %{_libdir}/erlang/bin/dialyzer %{_libdir}/erlang/bin/typer @@ -834,10 +898,10 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_libdir}/erlang/erts-*/bin/typer %{_libdir}/erlang/lib/dialyzer-*/ %if %{with doc} +%{_mandir}/man1/typer.* %{_mandir}/man3/dialyzer.* -%{_mandir}/man3/typer.* %endif -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %files diameter %dir %{_libdir}/erlang/lib/diameter-*/ @@ -856,8 +920,8 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/diameter_transport.* %{_mandir}/man4/diameter_dict.* %endif -%if %{with doc} +%if %{with doc} %files doc %doc %{_docdir}/%{name}-%{version}/doc %doc %{_docdir}/%{name}-%{version}/erts-*/ @@ -888,28 +952,35 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %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/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/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/registry.* %endif %files erts +# TODO +# In order to have a parallel-installable Erlang packages these directories +# should be packaged separately %dir %{_datadir}/erlang/ %dir %{_datadir}/erlang/lib/ %dir %{_libdir}/erlang/ %dir %{_libdir}/erlang/bin/ %dir %{_libdir}/erlang/lib/ %dir %{_libdir}/erlang/releases/ + %{_bindir}/epmd %{_bindir}/erl %{_bindir}/erlc @@ -947,6 +1018,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_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/ @@ -969,18 +1041,22 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/erlang.* %{_mandir}/man3/erts_alloc.* %{_mandir}/man3/init.* +%{_mandir}/man3/net.* %{_mandir}/man3/persistent_term.* %{_mandir}/man3/scheduler.* +%{_mandir}/man3/socket.* %{_mandir}/man3/zlib.* %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 -%if %{__with_wxwidgets} +%endif +%if %{__with_wxwidgets} %files et %dir %{_libdir}/erlang/lib/et-*/ %{_libdir}/erlang/lib/et-*/ebin @@ -992,7 +1068,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/et_selector.* %{_mandir}/man3/et_viewer.* %endif -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %files eunit %dir %{_libdir}/erlang/lib/eunit-*/ @@ -1003,25 +1079,27 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/eunit.* %{_mandir}/man3/eunit_surefire.* %endif -%if %{__with_examples} +%if %{__with_examples} %files examples %{_libdir}/erlang/lib/asn1-*/examples/ %{_libdir}/erlang/lib/diameter-*/examples/ %if %{__with_wxwidgets} %{_libdir}/erlang/lib/et-*/examples/ -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %{_libdir}/erlang/lib/eunit-*/examples/ %{_libdir}/erlang/lib/inets-*/examples/ %{_libdir}/erlang/lib/kernel-*/examples/ +%if %{__with_wxwidgets} %{_libdir}/erlang/lib/megaco-*/examples/ +%endif # __with_wxwidgets %{_libdir}/erlang/lib/mnesia-*/examples/ %if %{__with_wxwidgets} %{_libdir}/erlang/lib/observer-*/examples/ -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %if %{__with_wxwidgets} %{_libdir}/erlang/lib/reltool-*/examples/ -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %{_libdir}/erlang/lib/runtime_tools-*/examples/ %{_libdir}/erlang/lib/sasl-*/examples/ %{_libdir}/erlang/lib/snmp-*/examples/ @@ -1031,7 +1109,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_libdir}/erlang/lib/tools-*/examples/ %if %{__with_wxwidgets} %{_libdir}/erlang/lib/wx-*/examples/ -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %endif %{__with_examples} %files ftp @@ -1066,13 +1144,16 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/mod_security.* %{_mandir}/man3/tftp.* %endif -%if %{__with_java} +%if %{__with_java} %files jinterface %dir %{_javadir}/%{name}/ %{_javadir}/%{name}/OtpErlang.jar %{_libdir}/erlang/lib/jinterface-*/ -%endif %{__with_java} +%if %{with doc} +%{_mandir}/man3/jinterface.* +%endif +%endif # __with_java %files kernel %dir %{_libdir}/erlang/lib/kernel-*/ @@ -1089,6 +1170,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_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.* @@ -1109,6 +1191,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/net_adm.* %{_mandir}/man3/net_kernel.* %{_mandir}/man3/os.* +%{_mandir}/man3/pg.* %{_mandir}/man3/pg2.* %{_mandir}/man3/rpc.* %{_mandir}/man3/seq_trace.* @@ -1119,8 +1202,8 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man4/config.* %{_mandir}/man6/kernel.* %endif -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %files megaco %dir %{_libdir}/erlang/lib/megaco-*/ %{_libdir}/erlang/lib/megaco-*/ebin @@ -1141,7 +1224,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/megaco_udp.* %{_mandir}/man3/megaco_user.* %endif -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %files mnesia %dir %{_libdir}/erlang/lib/mnesia-*/ @@ -1152,8 +1235,8 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/mnesia_frag_hash.* %{_mandir}/man3/mnesia_registry.* %endif -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %files observer %dir %{_libdir}/erlang/lib/observer-*/ %{_libdir}/erlang/lib/observer-*/ebin/ @@ -1168,7 +1251,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/ttb.* %{_mandir}/man6/observer.* %endif -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %files odbc %{_libdir}/erlang/lib/odbc-*/ @@ -1182,17 +1265,10 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/cpu_sup.* %{_mandir}/man3/disksup.* %{_mandir}/man3/memsup.* -%{_mandir}/man3/os_mon_mib.* %{_mandir}/man3/os_sup.* %{_mandir}/man6/os_mon.* %endif -%files otp_mibs -%{_libdir}/erlang/lib/otp_mibs-*/ -%if %{with doc} -%{_mandir}/man3/otp_mib.* -%endif - %files parsetools %{_libdir}/erlang/lib/parsetools-*/ %if %{with doc} @@ -1206,8 +1282,8 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/public_key.* %{_mandir}/man6/public_key.* %endif -%if %{__with_wxwidgets} +%if %{__with_wxwidgets} %files reltool %dir %{_libdir}/erlang/lib/reltool-*/ %{_libdir}/erlang/lib/reltool-*/ebin @@ -1215,7 +1291,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %if %{with doc} %{_mandir}/man3/reltool.* %endif -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %files runtime_tools %dir %{_libdir}/erlang/lib/runtime_tools-*/ @@ -1316,6 +1392,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_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.* @@ -1324,7 +1401,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/ssh_server_key_api.* %{_mandir}/man3/ssh_sftp.* %{_mandir}/man3/ssh_sftpd.* -%{_mandir}/man6/ssh.* +%{_mandir}/man6/SSH.* %endif %files ssl @@ -1396,6 +1473,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/sets.* %{_mandir}/man3/shell.* %{_mandir}/man3/shell_default.* +%{_mandir}/man3/shell_docs.* %{_mandir}/man3/slave.* %{_mandir}/man3/sofs.* %{_mandir}/man3/string.* @@ -1461,15 +1539,8 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_emacs_sitelispdir}/erlang/*.elc %{_emacs_sitestartdir}/erlang-init.el %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} +%if %{__with_wxwidgets} %files wx %dir %{_libdir}/erlang/lib/wx-*/ %{_libdir}/erlang/lib/wx-*/ebin @@ -1710,7 +1781,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/wx_misc.* %{_mandir}/man3/wx_object.* %endif -%endif %{__with_wxwidgets} +%endif # __with_wxwidgets %files xmerl %{_libdir}/erlang/lib/xmerl-*/ @@ -1724,7 +1795,11 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/xmerl_xsd.* %endif + %changelog +* Tue Jan 18 2022 Ge Wang - 23.3.4.9-1 +- Update to version 23.4.4.9 + * Mon Jan 10 2022 wangkai - 21.3.3-4 - fix build error for autoconf 2.71 @@ -1734,5 +1809,5 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ * Sat Mar 27 2021 weishengjing - 21.3.3-2 - Support parallel compilation -* Mon Aug 24 2020 chengzihan - 21.3.3-1 +* Mon Aug 24 2020 chengzihan - 21.3.3-1 - Package init diff --git a/erlang.yaml b/erlang.yaml deleted file mode 100644 index ab8e210..0000000 --- a/erlang.yaml +++ /dev/null @@ -1,4 +0,0 @@ -version_control: github -src_repo: erlang/otp -tag_prefix: "OTP-" -seperator: "." diff --git a/extern-ei-default-socket-callbacks.patch b/extern-ei-default-socket-callbacks.patch deleted file mode 100644 index 20aa4f1..0000000 --- a/extern-ei-default-socket-callbacks.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/lib/erl_interface/src/misc/ei_portio.h 2021-08-03 11:40:41.087250211 +0800 -+++ b/lib/erl_interface/src/misc/ei_portio.h 2021-08-03 11:40:19.690906742 +0800 -@@ -47,7 +47,7 @@ - int ei_socket_callbacks_have_writev__(ei_socket_callbacks *cbs); - #endif - --ei_socket_callbacks ei_default_socket_callbacks; -+extern ei_socket_callbacks ei_default_socket_callbacks; - - #define EI_FD_AS_CTX__(FD) \ - ((void *) (long) (FD)) diff --git a/fix-build-error-for-autoconf-2.71.patch b/fix-build-error-for-autoconf-2.71.patch deleted file mode 100644 index bd846bc..0000000 --- a/fix-build-error-for-autoconf-2.71.patch +++ /dev/null @@ -1,65 +0,0 @@ -From c5b04efb55304a7c6f569c33c8e5875a32877f31 Mon Sep 17 00:00:00 2001 -From: Rickard Green -Date: Mon, 21 Dec 2020 17:13:27 +0100 -Subject: [PATCH] Fix uses of AC_CONFIG_AUX_DIRS() in configure scripts - ---- - lib/megaco/configure.in | 7 +------ - lib/odbc/configure.in | 7 +------ - lib/snmp/configure.in | 7 +------ - 3 files changed, 6 insertions(+), 26 deletions(-) - -diff --git a/lib/megaco/configure.in b/lib/megaco/configure.in -index bf22776ae01..789fbbed043 100644 ---- a/lib/megaco/configure.in -+++ b/lib/megaco/configure.in -@@ -25,12 +25,7 @@ dnl define([AC_CACHE_SAVE], )dnl - - AC_INIT(vsn.mk) - --if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then -- AC_CONFIG_AUX_DIRS(autoconf) --else -- erl_top=${ERL_TOP} -- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) --fi -+AC_CONFIG_AUX_DIRS(${ERL_TOP}/erts/autoconf) - - if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then - AC_CANONICAL_HOST -diff --git a/lib/odbc/configure.in b/lib/odbc/configure.in -index f13cd8c901c..7b02f0d4dfa 100644 ---- a/lib/odbc/configure.in -+++ b/lib/odbc/configure.in -@@ -25,12 +25,7 @@ dnl define([AC_CACHE_SAVE], )dnl - dnl Process this file with autoconf to produce a configure script. - AC_INIT(c_src/odbcserver.c) - --if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then -- AC_CONFIG_AUX_DIRS(autoconf) --else -- erl_top=${ERL_TOP} -- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) --fi -+AC_CONFIG_AUX_DIRS(${ERL_TOP}/erts/autoconf) - - if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then - AC_CANONICAL_HOST -diff --git a/lib/snmp/configure.in b/lib/snmp/configure.in -index f9ca8f9ac47..bac042ccca5 100644 ---- a/lib/snmp/configure.in -+++ b/lib/snmp/configure.in -@@ -4,12 +4,7 @@ define([AC_CACHE_SAVE], )dnl - - AC_INIT(vsn.mk) - --if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then -- AC_CONFIG_AUX_DIRS(autoconf) --else -- erl_top=${ERL_TOP} -- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) --fi -+AC_CONFIG_AUX_DIRS(${ERL_TOP}/erts/autoconf) - - if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then - AC_CANONICAL_HOST 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 5f2f83f..3fd02f3 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 1f35cef669..f603eb2946 100644 +index 7a2b821c46..f5f3ee69cb 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in -@@ -496,10 +496,6 @@ endif +@@ -528,10 +528,6 @@ endif ifneq ($(INSTALL_TOP_BIN),) $(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)" endif @@ -21,10 +21,10 @@ index 1f35cef669..f603eb2946 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 e4b842877c..382561821f 100644 +index 2dbf628972..5151f5130a 100644 --- a/erts/etc/unix/Install.src +++ b/erts/etc/unix/Install.src -@@ -141,14 +141,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot . +@@ -142,14 +142,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 b05f9ce..f44a974 100644 --- a/otp-0002-Remove-rpath.patch +++ b/otp-0002-Remove-rpath.patch @@ -5,10 +5,10 @@ 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 31124ba477..a4a6c158cc 100644 +index 0821bd8d00..c94f01420e 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in -@@ -96,7 +96,7 @@ endif +@@ -126,7 +126,7 @@ TEST_ENGINE_LIB = $(LIBDIR)/otp_test_engine$(TYPEMARKER).@DED_EXT@ DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@ ifeq ($(DYNAMIC_CRYPTO_LIB),yes) diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch index 487e573..0745b8a 100644 --- a/otp-0003-Do-not-install-C-sources.patch +++ b/otp-0003-Do-not-install-C-sources.patch @@ -14,7 +14,7 @@ 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 1f714df357..95835d6ed2 100644 +index cb606fd74e..48a7c2f4f1 100644 --- a/lib/asn1/c_src/Makefile +++ b/lib/asn1/c_src/Makefile @@ -136,8 +136,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -27,10 +27,10 @@ index 1f714df357..95835d6ed2 100644 release_docs_spec: diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in -index a4a6c158cc..13658302f5 100644 +index c94f01420e..e2cae1692f 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in -@@ -216,16 +216,11 @@ docs: +@@ -237,16 +237,11 @@ docs: include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt @@ -48,12 +48,12 @@ index a4a6c158cc..13658302f5 100644 release_docs_spec: diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in -index b0bb9bfadf..eeff0338c3 100644 +index 7ff3f09abb..2b94ce7de0 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in -@@ -842,14 +842,14 @@ ifneq ($(EXE_TARGETS),) +@@ -748,14 +748,13 @@ release: opt + $(INSTALL_DATA) $(OBJ_TARGETS) "$(RELEASE_PATH)/usr/lib" $(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" @@ -61,7 +61,7 @@ index b0bb9bfadf..eeff0338c3 100644 - $(INSTALL_DATA) epmd/*.[ch] "$(RELSYSDIR)/src/epmd" - $(INSTALL_DATA) misc/*.[ch] "$(RELSYSDIR)/src/misc" - $(INSTALL_DATA) registry/*.[ch] "$(RELSYSDIR)/src/registry" -- $(INSTALL_DATA) legacy/*.[ch] "$(RELSYSDIR)/src/legacy" +- $(INSTALL_DATA) global/*.[ch] "$(RELSYSDIR)/src/global" - $(INSTALL_DATA) prog/*.[ch] "$(RELSYSDIR)/src/prog" + $(INSTALL_DATA) connect/*.h "$(RELSYSDIR)/src/connect" + $(INSTALL_DATA) decode/*.h "$(RELSYSDIR)/src/decode" @@ -69,16 +69,15 @@ index b0bb9bfadf..eeff0338c3 100644 + $(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 c37ad4d702..09bf1efe95 100644 +index cd409fa54f..c65e817385 100644 --- a/lib/megaco/src/flex/Makefile.in +++ b/lib/megaco/src/flex/Makefile.in -@@ -271,7 +271,7 @@ release_spec: opt +@@ -251,7 +251,7 @@ release_spec: opt $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/flex" $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true) @@ -88,7 +87,7 @@ index c37ad4d702..09bf1efe95 100644 endif diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in -index 784e73c47e..568c5e4c3e 100644 +index 3c16e7e294..82fe1492ef 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 @@ -117,10 +116,10 @@ index 27b156a2c9..f11ff303b6 100644 $(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 +index 8e13571786..ae18ef3cf4 100644 --- a/lib/tools/c_src/Makefile.in +++ b/lib/tools/c_src/Makefile.in -@@ -189,8 +189,6 @@ include ../vsn.mk +@@ -188,8 +188,6 @@ include ../vsn.mk RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN) release_spec: all diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch index 7b8bbd4..29f1fde 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 ee616f3d7e..fdd28e79b3 100644 +index bcbb206db6..1451378b35 100644 --- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile +++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile -@@ -120,8 +120,6 @@ release release_docs release_tests release_html: +@@ -123,8 +123,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 7a1ca77..a36294b 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 354f8ed26b..12adcfbcf2 100644 +index d16f2b4831..c5b721f995 100644 --- a/lib/os_mon/doc/src/Makefile +++ b/lib/os_mon/doc/src/Makefile -@@ -36,12 +36,17 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN) +@@ -31,11 +31,16 @@ APPLICATION=os_mon # Target Specs # ---------------------------------------------------- XML_APPLICATION_FILES = ref_man.xml @@ -21,7 +21,6 @@ index 354f8ed26b..12adcfbcf2 100644 XML_REF3_FILES = cpu_sup.xml \ disksup.xml \ memsup.xml \ - os_mon_mib.xml \ os_sup.xml \ - nteventlog.xml + $(NTEVENTLOG_DOCFILE) @@ -29,25 +28,25 @@ index 354f8ed26b..12adcfbcf2 100644 XML_REF6_FILES = os_mon_app.xml diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile -index fc2eb22393..e2f4d5a090 100644 +index 98c5ced068..e2f4d5a090 100644 --- a/lib/os_mon/src/Makefile +++ b/lib/os_mon/src/Makefile -@@ -34,8 +34,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN) +@@ -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 +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 \ -- nteventlog ++MODULES= disksup memsup cpu_sup os_mon os_mon_mib os_sup os_mon_sysinfo \ + $(NTEVENTLOG) INCLUDE=../include CSRC=../c_src -@@ -79,7 +84,11 @@ docs: +@@ -78,7 +84,11 @@ docs: # ---------------------------------------------------- $(APP_TARGET): $(APP_SRC) ../vsn.mk diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch index 696035c..691443c 100644 --- a/otp-0006-Do-not-install-erlang-sources.patch +++ b/otp-0006-Do-not-install-erlang-sources.patch @@ -8,10 +8,10 @@ Signed-off-by: Peter Lemenkov Signed-off-by: Hans Ulrich Niedermann diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile -index e1bd5bc295..a4833521d1 100644 +index b0c205cec8..7fad1ddc75 100644 --- a/erts/preloaded/src/Makefile +++ b/erts/preloaded/src/Makefile -@@ -94,8 +94,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk +@@ -121,8 +121,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk include $(ERL_TOP)/make/otp_release_targets.mk release_spec: $(APP_TARGET) @@ -21,10 +21,10 @@ index e1bd5bc295..a4833521d1 100644 $(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 +index a6ff72898c..35d4530f32 100644 --- a/lib/asn1/src/Makefile +++ b/lib/asn1/src/Makefile -@@ -154,7 +154,7 @@ release_spec: opt +@@ -155,7 +155,7 @@ release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -34,10 +34,10 @@ index ba459f6cd3..5565126214 100644 $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples" diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile -index 80eaed70bd..cde0c6823d 100644 +index 7d7b5ed203..9151e4097b 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 +@@ -157,7 +157,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -63,10 +63,10 @@ index f015064b39..57f96d2929 100644 $(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server" diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile -index 2408c76b48..700e236964 100644 +index b1531ac985..dbcfe0042c 100644 --- a/lib/compiler/src/Makefile +++ b/lib/compiler/src/Makefile -@@ -173,8 +173,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -184,8 +184,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -78,7 +78,7 @@ index 2408c76b48..700e236964 100644 $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile -index 1753ba4f36..2cd09475e8 100644 +index c3f1c859e5..0d72d6c82d 100644 --- a/lib/crypto/src/Makefile +++ b/lib/crypto/src/Makefile @@ -81,8 +81,6 @@ docs: @@ -104,10 +104,10 @@ index 118cb6b758..86722d8767 100644 $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile -index fc08e7ca2f..2464a15c3f 100644 +index 1f5b308c7d..1f728c56d6 100644 --- a/lib/dialyzer/src/Makefile +++ b/lib/dialyzer/src/Makefile -@@ -158,7 +158,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -161,7 +161,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -117,10 +117,10 @@ index fc08e7ca2f..2464a15c3f 100644 $(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 +index 348cc350e1..9d87858def 100644 --- a/lib/diameter/src/Makefile +++ b/lib/diameter/src/Makefile -@@ -250,11 +250,8 @@ release_spec: opt +@@ -260,11 +260,8 @@ release_spec: opt $(MAKE) $(EXAMPLE_DIRS:%/=release_examples_%) $(TARGET_DIRS:%/=release_src_%): release_src_%: @@ -168,10 +168,10 @@ index b79a537424..d0b231e5fc 100644 release_docs_spec: diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile -index 82d051e9bb..950fdbe177 100644 +index 4c6f542ebb..d0cd6d8f68 100644 --- a/lib/erl_docgen/src/Makefile +++ b/lib/erl_docgen/src/Makefile -@@ -90,8 +90,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk +@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt @@ -193,10 +193,10 @@ index b6347d8b6d..a695d2cc2d 100644 $(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 +index 32f75202a0..a89fa7f2d2 100644 --- a/lib/eunit/src/Makefile +++ b/lib/eunit/src/Makefile -@@ -120,7 +120,6 @@ release_spec: opt +@@ -121,7 +121,6 @@ release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -205,10 +205,10 @@ index 3510d3cc93..9179e9b4c2 100644 $(INSTALL_DIR) "$(RELSYSDIR)/include" $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile -index f653dce36f..7cc5c06528 100644 +index affbb10ff6..44598beff2 100644 --- a/lib/hipe/cerl/Makefile +++ b/lib/hipe/cerl/Makefile -@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -105,7 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/cerl" @@ -244,10 +244,10 @@ index b220bc16a0..d4073277be 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile -index 817ff67dcd..e50ba5e207 100644 +index 5e8f2076db..06d3f2684d 100644 --- a/lib/hipe/llvm/Makefile +++ b/lib/hipe/llvm/Makefile -@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) $(RELSYSDIR)/llvm @@ -283,10 +283,10 @@ index e5033e444b..74a444b386 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile -index becdd0b7d8..da8f66343f 100644 +index 67485875a6..f83a2bb9e2 100644 --- a/lib/hipe/rtl/Makefile +++ b/lib/hipe/rtl/Makefile -@@ -105,7 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -108,7 +108,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/rtl" @@ -343,10 +343,10 @@ index 8248e37c44..1f1b23184b 100644 $(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 +index da9549406f..eaa14b628f 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 +@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/src/http_server" @@ -369,10 +369,10 @@ index ec1ae70305..88c084ef58 100644 $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile -index 3d1506ea08..728fa64869 100644 +index 6c75bcffee..d15bdb867a 100644 --- a/lib/kernel/src/Makefile +++ b/lib/kernel/src/Makefile -@@ -227,7 +227,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -236,7 +236,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -394,10 +394,10 @@ index ab45548099..5c7a7f0be9 100644 $(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 +index 7fc90fd6d5..6ad086ed01 100644 --- a/lib/megaco/src/binary/Makefile +++ b/lib/megaco/src/binary/Makefile -@@ -176,7 +176,7 @@ release_spec: opt +@@ -177,7 +177,7 @@ release_spec: opt $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/src/binary" @@ -420,10 +420,10 @@ index 869b516b05..fa7d774d84 100644 diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in -index 09bf1efe95..b320b2e96f 100644 +index c65e817385..3bc4dea207 100644 --- a/lib/megaco/src/flex/Makefile.in +++ b/lib/megaco/src/flex/Makefile.in -@@ -268,7 +268,6 @@ release_spec: opt +@@ -248,7 +248,6 @@ release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src/flex" $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" $(INSTALL_DIR) "$(RELSYSDIR)/include" @@ -445,10 +445,10 @@ index d07db3fa4b..7f421d24cc 100644 release_docs_spec: diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile -index 8e7e82b276..2a118d24e3 100644 +index 3dd24b1df7..836e163499 100644 --- a/lib/megaco/src/text/Makefile +++ b/lib/megaco/src/text/Makefile -@@ -135,7 +135,7 @@ release_spec: opt +@@ -131,7 +131,7 @@ release_spec: opt $(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/src/text" @@ -471,10 +471,10 @@ index 028a63e98e..9e11e9bfb2 100644 release_docs_spec: diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile -index 7d316df263..60fdefb5d0 100644 +index 90e8780754..1a13d764b3 100644 --- a/lib/mnesia/src/Makefile +++ b/lib/mnesia/src/Makefile -@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -520,19 +520,6 @@ index e2f4d5a090..57f21a145b 100644 $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile -index 5c7af39c3f..a85368b4f4 100644 ---- a/lib/otp_mibs/src/Makefile -+++ b/lib/otp_mibs/src/Makefile -@@ -96,8 +96,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) $(TARGETS) "$(RELSYSDIR)/ebin" - diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile index ba206904ec..281cc8657c 100644 --- a/lib/parsetools/src/Makefile @@ -547,7 +534,7 @@ index ba206904ec..281cc8657c 100644 $(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 +index 1fef168463..e5411b903b 100644 --- a/lib/public_key/asn1/Makefile +++ b/lib/public_key/asn1/Makefile @@ -96,8 +96,8 @@ release_spec: opt @@ -562,10 +549,10 @@ index a920ea87ea..7672ef3470 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile -index e61390bce3..6ed6c2cf9f 100644 +index 76bdffe089..fc5e4dfa8e 100644 --- a/lib/public_key/src/Makefile +++ b/lib/public_key/src/Makefile -@@ -109,8 +109,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk +@@ -110,8 +110,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt @@ -601,10 +588,10 @@ index 76286c5499..d921f9f294 100644 $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" $(INSTALL_DIR) "$(RELSYSDIR)/examples" diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile -index 7338bdf016..a280225dad 100644 +index 16a42caf11..674364281d 100644 --- a/lib/sasl/src/Makefile +++ b/lib/sasl/src/Makefile -@@ -93,7 +93,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -94,7 +94,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -613,17 +600,17 @@ index 7338bdf016..a280225dad 100644 $(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 +index 1bde1ca972..acc42385f3 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 +@@ -140,7 +140,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) \ + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ "$(RELSYSDIR)/ebin" diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile index 6f2b8a4077..bd062a6473 100644 @@ -639,10 +626,10 @@ index 6f2b8a4077..bd062a6473 100644 $(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 +index d9678669a5..ff9dff95d9 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 +@@ -125,7 +125,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" @@ -652,17 +639,17 @@ index 4093ffa9ca..18878aa5db 100644 $(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 +index 57ff08c160..d51f627ca5 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 +@@ -123,7 +123,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_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" # $(INSTALL_DIR) "$(RELSYSDIR)/include" diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile index adc2c4858f..89ce954e99 100644 @@ -678,10 +665,10 @@ index adc2c4858f..89ce954e99 100644 $(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 +index ab6137e518..bdeabca8c3 100644 --- a/lib/ssh/src/Makefile +++ b/lib/ssh/src/Makefile -@@ -139,7 +139,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -154,7 +154,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -691,10 +678,10 @@ index 6d64a45112..5b1249ca5b 100644 $(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 8d1341f594..72ab265200 100644 +index 5edd6cb4b9..39008882ca 100644 --- a/lib/ssl/src/Makefile +++ b/lib/ssl/src/Makefile -@@ -149,7 +149,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -207,7 +207,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -704,10 +691,10 @@ index 8d1341f594..72ab265200 100644 $(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 c95f7637f7..0f601aefb5 100644 +index e3e0c9c03d..ff9bad32ab 100644 --- a/lib/stdlib/src/Makefile +++ b/lib/stdlib/src/Makefile -@@ -214,7 +214,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -223,7 +223,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -729,10 +716,10 @@ index c21d2f49c8..03dbc74ef7 100644 $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" diff --git a/lib/tftp/src/Makefile b/lib/tftp/src/Makefile -index 602ae845a4..a1f2f09a00 100644 +index 029bd731bd..85c633b4f0 100644 --- a/lib/tftp/src/Makefile +++ b/lib/tftp/src/Makefile -@@ -98,7 +98,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -755,7 +742,7 @@ index cc5bee9a8f..7dfa55cb41 100644 $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ "$(RELSYSDIR)/ebin" diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile -index 21b45af2c4..a7bf34f4f4 100644 +index 52f4008e0a..dc297f1d55 100644 --- a/lib/wx/src/Makefile +++ b/lib/wx/src/Makefile @@ -122,9 +122,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES) diff --git a/otp-0007-Add-extra-search-directory.patch b/otp-0007-Add-extra-search-directory.patch index a8b3649..ed9e2ac 100644 --- a/otp-0007-Add-extra-search-directory.patch +++ b/otp-0007-Add-extra-search-directory.patch @@ -5,7 +5,7 @@ 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 68e1205301..0f534ff814 100644 +index 4c4823eb38..de0ab149fb 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl @@ -79,11 +79,17 @@ init(Ref, Parent, [Root,Mode]) -> diff --git a/otp-0009-Load-man-pages-from-system-wide-directory.patch b/otp-0009-Load-man-pages-from-system-wide-directory.patch index a934881..d68a78b 100644 --- a/otp-0009-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 23bbb86333..741b492668 100644 +index 9dba684cbb..b4c5a8413f 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c -@@ -722,8 +722,10 @@ int main(int argc, char **argv) +@@ -727,8 +727,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 deleted file mode 100644 index af00198..0000000 --- a/otp-0010-Improve-nodes-querying.patch +++ /dev/null @@ -1,134 +0,0 @@ -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 a9dc77837e..04025cf35b 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()]). - - - %% ------------------------------------------------------------ -@@ -1139,35 +1131,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), -@@ -1632,15 +1599,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-OTP-21.3.3.tar.gz b/otp-OTP-23.3.4.9.tar.gz similarity index 81% rename from otp-OTP-21.3.3.tar.gz rename to otp-OTP-23.3.4.9.tar.gz index 0835e28..d9cbc9c 100644 Binary files a/otp-OTP-21.3.3.tar.gz and b/otp-OTP-23.3.4.9.tar.gz differ