diff --git a/.gitignore b/.gitignore index 110111a..2861be6 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ otp_src_R14A.tar.gz /otp-OTP-17.2.1.tar.gz /otp-OTP-17.2.2.tar.gz /otp-OTP-17.3.3.tar.gz +/otp-OTP-17.3.4.tar.gz diff --git a/erlang.spec b/erlang.spec index 18fa2fa..c1223da 100644 --- a/erlang.spec +++ b/erlang.spec @@ -9,7 +9,7 @@ %endif Name: erlang -Version: 17.3.3 +Version: 17.3.4 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -68,6 +68,9 @@ Patch8: otp-0008-Install-internal-hrl-files-when-necessary.patch # Fedora specific patch # Expose NIF version Patch9: otp-0009-Expose-NIF-version.patch +# Fedora specific patch +# Split off webtool dependency from tools +Patch10: otp-0010-Split-off-webtool-dependency-from-tools.patch # end of autogenerated patch tag list BuildRequires: lksctp-tools-devel @@ -102,58 +105,58 @@ Requires: systemd %endif BuildRequires: erlang-rpm-macros -Requires: erlang-asn1%{?_isa} = %{version}-%{release} -Requires: erlang-common_test%{?_isa} = %{version}-%{release} -Requires: erlang-compiler%{?_isa} = %{version}-%{release} -Requires: erlang-cosEvent%{?_isa} = %{version}-%{release} -Requires: erlang-cosEventDomain%{?_isa} = %{version}-%{release} -Requires: erlang-cosFileTransfer%{?_isa} = %{version}-%{release} -Requires: erlang-cosNotification%{?_isa} = %{version}-%{release} -Requires: erlang-cosProperty%{?_isa} = %{version}-%{release} -Requires: erlang-cosTime%{?_isa} = %{version}-%{release} -Requires: erlang-cosTransactions%{?_isa} = %{version}-%{release} -Requires: erlang-crypto%{?_isa} = %{version}-%{release} -Requires: erlang-debugger%{?_isa} = %{version}-%{release} -Requires: erlang-dialyzer%{?_isa} = %{version}-%{release} -Requires: erlang-diameter%{?_isa} = %{version}-%{release} -Requires: erlang-edoc%{?_isa} = %{version}-%{release} -Requires: erlang-eldap%{?_isa} = %{version}-%{release} -Requires: erlang-erl_docgen%{?_isa} = %{version}-%{release} -Requires: erlang-erl_interface%{?_isa} = %{version}-%{release} -Requires: erlang-erts%{?_isa} = %{version}-%{release} -Requires: erlang-et%{?_isa} = %{version}-%{release} -Requires: erlang-eunit%{?_isa} = %{version}-%{release} -Requires: erlang-gs%{?_isa} = %{version}-%{release} -Requires: erlang-hipe%{?_isa} = %{version}-%{release} -Requires: erlang-ic%{?_isa} = %{version}-%{release} -Requires: erlang-inets%{?_isa} = %{version}-%{release} -Requires: erlang-jinterface%{?_isa} = %{version}-%{release} -Requires: erlang-kernel%{?_isa} = %{version}-%{release} -Requires: erlang-megaco%{?_isa} = %{version}-%{release} -Requires: erlang-mnesia%{?_isa} = %{version}-%{release} -Requires: erlang-observer%{?_isa} = %{version}-%{release} -Requires: erlang-odbc%{?_isa} = %{version}-%{release} -Requires: erlang-orber%{?_isa} = %{version}-%{release} -Requires: erlang-os_mon%{?_isa} = %{version}-%{release} -Requires: erlang-ose%{?_isa} = %{version}-%{release} -Requires: erlang-otp_mibs%{?_isa} = %{version}-%{release} -Requires: erlang-parsetools%{?_isa} = %{version}-%{release} -Requires: erlang-percept%{?_isa} = %{version}-%{release} -Requires: erlang-public_key%{?_isa} = %{version}-%{release} -Requires: erlang-reltool%{?_isa} = %{version}-%{release} -Requires: erlang-runtime_tools%{?_isa} = %{version}-%{release} -Requires: erlang-sasl%{?_isa} = %{version}-%{release} -Requires: erlang-snmp%{?_isa} = %{version}-%{release} -Requires: erlang-ssh%{?_isa} = %{version}-%{release} -Requires: erlang-ssl%{?_isa} = %{version}-%{release} -Requires: erlang-stdlib%{?_isa} = %{version}-%{release} -Requires: erlang-syntax_tools%{?_isa} = %{version}-%{release} -Requires: erlang-test_server%{?_isa} = %{version}-%{release} -Requires: erlang-tools%{?_isa} = %{version}-%{release} -Requires: erlang-typer%{?_isa} = %{version}-%{release} -Requires: erlang-webtool%{?_isa} = %{version}-%{release} -Requires: erlang-wx%{?_isa} = %{version}-%{release} -Requires: erlang-xmerl%{?_isa} = %{version}-%{release} +Requires: %{name}-asn1%{?_isa} = %{version}-%{release} +Requires: %{name}-common_test%{?_isa} = %{version}-%{release} +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-cosEvent%{?_isa} = %{version}-%{release} +Requires: %{name}-cosEventDomain%{?_isa} = %{version}-%{release} +Requires: %{name}-cosFileTransfer%{?_isa} = %{version}-%{release} +Requires: %{name}-cosNotification%{?_isa} = %{version}-%{release} +Requires: %{name}-cosProperty%{?_isa} = %{version}-%{release} +Requires: %{name}-cosTime%{?_isa} = %{version}-%{release} +Requires: %{name}-cosTransactions%{?_isa} = %{version}-%{release} +Requires: %{name}-crypto%{?_isa} = %{version}-%{release} +Requires: %{name}-debugger%{?_isa} = %{version}-%{release} +Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release} +Requires: %{name}-diameter%{?_isa} = %{version}-%{release} +Requires: %{name}-edoc%{?_isa} = %{version}-%{release} +Requires: %{name}-eldap%{?_isa} = %{version}-%{release} +Requires: %{name}-erl_docgen%{?_isa} = %{version}-%{release} +Requires: %{name}-erl_interface%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-et%{?_isa} = %{version}-%{release} +Requires: %{name}-eunit%{?_isa} = %{version}-%{release} +Requires: %{name}-gs%{?_isa} = %{version}-%{release} +Requires: %{name}-hipe%{?_isa} = %{version}-%{release} +Requires: %{name}-ic%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_isa} = %{version}-%{release} +Requires: %{name}-jinterface%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-megaco%{?_isa} = %{version}-%{release} +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-observer%{?_isa} = %{version}-%{release} +Requires: %{name}-odbc%{?_isa} = %{version}-%{release} +Requires: %{name}-orber%{?_isa} = %{version}-%{release} +Requires: %{name}-os_mon%{?_isa} = %{version}-%{release} +Requires: %{name}-ose%{?_isa} = %{version}-%{release} +Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release} +Requires: %{name}-parsetools%{?_isa} = %{version}-%{release} +Requires: %{name}-percept%{?_isa} = %{version}-%{release} +Requires: %{name}-public_key%{?_isa} = %{version}-%{release} +Requires: %{name}-reltool%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-sasl%{?_isa} = %{version}-%{release} +Requires: %{name}-snmp%{?_isa} = %{version}-%{release} +Requires: %{name}-ssh%{?_isa} = %{version}-%{release} +Requires: %{name}-ssl%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} +Requires: %{name}-test_server%{?_isa} = %{version}-%{release} +Requires: %{name}-tools%{?_isa} = %{version}-%{release} +Requires: %{name}-typer%{?_isa} = %{version}-%{release} +Requires: %{name}-webtool%{?_isa} = %{version}-%{release} +Requires: %{name}-wx%{?_isa} = %{version}-%{release} +Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} %description Erlang is a general-purpose programming language and runtime @@ -404,11 +407,11 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} # dependency checker Requires: lksctp-tools # See erts/emulator/beam/erl_driver.h or call erlang:system_info(driver_version). -Provides: erlang(erl_drv_version) = 3.1 #Provides: erlang(erl_drv_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(driver_version)).' -s erlang halt) +Provides: erlang(erl_drv_version) = 3.1 # See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version). -Provides: erlang(erl_nif_version) = 2.7 #Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt) +Provides: erlang(erl_nif_version) = 2.7 # These sub-packages were removed once Obsoletes: erlang-appmon Obsoletes: erlang-docbuilder @@ -786,7 +789,12 @@ 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}-webtool%{?_isa} = %{version}-%{release} +# This is a weak dependency triggered by the "cover_web" application. +# Unfortunately Recommends/Suggests tags are supported only in Fedora 21+ and +# RHEL 8+ (eventually) +%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 +Suggests: %{name}-webtool%{?_isa} = %{version}-%{release} +%endif Provides: emacs-common-erlang = %{version}-%{release} %description tools @@ -891,6 +899,7 @@ Erlang mode for XEmacs (source lisp files). %patch7 -p1 -b .Added_systemd_notify_support_to_EPMD %patch8 -p1 -b .Install_internal_hrl_files_when_necessary %patch9 -p1 -b .Expose_NIF_version +%patch10 -p1 -b .Split_off_webtool_dependency_from_tools # end of autogenerated prep patch list # FIXME we should come up with a better solution @@ -1310,7 +1319,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \ %files erl_docgen %{_libdir}/erlang/lib/erl_docgen-*/ +%if %{with doc} %{_libdir}/erlang/man/man6/erl_docgen.* +%endif %files erl_interface %{_libdir}/erlang/lib/erl_interface-*/ @@ -2209,6 +2220,10 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \ %changelog +* Sat Nov 08 2014 Peter Lemenkov - 17.3.4-1 +- Ver. 17.3.4 (API/ABI compatible release) +- Relax an erlang-tools dependency on erlang-webtool down to Suggests + * Sun Nov 02 2014 Peter Lemenkov - 17.3.3-1 - Ver. 17.3.3 diff --git a/otp-0010-Split-off-webtool-dependency-from-tools.patch b/otp-0010-Split-off-webtool-dependency-from-tools.patch new file mode 100644 index 0000000..85f3f3b --- /dev/null +++ b/otp-0010-Split-off-webtool-dependency-from-tools.patch @@ -0,0 +1,40 @@ +From: Peter Lemenkov +Date: Sat, 8 Nov 2014 22:54:57 +0300 +Subject: [PATCH] Split off webtool dependency from tools + +Signed-off-by: Peter Lemenkov + +diff --git a/lib/tools/src/cover_web.erl b/lib/tools/src/cover_web.erl +index 69f2f3b..397826a 100644 +--- a/lib/tools/src/cover_web.erl ++++ b/lib/tools/src/cover_web.erl +@@ -50,14 +50,25 @@ + %%%---------------------------------------------------------------------- + %% Start webtool and webcover from erlang shell + start() -> +- webtool:start(), +- webtool:start_tools([],"app=webcover"), ++ try ++ % Disable automatic dependency picking up ++ erlang:apply(webtool, start, []), ++ erlang:apply(webtool, start_tools, [[],"app=webcover"]) ++ catch ++ error:undef -> error_logger:error_msg("No erlang-webtool found.~nPlease install erlang-webtool package first.~n") ++ end, + ok. + + %% Stop webtool and webcover from erlang shell + stop() -> +- webtool:stop_tools([],"app=webcover"), +- webtool:stop(). ++ try ++ % Disable automatic dependency picking up ++ erlang:apply(webtool, stop_tools, [[],"app=webcover"]) ++ erlang:apply(webtool, stop, []), ++ catch ++ error:undef -> error_logger:error_msg("No erlang-webtool found.~nPlease install erlang-webtool package first.~n") ++ end, ++ ok. + + + diff --git a/sources b/sources index 8aeebf7..6327b7c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -18422a0498b882fe043591cf29577d36 otp-OTP-17.3.3.tar.gz +81aa75b5613b7db6f3761f848695e816 otp-OTP-17.3.4.tar.gz