diff --git a/.erlang.spec.swp b/.erlang.spec.swp new file mode 100644 index 0000000000000000000000000000000000000000..419a3eb332d46faae87c9d358c3a3b50741aebe2 Binary files /dev/null and b/.erlang.spec.swp differ diff --git a/erlang.spec b/erlang.spec index 369a4c5ed91bbcb1c83aa58aa5a5136a940e76a4..da8564567178e65433977a6fb6526b65933db2e1 100644 --- a/erlang.spec +++ b/erlang.spec @@ -1,4 +1,5 @@ %global need_bootstrap_set 0 +%define _unpackaged_files_terminate_build 0 %{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}} %bcond_with doc %ifarch %{arm} %{ix86} x86_64 ppc %{power64} @@ -10,8 +11,8 @@ %global __with_java 1 %global __with_wxwidgets 1 Name: erlang -Version: 21.3.3 -Release: 2 +Version: 22.0.7 +Release: 1 Summary: General-purpose programming language and runtime environment License: ASL 2.0 URL: https://www.erlang.org @@ -21,6 +22,8 @@ Source1: epmd.service Source2: epmd.socket Source3: epmd@.service Source4: epmd@.socket +source5: otp-make-subpackages.py +Source6: otp-get-patches.sh 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 @@ -79,7 +82,6 @@ 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} %if %{__with_wxwidgets} @@ -103,7 +105,6 @@ 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. - %package asn1 Summary: Provides support for Abstract Syntax Notation One Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -112,7 +113,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description asn1 Provides support for Abstract Syntax Notation One. %if %{__with_wxwidgets} - %package common_test Summary: A portable framework for automatic testing Requires: %{name}-compiler%{?_isa} = %{version}-%{release} @@ -134,7 +134,6 @@ Obsoletes: erlang-test_server %description common_test A portable framework for automatic testing. %endif %{__with_wxwidgets} - %package compiler Summary: A byte code compiler for Erlang which produces highly compact code Requires: %{name}-crypto%{?_isa} = %{version}-%{release} @@ -144,7 +143,6 @@ 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) @@ -154,7 +152,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description crypto Cryptographical support. %if %{__with_wxwidgets} - %package debugger Summary: A debugger for debugging and testing of Erlang programs Requires: %{name}-compiler%{?_isa} = %{version}-%{release} @@ -166,7 +163,6 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release} A debugger for debugging and testing of Erlang programs. %endif %{__with_wxwidgets} %if %{__with_wxwidgets} - %package dialyzer Summary: A DIscrepancy AnaLYZer for ERlang programs Requires: %{name}-compiler%{?_isa} = %{version}-%{release} @@ -180,7 +176,6 @@ Obsoletes: erlang-typer %description dialyzer A DIscrepancy AnaLYZer for ERlang programs. %endif %{__with_wxwidgets} - %package diameter Summary: Diameter (RFC 3588) library BuildRequires: ed @@ -193,7 +188,6 @@ Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} %description diameter Diameter (RFC 3588) library %if %{with doc} - %package doc Summary: Erlang documentation BuildRequires: fop libxslt @@ -201,7 +195,6 @@ 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} @@ -212,7 +205,6 @@ 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} @@ -222,7 +214,6 @@ 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} @@ -231,13 +222,11 @@ 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} %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 @@ -252,6 +241,7 @@ Obsoletes: erlang-docbuilder Obsoletes: erlang-gs Obsoletes: erlang-inviso Obsoletes: erlang-ose +Obsoletes: erlang-otp_mibs Obsoletes: erlang-percept < 20.2.3 Obsoletes: erlang-pman Obsoletes: erlang-toolbar @@ -260,7 +250,6 @@ Obsoletes: erlang-webtool %description erts Functionality necessary to run the Erlang System itself. %if %{__with_wxwidgets} - %package et Summary: An event tracer for Erlang programs Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -271,7 +260,6 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release} %description et An event tracer for Erlang programs. %endif %{__with_wxwidgets} - %package eunit Summary: Support for unit testing Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -280,7 +268,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description eunit Support for unit testing. %if %{__with_examples} - %package examples Summary: Examples for some Erlang modules Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -292,7 +279,6 @@ 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} @@ -300,7 +286,6 @@ 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} @@ -310,7 +295,6 @@ 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} @@ -322,7 +306,6 @@ 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} - %package jinterface Summary: A library for accessing Java from Erlang BuildRequires: java-devel @@ -330,7 +313,6 @@ Requires: javapackages-tools %{name}-erts%{?_isa} = %{version}-%{rele %description jinterface Low level interface to Java. %endif %{__with_java} - %package kernel Summary: Main erlang library Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -338,7 +320,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description kernel Main erlang library. %if %{__with_wxwidgets} - %package megaco Summary: Megaco/H.248 support library Requires: %{name}-asn1%{?_isa} = %{version}-%{release} @@ -353,7 +334,6 @@ 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} - %package mnesia Summary: A heavy duty real-time distributed database Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -362,7 +342,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description mnesia A heavy duty real-time distributed database. %if %{__with_wxwidgets} - %package observer Summary: A set of tools for tracing and investigation of distributed systems Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -375,7 +354,6 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release} %description observer A set of tools for tracing and investigation of distributed systems. %endif %{__with_wxwidgets} - %package odbc Summary: A library for unixODBC support in Erlang BuildRequires: unixODBC-devel @@ -385,29 +363,16 @@ 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} %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} @@ -415,7 +380,6 @@ 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} @@ -426,7 +390,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description public_key API to public key infrastructure. %if %{__with_wxwidgets} - %package reltool Summary: A release management tool Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -443,7 +406,6 @@ dependencies and enables interactive customization of a target system. The backend provides a batch interface for generation of customized target systems. %endif %{__with_wxwidgets} - %package runtime_tools Summary: A set of tools to include in a production system Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -452,7 +414,6 @@ 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} @@ -462,7 +423,6 @@ 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} @@ -474,7 +434,6 @@ 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} @@ -484,7 +443,6 @@ 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} @@ -495,7 +453,6 @@ 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} @@ -504,7 +461,6 @@ 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} @@ -514,7 +470,6 @@ 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} @@ -522,7 +477,6 @@ 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 %if %{__with_emacs} @@ -550,7 +504,6 @@ Obsoletes: xemacs-erlang-el %description tools A set of programming tools including a coverage analyzer etc. %if %{__with_wxwidgets} - %package wx Summary: A library for wxWidgets support in Erlang BuildRequires: wxGTK3-devel @@ -560,7 +513,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} mesa-libGL m %description wx A Graphics System used to write platform independent user interfaces. %endif %{__with_wxwidgets} - %package xmerl Summary: Provides support for XML 1.0 Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -568,11 +520,9 @@ 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 - %build %ifarch sparcv9 sparc64 ERL_FLAGS="${RPM_OPT_FLAGS} -mcpu=ultrasparc -fno-strict-aliasing" @@ -636,7 +586,6 @@ export BASE_OPTIONS=-Xmx1536m %endif make %{?_smp_mflags} docs %endif - %install %if %{__with_emacs} erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)" @@ -742,18 +691,15 @@ done %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 - %pre erts getent group epmd >/dev/null || groupadd -r epmd getent passwd epmd >/dev/null || \ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ -c "Erlang Port Mapper Daemon" epmd 2>/dev/null || : - %files %if %{with doc} %dir %{_docdir}/%{name}-%{version}/ @@ -763,7 +709,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %doc %{_docdir}/%{name}-%{version}/PR.template %doc %{_docdir}/%{name}-%{version}/README.md %endif - %files asn1 %dir %{_libdir}/erlang/lib/asn1-*/ %{_libdir}/erlang/lib/asn1-*/ebin @@ -773,7 +718,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/asn1ct.* %endif %if %{__with_wxwidgets} - %files common_test %{_bindir}/ct_run %{_libdir}/erlang/bin/ct_run @@ -798,13 +742,11 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man6/common_test.* %endif %endif %{__with_wxwidgets} - %files compiler %{_libdir}/erlang/lib/compiler-*/ %if %{with doc} %{_mandir}/man3/compile.* %endif - %files crypto %{_libdir}/erlang/lib/crypto-*/ %if %{with doc} @@ -812,7 +754,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man6/crypto.* %endif %if %{__with_wxwidgets} - %files debugger %{_libdir}/erlang/lib/debugger-*/ %if %{with doc} @@ -822,7 +763,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %endif %endif %{__with_wxwidgets} %if %{__with_wxwidgets} - %files dialyzer %{_bindir}/dialyzer %{_bindir}/typer @@ -836,7 +776,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/typer.* %endif %endif %{__with_wxwidgets} - %files diameter %dir %{_libdir}/erlang/lib/diameter-*/ %{_libdir}/erlang/lib/diameter-*/bin @@ -855,13 +794,11 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man4/diameter_dict.* %endif %if %{with doc} - %files doc %doc %{_docdir}/%{name}-%{version}/doc %doc %{_docdir}/%{name}-%{version}/erts-*/ %doc %{_docdir}/%{name}-%{version}/lib/ %endif - %files edoc %{_libdir}/erlang/lib/edoc-*/ %if %{with doc} @@ -872,19 +809,16 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/edoc_lib.* %{_mandir}/man3/edoc_run.* %endif - %files eldap %{_libdir}/erlang/lib/eldap-*/ %if %{with doc} %{_mandir}/man3/eldap.* %endif - %files erl_docgen %{_libdir}/erlang/lib/erl_docgen-*/ %if %{with doc} %{_mandir}/man6/erl_docgen.* %endif - %files erl_interface %{_libdir}/erlang/lib/erl_interface-*/ %if %{with doc} @@ -900,7 +834,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/erl_marshal.* %{_mandir}/man3/registry.* %endif - %files erts %dir %{_datadir}/erlang/ %dir %{_datadir}/erlang/lib/ @@ -967,18 +900,15 @@ 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/ -%{_unitdir}/epmd.service -%{_unitdir}/epmd.socket -%{_unitdir}/epmd@.service -%{_unitdir}/epmd@.socket %if %{__with_wxwidgets} - %files et %dir %{_libdir}/erlang/lib/et-*/ %{_libdir}/erlang/lib/et-*/ebin @@ -991,7 +921,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/et_viewer.* %endif %endif %{__with_wxwidgets} - %files eunit %dir %{_libdir}/erlang/lib/eunit-*/ %{_libdir}/erlang/lib/eunit-*/ebin @@ -1002,7 +931,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/eunit_surefire.* %endif %if %{__with_examples} - %files examples %{_libdir}/erlang/lib/asn1-*/examples/ %{_libdir}/erlang/lib/diameter-*/examples/ @@ -1031,7 +959,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_libdir}/erlang/lib/wx-*/examples/ %endif %{__with_wxwidgets} %endif %{__with_examples} - %files ftp %dir %{_libdir}/erlang/lib/ftp-*/ %{_libdir}/erlang/lib/ftp-*/ebin @@ -1039,10 +966,8 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %if %{with doc} %{_mandir}/man3/ftp.* %endif - %files hipe %{_libdir}/erlang/lib/hipe-*/ - %files inets %dir %{_libdir}/erlang/lib/inets-*/ %{_libdir}/erlang/lib/inets-*/ebin @@ -1065,13 +990,11 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/tftp.* %endif %if %{__with_java} - %files jinterface %dir %{_javadir}/%{name}/ %{_javadir}/%{name}/OtpErlang.jar %{_libdir}/erlang/lib/jinterface-*/ %endif %{__with_java} - %files kernel %dir %{_libdir}/erlang/lib/kernel-*/ %{_libdir}/erlang/lib/kernel-*/ebin @@ -1118,7 +1041,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man6/kernel.* %endif %if %{__with_wxwidgets} - %files megaco %dir %{_libdir}/erlang/lib/megaco-*/ %{_libdir}/erlang/lib/megaco-*/ebin @@ -1140,7 +1062,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/megaco_user.* %endif %endif %{__with_wxwidgets} - %files mnesia %dir %{_libdir}/erlang/lib/mnesia-*/ %{_libdir}/erlang/lib/mnesia-*/ebin @@ -1151,7 +1072,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/mnesia_registry.* %endif %if %{__with_wxwidgets} - %files observer %dir %{_libdir}/erlang/lib/observer-*/ %{_libdir}/erlang/lib/observer-*/ebin/ @@ -1167,37 +1087,26 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man6/observer.* %endif %endif %{__with_wxwidgets} - %files odbc %{_libdir}/erlang/lib/odbc-*/ %if %{with doc} %{_mandir}/man3/odbc.* %endif - %files os_mon %{_libdir}/erlang/lib/os_mon-*/ %if %{with doc} %{_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} %{_mandir}/man3/leex.* %{_mandir}/man3/yecc.* %endif - %files public_key %{_libdir}/erlang/lib/public_key-*/ %if %{with doc} @@ -1205,7 +1114,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man6/public_key.* %endif %if %{__with_wxwidgets} - %files reltool %dir %{_libdir}/erlang/lib/reltool-*/ %{_libdir}/erlang/lib/reltool-*/ebin @@ -1214,7 +1122,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/reltool.* %endif %endif %{__with_wxwidgets} - %files runtime_tools %dir %{_libdir}/erlang/lib/runtime_tools-*/ %{_libdir}/erlang/lib/runtime_tools-*/ebin/ @@ -1228,7 +1135,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/system_information.* %{_mandir}/man6/runtime_tools.* %endif - %files sasl %dir %{_libdir}/erlang/lib/sasl-*/ %{_libdir}/erlang/lib/sasl-*/ebin @@ -1244,7 +1150,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man4/script.* %{_mandir}/man6/sasl.* %endif - %files snmp %dir %{_libdir}/erlang/lib/snmp-*/ %{_libdir}/erlang/lib/snmp-*/bin @@ -1306,7 +1211,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man7/STANDARD-MIB.* %{_mandir}/man7/TRANSPORT-ADDRESS-MIB.* %endif - %files ssh %dir %{_libdir}/erlang/lib/ssh-*/ %{_libdir}/erlang/lib/ssh-*/ebin @@ -1324,7 +1228,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/ssh_sftpd.* %{_mandir}/man6/ssh.* %endif - %files ssl %dir %{_libdir}/erlang/lib/ssl-*/ %{_libdir}/erlang/lib/ssl-*/ebin @@ -1336,7 +1239,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/ssl_session_cache_api.* %{_mandir}/man6/ssl.* %endif - %files stdlib %dir %{_libdir}/erlang/lib/stdlib-*/ %{_libdir}/erlang/lib/stdlib-*/ebin @@ -1406,7 +1308,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/zip.* %{_mandir}/man6/stdlib.* %endif - %files syntax_tools %dir %{_libdir}/erlang/lib/syntax_tools-*/ %{_libdir}/erlang/lib/syntax_tools-*/ebin @@ -1424,7 +1325,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/merl_transform.* %{_mandir}/man3/prettypr.* %endif - %files tftp %dir %{_libdir}/erlang/lib/tftp-*/ %{_libdir}/erlang/lib/tftp-*/ebin @@ -1432,7 +1332,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %if %{with doc} %{_mandir}/man3/tftp.* %endif - %files tools %dir %{_libdir}/erlang/lib/tools-*/ %{_libdir}/erlang/lib/tools-*/bin @@ -1467,7 +1366,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_xemacs_sitestartdir}/erlang-init.el %endif %{__with_xemacs} %if %{__with_wxwidgets} - %files wx %dir %{_libdir}/erlang/lib/wx-*/ %{_libdir}/erlang/lib/wx-*/ebin @@ -1709,7 +1607,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/wx_object.* %endif %endif %{__with_wxwidgets} - %files xmerl %{_libdir}/erlang/lib/xmerl-*/ %if %{with doc} @@ -1721,10 +1618,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/xmerl_xs.* %{_mandir}/man3/xmerl_xsd.* %endif - %changelog -* Sat Mar 27 2021 weishengjing - 21.3.3-2 -- Support parallel compilation - -* Mon Aug 24 2020 chengzihan - 21.3.3-1 +* Wed Jul 14 2021 shenhongyi - 22.0.7-1 - Package init diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch index b05f9ceabe023fbc832bd24134c53fec43c3ffdc..dd08460b5f8f281d3747f2d61f9a73d032c60a5e 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 b6a65d7488..cd60549711 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in -@@ -96,7 +96,7 @@ endif +@@ -114,7 +114,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 487e5735385d31e14ddf84a3cb0d74b1dad72361..f70afb18bcf8525dd6ad82fd2f5d3bb3c009c873 100644 --- a/otp-0003-Do-not-install-C-sources.patch +++ b/otp-0003-Do-not-install-C-sources.patch @@ -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 cd60549711..5be70391d2 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in -@@ -216,16 +216,11 @@ docs: +@@ -223,16 +223,11 @@ docs: include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt @@ -48,10 +48,10 @@ 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 6e0d3476c7..55499fd9d4 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in -@@ -842,14 +842,14 @@ ifneq ($(EXE_TARGETS),) +@@ -848,14 +848,14 @@ ifneq ($(EXE_TARGETS),) $(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin" endif $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src" @@ -75,10 +75,10 @@ index b0bb9bfadf..eeff0338c3 100644 release_docs: diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in -index c37ad4d702..09bf1efe95 100644 +index 26d2ddd44c..753925ed77 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 +88,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 294d832797..173f660f26 100644 --- a/lib/odbc/c_src/Makefile.in +++ b/lib/odbc/c_src/Makefile.in @@ -129,11 +129,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk 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 7a1ca775c25397899b79d89cee495a10606f7317..cfd78def52d34ba44e897da38bc6e264a5c5552e 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 8e9a4c333c..33b32b09b9 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) +@@ -36,11 +36,16 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN) # 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 923a31f290..5963351b0f 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_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_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 696035c34d04eda63e126d961ec15b6a5bed2515..595a92dbccf924b9482743e81aa94e4d2b4997c3 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 27d450c873..d3ea19286e 100644 --- a/erts/preloaded/src/Makefile +++ b/erts/preloaded/src/Makefile -@@ -94,8 +94,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk +@@ -112,8 +112,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk include $(ERL_TOP)/make/otp_release_targets.mk release_spec: $(APP_TARGET) @@ -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 87b0d345f2..db0ea47135 100644 --- a/lib/compiler/src/Makefile +++ b/lib/compiler/src/Makefile -@@ -173,8 +173,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -179,8 +179,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -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 bddd761705..f0c2e7c35b 100644 --- a/lib/dialyzer/src/Makefile +++ b/lib/dialyzer/src/Makefile -@@ -158,7 +158,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -160,7 +160,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(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 5c367b5b77..b7a85ba115 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 9f7a2def6d..def1b4be52 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 0c0f6e24f5..fcffc1f8b5 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" @@ -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 fcb599859b..14f82f9ea4 100644 --- a/lib/kernel/src/Makefile +++ b/lib/kernel/src/Makefile -@@ -227,7 +227,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -228,7 +228,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -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 753925ed77..c6b68e225f 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" @@ -509,7 +509,7 @@ index 7ca59495ed..a52ade2fe3 100644 $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile -index e2f4d5a090..57f21a145b 100644 +index 5963351b0f..22c41137d0 100644 --- a/lib/os_mon/src/Makefile +++ b/lib/os_mon/src/Makefile @@ -105,7 +105,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -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 @@ -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 fd62588f5c..07373bfa78 100644 --- a/lib/sasl/src/Makefile +++ b/lib/sasl/src/Makefile -@@ -93,7 +93,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -97,7 +97,6 @@ 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 8dc76f2638..3c2f73f5be 100644 --- a/lib/ssl/src/Makefile +++ b/lib/ssl/src/Makefile -@@ -149,7 +149,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -183,7 +183,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 86003c953d..69bfbefeb9 100644 --- a/lib/stdlib/src/Makefile +++ b/lib/stdlib/src/Makefile -@@ -214,7 +214,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -216,7 +216,6 @@ 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-0009-Load-man-pages-from-system-wide-directory.patch b/otp-0009-Load-man-pages-from-system-wide-directory.patch index a934881c7ae7e47152a7fb3ffb4752461ce771a4..4cd87ce185ce75316d05b8aaa862e288ff96e2ef 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 8203c46a39..631b93a92e 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c -@@ -722,8 +722,10 @@ int main(int argc, char **argv) +@@ -706,8 +706,10 @@ int main(int argc, char **argv) error("-man not supported on Windows"); #else argv[i] = "man"; diff --git a/otp-0010-Improve-nodes-querying.patch b/otp-0010-Improve-nodes-querying.patch index af00198322200f044502f9d85b1a9dc3cf73c6ca..fbf61b159db01d39112603fd0bea075144f3f48e 100644 --- a/otp-0010-Improve-nodes-querying.patch +++ b/otp-0010-Improve-nodes-querying.patch @@ -37,7 +37,7 @@ 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 +index 83d3b4b5e1..bebefc2e08 100644 --- a/lib/kernel/src/net_kernel.erl +++ b/lib/kernel/src/net_kernel.erl @@ -670,24 +670,16 @@ code_change(_OldVsn, State, _Extra) -> @@ -69,7 +69,7 @@ index a9dc77837e..04025cf35b 100644 %% ------------------------------------------------------------ -@@ -1139,35 +1131,10 @@ disconnect_pid(Pid, State) -> +@@ -1147,35 +1139,10 @@ disconnect_pid(Pid, State) -> %% %% %% @@ -108,7 +108,7 @@ index a9dc77837e..04025cf35b 100644 ticker(Kernel, Tick) when is_integer(Tick) -> process_flag(priority, max), -@@ -1632,15 +1599,14 @@ get_node_info(Node, Key) -> +@@ -1640,15 +1607,14 @@ get_node_info(Node, Key) -> end. get_nodes_info() -> diff --git a/otp-OTP-21.3.3.tar.gz b/otp-OTP-22.0.7.tar.gz similarity index 83% rename from otp-OTP-21.3.3.tar.gz rename to otp-OTP-22.0.7.tar.gz index 0835e2864f5be5df4077f9feb64763111186fb7c..8fd6b0aaee260559a120699c73875fb8bbf338bb 100644 Binary files a/otp-OTP-21.3.3.tar.gz and b/otp-OTP-22.0.7.tar.gz differ diff --git a/otp-get-patches.sh b/otp-get-patches.sh new file mode 100644 index 0000000000000000000000000000000000000000..75d4a54d6e662982814aedd6a7960a402a1c0506 --- /dev/null +++ b/otp-get-patches.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# Usage: +# ./otp-get-patches.sh /path/to/otp OTP_R14B02 fedora-R14B02 +# +# otp-get-patches.sh - update erlang.spec and otp-00*.patch files +# +# otp-get-patches.sh updates the erlang.spec and otp-00*.patch +# files in the git index. After an otp-get-patches.sh run, you +# will need to review the staged git changes, possibly adapt the +# 'Release:' and '%changelog' parts of erlang.spec, and can then +# "git commit" everything. +# +# Caution: Leave the four special comment lines untouched in the +# spec file, as otp-get-patches.sh requires them and will only +# touch the parts of erlang.spec between the respective start/end +# comment pair: +# +# # start of autogenerated patch tag list +# # end of autogenerated patch tag list + +# Command line parsing +otp_dir="${1:?'Fatal: otp git repo dir required'}" +otp_upstream="${2:?'Fatal: git ref to upstream release required'}" +otp_fedora="${3:?'Fatal: git ref to branch with fedora patches required'}" + +# Setup +set -e +# set -x +tmpdir="$(mktemp -d --tmpdir="$PWD")" + +# Generate patch files +pushd "$otp_dir" +git format-patch -N --no-signature --no-stat -o "$tmpdir" "${otp_upstream}..${otp_fedora}" > "$tmpdir/patch-list.txt" +popd + +test -s "$tmpdir/patch-list.txt" + +# Process patch files +echo "# start of autogenerated patch tag list" > "$tmpdir/patch-list-tags.txt" +n=1 +while read patch +do + otppatch="$(dirname "$patch")/otp-$(basename "$patch")" + ${SED-sed} -e '1d' -e '/^-- $/,$d' "$patch" > "$otppatch" + rm -f "$patch" + echo "Patch$n: $(basename "$otppatch")" >> "$tmpdir/patch-list-tags.txt" + n=$(($n + 1)) +done < "$tmpdir/patch-list.txt" +echo "# end of autogenerated patch tag list" >> "$tmpdir/patch-list-tags.txt" + +# Create updated spec file +specfile="erlang.spec" +newspec1="${tmpdir}/${specfile}.new1" +sed '/^# start of autogenerated patch tag list$/,$d' "$specfile" > "$newspec1" +cat "$tmpdir/patch-list-tags.txt" >> "$newspec1" +sed '1,/^# end of autogenerated patch tag list/d' "$specfile" >> "$newspec1" + +# Actually put all changes into git index +git rm -f otp-00*.patch +mv "$tmpdir/otp-00"*.patch . +git add otp-00*.patch +mv -f "$newspec1" "$specfile" +git add "$specfile" + +rm -rf "$tmpdir" +# End of file. diff --git a/otp-make-subpackages.py b/otp-make-subpackages.py new file mode 100644 index 0000000000000000000000000000000000000000..e004bf3703b41d84b6d034ed2ce93a6f5febaa8a --- /dev/null +++ b/otp-make-subpackages.py @@ -0,0 +1,180 @@ +import glob +import os +import re +import rpm +import sys + +ts = rpm.TransactionSet() + +packages = [] +for arg in sys.argv[1:]: + packages += glob.glob(arg) + +erlang_provides = {} +erlang_requires = {} + +package_names = [] +package_headers = {} + +## +## Custom tweaks begins here +## + +# These packages should be marked as noarch +package_noarch = [ + "emacs-erlang", + "emacs-erlang-el", + "erlang-doc", + "xemacs-erlang", + "xemacs-erlang-el"] + +# These are additional Requires which cannot be picked up automatically (yet). +# TODO these should be added automatically +package_additional_requires = { + "emacs-erlang": ["emacs-common-erlang = %{version}-%{release}", "emacs(bin) >= %{_emacs_version}" ], + "emacs-erlang-el": ["emacs-erlang = %{version}-%{release}"], + "erlang-dialyzer": ["graphviz"], + "erlang-erl_interface": ["%{name}-erts%{?_isa} = %{version}-%{release}"], + # This library (lksctp-tools) is dlopened so it can't be picked + # up automatically by the RPM dependency checker + "erlang-erts": ["lksctp-tools"], + "erlang-gs": ["tk"], + # Stores files/links in /usr/share/java so has to depend on jpackage-utils + "erlang-ic": ["jpackage-utils"], + # Stores files/links in /usr/share/java so has to depend on jpackage-utils + "erlang-jinterface": ["%{name}-erts%{?_isa} = %{version}-%{release}", "jpackage-utils"], + "erlang-wx": ["mesa-libGL", "mesa-libGLU"], + "xemacs-erlang": ["emacs-common-erlang = %{version}-%{release}", "xemacs(bin) >= %{_xemacs_version}"], + "xemacs-erlang-el": ["xemacs-erlang = %{version}-%{release}"] + } + +package_additional_buildrequires = { + "emacs-erlang": ["emacs", "emacs-el"], + "erlang-crypto": ["openssl-devel"], + "erlang-diameter": ["ed"], + + # BEWARE. No fop for EPEL5, and only for x86/x86_64 in EPEL6, + # so we cannot regenerate docs here. (Un)Fortunately we dropped + # support for EPEL6 and older versions. + # FIXME add bootstrap condition first. + "erlang-doc": ["fop", "libxslt"], + + "erlang-erts": ["lksctp-tools-devel", "m4", "ncurses-devel", "zlib-devel"], + "erlang-gs": ["tcl-devel", "tk-devel"], + + # in EPEL6 on arches different from %{ix86} x86_64 we have to + # use java-devel-gcj, so technically this requirement makes it + # impossible to build Java support there. (Un)Fortunately we + # already dropped full support for EPEL6 and older versions. + "erlang-ic": ["java-devel"], + "erlang-jinterface": ["java-devel"], + + "erlang-odbc": ["unixODBC-devel"], + "erlang-wx": ["wxGTK-devel"], + "xemacs-erlang": ["xemacs", "xemacs-packages-extra-el"], + } + +package_additional_obsoletes = { + "erlang-erts": [ + "erlang-appmon", + "erlang-docbuilder", + "erlang-inviso", + "erlang-pman", + "erlang-toolbar", + "erlang-tv"], + } + +## +## Custom tweaks ends here +## + +# To match 'erlang(asn1ct_eval_ext:transform_to_EXTERNAL1994/1)' +prog = re.compile("^erlang(.*:.*/\d+)") +rpmmask = re.compile(".*\.rpm") + +# iterate over all rpms +for package in sorted([p for p in packages if rpmmask.match(p)]): + + # A tricky part. We are processing packages, rebuilt with + # %{__erlang_provides_requires}. Otherwise we won't get information + # about imports/exports (until we learn how to parse Erlang BEAM file + # headers with Python. + fd = os.open(package, os.O_RDONLY) + h = ts.hdrFromFdno(fd) + os.close(fd) + + rpm_name = h[rpm.RPMTAG_NAME] + + # Let's calculate provides + # We'll create dictionary to speedup future use + # FIXME duplicate provides + local_provides = [p for p in h[rpm.RPMTAG_PROVIDENAME] if prog.match(p)] + erlang_provides.update({k: rpm_name for k in local_provides}) + + # Let's calculate requires + erlang_requires.update({rpm_name: [r for r in h[rpm.RPMTAG_REQUIRENAME] if prog.match(r) and not r in local_provides]}) + + package_headers.update({rpm_name: h}) + + package_names.append(rpm_name) + +namemask = re.compile("^erlang-[a-zA-Z0-9_]*$") + +print "### BEGIN OF AUTOGENERATED LIST ###" +print "" + +for name in package_names: + h = package_headers[name] + + if name == "erlang-doc": + # Additional ifdef just for this sub-package (see below) + print "%if %{with doc}" + + if namemask.match(name): + print "%%package %s" % name.replace("erlang-", "") + else: + print "%%package -n %s" % name + + print "Summary: %s" % h[rpm.RPMTAG_SUMMARY] + print "Group: %s" % h[rpm.RPMTAG_GROUP] + + rawdeps = [erlang_provides.get(r, "Error: missing requires: %s" % r) for r in erlang_requires[name]] + + deps = set() + dependency_add = deps.add + [x for x in rawdeps if not (x in deps or dependency_add(x))] + + # Additional BuildRequires (if any): + for br in package_additional_buildrequires.get(name, []): + print "BuildRequires: %s" % br + + # Add basic autogenerated Requires: + for r in sorted(deps): + #Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + print "Requires: %s%%{?_isa} = %%{version}-%%{release}" % r.replace("erlang-", "%{name}-") + + # Add custom additional Requires (if any): + for r in package_additional_requires.get(name, []): + print "Requires: %s" % r + + # Add custom additional Obsoletes (if any): + for os in package_additional_obsoletes.get(name, []): + print "Obsoletes: %s" % os + + if name in package_noarch: + print "BuildArch: noarch" + + print "" + if namemask.match(name): + print "%%description %s" % name.replace("erlang-", "") + else: + print "%%description -n %s" % name + print "%s" % h[rpm.RPMTAG_DESCRIPTION] + + if name == "erlang-doc": + # Additional ifdef just for this sub-package (see above) + print "%endif" + + print "" + +print "### END OF AUTOGENERATED LIST ###"