From 524e7428f085c840005f6b6b78d2711d462453e1 Mon Sep 17 00:00:00 2001 From: Jon Schlueter Date: Nov 02 2015 15:19:20 +0000 Subject: Merge remote-tracking branch 'origin/rhos-7.0-rhel-7' into rhos-8.0-rhel-7 --- diff --git a/.gitignore b/.gitignore index e69de29..87d7726 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,49 @@ +otp_src_R14A.tar.gz +/otp_src_R14B.tar.gz +/otp_doc_html_R14B.tar.gz +/otp_doc_man_R14B.tar.gz +/otp_doc_html_R14B01.tar.gz +/otp_doc_man_R14B01.tar.gz +/otp_src_R14B01.tar.gz +/otp_doc_html_R14B02.tar.gz +/otp_doc_man_R14B02.tar.gz +/otp_src_R14B02.tar.gz +/otp_src_R14B03.tar.gz +/otp_doc_html_R14B03.tar.gz +/otp_doc_man_R14B03.tar.gz +/otp_src_R14B04.tar.gz +/otp_doc_html_R14B04.tar.gz +/otp_doc_man_R14B04.tar.gz +/otp_doc_html_R15B.tar.gz +/otp_doc_man_R15B.tar.gz +/otp_src_R15B.tar.gz +/otp_doc_html_R15B01.tar.gz +/otp_doc_man_R15B01.tar.gz +/otp_src_R15B01.tar.gz +/otp_doc_html_R15B02.tar.gz +/otp_doc_man_R15B02.tar.gz +/otp_src_R15B02.tar.gz +/otp_doc_html_R15B03-1.tar.gz +/otp_doc_man_R15B03-1.tar.gz +/otp_src_R15B03-1.readme +/otp_src_R15B03-1.tar.gz +/otp_doc_html_R16A_RELEASE_CANDIDATE.tar.gz +/otp_doc_man_R16A_RELEASE_CANDIDATE.tar.gz +/otp_src_R16A_RELEASE_CANDIDATE.tar.gz +/otp_src_R16A_RELEASE_CANDIDATE.readme +/otp_src_R16B.tar.gz +/otp_doc_html_R16B.tar.gz +/otp_doc_man_R16B.tar.gz +/otp_src_R16B01.tar.gz +/otp_doc_html_R16B01.tar.gz +/otp_doc_man_R16B01.tar.gz +/otp_src_R16B01.readme +/otp_src_R16B02.tar.gz +/otp_doc_html_R16B02.tar.gz +/otp_doc_man_R16B02.tar.gz +/otp_src_R16B02.readme +/otp_src_R16B03.tar.gz +/otp_doc_html_R16B03.tar.gz +/otp_doc_man_R16B03.tar.gz +/otp_src_R16B03.readme +/otp_src_R16B03-1.tar.gz diff --git a/epmd.service b/epmd.service new file mode 100644 index 0000000..6881195 --- /dev/null +++ b/epmd.service @@ -0,0 +1,25 @@ +[Unit] +Description=Erlang Port Mapper Daemon +After=network.target +Requires=epmd.socket + +[Service] +ExecStart=/usr/bin/epmd -systemd +#ExecStop=/usr/bin/epmd -kill +Type=notify +StandardOutput=journal +StandardError=journal +DeviceAllow=/dev/null rw +PrivateTmp=true +#CapabilityBoundingSet= +NoNewPrivileges=true +Restart=always +LimitNPROC=1 +LimitFSIZE=0 +User=epmd +Group=epmd + +[Install] +Also=epmd.socket +WantedBy=multi-user.target + diff --git a/epmd.socket b/epmd.socket new file mode 100644 index 0000000..8eee066 --- /dev/null +++ b/epmd.socket @@ -0,0 +1,10 @@ +[Unit] +Description=Erlang Port Mapper Daemon Activation Socket + +[Socket] +ListenStream=127.0.0.1:4369 +Accept=false + +[Install] +WantedBy=sockets.target + diff --git a/epmd@.service b/epmd@.service new file mode 100644 index 0000000..822268f --- /dev/null +++ b/epmd@.service @@ -0,0 +1,25 @@ +[Unit] +Description=Erlang Port Mapper Daemon +After=network.target +Requires=epmd@.socket + +[Service] +ExecStart=/usr/bin/epmd -systemd +#ExecStop=/usr/bin/epmd -kill +Type=notify +StandardOutput=journal +StandardError=journal +DeviceAllow=/dev/null rw +PrivateTmp=true +#CapabilityBoundingSet= +NoNewPrivileges=true +Restart=always +LimitNPROC=1 +LimitFSIZE=0 +User=epmd +Group=epmd + +[Install] +Also=epmd@.socket +WantedBy=multi-user.target + diff --git a/epmd@.socket b/epmd@.socket new file mode 100644 index 0000000..5dda63d --- /dev/null +++ b/epmd@.socket @@ -0,0 +1,10 @@ +[Unit] +Description=Erlang Port Mapper Daemon Activation Socket + +[Socket] +ListenStream=%i:4369 +Accept=false + +[Install] +WantedBy=sockets.target + diff --git a/erlang.spec b/erlang.spec new file mode 100644 index 0000000..ac9535f --- /dev/null +++ b/erlang.spec @@ -0,0 +1,2870 @@ +%global upstream_ver R16B +# Do NOT change %%{upstream_rel} unless UPSTREAM has actually changed it! +#%global upstream_rel %{nil} +%global upstream_rel 03 +# Use %%{nil} for %%{upstream_rel} for tracking source like otp_src_R14B.tar.gz, +# and 01 %%{upstream_rel} for tracking source like otp_src_R14B01.tar.gz. + +%global need_bootstrap_set 0 + +%{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}} + +%global __minimal 1 + +%if 0%{upstream_rel} +%global upstream_rel_for_rpm %{upstream_rel} +%else +%global upstream_rel_for_rpm 0 +%endif + +# If constructing a minimal (e.g. runtime) package, do not +# build or include docs. +%if 0%{__minimal} == 0 +%bcond_without doc +%else +%bcond_with doc +%endif + +%ifarch %{arm} %{ix86} x86_64 ppc %{power64} +%global __with_hipe 1 +%endif + +%global n_uvr %{name}-%{upstream_ver}-%{upstream_rel_for_rpm} + +Name: erlang +Version: %{upstream_ver} +Release: %{upstream_rel_for_rpm}.10min.2%{?dist} +Summary: General-purpose programming language and runtime environment + +Group: Development/Languages +License: ERPL +URL: http://www.erlang.org +%if 0%{?el7}%{?fedora} +VCS: scm:git:https://github.com/erlang/otp +%endif +Source0: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}-1.tar.gz +Source5: epmd.service +Source6: epmd.socket +Source7: epmd@.service +Source8: epmd@.socket +Source999: otp-get-patches.sh + + +# For the source of the Fedora specific patches, see the respective +# branch at https://github.com/lemenkov/otp +# +# Run something like +# $ git clone git://github.com/erlang/otp.git +# $ cd otp +# $ git remote add fedora https://git.fedorahosted.org/git/erlang.git +# $ git fetch -v --all +# to get yourself a copy of the Erlang/OTP source code with the +# Fedora specific patches from Fedora. Then run something like +# $ ./otp-get-patches.sh /path/to/otp OTP_R14B02 fedora/fedora-R14B02 +# for some semi-automatic patch update assistance. +# +# start of autogenerated patch tag list +# Fedora specific patch +# Do not format man-pages and do not install miscellaneous +Patch1: otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch +# Fedora specific patch +# Remove rpath +Patch2: otp-0002-Remove-rpath.patch +# Fedora specific patch +# Do not install C sources +Patch3: otp-0003-Do-not-install-C-sources.patch +# Fedora specific patch +# Do not install Java sources +Patch4: otp-0004-Do-not-install-Java-sources.patch +# Fedora specific patch +# Do not install nteventlog and related doc-files on non-win32 +Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch +# Fedora specific patch +# Do not install erlang sources +Patch6: otp-0006-Do-not-install-erlang-sources.patch +# Required only for el5, el6 on PowerPC +# Ugly workaround for java-1.5.0-gcj which doesn't support +Patch7: otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch +# Fedora specific patch +# Fix for armv7hl architecture +Patch8: otp-0008-Fix-for-armv7hl-architecture.patch +# Fedora specific patch +# TEMPORARILY disable ECC until dust settles +Patch9: otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch +# Fedora specific patch +# Fix for powerpc architecture +Patch10: otp-0010-Fix-for-powerpc-architecture.patch +# Fedora specific patch +# Add -systemd option to empd. Check for include +Patch11: otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch +# Fedora specific patch +# Add systemd support to epmd +Patch12: otp-0012-Add-systemd-support-to-epmd.patch +# Fedora specific patch +# Added systemd notify support to EPMD +Patch13: otp-0013-Added-systemd-notify-support-to-EPMD.patch +# Fedora specific patch +# Install internal hrl files when necessary +Patch14: otp-0014-Install-internal-hrl-files-when-necessary.patch +# Fedora specific patch +# Expose NIF version +Patch15: otp-0015-Expose-NIF-version.patch +# Fedora specific patch +# Split off webtool dependency from tools +Patch16: otp-0016-Split-off-webtool-dependency-from-tools.patch +# Fedora specific patch +# lib/inets/src/ftp/ftp.erl: Check the filenames, usernames, +Patch17: otp-0017-lib-inets-src-ftp-ftp.erl-Check-the-filenames-userna.patch +# Fedora specific patch +# Introduce os:getenv/2 +Patch18: otp-0018-Introduce-os-getenv-2.patch +# Fedora specific patch +# Patch removes support for SSLv3 protocol because it is proved +Patch19: otp-0019-Patch-removes-support-for-SSLv3-protocol-because-it-.patch +# end of autogenerated patch tag list + +BuildRequires: lksctp-tools-devel +BuildRequires: ncurses-devel +BuildRequires: openssl-devel +BuildRequires: zlib-devel +BuildRequires: flex +BuildRequires: m4 +BuildRequires: automake autoconf +%if %{with doc} +# BEWARE. No fop for EPEL5, and only for x86/x86_64 in EPEL6, so we cannot regenerate docs here +BuildRequires: fop +BuildRequires: libxslt + +%if 0%{?need_bootstrap} < 1 +# Required for building docs (escript) +BuildRequires: erlang +%endif +%endif + +%if 0%{__minimal} == 0 +BuildRequires: emacs +BuildRequires: xemacs +BuildRequires: emacs-el +BuildRequires: xemacs-packages-extra-el +%endif + +%if 0%{?el7}%{?fedora} +# for +BuildRequires: systemd-devel +Requires(post): systemd +Requires(preun):systemd +Requires(postun):systemd +Requires: systemd +%endif + +BuildRequires: erlang-rpm-macros + +%if 0%{__minimal} == 0 +Requires: erlang-appmon%{?_isa} = %{version}-%{release} +%endif +Requires: erlang-asn1%{?_isa} = %{version}-%{release} +%if 0%{__minimal} == 0 +Requires: erlang-common_test%{?_isa} = %{version}-%{release} +%endif +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} +%if 0%{__minimal} == 0 +Requires: erlang-debugger%{?_isa} = %{version}-%{release} +Requires: erlang-dialyzer%{?_isa} = %{version}-%{release} +%endif +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} +%if 0%{__minimal} == 0 +Requires: erlang-et%{?_isa} = %{version}-%{release} +%endif +Requires: erlang-eunit%{?_isa} = %{version}-%{release} +%if 0%{__minimal} == 0 +Requires: erlang-examples%{?_isa} = %{version}-%{release} +Requires: erlang-gs%{?_isa} = %{version}-%{release} +%endif +Requires: erlang-hipe%{?_isa} = %{version}-%{release} +%if 0%{__minimal} == 0 +Requires: erlang-ic%{?_isa} = %{version}-%{release} +%endif +Requires: erlang-inets%{?_isa} = %{version}-%{release} +%if 0%{__minimal} == 0 +Requires: erlang-jinterface%{?_isa} = %{version}-%{release} +%endif +Requires: erlang-kernel%{?_isa} = %{version}-%{release} +%if 0%{__minimal} == 0 +Requires: erlang-megaco%{?_isa} = %{version}-%{release} +%endif +Requires: erlang-mnesia%{?_isa} = %{version}-%{release} +%if 0%{__minimal} == 0 +Requires: erlang-observer%{?_isa} = %{version}-%{release} +%endif +Requires: erlang-odbc%{?_isa} = %{version}-%{release} +Requires: erlang-orber%{?_isa} = %{version}-%{release} +Requires: erlang-os_mon%{?_isa} = %{version}-%{release} +Requires: erlang-otp_mibs%{?_isa} = %{version}-%{release} +Requires: erlang-parsetools%{?_isa} = %{version}-%{release} +Requires: erlang-percept%{?_isa} = %{version}-%{release} +%if 0%{__minimal} == 0 +Requires: erlang-pman%{?_isa} = %{version}-%{release} +%endif +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} +%if 0%{__minimal} == 0 +Requires: erlang-test_server%{?_isa} = %{version}-%{release} +Requires: erlang-toolbar%{?_isa} = %{version}-%{release} +%endif +Requires: erlang-tools%{?_isa} = %{version}-%{release} +%if 0%{__minimal} == 0 +Requires: erlang-tv%{?_isa} = %{version}-%{release} +Requires: erlang-typer%{?_isa} = %{version}-%{release} +Requires: erlang-webtool%{?_isa} = %{version}-%{release} +Requires: erlang-wx%{?_isa} = %{version}-%{release} +%endif +Requires: erlang-xmerl%{?_isa} = %{version}-%{release} + +Obsoletes: erlang-docbuilder +Obsoletes: erlang-inviso + +%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. + +%if 0%{__minimal} == 0 +%package appmon +Summary: A utility used to supervise Applications executing on several Erlang nodes +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-gs%{?_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} + +%description appmon +A utility used to supervise Applications executing on several Erlang nodes. +%endif + +%package asn1 +Summary: Provides support for Abstract Syntax Notation One +Group: Development/Languages +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 0%{__minimal} == 0 +%package common_test +Summary: A portable framework for automatic testing +Group: Development/Languages +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}-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}-test_server%{?_isa} = %{version}-%{release} +Requires: %{name}-tools%{?_isa} = %{version}-%{release} +Requires: %{name}-webtool%{?_isa} = %{version}-%{release} +Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} + +%description common_test +A portable framework for automatic testing. +%endif + +%package compiler +Summary: A byte code compiler for Erlang which produces highly compact code +Group: Development/Languages +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 cosEvent +Summary: Orber OMG Event Service +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-orber%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description cosEvent +Orber OMG Event Service. + +%package cosEventDomain +Summary: Orber OMG Event Domain Service +Group: Development/Languages +Requires: %{name}-cosNotification%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-orber%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description cosEventDomain +Orber OMG Event Domain Service. + +%package cosFileTransfer +Summary: Orber OMG File Transfer Service +Group: Development/Languages +Requires: %{name}-cosProperty%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-orber%{?_isa} = %{version}-%{release} +Requires: %{name}-ssl%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description cosFileTransfer +Orber OMG File Transfer Service. + +%package cosNotification +Summary: Orber OMG Notification Service +Group: Development/Languages +Requires: %{name}-cosEvent%{?_isa} = %{version}-%{release} +Requires: %{name}-cosTime%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-orber%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description cosNotification +Orber OMG Notification Service. + +%package cosProperty +Summary: Orber OMG Property Service +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-orber%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description cosProperty +Orber OMG Property Service. + +%package cosTime +Summary: Orber OMG Timer and TimerEvent Service +Group: Development/Languages +Requires: %{name}-cosEvent%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-orber%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description cosTime +Orber OMG Timer and TimerEvent Service. + +%package cosTransactions +Summary: Orber OMG Transaction Service +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-orber%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description cosTransactions +Orber OMG Transaction Service. + +%package crypto +Summary: Cryptographical support +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description crypto +Cryptographical support. + +%if 0%{__minimal} == 0 +%package debugger +Summary: A debugger for debugging and testing of Erlang programs +Group: Development/Languages +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-gs%{?_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. + +%package dialyzer +Summary: A DIscrepancy AnaLYZer for ERlang programs +Group: Development/Languages +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-gs%{?_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 + +%description dialyzer +A DIscrepancy AnaLYZer for ERlang programs. +%endif + +%package diameter +Summary: Diameter (RFC 3588) library +Group: Development/Languages +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} +%package doc +Summary: Erlang documentation +Group: Development/Languages +BuildArch: noarch + +%description doc +Documentation for Erlang. +%endif + +%package edoc +Summary: A utility used to generate documentation out of tags in source files +Group: Development/Languages +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 +Group: Development/Languages +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 +Group: Development/Languages +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 +Group: Development/Languages +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 +Group: Development/Languages +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +# This library is dlopened so it can't be picked up automatically by the RPM +# dependency checker +Requires: lksctp-tools +# See erts/emulator/beam/erl_driver.h or call erlang:system_info(driver_version). +Provides: erlang(erl_drv_version) = 2.2 +# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version). +Provides: erlang(erl_nif_version) = 2.4 + +%description erts +Functionality necessary to run the Erlang System itself. + +%if 0%{__minimal} == 0 +%package et +Summary: An event tracer for Erlang programs +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-gs%{?_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 + +%package eunit +Summary: Support for unit testing +Group: Development/Languages +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 0%{__minimal} == 0 +%package examples +Summary: Examples for some Erlang modules +Group: Development/Languages +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description examples +Examples for some Erlang modules. + +%package gs +Summary: A library for Tcl/Tk support in Erlang +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +BuildRequires: tcl-devel +BuildRequires: tk-devel +Requires: tk + +%description gs +A Graphics System used to write platform independent user interfaces. +%endif + +%package hipe +Summary: High Performance Erlang +Group: Development/Languages +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. + +%if 0%{__minimal} == 0 +%package ic +Summary: IDL compiler +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description ic +IDL compiler. +%endif + +%package inets +Summary: A set of services such as a Web server and a ftp client etc +Group: Development/Languages +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} +# FIXME see erlang-jinterface also +#Requires: jpackage-utils + +%description inets +A set of services such as a Web server and a ftp client etc. + +%if 0%{__minimal} == 0 +%package jinterface +Summary: A library for accessing Java from Erlang +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +# FIXME see erlang-ic also +#Requires: jpackage-utils +%if 0%{?el7}%{?fedora} +BuildRequires: java-devel +%else +%ifarch %{ix86} x86_64 +BuildRequires: java-devel +%else +BuildRequires: java-devel-gcj +%endif +%endif + +%description jinterface +Low level interface to Java. +%endif + +%package kernel +Summary: Main erlang library +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description kernel +Main erlang library. + +%if 0%{__minimal} == 0 +%package megaco +Summary: Megaco/H.248 support library +Group: Development/Languages +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 + +%package mnesia +Summary: A heavy duty real-time distributed database +Group: Development/Languages +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 0%{__minimal} == 0 +%package observer +Summary: A set of tools for tracing and investigation of distributed systems +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-et%{?_isa} = %{version}-%{release} +Requires: %{name}-gs%{?_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}-webtool%{?_isa} = %{version}-%{release} +Requires: %{name}-wx%{?_isa} = %{version}-%{release} + +%description observer +A set of tools for tracing and investigation of distributed systems. +%endif + +%package odbc +Summary: A library for unixODBC support in Erlang +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +BuildRequires: unixODBC-devel + +%description odbc +An interface to relational SQL-databases built on ODBC (Open Database +Connectivity). + +%package orber +Summary: A CORBA Object Request Broker +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-ssl%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description orber +A CORBA Object Request Broker. + +%package os_mon +Summary: A monitor which allows inspection of the underlying operating system +Group: Development/Languages +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 +Group: Development/Languages +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 +Group: Development/Languages +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 percept +Summary: A concurrency profiler tool +Group: Development/Languages +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} + +%description percept +A concurrency profiler tool. + +%if 0%{__minimal} == 0 +%package pman +Summary: A graphical process manager used to inspect Erlang processes +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-gs%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description pman +A graphical process manager used to inspect Erlang processes. +%endif + +%package public_key +Summary: API to public key infrastructure +Group: Development/Languages +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. + +%package reltool +Summary: A release management tool +Group: Development/Languages +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} +%if 0%{__minimal} == 0 +Requires: %{name}-wx%{?_isa} = %{version}-%{release} +%endif + +%description reltool +Reltool is a release management tool. It analyses a given +Erlang/OTP installation and determines various dependencies +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. + +%package runtime_tools +Summary: A set of tools to include in a production system +Group: Development/Languages +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 +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +%if 0%{__minimal} == 0 +Requires: %{name}-tools%{?_isa} = %{version}-%{release} +%endif + +%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 +Group: Development/Languages +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 +Group: Development/Languages +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 +Group: Development/Languages +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 ssl +Secure Socket Layer support. + +%package stdlib +Summary: The Erlang standard libraries +Group: Development/Languages +%if 0%{__minimal} == 0 +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +%endif +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 +Group: Development/Languages +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. + +%if 0%{__minimal} == 0 +%package test_server +Summary: The OTP Test Server +Group: Development/Languages +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}-stdlib%{?_isa} = %{version}-%{release} +Requires: %{name}-tools%{?_isa} = %{version}-%{release} + +%description test_server +The OTP Test Server. +%endif + +%package toolbar +Summary: A tool bar simplifying access to the Erlang tools +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-gs%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description toolbar +A tool bar simplifying access to the Erlang tools. + +%package tools +Summary: A set of programming tools including a coverage analyzer etc +Group: Development/Languages +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 0%{__minimal} == 0 +# 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} +%else +Requires: %{name}-webtool%{?_isa} = %{version}-%{release} +%endif +Provides: emacs-common-erlang = %{version}-%{release} +%endif + +%description tools +A set of programming tools including a coverage analyzer etc. + +%if 0%{__minimal} == 0 +%package tv +Summary: An ETS and MNESIA graphical table visualizer +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-gs%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-mnesia%{?_isa} = %{version}-%{release} +Requires: %{name}-pman%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} + +%description tv +An ETS and MNESIA graphical table visualizer. + +%package typer +Summary: TYPe annotator for ERlang programs +Group: Development/Languages +Requires: %{name}-compiler%{?_isa} = %{version}-%{release} +Requires: %{name}-dialyzer%{?_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 typer +TYPe annotator for ERlang programs. + +%package webtool +Summary: A tool that simplifying the use of web based Erlang tools +Group: Development/Languages +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}-stdlib%{?_isa} = %{version}-%{release} + +%description webtool +A tool that simplifying the use of web based Erlang tools. + +%package wx +Summary: A library for wxWidgets support in Erlang +Group: Development/Languages +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-kernel%{?_isa} = %{version}-%{release} +Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} +Requires: mesa-libGL +Requires: mesa-libGLU +BuildRequires: wxGTK-devel + +%description wx +A Graphics System used to write platform independent user interfaces. +%endif + +%package xmerl +Summary: Provides support for XML 1.0 +Group: Development/Languages +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. + +%if 0%{__minimal} == 0 +%package -n emacs-erlang +Summary: Compiled elisp files for erlang-mode under GNU Emacs +Requires: emacs-common-erlang = %{version}-%{release} +Requires: emacs(bin) >= %{_emacs_version} +Group: Applications/Editors +BuildArch: noarch + +%description -n emacs-erlang +Erlang mode for GNU Emacs. + +%package -n emacs-erlang-el +Summary: Elisp source files for erlang-mode under GNU Emacs +Requires: emacs-erlang = %{version}-%{release} +Group: Applications/Editors +BuildArch: noarch + +%description -n emacs-erlang-el +Erlang mode for GNU Emacs (source lisp files). + +%package -n xemacs-erlang +Summary: Compiled elisp files for erlang-mode under XEmacs +Requires: emacs-common-erlang = %{version}-%{release} +Group: Applications/Editors +BuildArch: noarch +Requires: xemacs(bin) >= %{_xemacs_version} + +%description -n xemacs-erlang +Erlang mode for XEmacs. + +%package -n xemacs-erlang-el +Summary: Elisp source files for erlang-mode under XEmacs +Requires: xemacs-erlang = %{version}-%{release} +Group: Applications/Editors +BuildArch: noarch + +%description -n xemacs-erlang-el +Erlang mode for XEmacs (source lisp files). +%endif + +%prep +%setup -q -n otp_src_%{upstream_ver}%{upstream_rel}-1 + +# start of autogenerated prep patch list +%patch1 -p1 -b .Do_not_format_man_pages_and_do_not_install_miscellan +%patch2 -p1 -b .Remove_rpath +%patch3 -p1 -b .Do_not_install_C_sources +%patch4 -p1 -b .Do_not_install_Java_sources +%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n +%patch6 -p1 -b .Do_not_install_erlang_sources +%if 0%{?el4}%{?el5}%{?el6} +%ifnarch %{ix86} x86_64 +%patch7 -p1 -b .Ugly_workaround_for_java_1_5_0_gcj_which_doesn_t_sup +%endif +%endif +%patch8 -p1 -b .Fix_for_armv7hl_architecture +%patch9 -p1 -b .TEMPORARILY_disable_ECC_until_dust_settles +%patch10 -p1 -b .Fix_for_powerpc_architecture +%patch11 -p1 -b .Add_systemd_option_to_empd_Check_for_include_system +%patch12 -p1 -b .Add_systemd_support_to_epmd +%patch13 -p1 -b .Added_systemd_notify_support_to_EPMD +%patch14 -p1 -b .Install_internal_hrl_files_when_necessary +%patch15 -p1 -b .Expose_NIF_version +%patch16 -p1 -b .Split_off_webtool_dependency_from_tools +%patch17 -p1 -b .lib_inets_src_ftp_ftp_erl_Check_the_filenames_userna +%patch18 -p1 -b .Introduce_os_getenv_2 +%patch19 -p1 -b .Patch_removes_support_for_SSLv3_protocol_because_it_ +# end of autogenerated prep patch list + +# FIXME we should come up with a better solution +# remove shipped zlib sources +#rm -f erts/emulator/zlib/*.[ch] + +# Fix 664 file mode +chmod 644 lib/kernel/examples/uds_dist/c_src/Makefile +chmod 644 lib/kernel/examples/uds_dist/src/Makefile +chmod 644 lib/ssl/examples/certs/Makefile +chmod 644 lib/ssl/examples/src/Makefile + +# Remove old txt files +rm -f lib/ssl/examples/certs/etc/otpCA/index.txt.old +rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old + +# Reconfigure everything to apply changes to the autotools templates +./otp_build autoconf + + +%build +%ifarch sparcv9 sparc64 +CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe} +%else +CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe} %{?__minimal:--without-wx --without-dialyzer --without-debugger --without-et --without-observer --without-gs --without-webtool --without-appmon --without-common_test --without-megaco --without-toolbar --without-test_server --without-pman --without-tv --without-typer --without-jinterface --without-ic} +%endif + +# Remove pre-built BEAM files +make clean + +# GNU Emacs/XEmacs related stuff +erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)" + +%if 0%{__minimal} == 0 +# GNU Emacs related stuff +cat > emacs-erlang-init.el << EOF +(setq load-path (cons "%{_emacs_sitelispdir}/erlang" load-path)) +(setq erlang-root-dir "%{_libdir}/erlang") +(setq exec-path (cons "%{_libdir}/erlang/bin" exec-path)) +(require 'erlang-start) +EOF +mkdir emacs-erlang +cp lib/tools/emacs/*.el emacs-erlang/ +pushd emacs-erlang +%{_emacs_bytecompile} *.el +popd + +# XEmacs related stuff +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 +pushd xemacs-erlang +%{_xemacs_bytecompile} *.el +popd +%endif + +make + +%if %{with doc} +# should use FOP_OPTS after #832323 is resolved +%ifnarch ppc %{power64} +export BASE_OPTIONS=-Xmx1024m +%else +export BASE_OPTIONS=-Xmx1536m +%endif +make docs +%endif + + +%install +%if 0%{__minimal} == 0 +# GNU Emacs/XEmacs related stuff +erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)" + +# GNU Emacs related stuff +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/" +done +install -m 0644 emacs-erlang/*.elc "$RPM_BUILD_ROOT%{_emacs_sitelispdir}/erlang/" + +# XEmacs related stuff +install -m 0755 -d "$RPM_BUILD_ROOT%{_xemacs_sitestartdir}" +install -m 0755 -d "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang" +install -m 0644 xemacs-erlang-init.el "$RPM_BUILD_ROOT%{_xemacs_sitestartdir}/erlang-init.el" +for f in lib/tools/emacs/{README,*.el}; do + b="$(basename "$f")"; + ln -s "%{_libdir}/erlang/lib/tools-${erlang_tools_vsn}/emacs/$b" \ + "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/" +done +rm -f "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/erlang-flymake.el" +install -m 0644 xemacs-erlang/*.elc "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/" +%endif + +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 + +%if 0%{__minimal} == 1 +rm -f $RPM_BUILD_ROOT%{_bindir}/ct_run +rm -f $RPM_BUILD_ROOT%{_bindir}/dialyzer +rm -f $RPM_BUILD_ROOT%{_bindir}/typer +rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/bin/dialyzer +rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/bin/typer +rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/erts-*/bin/dialyzer +rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/erts-*/bin/typer + +%endif + +# Do not install info files - they are almost empty and useless +find $RPM_BUILD_ROOT%{_libdir}/erlang -type f -name info -exec rm -f {} \; + +%if 0%{__minimal} == 1 + +# Nuke examples if building a minimal set +pushd $RPM_BUILD_ROOT/%{_libdir} +find . -type d -name examples | xargs rm -rf +popd + +%else + +# fix 0775 permission on some directories +find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ssl-*/examples/ -type d -perm 0775 | xargs chmod 755 +find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/kernel-*/examples/uds_dist -type d -perm 0775 | xargs chmod 755 + +%endif + +chmod 0755 $RPM_BUILD_ROOT%{_libdir}/erlang/bin + +# Relocate doc-files into the proper directory +mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{n_uvr} +%if %{with doc} +mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}/lib +pushd . +cd $RPM_BUILD_ROOT%{_libdir}/erlang +mv -v doc $RPM_BUILD_ROOT%{_docdir}/%{n_uvr} +for i in erts-* ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}/$i ; done +cd $RPM_BUILD_ROOT%{_libdir}/erlang/lib +for i in * ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}/lib/$i || true ; done +popd +mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/PR.template $RPM_BUILD_ROOT%{_docdir}/%{n_uvr} +mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/README $RPM_BUILD_ROOT%{_docdir}/%{n_uvr} +mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/COPYRIGHT $RPM_BUILD_ROOT%{_docdir}/%{n_uvr} +%else + +# Even without docs, we still need README, Copyright, license files, etc. +install -m 0644 system/README system/COPYRIGHT $RPM_BUILD_ROOT%{_docdir}/%{n_uvr} +%endif + +cp -av AUTHORS EPLICENCE README.md $RPM_BUILD_ROOT%{_docdir}/%{n_uvr} + +# Win32-specific man-pages +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.* + +# remove empty directory +rm -r $RPM_BUILD_ROOT%{_libdir}/erlang/erts-*/man + +# remove outdated script +rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/Install + +# Replace identical executables with symlinks +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 +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 +done + +# symlink *.jar files to appropriate places for subpackages +install -m 0755 -d "$RPM_BUILD_ROOT%{_javadir}/%{name}" + +%if 0%{__minimal} == 0 +# erlang-ic +ic_lib_dir="$(ls -d1 $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ic-*/ | sed "s,^$RPM_BUILD_ROOT,,")" +test -d "$RPM_BUILD_ROOT$ic_lib_dir" +ln -s "${ic_lib_dir}/priv/ic.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/" + +# erlang-jinterface +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" +install -m 0755 -d "$RPM_BUILD_ROOT%{_javadir}" +ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/" +%endif + +# systemd-related stuff +%if 0%{?el7}%{?fedora} +install -D -p -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/epmd.service +install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/epmd.socket +install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/epmd@.service +install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket +%endif + + +%pre erts +getent group epmd >/dev/null || groupadd -r epmd +getent passwd epmd >/dev/null || \ +useradd -r -g epmd -d /tmp -s /sbin/nologin \ +-c "Erlang Port Mapper Daemon" epmd 2>/dev/null || : + + +%files +%dir %{_docdir}/%{n_uvr}/ +%doc %{_docdir}/%{n_uvr}/AUTHORS +%doc %{_docdir}/%{n_uvr}/COPYRIGHT +%doc %{_docdir}/%{n_uvr}/EPLICENCE +%doc %{_docdir}/%{n_uvr}/README +%doc %{_docdir}/%{n_uvr}/README.md + +%if %{with doc} +%doc %{_docdir}/%{n_uvr}/PR.template +%endif + +%if 0%{__minimal} == 0 +%files appmon +%{_libdir}/erlang/lib/appmon-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/appmon.* +%endif +%endif + +%files asn1 +%dir %{_libdir}/erlang/lib/asn1-*/ +%{_libdir}/erlang/lib/asn1-*/ebin +%{_libdir}/erlang/lib/asn1-*/priv +%{_libdir}/erlang/lib/asn1-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/asn1ct.* +%{_libdir}/erlang/man/man3/asn1rt.* +%endif + +%if 0%{__minimal} == 0 +%files common_test +%{_bindir}/ct_run +%{_libdir}/erlang/lib/common_test-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/ct.* +%{_libdir}/erlang/man/man3/ct_cover.* +%{_libdir}/erlang/man/man3/ct_ftp.* +%{_libdir}/erlang/man/man3/ct_hooks.* +%{_libdir}/erlang/man/man3/ct_master.* +%{_libdir}/erlang/man/man3/ct_netconfc.* +%{_libdir}/erlang/man/man3/ct_rpc.* +%{_libdir}/erlang/man/man3/ct_slave.* +%{_libdir}/erlang/man/man3/ct_snmp.* +%{_libdir}/erlang/man/man3/ct_ssh.* +%{_libdir}/erlang/man/man3/ct_telnet.* +%{_libdir}/erlang/man/man3/unix_telnet.* +%{_libdir}/erlang/man/man6/common_test.* +%endif +%endif + +%files compiler +%{_libdir}/erlang/lib/compiler-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/compile.* +%endif + +%files cosEvent +%{_libdir}/erlang/lib/cosEvent-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/cosEventApp.* +%{_libdir}/erlang/man/man3/CosEventChannelAdmin.* +%{_libdir}/erlang/man/man3/CosEventChannelAdmin_ConsumerAdmin.* +%{_libdir}/erlang/man/man3/CosEventChannelAdmin_EventChannel.* +%{_libdir}/erlang/man/man3/CosEventChannelAdmin_ProxyPullConsumer.* +%{_libdir}/erlang/man/man3/CosEventChannelAdmin_ProxyPullSupplier.* +%{_libdir}/erlang/man/man3/CosEventChannelAdmin_ProxyPushConsumer.* +%{_libdir}/erlang/man/man3/CosEventChannelAdmin_ProxyPushSupplier.* +%{_libdir}/erlang/man/man3/CosEventChannelAdmin_SupplierAdmin.* +%endif + +%files cosEventDomain +%{_libdir}/erlang/lib/cosEventDomain-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/CosEventDomainAdmin.* +%{_libdir}/erlang/man/man3/CosEventDomainAdmin_EventDomain.* +%{_libdir}/erlang/man/man3/CosEventDomainAdmin_EventDomainFactory.* +%{_libdir}/erlang/man/man3/cosEventDomainApp.* +%endif + +%files cosFileTransfer +%dir %{_libdir}/erlang/lib/cosFileTransfer-*/ +%{_libdir}/erlang/lib/cosFileTransfer-*/ebin +%{_libdir}/erlang/lib/cosFileTransfer-*/include +%{_libdir}/erlang/lib/cosFileTransfer-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/cosFileTransferApp.* +%{_libdir}/erlang/man/man3/CosFileTransfer_Directory.* +%{_libdir}/erlang/man/man3/CosFileTransfer_File.* +%{_libdir}/erlang/man/man3/CosFileTransfer_FileIterator.* +%{_libdir}/erlang/man/man3/CosFileTransfer_FileTransferSession.* +%{_libdir}/erlang/man/man3/CosFileTransfer_VirtualFileSystem.* +%endif + +%files cosNotification +%dir %{_libdir}/erlang/lib/cosNotification-*/ +%{_libdir}/erlang/lib/cosNotification-*/ebin +%{_libdir}/erlang/lib/cosNotification-*/include +%{_libdir}/erlang/lib/cosNotification-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/CosNotification.* +%{_libdir}/erlang/man/man3/CosNotification_AdminPropertiesAdmin.* +%{_libdir}/erlang/man/man3/cosNotificationApp.* +%{_libdir}/erlang/man/man3/CosNotification_QoSAdmin.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_ConsumerAdmin.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_EventChannel.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_EventChannelFactory.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_ProxyConsumer.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_ProxyPullConsumer.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_ProxyPullSupplier.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_ProxyPushConsumer.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_ProxyPushSupplier.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_ProxySupplier.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_SequenceProxyPullConsumer.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_SequenceProxyPullSupplier.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_SequenceProxyPushConsumer.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_SequenceProxyPushSupplier.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_StructuredProxyPullConsumer.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_StructuredProxyPullSupplier.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_StructuredProxyPushConsumer.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_StructuredProxyPushSupplier.* +%{_libdir}/erlang/man/man3/CosNotifyChannelAdmin_SupplierAdmin.* +%{_libdir}/erlang/man/man3/CosNotifyComm_NotifyPublish.* +%{_libdir}/erlang/man/man3/CosNotifyComm_NotifySubscribe.* +%{_libdir}/erlang/man/man3/CosNotifyFilter_Filter.* +%{_libdir}/erlang/man/man3/CosNotifyFilter_FilterAdmin.* +%{_libdir}/erlang/man/man3/CosNotifyFilter_FilterFactory.* +%{_libdir}/erlang/man/man3/CosNotifyFilter_MappingFilter.* +%endif + +%files cosProperty +%dir %{_libdir}/erlang/lib/cosProperty-*/ +%{_libdir}/erlang/lib/cosProperty-*/ebin +%{_libdir}/erlang/lib/cosProperty-*/include +%{_libdir}/erlang/lib/cosProperty-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/cosProperty.* +%{_libdir}/erlang/man/man3/CosPropertyService_PropertiesIterator.* +%{_libdir}/erlang/man/man3/CosPropertyService_PropertyNamesIterator.* +%{_libdir}/erlang/man/man3/CosPropertyService_PropertySet.* +%{_libdir}/erlang/man/man3/CosPropertyService_PropertySetDef.* +%{_libdir}/erlang/man/man3/CosPropertyService_PropertySetDefFactory.* +%{_libdir}/erlang/man/man3/CosPropertyService_PropertySetFactory.* +%endif + +%files cosTime +%dir %{_libdir}/erlang/lib/cosTime-*/ +%{_libdir}/erlang/lib/cosTime-*/ebin +%{_libdir}/erlang/lib/cosTime-*/include +%{_libdir}/erlang/lib/cosTime-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/cosTime.* +%{_libdir}/erlang/man/man3/CosTimerEvent_TimerEventHandler.* +%{_libdir}/erlang/man/man3/CosTimerEvent_TimerEventService.* +%{_libdir}/erlang/man/man3/CosTime_TimeService.* +%{_libdir}/erlang/man/man3/CosTime_TIO.* +%{_libdir}/erlang/man/man3/CosTime_UTO.* +%endif + +%files cosTransactions +%dir %{_libdir}/erlang/lib/cosTransactions-*/ +%{_libdir}/erlang/lib/cosTransactions-*/ebin +%{_libdir}/erlang/lib/cosTransactions-*/include +%{_libdir}/erlang/lib/cosTransactions-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/cosTransactions.* +%{_libdir}/erlang/man/man3/CosTransactions_Control.* +%{_libdir}/erlang/man/man3/CosTransactions_Coordinator.* +%{_libdir}/erlang/man/man3/CosTransactions_RecoveryCoordinator.* +%{_libdir}/erlang/man/man3/CosTransactions_Resource.* +%{_libdir}/erlang/man/man3/CosTransactions_SubtransactionAwareResource.* +%{_libdir}/erlang/man/man3/CosTransactions_Terminator.* +%{_libdir}/erlang/man/man3/CosTransactions_TransactionFactory.* +%endif + +%files crypto +%{_libdir}/erlang/lib/crypto-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/crypto.* +%{_libdir}/erlang/man/man6/crypto.* +%endif + +%if 0%{__minimal} == 0 +%files debugger +%{_libdir}/erlang/lib/debugger-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/debugger.* +%{_libdir}/erlang/man/man3/i.* +%{_libdir}/erlang/man/man3/int.* +%endif + +%files dialyzer +%{_bindir}/dialyzer +%{_libdir}/erlang/bin/dialyzer +%{_libdir}/erlang/erts-*/bin/dialyzer +%{_libdir}/erlang/lib/dialyzer-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/dialyzer.* +%endif +%endif + +%files diameter +%dir %{_libdir}/erlang/lib/diameter-*/ +%{_libdir}/erlang/lib/diameter-*/bin +%{_libdir}/erlang/lib/diameter-*/ebin +%{_libdir}/erlang/lib/diameter-*/include +%{_libdir}/erlang/lib/diameter-*/src +%if %{with doc} +%{_libdir}/erlang/man/man1/diameterc.* +%{_libdir}/erlang/man/man3/diameter.* +%{_libdir}/erlang/man/man3/diameter_app.* +%{_libdir}/erlang/man/man3/diameter_codec.* +%{_libdir}/erlang/man/man3/diameter_make.* +%{_libdir}/erlang/man/man3/diameter_sctp.* +%{_libdir}/erlang/man/man3/diameter_tcp.* +%{_libdir}/erlang/man/man3/diameter_transport.* +%{_libdir}/erlang/man/man4/diameter_dict.* +%endif + +%if %{with doc} +%files doc +%doc %{_docdir}/%{n_uvr}/doc +%doc %{_docdir}/%{n_uvr}/erts-*/ +%doc %{_docdir}/%{n_uvr}/lib/ +%endif + +%files edoc +%{_libdir}/erlang/lib/edoc-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/edoc.* +%{_libdir}/erlang/man/man3/edoc_doclet.* +%{_libdir}/erlang/man/man3/edoc_extract.* +%{_libdir}/erlang/man/man3/edoc_layout.* +%{_libdir}/erlang/man/man3/edoc_lib.* +%{_libdir}/erlang/man/man3/edoc_run.* +%endif + +%files eldap +%{_libdir}/erlang/lib/eldap-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/eldap.* +%endif + +%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-*/ +%if %{with doc} +%{_libdir}/erlang/man/man1/erl_call.* +%{_libdir}/erlang/man/man3/ei.* +%{_libdir}/erlang/man/man3/ei_connect.* +%{_libdir}/erlang/man/man3/erl_connect.* +%{_libdir}/erlang/man/man3/erl_error.* +%{_libdir}/erlang/man/man3/erl_eterm.* +%{_libdir}/erlang/man/man3/erl_format.* +%{_libdir}/erlang/man/man3/erl_global.* +%{_libdir}/erlang/man/man3/erl_malloc.* +%{_libdir}/erlang/man/man3/erl_marshal.* +%{_libdir}/erlang/man/man3/registry.* +%endif + +%files erts +# TODO +# In order to have a parallel-installable Erlang packages these directories +# should be packaged separately +%dir %{_libdir}/erlang/ +%dir %{_libdir}/erlang/bin/ +%dir %{_libdir}/erlang/lib/ +%if %{with doc} +%dir %{_libdir}/erlang/man/ +%dir %{_libdir}/erlang/man/man1/ +%dir %{_libdir}/erlang/man/man3/ +%dir %{_libdir}/erlang/man/man4/ +%dir %{_libdir}/erlang/man/man6/ +%dir %{_libdir}/erlang/man/man7/ +%endif +%dir %{_libdir}/erlang/releases/ + +%{_bindir}/epmd +%{_bindir}/erl +%{_bindir}/erlc +%{_bindir}/escript +%{_bindir}/run_erl +%{_bindir}/to_erl +%{_libdir}/erlang/bin/ct_run +%{_libdir}/erlang/bin/epmd +%{_libdir}/erlang/bin/erl +%{_libdir}/erlang/bin/erlc +%{_libdir}/erlang/bin/escript +%{_libdir}/erlang/bin/no_dot_erlang.boot +%{_libdir}/erlang/bin/run_erl +%{_libdir}/erlang/bin/start +%{_libdir}/erlang/bin/start.boot +%{_libdir}/erlang/bin/start.script +%{_libdir}/erlang/bin/start_clean.boot +%{_libdir}/erlang/bin/start_erl +%{_libdir}/erlang/bin/start_sasl.boot +%{_libdir}/erlang/bin/to_erl +%dir %{_libdir}/erlang/erts-*/ +%dir %{_libdir}/erlang/erts-*/bin/ +%{_libdir}/erlang/erts-*/bin/beam +%{_libdir}/erlang/erts-*/bin/beam.smp +%{_libdir}/erlang/erts-*/bin/child_setup +%{_libdir}/erlang/erts-*/bin/ct_run +%{_libdir}/erlang/erts-*/bin/dyn_erl +%{_libdir}/erlang/erts-*/bin/epmd +%{_libdir}/erlang/erts-*/bin/erl +%{_libdir}/erlang/erts-*/bin/erl.src +%{_libdir}/erlang/erts-*/bin/erlc +%{_libdir}/erlang/erts-*/bin/erlexec +%{_libdir}/erlang/erts-*/bin/escript +%{_libdir}/erlang/erts-*/bin/heart +%{_libdir}/erlang/erts-*/bin/inet_gethost +%{_libdir}/erlang/erts-*/bin/run_erl +%{_libdir}/erlang/erts-*/bin/start +%{_libdir}/erlang/erts-*/bin/start.src +%{_libdir}/erlang/erts-*/bin/start_erl.src +%{_libdir}/erlang/erts-*/bin/to_erl +%{_libdir}/erlang/erts-*/include +%{_libdir}/erlang/erts-*/lib/ +%{_libdir}/erlang/erts-*/src/ +%{_libdir}/erlang/lib/erts-*/ +%if %{with doc} +%{_libdir}/erlang/man/man1/ct_run.* +%{_libdir}/erlang/man/man1/epmd.* +%{_libdir}/erlang/man/man1/erl.* +%{_libdir}/erlang/man/man1/erlc.* +%{_libdir}/erlang/man/man1/escript.* +%{_libdir}/erlang/man/man1/run_erl.* +%{_libdir}/erlang/man/man1/start.* +%{_libdir}/erlang/man/man1/start_erl.* +%{_libdir}/erlang/man/man3/driver_entry.* +%{_libdir}/erlang/man/man3/erl_driver.* +%{_libdir}/erlang/man/man3/erl_nif.* +%{_libdir}/erlang/man/man3/erl_prim_loader.* +%{_libdir}/erlang/man/man3/erlang.* +%{_libdir}/erlang/man/man3/erts_alloc.* +%{_libdir}/erlang/man/man3/init.* +%{_libdir}/erlang/man/man3/zlib.* +%endif +%{_libdir}/erlang/releases/* +%{_libdir}/erlang/usr/ +%if 0%{?el7}%{?fedora} +%{_unitdir}/epmd.service +%{_unitdir}/epmd.socket +%{_unitdir}/epmd@.service +%{_unitdir}/epmd@.socket +%endif + +%if 0%{__minimal} == 0 +%files et +%dir %{_libdir}/erlang/lib/et-*/ +%{_libdir}/erlang/lib/et-*/ebin +%{_libdir}/erlang/lib/et-*/include +%{_libdir}/erlang/lib/et-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/et.* +%{_libdir}/erlang/man/man3/et_collector.* +%{_libdir}/erlang/man/man3/et_selector.* +%{_libdir}/erlang/man/man3/et_viewer.* +%endif +%endif + +%files eunit +%dir %{_libdir}/erlang/lib/eunit-*/ +%{_libdir}/erlang/lib/eunit-*/ebin +%{_libdir}/erlang/lib/eunit-*/include +%{_libdir}/erlang/lib/eunit-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/eunit.* +%{_libdir}/erlang/man/man3/eunit_surefire.* +%endif + +%if 0%{__minimal} == 0 +%files examples +%{_libdir}/erlang/lib/asn1-*/examples/ +#%{_libdir}/erlang/lib/cosFileTransfer-*/examples/ +#%{_libdir}/erlang/lib/cosNotification-*/examples/ +#%{_libdir}/erlang/lib/cosProperty-*/examples/ +#%{_libdir}/erlang/lib/cosTime-*/examples/ +#%{_libdir}/erlang/lib/cosTransactions-*/examples/ +%{_libdir}/erlang/lib/diameter-*/examples/ +%{_libdir}/erlang/lib/et-*/examples/ +%{_libdir}/erlang/lib/eunit-*/examples/ +%{_libdir}/erlang/lib/gs-*/examples/ +%{_libdir}/erlang/lib/ic-*/examples/ +%{_libdir}/erlang/lib/inets-*/examples/ +%{_libdir}/erlang/lib/kernel-*/examples/ +%{_libdir}/erlang/lib/megaco-*/examples/ +%{_libdir}/erlang/lib/mnesia-*/examples/ +%{_libdir}/erlang/lib/observer-*/examples/ +%{_libdir}/erlang/lib/orber-*/examples/ +%{_libdir}/erlang/lib/reltool-*/examples/ +%{_libdir}/erlang/lib/runtime_tools-*/examples/ +%{_libdir}/erlang/lib/sasl-*/examples/ +%{_libdir}/erlang/lib/snmp-*/examples/ +#%{_libdir}/erlang/lib/ssh-*/examples/ +%{_libdir}/erlang/lib/ssl-*/examples/ +%{_libdir}/erlang/lib/stdlib-*/examples/ +%{_libdir}/erlang/lib/syntax_tools-*/examples/ +%{_libdir}/erlang/lib/tools-*/examples/ +%{_libdir}/erlang/lib/wx-*/examples/ +%endif + +%if 0%{__minimal} == 0 +%files gs +%dir %{_libdir}/erlang/lib/gs-*/ +%{_libdir}/erlang/lib/gs-*/contribs +%{_libdir}/erlang/lib/gs-*/ebin +%{_libdir}/erlang/lib/gs-*/priv +%{_libdir}/erlang/lib/gs-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/gs.* +%endif +%endif + +%files hipe +%{_libdir}/erlang/lib/hipe-*/ + +%if 0%{__minimal} == 0 +%files ic +%dir %{_libdir}/erlang/lib/ic-*/ +%{_libdir}/erlang/lib/ic-*/ebin +%{_libdir}/erlang/lib/ic-*/include +%{_libdir}/erlang/lib/ic-*/priv +%{_libdir}/erlang/lib/ic-*/src +# FIXME see erlang-jinterface also +#%dir %{_javadir}/%{name}/ +%{_javadir}/%{name}/ic.jar +%if %{with doc} +%{_libdir}/erlang/man/man3/ic.* +%{_libdir}/erlang/man/man3/ic_clib.* +%{_libdir}/erlang/man/man3/ic_c_protocol.* +%endif +%endif + +%files inets +%dir %{_libdir}/erlang/lib/inets-*/ +%{_libdir}/erlang/lib/inets-*/ebin +%{_libdir}/erlang/lib/inets-*/include +%{_libdir}/erlang/lib/inets-*/priv +%{_libdir}/erlang/lib/inets-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/ftp.* +%{_libdir}/erlang/man/man3/http_uri.* +%{_libdir}/erlang/man/man3/httpc.* +%{_libdir}/erlang/man/man3/httpd.* +%{_libdir}/erlang/man/man3/httpd_conf.* +%{_libdir}/erlang/man/man3/httpd_socket.* +%{_libdir}/erlang/man/man3/httpd_util.* +%{_libdir}/erlang/man/man3/inets.* +%{_libdir}/erlang/man/man3/mod_alias.* +%{_libdir}/erlang/man/man3/mod_auth.* +%{_libdir}/erlang/man/man3/mod_esi.* +%{_libdir}/erlang/man/man3/mod_security.* +%{_libdir}/erlang/man/man3/tftp.* +%endif + +%if 0%{__minimal} == 0 +%files jinterface +# FIXME see erlang-ic also +#%dir %{_javadir}/%{name}/ +%{_javadir}/%{name}/OtpErlang.jar +%{_libdir}/erlang/lib/jinterface-*/ +%endif + +%files kernel +%dir %{_libdir}/erlang/lib/kernel-*/ +%{_libdir}/erlang/lib/kernel-*/ebin +%{_libdir}/erlang/lib/kernel-*/include +%{_libdir}/erlang/lib/kernel-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/application.* +%{_libdir}/erlang/man/man3/auth.* +%{_libdir}/erlang/man/man3/code.* +%{_libdir}/erlang/man/man3/disk_log.* +%{_libdir}/erlang/man/man3/erl_boot_server.* +%{_libdir}/erlang/man/man3/erl_ddll.* +%{_libdir}/erlang/man/man3/erl_prim_loader_stub.* +%{_libdir}/erlang/man/man3/erlang_stub.* +%{_libdir}/erlang/man/man3/error_handler.* +%{_libdir}/erlang/man/man3/error_logger.* +%{_libdir}/erlang/man/man3/file.* +%{_libdir}/erlang/man/man3/gen_sctp.* +%{_libdir}/erlang/man/man3/gen_tcp.* +%{_libdir}/erlang/man/man3/gen_udp.* +%{_libdir}/erlang/man/man3/global.* +%{_libdir}/erlang/man/man3/global_group.* +%{_libdir}/erlang/man/man3/heart.* +%{_libdir}/erlang/man/man3/inet.* +%{_libdir}/erlang/man/man3/inet_res.* +%{_libdir}/erlang/man/man3/init_stub.* +%{_libdir}/erlang/man/man3/net_adm.* +%{_libdir}/erlang/man/man3/net_kernel.* +%{_libdir}/erlang/man/man3/os.* +%{_libdir}/erlang/man/man3/pg2.* +%{_libdir}/erlang/man/man3/rpc.* +%{_libdir}/erlang/man/man3/seq_trace.* +%{_libdir}/erlang/man/man3/user.* +%{_libdir}/erlang/man/man3/wrap_log_reader.* +%{_libdir}/erlang/man/man3/zlib_stub.* +%{_libdir}/erlang/man/man4/app.* +%{_libdir}/erlang/man/man4/config.* +%{_libdir}/erlang/man/man6/kernel.* +%endif + +%if 0%{__minimal} == 0 +%files megaco +%dir %{_libdir}/erlang/lib/megaco-*/ +%{_libdir}/erlang/lib/megaco-*/ebin +%{_libdir}/erlang/lib/megaco-*/include +%{_libdir}/erlang/lib/megaco-*/priv +%{_libdir}/erlang/lib/megaco-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/megaco.* +%{_libdir}/erlang/man/man3/megaco_codec_meas.* +%{_libdir}/erlang/man/man3/megaco_codec_mstone1.* +%{_libdir}/erlang/man/man3/megaco_codec_mstone2.* +%{_libdir}/erlang/man/man3/megaco_codec_transform.* +%{_libdir}/erlang/man/man3/megaco_edist_compress.* +%{_libdir}/erlang/man/man3/megaco_encoder.* +%{_libdir}/erlang/man/man3/megaco_flex_scanner.* +%{_libdir}/erlang/man/man3/megaco_tcp.* +%{_libdir}/erlang/man/man3/megaco_transport.* +%{_libdir}/erlang/man/man3/megaco_udp.* +%{_libdir}/erlang/man/man3/megaco_user.* +%endif +%endif + +%files mnesia +%dir %{_libdir}/erlang/lib/mnesia-*/ +%{_libdir}/erlang/lib/mnesia-*/ebin +#%{_libdir}/erlang/lib/mnesia-*/include +%{_libdir}/erlang/lib/mnesia-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/mnesia.* +%{_libdir}/erlang/man/man3/mnesia_frag_hash.* +%{_libdir}/erlang/man/man3/mnesia_registry.* +%endif + +%if 0%{__minimal} == 0 +%files observer +%dir %{_libdir}/erlang/lib/observer-*/ +%{_libdir}/erlang/lib/observer-*/ebin/ +%{_libdir}/erlang/lib/observer-*/include/ +%{_libdir}/erlang/lib/observer-*/priv/ +%{_libdir}/erlang/lib/observer-*/src/ +%if %{with doc} +%{_libdir}/erlang/man/man3/crashdump.* +%{_libdir}/erlang/man/man3/observer.* +%{_libdir}/erlang/man/man3/ttb.* +%{_libdir}/erlang/man/man6/observer.* +%endif +%endif + +%files odbc +%{_libdir}/erlang/lib/odbc-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/odbc.* +%endif + +%files orber +%dir %{_libdir}/erlang/lib/orber-*/ +%{_libdir}/erlang/lib/orber-*/COSS +%{_libdir}/erlang/lib/orber-*/ebin +%{_libdir}/erlang/lib/orber-*/include +%{_libdir}/erlang/lib/orber-*/java_src +%{_libdir}/erlang/lib/orber-*/priv +%{_libdir}/erlang/lib/orber-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/CosNaming.* +%{_libdir}/erlang/man/man3/CosNaming_BindingIterator.* +%{_libdir}/erlang/man/man3/CosNaming_NamingContext.* +%{_libdir}/erlang/man/man3/CosNaming_NamingContextExt.* +%{_libdir}/erlang/man/man3/Module_Interface.* +%{_libdir}/erlang/man/man3/any.* +%{_libdir}/erlang/man/man3/corba.* +%{_libdir}/erlang/man/man3/corba_object.* +%{_libdir}/erlang/man/man3/etop.* +%{_libdir}/erlang/man/man3/fixed.* +%{_libdir}/erlang/man/man3/interceptors.* +%{_libdir}/erlang/man/man3/lname.* +%{_libdir}/erlang/man/man3/lname_component.* +%{_libdir}/erlang/man/man3/orber.* +%{_libdir}/erlang/man/man3/orber_acl.* +%{_libdir}/erlang/man/man3/orber_diagnostics.* +%{_libdir}/erlang/man/man3/orber_ifr.* +%{_libdir}/erlang/man/man3/orber_tc.* +%endif + +%files os_mon +%{_libdir}/erlang/lib/os_mon-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/cpu_sup.* +%{_libdir}/erlang/man/man3/disksup.* +%{_libdir}/erlang/man/man3/memsup.* +%{_libdir}/erlang/man/man3/os_mon_mib.* +%{_libdir}/erlang/man/man3/os_sup.* +%{_libdir}/erlang/man/man6/os_mon.* +%endif + +%files otp_mibs +%{_libdir}/erlang/lib/otp_mibs-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/otp_mib.* +%endif + +%files parsetools +%{_libdir}/erlang/lib/parsetools-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/leex.* +%{_libdir}/erlang/man/man3/yecc.* +%endif + +%files percept +%{_libdir}/erlang/lib/percept-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/egd.* +%{_libdir}/erlang/man/man3/percept.* +%{_libdir}/erlang/man/man3/percept_profile.* +%endif + +%if 0%{__minimal} == 0 +%files pman +%{_libdir}/erlang/lib/pman-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/pman.* +%endif +%endif + +%files public_key +%{_libdir}/erlang/lib/public_key-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/public_key.* +%endif + +%files reltool +%dir %{_libdir}/erlang/lib/reltool-*/ +%{_libdir}/erlang/lib/reltool-*/ebin +%{_libdir}/erlang/lib/reltool-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/reltool.* +%endif + +%files runtime_tools +%dir %{_libdir}/erlang/lib/runtime_tools-*/ +%{_libdir}/erlang/lib/runtime_tools-*/ebin/ +%{_libdir}/erlang/lib/runtime_tools-*/include/ +%{_libdir}/erlang/lib/runtime_tools-*/priv/ +%if %{with doc} +%{_libdir}/erlang/man/man3/dbg.* +%{_libdir}/erlang/man/man3/dyntrace.* +%{_libdir}/erlang/man/man3/erts_alloc_config.* +%{_libdir}/erlang/man/man6/runtime_tools.* +%endif + +%files sasl +%dir %{_libdir}/erlang/lib/sasl-*/ +%{_libdir}/erlang/lib/sasl-*/ebin +%{_libdir}/erlang/lib/sasl-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/alarm_handler.* +%{_libdir}/erlang/man/man3/overload.* +%{_libdir}/erlang/man/man3/rb.* +%{_libdir}/erlang/man/man3/release_handler.* +%{_libdir}/erlang/man/man3/systools.* +%{_libdir}/erlang/man/man4/appup.* +%{_libdir}/erlang/man/man4/rel.* +%{_libdir}/erlang/man/man4/relup.* +%{_libdir}/erlang/man/man4/script.* +%{_libdir}/erlang/man/man6/sasl.* +%endif + +%files snmp +%dir %{_libdir}/erlang/lib/snmp-*/ +%{_libdir}/erlang/lib/snmp-*/bin +%{_libdir}/erlang/lib/snmp-*/ebin +%{_libdir}/erlang/lib/snmp-*/include +%{_libdir}/erlang/lib/snmp-*/mibs +%{_libdir}/erlang/lib/snmp-*/priv +%{_libdir}/erlang/lib/snmp-*/src +%if %{with doc} +%{_libdir}/erlang/man/man1/snmpc.* +%{_libdir}/erlang/man/man3/snmp.* +%{_libdir}/erlang/man/man3/snmpa.* +%{_libdir}/erlang/man/man3/snmpa_conf.* +%{_libdir}/erlang/man/man3/snmpa_discovery_handler.* +%{_libdir}/erlang/man/man3/snmpa_error.* +%{_libdir}/erlang/man/man3/snmpa_error_io.* +%{_libdir}/erlang/man/man3/snmpa_error_logger.* +%{_libdir}/erlang/man/man3/snmpa_error_report.* +%{_libdir}/erlang/man/man3/snmpa_local_db.* +%{_libdir}/erlang/man/man3/snmpa_mib_data.* +%{_libdir}/erlang/man/man3/snmpa_mib_storage.* +%{_libdir}/erlang/man/man3/snmpa_mpd.* +%{_libdir}/erlang/man/man3/snmpa_network_interface.* +%{_libdir}/erlang/man/man3/snmpa_network_interface_filter.* +%{_libdir}/erlang/man/man3/snmpa_notification_delivery_info_receiver.* +%{_libdir}/erlang/man/man3/snmpa_notification_filter.* +%{_libdir}/erlang/man/man3/snmpa_supervisor.* +%{_libdir}/erlang/man/man3/snmpc.* +%{_libdir}/erlang/man/man3/snmp_community_mib.* +%{_libdir}/erlang/man/man3/snmp_framework_mib.* +%{_libdir}/erlang/man/man3/snmp_generic.* +%{_libdir}/erlang/man/man3/snmp_index.* +%{_libdir}/erlang/man/man3/snmpm.* +%{_libdir}/erlang/man/man3/snmpm_conf.* +%{_libdir}/erlang/man/man3/snmpm_mpd.* +%{_libdir}/erlang/man/man3/snmpm_network_interface.* +%{_libdir}/erlang/man/man3/snmpm_network_interface_filter.* +%{_libdir}/erlang/man/man3/snmpm_user.* +%{_libdir}/erlang/man/man3/snmp_notification_mib.* +%{_libdir}/erlang/man/man3/snmp_pdus.* +%{_libdir}/erlang/man/man3/snmp_standard_mib.* +%{_libdir}/erlang/man/man3/snmp_target_mib.* +%{_libdir}/erlang/man/man3/snmp_user_based_sm_mib.* +%{_libdir}/erlang/man/man3/snmp_view_based_acm_mib.* +%{_libdir}/erlang/man/man6/snmp.* +%{_libdir}/erlang/man/man7/INET-ADDRESS-MIB.* +%{_libdir}/erlang/man/man7/OTP-SNMPEA-MIB.* +%{_libdir}/erlang/man/man7/RFC1213-MIB.* +%{_libdir}/erlang/man/man7/SNMP-COMMUNITY-MIB.* +%{_libdir}/erlang/man/man7/SNMP-FRAMEWORK-MIB.* +%{_libdir}/erlang/man/man7/SNMP-MPD-MIB.* +%{_libdir}/erlang/man/man7/SNMP-NOTIFICATION-MIB.* +%{_libdir}/erlang/man/man7/SNMP-TARGET-MIB.* +%{_libdir}/erlang/man/man7/SNMP-USER-BASED-SM-MIB.* +%{_libdir}/erlang/man/man7/SNMP-USM-AES-MIB.* +%{_libdir}/erlang/man/man7/SNMPv2-MIB.* +%{_libdir}/erlang/man/man7/SNMPv2-TM.* +%{_libdir}/erlang/man/man7/SNMP-VIEW-BASED-ACM-MIB.* +%{_libdir}/erlang/man/man7/STANDARD-MIB.* +%{_libdir}/erlang/man/man7/TRANSPORT-ADDRESS-MIB.* +%endif + +%files ssh +%dir %{_libdir}/erlang/lib/ssh-*/ +%{_libdir}/erlang/lib/ssh-*/ebin +%{_libdir}/erlang/lib/ssh-*/include +%{_libdir}/erlang/lib/ssh-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/ssh.* +%{_libdir}/erlang/man/man3/ssh_channel.* +%{_libdir}/erlang/man/man3/ssh_client_key_api.* +%{_libdir}/erlang/man/man3/ssh_connection.* +%{_libdir}/erlang/man/man3/ssh_server_key_api.* +%{_libdir}/erlang/man/man3/ssh_sftp.* +%{_libdir}/erlang/man/man3/ssh_sftpd.* +%{_libdir}/erlang/man/man6/ssh.* +%endif + +%files ssl +%dir %{_libdir}/erlang/lib/ssl-*/ +%{_libdir}/erlang/lib/ssl-*/ebin +%{_libdir}/erlang/lib/ssl-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/ssl.* +%{_libdir}/erlang/man/man3/ssl_session_cache_api.* +%{_libdir}/erlang/man/man6/ssl.* +%endif + +%files stdlib +%dir %{_libdir}/erlang/lib/stdlib-*/ +%{_libdir}/erlang/lib/stdlib-*/ebin +%{_libdir}/erlang/lib/stdlib-*/include +%{_libdir}/erlang/lib/stdlib-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/array.* +%{_libdir}/erlang/man/man3/base64.* +%{_libdir}/erlang/man/man3/beam_lib.* +%{_libdir}/erlang/man/man3/binary.* +%{_libdir}/erlang/man/man3/c.* +%{_libdir}/erlang/man/man3/calendar.* +%{_libdir}/erlang/man/man3/dets.* +%{_libdir}/erlang/man/man3/dict.* +%{_libdir}/erlang/man/man3/digraph.* +%{_libdir}/erlang/man/man3/digraph_utils.* +%{_libdir}/erlang/man/man3/epp.* +%{_libdir}/erlang/man/man3/erl_eval.* +%{_libdir}/erlang/man/man3/erl_expand_records.* +%{_libdir}/erlang/man/man3/erl_id_trans.* +%{_libdir}/erlang/man/man3/erl_internal.* +%{_libdir}/erlang/man/man3/erl_lint.* +%{_libdir}/erlang/man/man3/erl_parse.* +%{_libdir}/erlang/man/man3/erl_pp.* +%{_libdir}/erlang/man/man3/erl_scan.* +%{_libdir}/erlang/man/man3/erl_tar.* +%{_libdir}/erlang/man/man3/ets.* +%{_libdir}/erlang/man/man3/file_sorter.* +%{_libdir}/erlang/man/man3/filelib.* +%{_libdir}/erlang/man/man3/filename.* +%{_libdir}/erlang/man/man3/gb_sets.* +%{_libdir}/erlang/man/man3/gb_trees.* +%{_libdir}/erlang/man/man3/gen_event.* +%{_libdir}/erlang/man/man3/gen_fsm.* +%{_libdir}/erlang/man/man3/gen_server.* +%{_libdir}/erlang/man/man3/io.* +%{_libdir}/erlang/man/man3/io_lib.* +%{_libdir}/erlang/man/man3/lib.* +%{_libdir}/erlang/man/man3/lists.* +%{_libdir}/erlang/man/man3/log_mf_h.* +%{_libdir}/erlang/man/man3/math.* +%{_libdir}/erlang/man/man3/ms_transform.* +%{_libdir}/erlang/man/man3/orddict.* +%{_libdir}/erlang/man/man3/ordsets.* +%{_libdir}/erlang/man/man3/pg.* +%{_libdir}/erlang/man/man3/pool.* +%{_libdir}/erlang/man/man3/proc_lib.* +%{_libdir}/erlang/man/man3/proplists.* +%{_libdir}/erlang/man/man3/qlc.* +%{_libdir}/erlang/man/man3/queue.* +%{_libdir}/erlang/man/man3/random.* +%{_libdir}/erlang/man/man3/re.* +%{_libdir}/erlang/man/man3/sets.* +%{_libdir}/erlang/man/man3/shell.* +%{_libdir}/erlang/man/man3/shell_default.* +%{_libdir}/erlang/man/man3/slave.* +%{_libdir}/erlang/man/man3/sofs.* +%{_libdir}/erlang/man/man3/string.* +%{_libdir}/erlang/man/man3/supervisor.* +%{_libdir}/erlang/man/man3/supervisor_bridge.* +%{_libdir}/erlang/man/man3/sys.* +%{_libdir}/erlang/man/man3/timer.* +%{_libdir}/erlang/man/man3/unicode.* +%{_libdir}/erlang/man/man3/zip.* +%{_libdir}/erlang/man/man6/stdlib.* +%endif + +%files syntax_tools +%dir %{_libdir}/erlang/lib/syntax_tools-*/ +%{_libdir}/erlang/lib/syntax_tools-*/ebin +%if %{with doc} +%{_libdir}/erlang/man/man3/epp_dodger.* +%{_libdir}/erlang/man/man3/erl_comment_scan.* +%{_libdir}/erlang/man/man3/erl_prettypr.* +%{_libdir}/erlang/man/man3/erl_recomment.* +%{_libdir}/erlang/man/man3/erl_syntax.* +%{_libdir}/erlang/man/man3/erl_syntax_lib.* +%{_libdir}/erlang/man/man3/erl_tidy.* +%{_libdir}/erlang/man/man3/igor.* +%{_libdir}/erlang/man/man3/prettypr.* +%endif + +# Toolbar and test-server are not needed +%if 0%{__minimal} == 0 +%files test_server +%{_libdir}/erlang/lib/test_server-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/test_server.* +%{_libdir}/erlang/man/man3/test_server_ctrl.* +%{_libdir}/erlang/man/man6/test_server.* +%endif + +%files toolbar +%{_libdir}/erlang/lib/toolbar-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/toolbar.* +%endif +%endif + +%files tools +%dir %{_libdir}/erlang/lib/tools-*/ +%{_libdir}/erlang/lib/tools-*/bin +%{_libdir}/erlang/lib/tools-*/ebin +%{_libdir}/erlang/lib/tools-*/emacs +%{_libdir}/erlang/lib/tools-*/priv +%{_libdir}/erlang/lib/tools-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/cover.* +%{_libdir}/erlang/man/man3/cprof.* +%{_libdir}/erlang/man/man3/eprof.* +%{_libdir}/erlang/man/man3/erlang_mode.* +%{_libdir}/erlang/man/man3/fprof.* +%{_libdir}/erlang/man/man3/instrument.* +%{_libdir}/erlang/man/man3/lcnt.* +%{_libdir}/erlang/man/man3/make.* +%{_libdir}/erlang/man/man3/tags.* +%{_libdir}/erlang/man/man3/xref.* +%endif + +# tv typer webtool wx are all not needed for rabbitmq +%if 0%{__minimal} == 0 +%files tv +%{_libdir}/erlang/lib/tv-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/tv.* +%endif + +%files typer +%{_bindir}/typer +%{_libdir}/erlang/bin/typer +%{_libdir}/erlang/erts-*/bin/typer +%dir %{_libdir}/erlang/lib/typer-*/ +%{_libdir}/erlang/lib/typer-*/ebin/ +#%{_libdir}/erlang/lib/typer-*/src/ + +%files webtool +%{_libdir}/erlang/lib/webtool-*/ +%if %{with doc} +%{_libdir}/erlang/man/man1/start_webtool.* +%{_libdir}/erlang/man/man3/webtool.* +%endif + +%files wx +%dir %{_libdir}/erlang/lib/wx-*/ +%{_libdir}/erlang/lib/wx-*/ebin +%{_libdir}/erlang/lib/wx-*/include +%{_libdir}/erlang/lib/wx-*/priv +%{_libdir}/erlang/lib/wx-*/src +%if %{with doc} +%{_libdir}/erlang/man/man3/gl.* +%{_libdir}/erlang/man/man3/glu.* +%{_libdir}/erlang/man/man3/wx.* +%{_libdir}/erlang/man/man3/wx_misc.* +%{_libdir}/erlang/man/man3/wx_object.* +%{_libdir}/erlang/man/man3/wxAcceleratorEntry.* +%{_libdir}/erlang/man/man3/wxAcceleratorTable.* +%{_libdir}/erlang/man/man3/wxArtProvider.* +%{_libdir}/erlang/man/man3/wxAuiDockArt.* +%{_libdir}/erlang/man/man3/wxAuiManager.* +%{_libdir}/erlang/man/man3/wxAuiManagerEvent.* +%{_libdir}/erlang/man/man3/wxAuiNotebook.* +%{_libdir}/erlang/man/man3/wxAuiNotebookEvent.* +%{_libdir}/erlang/man/man3/wxAuiPaneInfo.* +%{_libdir}/erlang/man/man3/wxAuiTabArt.* +%{_libdir}/erlang/man/man3/wxBitmap.* +%{_libdir}/erlang/man/man3/wxBitmapButton.* +%{_libdir}/erlang/man/man3/wxBitmapDataObject.* +%{_libdir}/erlang/man/man3/wxBoxSizer.* +%{_libdir}/erlang/man/man3/wxBrush.* +%{_libdir}/erlang/man/man3/wxBufferedDC.* +%{_libdir}/erlang/man/man3/wxBufferedPaintDC.* +%{_libdir}/erlang/man/man3/wxButton.* +%{_libdir}/erlang/man/man3/wxCalendarCtrl.* +%{_libdir}/erlang/man/man3/wxCalendarDateAttr.* +%{_libdir}/erlang/man/man3/wxCalendarEvent.* +%{_libdir}/erlang/man/man3/wxCaret.* +%{_libdir}/erlang/man/man3/wxCheckBox.* +%{_libdir}/erlang/man/man3/wxCheckListBox.* +%{_libdir}/erlang/man/man3/wxChildFocusEvent.* +%{_libdir}/erlang/man/man3/wxChoice.* +%{_libdir}/erlang/man/man3/wxChoicebook.* +%{_libdir}/erlang/man/man3/wxClientDC.* +%{_libdir}/erlang/man/man3/wxClipboard.* +%{_libdir}/erlang/man/man3/wxClipboardTextEvent.* +%{_libdir}/erlang/man/man3/wxCloseEvent.* +%{_libdir}/erlang/man/man3/wxColourData.* +%{_libdir}/erlang/man/man3/wxColourDialog.* +%{_libdir}/erlang/man/man3/wxColourPickerCtrl.* +%{_libdir}/erlang/man/man3/wxColourPickerEvent.* +%{_libdir}/erlang/man/man3/wxComboBox.* +%{_libdir}/erlang/man/man3/wxCommandEvent.* +%{_libdir}/erlang/man/man3/wxContextMenuEvent.* +%{_libdir}/erlang/man/man3/wxControl.* +%{_libdir}/erlang/man/man3/wxControlWithItems.* +%{_libdir}/erlang/man/man3/wxCursor.* +%{_libdir}/erlang/man/man3/wxDataObject.* +%{_libdir}/erlang/man/man3/wxDateEvent.* +%{_libdir}/erlang/man/man3/wxDatePickerCtrl.* +%{_libdir}/erlang/man/man3/wxDC.* +%{_libdir}/erlang/man/man3/wxDialog.* +%{_libdir}/erlang/man/man3/wxDirDialog.* +%{_libdir}/erlang/man/man3/wxDirPickerCtrl.* +%{_libdir}/erlang/man/man3/wxDisplayChangedEvent.* +%{_libdir}/erlang/man/man3/wxEraseEvent.* +%{_libdir}/erlang/man/man3/wxEvent.* +%{_libdir}/erlang/man/man3/wxEvtHandler.* +%{_libdir}/erlang/man/man3/wxFileDataObject.* +%{_libdir}/erlang/man/man3/wxFileDialog.* +%{_libdir}/erlang/man/man3/wxFileDirPickerEvent.* +%{_libdir}/erlang/man/man3/wxFilePickerCtrl.* +%{_libdir}/erlang/man/man3/wxFindReplaceData.* +%{_libdir}/erlang/man/man3/wxFindReplaceDialog.* +%{_libdir}/erlang/man/man3/wxFlexGridSizer.* +%{_libdir}/erlang/man/man3/wxFocusEvent.* +%{_libdir}/erlang/man/man3/wxFont.* +%{_libdir}/erlang/man/man3/wxFontData.* +%{_libdir}/erlang/man/man3/wxFontDialog.* +%{_libdir}/erlang/man/man3/wxFontPickerCtrl.* +%{_libdir}/erlang/man/man3/wxFontPickerEvent.* +%{_libdir}/erlang/man/man3/wxFrame.* +%{_libdir}/erlang/man/man3/wxGauge.* +%{_libdir}/erlang/man/man3/wxGBSizerItem.* +%{_libdir}/erlang/man/man3/wxGenericDirCtrl.* +%{_libdir}/erlang/man/man3/wxGLCanvas.* +%{_libdir}/erlang/man/man3/wxGraphicsBrush.* +%{_libdir}/erlang/man/man3/wxGraphicsContext.* +%{_libdir}/erlang/man/man3/wxGraphicsFont.* +%{_libdir}/erlang/man/man3/wxGraphicsMatrix.* +%{_libdir}/erlang/man/man3/wxGraphicsObject.* +%{_libdir}/erlang/man/man3/wxGraphicsPath.* +%{_libdir}/erlang/man/man3/wxGraphicsPen.* +%{_libdir}/erlang/man/man3/wxGraphicsRenderer.* +%{_libdir}/erlang/man/man3/wxGrid.* +%{_libdir}/erlang/man/man3/wxGridBagSizer.* +%{_libdir}/erlang/man/man3/wxGridCellAttr.* +%{_libdir}/erlang/man/man3/wxGridCellBoolEditor.* +%{_libdir}/erlang/man/man3/wxGridCellBoolRenderer.* +%{_libdir}/erlang/man/man3/wxGridCellChoiceEditor.* +%{_libdir}/erlang/man/man3/wxGridCellEditor.* +%{_libdir}/erlang/man/man3/wxGridCellFloatEditor.* +%{_libdir}/erlang/man/man3/wxGridCellFloatRenderer.* +%{_libdir}/erlang/man/man3/wxGridCellNumberEditor.* +%{_libdir}/erlang/man/man3/wxGridCellNumberRenderer.* +%{_libdir}/erlang/man/man3/wxGridCellRenderer.* +%{_libdir}/erlang/man/man3/wxGridCellStringRenderer.* +%{_libdir}/erlang/man/man3/wxGridCellTextEditor.* +%{_libdir}/erlang/man/man3/wxGridEvent.* +%{_libdir}/erlang/man/man3/wxGridSizer.* +%{_libdir}/erlang/man/man3/wxHelpEvent.* +%{_libdir}/erlang/man/man3/wxHtmlEasyPrinting.* +%{_libdir}/erlang/man/man3/wxHtmlLinkEvent.* +%{_libdir}/erlang/man/man3/wxHtmlWindow.* +%{_libdir}/erlang/man/man3/wxIcon.* +%{_libdir}/erlang/man/man3/wxIconBundle.* +%{_libdir}/erlang/man/man3/wxIconizeEvent.* +%{_libdir}/erlang/man/man3/wxIdleEvent.* +%{_libdir}/erlang/man/man3/wxImage.* +%{_libdir}/erlang/man/man3/wxImageList.* +%{_libdir}/erlang/man/man3/wxJoystickEvent.* +%{_libdir}/erlang/man/man3/wxKeyEvent.* +%{_libdir}/erlang/man/man3/wxLayoutAlgorithm.* +%{_libdir}/erlang/man/man3/wxListbook.* +%{_libdir}/erlang/man/man3/wxListBox.* +%{_libdir}/erlang/man/man3/wxListCtrl.* +%{_libdir}/erlang/man/man3/wxListEvent.* +%{_libdir}/erlang/man/man3/wxListItem.* +%{_libdir}/erlang/man/man3/wxListItemAttr.* +%{_libdir}/erlang/man/man3/wxListView.* +%{_libdir}/erlang/man/man3/wxLogNull.* +%{_libdir}/erlang/man/man3/wxMask.* +%{_libdir}/erlang/man/man3/wxMaximizeEvent.* +%{_libdir}/erlang/man/man3/wxMDIChildFrame.* +%{_libdir}/erlang/man/man3/wxMDIClientWindow.* +%{_libdir}/erlang/man/man3/wxMDIParentFrame.* +%{_libdir}/erlang/man/man3/wxMemoryDC.* +%{_libdir}/erlang/man/man3/wxMenu.* +%{_libdir}/erlang/man/man3/wxMenuBar.* +%{_libdir}/erlang/man/man3/wxMenuEvent.* +%{_libdir}/erlang/man/man3/wxMenuItem.* +%{_libdir}/erlang/man/man3/wxMessageDialog.* +%{_libdir}/erlang/man/man3/wxMiniFrame.* +%{_libdir}/erlang/man/man3/wxMirrorDC.* +%{_libdir}/erlang/man/man3/wxMouseCaptureChangedEvent.* +%{_libdir}/erlang/man/man3/wxMouseEvent.* +%{_libdir}/erlang/man/man3/wxMoveEvent.* +%{_libdir}/erlang/man/man3/wxMultiChoiceDialog.* +%{_libdir}/erlang/man/man3/wxNavigationKeyEvent.* +%{_libdir}/erlang/man/man3/wxNotebook.* +%{_libdir}/erlang/man/man3/wxNotebookEvent.* +%{_libdir}/erlang/man/man3/wxNotifyEvent.* +%{_libdir}/erlang/man/man3/wxPageSetupDialog.* +%{_libdir}/erlang/man/man3/wxPageSetupDialogData.* +%{_libdir}/erlang/man/man3/wxPaintDC.* +%{_libdir}/erlang/man/man3/wxPaintEvent.* +%{_libdir}/erlang/man/man3/wxPalette.* +%{_libdir}/erlang/man/man3/wxPaletteChangedEvent.* +%{_libdir}/erlang/man/man3/wxPanel.* +%{_libdir}/erlang/man/man3/wxPasswordEntryDialog.* +%{_libdir}/erlang/man/man3/wxPen.* +%{_libdir}/erlang/man/man3/wxPickerBase.* +%{_libdir}/erlang/man/man3/wxPostScriptDC.* +%{_libdir}/erlang/man/man3/wxPreviewCanvas.* +%{_libdir}/erlang/man/man3/wxPreviewControlBar.* +%{_libdir}/erlang/man/man3/wxPreviewFrame.* +%{_libdir}/erlang/man/man3/wxPrintData.* +%{_libdir}/erlang/man/man3/wxPrintDialog.* +%{_libdir}/erlang/man/man3/wxPrintDialogData.* +%{_libdir}/erlang/man/man3/wxPrinter.* +%{_libdir}/erlang/man/man3/wxPrintout.* +%{_libdir}/erlang/man/man3/wxPrintPreview.* +%{_libdir}/erlang/man/man3/wxProgressDialog.* +%{_libdir}/erlang/man/man3/wxQueryNewPaletteEvent.* +%{_libdir}/erlang/man/man3/wxRadioBox.* +%{_libdir}/erlang/man/man3/wxRadioButton.* +%{_libdir}/erlang/man/man3/wxRegion.* +%{_libdir}/erlang/man/man3/wxSashEvent.* +%{_libdir}/erlang/man/man3/wxSashLayoutWindow.* +%{_libdir}/erlang/man/man3/wxSashWindow.* +%{_libdir}/erlang/man/man3/wxScreenDC.* +%{_libdir}/erlang/man/man3/wxScrollBar.* +%{_libdir}/erlang/man/man3/wxScrolledWindow.* +%{_libdir}/erlang/man/man3/wxScrollEvent.* +%{_libdir}/erlang/man/man3/wxScrollWinEvent.* +%{_libdir}/erlang/man/man3/wxSetCursorEvent.* +%{_libdir}/erlang/man/man3/wxShowEvent.* +%{_libdir}/erlang/man/man3/wxSingleChoiceDialog.* +%{_libdir}/erlang/man/man3/wxSizeEvent.* +%{_libdir}/erlang/man/man3/wxSizer.* +%{_libdir}/erlang/man/man3/wxSizerFlags.* +%{_libdir}/erlang/man/man3/wxSizerItem.* +%{_libdir}/erlang/man/man3/wxSlider.* +%{_libdir}/erlang/man/man3/wxSpinButton.* +%{_libdir}/erlang/man/man3/wxSpinCtrl.* +%{_libdir}/erlang/man/man3/wxSpinEvent.* +%{_libdir}/erlang/man/man3/wxSplashScreen.* +%{_libdir}/erlang/man/man3/wxSplitterEvent.* +%{_libdir}/erlang/man/man3/wxSplitterWindow.* +%{_libdir}/erlang/man/man3/wxStaticBitmap.* +%{_libdir}/erlang/man/man3/wxStaticBox.* +%{_libdir}/erlang/man/man3/wxStaticBoxSizer.* +%{_libdir}/erlang/man/man3/wxStaticLine.* +%{_libdir}/erlang/man/man3/wxStaticText.* +%{_libdir}/erlang/man/man3/wxStatusBar.* +%{_libdir}/erlang/man/man3/wxStdDialogButtonSizer.* +%{_libdir}/erlang/man/man3/wxStyledTextCtrl.* +%{_libdir}/erlang/man/man3/wxStyledTextEvent.* +%{_libdir}/erlang/man/man3/wxSysColourChangedEvent.* +%{_libdir}/erlang/man/man3/wxSystemOptions.* +%{_libdir}/erlang/man/man3/wxSystemSettings.* +%{_libdir}/erlang/man/man3/wxTaskBarIcon.* +%{_libdir}/erlang/man/man3/wxTaskBarIconEvent.* +%{_libdir}/erlang/man/man3/wxTextAttr.* +%{_libdir}/erlang/man/man3/wxTextCtrl.* +%{_libdir}/erlang/man/man3/wxTextDataObject.* +%{_libdir}/erlang/man/man3/wxTextEntryDialog.* +%{_libdir}/erlang/man/man3/wxToggleButton.* +%{_libdir}/erlang/man/man3/wxToolBar.* +%{_libdir}/erlang/man/man3/wxToolbook.* +%{_libdir}/erlang/man/man3/wxToolTip.* +%{_libdir}/erlang/man/man3/wxTopLevelWindow.* +%{_libdir}/erlang/man/man3/wxTreebook.* +%{_libdir}/erlang/man/man3/wxTreeCtrl.* +%{_libdir}/erlang/man/man3/wxTreeEvent.* +%{_libdir}/erlang/man/man3/wxUpdateUIEvent.* +%{_libdir}/erlang/man/man3/wxWindow.* +%{_libdir}/erlang/man/man3/wxWindowCreateEvent.* +%{_libdir}/erlang/man/man3/wxWindowDC.* +%{_libdir}/erlang/man/man3/wxWindowDestroyEvent.* +%{_libdir}/erlang/man/man3/wxXmlResource.* +%endif +%endif + +%files xmerl +%{_libdir}/erlang/lib/xmerl-*/ +%if %{with doc} +%{_libdir}/erlang/man/man3/xmerl.* +%{_libdir}/erlang/man/man3/xmerl_eventp.* +%{_libdir}/erlang/man/man3/xmerl_sax_parser.* +%{_libdir}/erlang/man/man3/xmerl_scan.* +%{_libdir}/erlang/man/man3/xmerl_xpath.* +%{_libdir}/erlang/man/man3/xmerl_xs.* +%{_libdir}/erlang/man/man3/xmerl_xsd.* +%endif + +%if 0%{__minimal} == 0 +%files -n emacs-erlang +%dir %{_emacs_sitelispdir}/erlang +%doc %{_emacs_sitelispdir}/erlang/README +%{_emacs_sitelispdir}/erlang/*.elc +%{_emacs_sitestartdir}/erlang-init.el + +%files -n emacs-erlang-el +%{_emacs_sitelispdir}/erlang/*.el + +%files -n xemacs-erlang +%dir %{_xemacs_sitelispdir}/erlang +%doc %{_xemacs_sitelispdir}/erlang/README +%{_xemacs_sitelispdir}/erlang/*.elc +%{_xemacs_sitestartdir}/erlang-init.el + +%files -n xemacs-erlang-el +%{_xemacs_sitelispdir}/erlang/*.el +%endif + + +%changelog +* Thu May 21 2015 Lon Hohberger - R16B-03.10min.2 +- Drop examples, ic, jinterface when doing minimal build +- Always include README and license, even when 'docs' are disabled + +* Mon Dec 01 2014 Peter Lemenkov - R16B-03.10 +- Disable SSLv3 (see rhbz #1169375) +- Backport useful os:getenv/2 from master (see https://github.com/erlang/otp/pull/535 ) + +* Mon Nov 17 2014 Peter Lemenkov - R16B-03.9 +- Fixed CVE-2014-1693 (backported fix from ver. 17.x.x, see patch no. 17) + +* Tue Nov 11 2014 Peter Lemenkov - R16B-03.8 +- Trimmed dependency chain +- Cleaned up spec-file + +* Tue Jun 17 2014 John Eckersberg - R16B-03.7min.1 +- Strip out all wx and related utilities + +* Wed Jun 11 2014 Peter Lemenkov - R16B-03.7 +- Added missing template for epmd@.socket + +* Fri Jun 06 2014 Peter Lemenkov - R16B-03.6 +- Add configurable EPMD socket unit +- Change EPMD service's type from simple to notify + +* Wed Apr 02 2014 Peter Lemenkov - R16B-03.5 +- Improve EPMD service + +* Fri Mar 28 2014 Peter Lemenkov - R16B-03.4 +- Create group and user for EPMD + +* Thu Mar 27 2014 Peter Lemenkov - R16B-03.3 +- Ver. R16B03-1 (Bugfix release) +- Enabled systemd support in EPMD + +* Fri Feb 7 2014 Sam Kottler - R16B-03.2 +- Fix macro usage for EPEL7 build and added need_bootstrap + +* Tue Dec 24 2013 Peter Lemenkov - R16B-03.1 +- Ver. R16B03 + +* Tue Oct 29 2013 Peter Lemenkov - R16B-02.7 +- Really disable HiPE on s390(x) + +* Tue Oct 29 2013 Peter Lemenkov - R16B-02.6 +- Actually re-enable HiPE + +* Mon Oct 28 2013 Peter Lemenkov - R16B-02.5 +- Re-enable HiPE on ppc64, ppc64v7 + +* Mon Oct 28 2013 Peter Lemenkov - R16B-02.4 +- Disable HiPE on s390(x) (rhbz #1023960) +- Fix HiPE on ppc (rhbz #1023960) + +* Thu Oct 24 2013 Peter Lemenkov - R16B-02.3 +- TEMPORARILY disable ECC until dust settles + +* Thu Oct 24 2013 Peter Lemenkov - R16B-02.2 +- Fix building for armv7hl (patch taken from OpenSUSE repository) + +* Thu Sep 26 2013 Peter Lemenkov - R16B-02.1 +- Ver. R16B02 (see rhbz #1009502) +- Increase erlang(erl_drv_version) from 2.1 to 2.2 (drivers needs rebuilding) +- Remove ancient obsoletes (see rhbz #1002103) +- Removed pre-F18 compatibility +- Enable HiPE + +* Sat Aug 03 2013 Fedora Release Engineering - R16B-01.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jun 19 2013 Peter Lemenkov - R16B-01.1 +- Ver. R16B01 +- Added graphviz as a requirement for dialyzer (thanks to Matwey V. Kornilov) + +* Mon Mar 11 2013 Peter Lemenkov - R16B-0.4 +- Add Requires for SCTP (dlopened library) + +* Sat Mar 02 2013 Peter Lemenkov - R16B-0.3 +- Add neccessary BuildRequires for SCTP + +* Sat Mar 02 2013 Peter Lemenkov - R16B-0.2 +- Fixed erts provides + +* Thu Feb 28 2013 Peter Lemenkov - R16B-0.1 +- Ver. R16B +- Enabled SCTP (see rhbz #908530) + +* Sun Feb 03 2013 Peter Lemenkov - R16A-0.1 +- Ver. R16A + +* Tue Dec 25 2012 Peter Lemenkov - R15B-03.2 +- Run make clean before build (to remove pre-built files) + +* Fri Dec 21 2012 Peter Lemenkov - R15B-03.1 +- Ver. R15B03 (actually R15B03-1) + +* Mon Sep 10 2012 Peter Lemenkov - R15B-02.1 +- Ver. R15B02 + +* Wed Aug 15 2012 Karsten Hopp R15B-01.4.2 +- set BASE_OPTIONS to -Xmx1536m on ppc* + +* Wed Jul 18 2012 Fedora Release Engineering - R15B-01.4.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jun 26 2012 Peter Lemenkov - R15B-01.3 +- Return back erl_interface' private API headers (rhbz #818419) + +* Fri Jun 15 2012 Dan Horák - R15B-01.2 +- Fixed examples packaging + +* Mon May 07 2012 Peter Lemenkov - R15B-01.1 +- Ver. R15B01 +- New sub-package - eldap + +* Tue Feb 07 2012 Peter Lemenkov - R15B-00.1 +- Ver. R15B + +* Fri Jan 13 2012 Fedora Release Engineering - R14B-04.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sun Aug 07 2011 Peter Lemenkov - R14B-04.1 +- Ver. R14B04 + +* Sun Aug 07 2011 Peter Lemenkov - R14B-03.3 +- Use prebuilt docs on EL-[56] also + +* Thu Jul 21 2011 Peter Lemenkov - R14B-03.2 +- Fixed building on F-15 + +* Wed Jul 20 2011 Peter Lemenkov - R14B-03.1 +- Ver. R14B03 +- New module - diameter +- Several new examples directories + +* Fri Apr 1 2011 Hans Ulrich Niedermann - R14B-02.2 +- Work around fop-1.0-14.fc16 bug (#689930) by using prebuilt docs for f16/rawhide + +* Mon Mar 21 2011 Hans Ulrich Niedermann - R14B-02.1 +- snmp-4.19 (R14B02) ships lib/snmp/bin/snmpc +- inets-5.5.2 puts *.hrl in include/ +- install/symlink *.jar into %%{_javadir} (#679031) +- Update to upstream maintenance release R14B02 + +* Sat Feb 12 2011 Hans Ulrich Niedermann - R14B-01.5 +- erlang-doc does not really require erlang base package (#629723) +- Add %%{?_isa} for all explicit "Requires:" + +* Tue Feb 08 2011 Fedora Release Engineering - R14B-01.4.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jan 31 2011 Hans Ulrich Niedermann - R14B-01.4 +- Adapt %%files: Add wxSystemSettings.3 man page +- Adapt %%files for change from run_test to ct_run +- Remove rpaths from lib/ssl-*/bin/esock_ssl +- Update erlang.spec and otp-00*.patch without numbers +- otp-get-patches.sh: Remove patch numbering + +* Sun Jan 30 2011 Hans Ulrich Niedermann - R14B-01.3 +- Add "buffer overflow during build" fix (#663260) + +* Wed Dec 15 2010 Hans Ulrich Niedermann - R14B-01.2 +- Update to rebased patches + +* Mon Dec 13 2010 Hans Ulrich Niedermann - R14B-01.1 +- Update to upstream release R14B01 (the patches still need work) + +* Thu Nov 18 2010 Peter Lemenkov - R14B-0.5 +- Fixed building on EL-6 + +* Mon Nov 15 2010 Peter Lemenkov - R14B-0.4 +- No more dependent on erlang-rpm-macros sub-package + +* Thu Nov 11 2010 Peter Lemenkov - R14B-0.3 +- Remove pre-built stuff + +* Fri Nov 5 2010 Peter Lemenkov - R14B-0.2 +- Fixed doc-files and man-pages instalation for EL-5 +- Temporarily (I hope) disabled emacs-related stuff in EL-5 +- Disable erlang-rpm-macros subpackage for EL-5 + +* Wed Sep 29 2010 jkeating - R14B-0.1.1 +- Rebuilt for gcc bug 634757 + +* Thu Sep 16 2010 Peter Lemenkov - R14B-0.1 +- R14B release + +* Mon Aug 2 2010 Hans Ulrich Niedermann - R14A-0.6 +- Implement '--without doc' conditional for faster test builds (#618245). + +* Fri Jul 30 2010 Hans Ulrich Niedermann - R14A-0.5 +- Properly hook up (X)Emacs erlang-mode (#491165) + +* Mon Jul 26 2010 Hans Ulrich Niedermann - R14A-0.4 +- Spec file cleanups: + - Avoid accidental %%rel increments by rpmdev-bumpspec. + - Use %%global for our spec file macros. + - Use macro for redundant directory names. + - Whitespace cleanups (tabs vs. spaces). + - Fix accidental macro usage in %%changelog. + +* Wed Jul 14 2010 Dan Horák - R14A-0.3 +- rebuilt against wxGTK-2.8.11-2 + +* Sat Jun 26 2010 Peter Lemenkov - R14A-0.2 +- Updated list of explicit requirements + +* Fri Jun 18 2010 Peter Lemenkov - R14A-0.1 +- R14A release + +* Sat May 15 2010 Peter Lemenkov - R13B-04.12 +- Moved dialyzer and typer executables from erts to appropriate rpms + +* Fri May 14 2010 Peter Lemenkov - R13B-04.11 +- Do not mention nteventlog in os_mon.app, see rhbz #592251 + +* Thu May 6 2010 Peter Lemenkov - R13B-04.10 +- Disabled automatic requires/provides generation + +* Wed Apr 28 2010 Peter Lemenkov - R13B-04.9 +- Added missing files, necessary for emacs (see rhbz #585349) +- Patches rebased + +* Tue Apr 27 2010 Peter Lemenkov - R13B-04.8 +- Added missing BuildRequires libxslt (for building docs) +- Removed %%post script completely (resolves rhbz #586428) +- Since now both docs and man-pages are built from sources +- No need to manually create symlinks in %%{_bindir} + +* Mon Apr 26 2010 Peter Lemenkov - R13B-04.7 +- Build with erlang-rpm-macros +- Man-files are packed with packages, they belong to + +* Mon Apr 26 2010 Peter Lemenkov - R13B-04.6 +- Made erlang-rpm-macros as separate package +- Fix error while installing erlang-rpm-macros + +* Sat Apr 17 2010 Peter Lemenkov - R13B-04.5 +- Use erlang rpm macros for adding provides/reqires +- All %%{_libdir}/erlang/lib/* items were splitted off from main package, which + in turn becomes purely virtual now. +- Removing RPM_BUILD_ROOT from several installed files is no longer required + +* Sat Apr 17 2010 Peter Lemenkov - R13B-04.4 +- Added missing Requires mesa-libGL{U} for wx module (rhbz #583287) +- Fix for buffer overflow in pcre module (rhbz #583288) +- Doc sub-package marked as noarch (partially resolves rhbz #491165) + +* Fri Mar 26 2010 Peter Lemenkov - R13B-04.3 +- Added rpm-related stuff for auto-generating erlang dependencies in the future builds +- Since now *.yrl files are removed too. +- Removed unnecessary C and Java sources + +* Fri Mar 26 2010 Peter Lemenkov - R13B-04.2 +- Do not remove all files from %%{_libdir}/erlang/lib/*/src - keep + *.[yh]rl intact +- Fix permissions for megaco *.so objects +- Fix permissions for asn1 *.so objects + +* Sat Feb 13 2010 Peter Lemenkov - R13B-04.1 +- New release R13B-04 +- Since now we're using %%configure instead of ./configure +- Removed no longer needed fix for newer glibc version +- Dropped %%patch3 (applied upstream) +- Rebased patches +- Added BR fop for rebuilding of docs +- Use system-wide zlib instead of shipped one +- Dropped BR gd-devel +- Removed unneeded sources (should be fixed upstream) +- Fixed permission for wx driver (should be fixed upstream) + +* Thu Oct 22 2009 Lubomir Rintel (Good Data) - R13B-02-1 +- Update to R13B-02 (patched for what's released as 02-1 by upstream) + +* Tue Aug 25 2009 Tomas Mraz - R13B-01.2 +- rebuilt with new openssl + +* Mon Aug 10 2009 Gerard Milmeister - R13B-01.1 +- update to R13B01 + +* Fri Jul 24 2009 Fedora Release Engineering - R12B-6.7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Apr 21 2009 Debarshi Ray R12B-5.7 +- Updated rpath patch. +- Fixed configure to respect $RPM_OPT_FLAGS. + +* Sun Mar 1 2009 Gerard Milmeister - R12B-5.6 +- new release R12B-5 +- link escript and dialyzer to %%{_bindir} + +* Tue Feb 24 2009 Fedora Release Engineering - R12B-5.5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Feb 14 2009 Dennis Gilmore - R12B-4.5 +- fix sparc arches to compile + +* Fri Jan 16 2009 Tomas Mraz - R12B-4.4 +- rebuild with new openssl + +* Sat Oct 25 2008 Gerard Milmeister - R12B-4.1 +- new release R12B-4 + +* Fri Sep 5 2008 Gerard Milmeister - R12B-3.3 +- fixed sslrpath patch + +* Thu Jul 17 2008 Tom "spot" Callaway - R12B-3.2 +- fix license tag + +* Sun Jul 6 2008 Gerard Milmeister - R12B-3.1 +- new release R12B-3 + +* Thu Mar 27 2008 Gerard Milmeister - R12B-1.1 +- new release R12B-1 + +* Sat Feb 23 2008 Gerard Milmeister - R12B-0.3 +- disable strict aliasing optimization + +* Mon Feb 18 2008 Fedora Release Engineering - R12B-0.2 +- Autorebuild for GCC 4.3 + +* Sat Dec 8 2007 Gerard Milmeister - R12B-0.1 +- new release R12B-0 + +* Wed Dec 05 2007 Release Engineering - R11B-6 + - Rebuild for deps + +* Sun Aug 19 2007 Gerard Milmeister - R11B-5.3 +- fix some permissions + +* Sat Aug 18 2007 Gerard Milmeister - R11B-5.2 +- enable dynamic linking for ssl + +* Sat Aug 18 2007 Gerard Milmeister - R11B-5.1 +- new release R11B-5 + +* Sat Mar 24 2007 Thomas Fitzsimmons - R11B-2.4 +- Require java-1.5.0-gcj-devel for build. + +* Sun Dec 31 2006 Gerard Milmeister - R11B-2.3 +- remove buildroot from installed files + +* Sat Dec 30 2006 Gerard Milmeister - R11B-2.2 +- added patch for compiling with glibc 2.5 + +* Sat Dec 30 2006 Gerard Milmeister - R11B-2.1 +- new version R11B-2 + +* Mon Aug 28 2006 Gerard Milmeister - R11B-0.3 +- Rebuild for FE6 + +* Wed Jul 5 2006 Gerard Milmeister - R11B-0.2 +- add BR m4 + +* Thu May 18 2006 Gerard Milmeister - R11B-0.1 +- new version R11B-0 + +* Wed May 3 2006 Gerard Milmeister - R10B-10.3 +- added patch for run_erl by Knut-Håvard Aksnes + +* Mon Mar 13 2006 Gerard Milmeister - R10B-10.1 +- new version R10B-10 + +* Thu Dec 29 2005 Gerard Milmeister - R10B-9.1 +- New Version R10B-9 + +* Sat Oct 29 2005 Gerard Milmeister - R10B-8.2 +- updated rpath patch + +* Sat Oct 29 2005 Gerard Milmeister - R10B-8.1 +- New Version R10B-8 + +* Sat Oct 1 2005 Gerard Milmeister - R10B-6.4 +- Added tk-devel and tcl-devel to buildreq +- Added tk to req + +* Tue Sep 6 2005 Gerard Milmeister - R10B-6.3 +- Remove perl BuildRequires + +* Tue Aug 30 2005 Gerard Milmeister - R10B-6.2 +- change /usr/lib to %%{_libdir} +- redirect output in %%post to /dev/null +- add unixODBC-devel to BuildRequires +- split doc off to erlang-doc package + +* Sat Jun 25 2005 Gerard Milmeister - R10B-6.1 +- New Version R10B-6 + +* Sun Feb 13 2005 Gerard Milmeister - R10B-3.1 +- New Version R10B-3 + +* Mon Dec 27 2004 Gerard Milmeister - 0:R10B-2-0.fdr.1 +- New Version R10B-2 + +* Wed Oct 6 2004 Gerard Milmeister - 0:R10B-0.fdr.1 +- New Version R10B + +* Thu Oct 16 2003 Gerard Milmeister - 0:R9B-1.fdr.1 +- First Fedora release 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 new file mode 100644 index 0000000..75bf3e5 --- /dev/null +++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch @@ -0,0 +1,41 @@ +From: Peter Lemenkov +Date: Thu, 25 Feb 2010 16:45:28 +0300 +Subject: [PATCH] Do not format man-pages and do not install miscellaneous + utilities for dealing with man-pages. + +Signed-off-by: Peter Lemenkov + +diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in +index 5c1ce51..5a07855 100644 +--- a/erts/etc/common/Makefile.in ++++ b/erts/etc/common/Makefile.in +@@ -474,10 +474,6 @@ endif + ifneq ($(INSTALL_TOP_BIN),) + $(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)" + endif +-ifneq ($(INSTALL_MISC),) +- $(INSTALL_DIR) "$(RELEASE_PATH)/misc" +- $(INSTALL_SCRIPT) $(INSTALL_MISC) "$(RELEASE_PATH)/misc" +-endif + ifneq ($(INSTALL_ERL_OSE),) + $(INSTALL_DIR) "$(RELEASE_PATH)/build_erl_ose" + cd $(OSEETC) && $(TAR) erl_ose_$(SYSTEM_VSN).tar $(INSTALL_ERL_OSE) +diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src +index 8eb1db7..9e340bb 100644 +--- a/erts/etc/unix/Install.src ++++ b/erts/etc/unix/Install.src +@@ -140,14 +140,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 +-# +-# Fixing the man pages +-# +- +-if [ -d "$ERL_ROOT/man" ] +-then +- cd "$ERL_ROOT" +- ./misc/format_man_pages "$ERL_ROOT" +-fi + + exit 0 diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch new file mode 100644 index 0000000..2a65565 --- /dev/null +++ b/otp-0002-Remove-rpath.patch @@ -0,0 +1,32 @@ +From: Peter Lemenkov +Date: Thu, 25 Feb 2010 16:57:43 +0300 +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 a20ddff..e890927 100644 +--- a/lib/crypto/c_src/Makefile.in ++++ b/lib/crypto/c_src/Makefile.in +@@ -85,7 +85,7 @@ endif + DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@ + + ifeq ($(DYNAMIC_CRYPTO_LIB),yes) +-SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@ ++SSL_DED_LD_RUNTIME_LIBRARY_PATH = + CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME) + EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB + else +diff --git a/lib/crypto/priv/Makefile b/lib/crypto/priv/Makefile +index 0989f14..0d29444 100644 +--- a/lib/crypto/priv/Makefile ++++ b/lib/crypto/priv/Makefile +@@ -60,7 +60,7 @@ OBJS = $(OBJDIR)/crypto.o + # ---------------------------------------------------- + + $(SO_NIFLIB): $(OBJS) +- $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) -Wl,-R$(SO_SSL_LIBDIR) \ ++ $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) \ + -o $@ $^ -lcrypto + + $(DLL_NIFLIB): $(OBJS) diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch new file mode 100644 index 0000000..821988b --- /dev/null +++ b/otp-0003-Do-not-install-C-sources.patch @@ -0,0 +1,159 @@ +From: Peter Lemenkov +Date: Fri, 18 Jun 2010 23:41:33 +0400 +Subject: [PATCH] Do not install C sources + +Don't install *.c and *.o files. + +Excepts ones from the internal erl_interface. These +API headers are necessary. See rhbz #818419 for the +explanation why they're necessary for the low-level +interaction with the Erlang nodes: + +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 7023833..8bf8eb9 100644 +--- a/lib/asn1/c_src/Makefile ++++ b/lib/asn1/c_src/Makefile +@@ -107,8 +107,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" + $(INSTALL_PROGRAM) $(NIF_SHARED_OBJ_FILE) "$(RELSYSDIR)/priv/lib" +- $(INSTALL_DIR) "$(RELSYSDIR)/c_src" +- $(INSTALL_DATA) *.c "$(RELSYSDIR)/c_src" + + release_docs_spec: + +diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in +index e890927..1377654 100644 +--- a/lib/crypto/c_src/Makefile.in ++++ b/lib/crypto/c_src/Makefile.in +@@ -160,13 +160,9 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" +- $(INSTALL_DATA) $(NIF_MAKEFILE) "$(RELSYSDIR)/priv/obj" +- $(INSTALL_PROGRAM) $(CRYPTO_OBJS) "$(RELSYSDIR)/priv/obj" + $(INSTALL_PROGRAM) $(NIF_LIB) "$(RELSYSDIR)/priv/lib" + ifeq ($(DYNAMIC_CRYPTO_LIB),yes) +- $(INSTALL_PROGRAM) $(CALLBACK_OBJS) "$(RELSYSDIR)/priv/obj" + $(INSTALL_PROGRAM) $(CALLBACK_LIB) "$(RELSYSDIR)/priv/lib" + endif + +diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in +index e36b39c..fd377bb 100644 +--- a/lib/erl_interface/src/Makefile.in ++++ b/lib/erl_interface/src/Makefile.in +@@ -876,14 +876,14 @@ ifneq ($(EXE_TARGETS),) + $(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin" + endif + $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) connect/*.[ch] "$(RELSYSDIR)/src/connect" +- $(INSTALL_DATA) decode/*.[ch] "$(RELSYSDIR)/src/decode" +- $(INSTALL_DATA) encode/*.[ch] "$(RELSYSDIR)/src/encode" +- $(INSTALL_DATA) epmd/*.[ch] "$(RELSYSDIR)/src/epmd" +- $(INSTALL_DATA) misc/*.[ch] "$(RELSYSDIR)/src/misc" +- $(INSTALL_DATA) registry/*.[ch] "$(RELSYSDIR)/src/registry" +- $(INSTALL_DATA) legacy/*.[ch] "$(RELSYSDIR)/src/legacy" +- $(INSTALL_DATA) prog/*.[ch] "$(RELSYSDIR)/src/prog" ++ $(INSTALL_DATA) connect/*.h "$(RELSYSDIR)/src/connect" ++ $(INSTALL_DATA) decode/*.h "$(RELSYSDIR)/src/decode" ++ $(INSTALL_DATA) encode/*.h "$(RELSYSDIR)/src/encode" ++ $(INSTALL_DATA) epmd/*.h "$(RELSYSDIR)/src/epmd" ++ $(INSTALL_DATA) misc/*.h "$(RELSYSDIR)/src/misc" ++ $(INSTALL_DATA) registry/*.h "$(RELSYSDIR)/src/registry" ++ $(INSTALL_DATA) legacy/*.h "$(RELSYSDIR)/src/legacy" ++ $(INSTALL_DATA) prog/*.h "$(RELSYSDIR)/src/prog" + + release_docs: + +diff --git a/lib/ic/c_src/Makefile.in b/lib/ic/c_src/Makefile.in +index ed860ab..96206ae 100644 +--- a/lib/ic/c_src/Makefile.in ++++ b/lib/ic/c_src/Makefile.in +@@ -144,12 +144,10 @@ $(OBJDIR)/%.o: %.c + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/c_src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" + $(INSTALL_DIR) "$(RELEASE_PATH)/usr/include" + $(INSTALL_DIR) "$(RELEASE_PATH)/usr/lib" +- $(INSTALL_DATA) ic.c ic_tmo.c "$(RELSYSDIR)/c_src" + $(INSTALL_DATA) $(IDL_FILES) $(H_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(LIBRARY) "$(RELSYSDIR)/priv/lib" + $(INSTALL_DATA) $(IDL_FILES) $(H_FILES) "$(RELEASE_PATH)/usr/include" +diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in +index 6111cf2..bd62e8b 100644 +--- a/lib/megaco/src/flex/Makefile.in ++++ b/lib/megaco/src/flex/Makefile.in +@@ -270,7 +270,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) +- $(INSTALL_DATA) $(FLEX_FILES) $(C_TARGETS) "$(RELSYSDIR)/src/flex" ++ $(INSTALL_DATA) $(FLEX_FILES) "$(RELSYSDIR)/src/flex" + $(INSTALL_PROGRAM) $(SOLIBS) "$(RELSYSDIR)/priv/lib" + endif + +diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in +index 6572d28..c7093ae 100644 +--- a/lib/odbc/c_src/Makefile.in ++++ b/lib/odbc/c_src/Makefile.in +@@ -128,11 +128,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + ifdef EXE_TARGET +- $(INSTALL_DIR) "$(RELSYSDIR)/c_src" +- $(INSTALL_DATA) $(C_FILES) $(H_FILES) "$(RELSYSDIR)/c_src" + $(INSTALL_DIR) "$(RELSYSDIR)/priv" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/bin" +- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj" + $(INSTALL_PROGRAM) $(EXE_TARGET) "$(RELSYSDIR)/priv/bin" + endif + +diff --git a/lib/os_mon/c_src/Makefile.in b/lib/os_mon/c_src/Makefile.in +index f84ccf7..05d194f 100644 +--- a/lib/os_mon/c_src/Makefile.in ++++ b/lib/os_mon/c_src/Makefile.in +@@ -125,8 +125,6 @@ $(OBJDIR)/memsup.o: memsup.h + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(C_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/bin" + $(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin" + +diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in +index d315a90..7b4b9fb 100644 +--- a/lib/runtime_tools/c_src/Makefile.in ++++ b/lib/runtime_tools/c_src/Makefile.in +@@ -177,9 +177,7 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" +- $(INSTALL_PROGRAM) $(DYNTRACE_OBJS) "$(RELSYSDIR)/priv/obj" + $(INSTALL_PROGRAM) $(NIF_LIB) $(SOLIBS) "$(RELSYSDIR)/priv/lib" + + release_docs_spec: +diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in +index aea5686..a0c8883 100644 +--- a/lib/tools/c_src/Makefile.in ++++ b/lib/tools/c_src/Makefile.in +@@ -189,8 +189,6 @@ include ../vsn.mk + RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN) + + release_spec: all +- $(INSTALL_DIR) "$(RELSYSDIR)/c_src" +- $(INSTALL_DATA) $(EMEM_SRCS) $(EMEM_HEADERS) "$(RELSYSDIR)/c_src" + ifneq ($(PROGS),) + $(INSTALL_DIR) "$(RELSYSDIR)/bin" + $(INSTALL_PROGRAM) $(PROGS) "$(RELSYSDIR)/bin" diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch new file mode 100644 index 0000000..378e86d --- /dev/null +++ b/otp-0004-Do-not-install-Java-sources.patch @@ -0,0 +1,32 @@ +From: Peter Lemenkov +Date: Sat, 19 Jun 2010 09:25:18 +0400 +Subject: [PATCH] Do not install Java sources + +Signed-off-by: Peter Lemenkov + +diff --git a/lib/ic/java_src/com/ericsson/otp/ic/Makefile b/lib/ic/java_src/com/ericsson/otp/ic/Makefile +index 273614e..5b1fb57 100644 +--- a/lib/ic/java_src/com/ericsson/otp/ic/Makefile ++++ b/lib/ic/java_src/com/ericsson/otp/ic/Makefile +@@ -112,8 +112,6 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/java_src/com/ericsson/otp/ic" +- $(INSTALL_DATA) $(JAVA_FILES) "$(RELSYSDIR)/java_src/com/ericsson/otp/ic" + $(INSTALL_DIR) "$(RELSYSDIR)/priv" + $(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv" + +diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile +index f476d45..44429a4 100644 +--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile ++++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile +@@ -102,8 +102,6 @@ release release_docs release_tests release_html: + $(V_at)$(MAKE) $(MFLAGS) RELEASE_PATH="$(RELEASE_PATH)" $(TARGET_MAKEFILE) $@_spec + + release_spec: opt +- $(V_at)$(INSTALL_DIR) "$(RELSYSDIR)/java_src/com/ericsson/otp/erlang" +- $(V_at)$(INSTALL_DATA) $(JAVA_SRC) "$(RELSYSDIR)/java_src/com/ericsson/otp/erlang" + $(V_at)$(INSTALL_DIR) "$(RELSYSDIR)/priv" + $(V_at)$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv" + 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 new file mode 100644 index 0000000..cf8e970 --- /dev/null +++ b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch @@ -0,0 +1,61 @@ +From: Peter Lemenkov +Date: Sat, 19 Jun 2010 09:59:39 +0400 +Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32 + systems + +Signed-off-by: Peter Lemenkov + +diff --git a/lib/os_mon/doc/src/Makefile b/lib/os_mon/doc/src/Makefile +index 08fd23e..5606cfc 100644 +--- a/lib/os_mon/doc/src/Makefile ++++ b/lib/os_mon/doc/src/Makefile +@@ -35,12 +35,17 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN) + # Target Specs + # ---------------------------------------------------- + XML_APPLICATION_FILES = ref_man.xml ++ifeq ($(findstring win32,$(TARGET)),win32) ++NTEVENTLOG_DOCFILE=nteventlog.xml ++else ++NTEVENTLOG_DOCFILE= ++endif + XML_REF3_FILES = cpu_sup.xml \ + disksup.xml \ + memsup.xml \ + os_mon_mib.xml \ + os_sup.xml \ +- nteventlog.xml ++ $(NTEVENTLOG_DOCFILE) + + XML_REF6_FILES = os_mon_app.xml + +diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile +index cd2dade..4e78cf8 100644 +--- a/lib/os_mon/src/Makefile ++++ b/lib/os_mon/src/Makefile +@@ -33,8 +33,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN) + # ---------------------------------------------------- + # Target Specs + # ---------------------------------------------------- ++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 ++ $(NTEVENTLOG) + + INCLUDE=../include + CSRC=../c_src +@@ -78,7 +83,11 @@ docs: + # ---------------------------------------------------- + + $(APP_TARGET): $(APP_SRC) ../vsn.mk ++ifeq ($(findstring win32,$(TARGET)),win32) + $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@ ++else ++ $(vsn_verbose)sed -e 's;%VSN%;$(VSN);;s;,\s*nteventlog;;' $< > $@ ++endif + + $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@ diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch new file mode 100644 index 0000000..843e052 --- /dev/null +++ b/otp-0006-Do-not-install-erlang-sources.patch @@ -0,0 +1,1033 @@ +From: Hans Ulrich Niedermann +Date: Mon, 21 Mar 2011 15:41:49 +0100 +Subject: [PATCH] Do not install erlang sources + +Don't install *.erl, *.xrl, *.yrl, and *.asn1 files at all. + +Signed-off-by: Peter Lemenkov +Signed-off-by: Hans Ulrich Niedermann + +diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile +index 4ea2d41..e1466c1 100644 +--- a/erts/preloaded/src/Makefile ++++ b/erts/preloaded/src/Makefile +@@ -85,8 +85,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: $(APP_TARGET) +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(BEAM_FILES) $(STUBS_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin" + +diff --git a/lib/appmon/src/Makefile b/lib/appmon/src/Makefile +index c1620bc..02c0984 100644 +--- a/lib/appmon/src/Makefile ++++ b/lib/appmon/src/Makefile +@@ -95,7 +95,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile +index 500f4a1..e707394 100644 +--- a/lib/asn1/src/Makefile ++++ b/lib/asn1/src/Makefile +@@ -153,7 +153,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" + $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples" + +diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile +index 4600c0a..1675a4a 100644 +--- a/lib/common_test/src/Makefile ++++ b/lib/common_test/src/Makefile +@@ -139,7 +139,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile +index c6d09d8..46dcdf4 100644 +--- a/lib/compiler/src/Makefile ++++ b/lib/compiler/src/Makefile +@@ -165,8 +165,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ +- $(YRL_FILE) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ ++ "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/cosEvent/src/Makefile b/lib/cosEvent/src/Makefile +index 2864ee0..0e27bb6 100644 +--- a/lib/cosEvent/src/Makefile ++++ b/lib/cosEvent/src/Makefile +@@ -202,7 +202,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/cosEventDomain/src/Makefile b/lib/cosEventDomain/src/Makefile +index b4b74bd..420f566 100644 +--- a/lib/cosEventDomain/src/Makefile ++++ b/lib/cosEventDomain/src/Makefile +@@ -171,7 +171,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/cosFileTransfer/src/Makefile b/lib/cosFileTransfer/src/Makefile +index 9d3abb9..c3d83a5 100644 +--- a/lib/cosFileTransfer/src/Makefile ++++ b/lib/cosFileTransfer/src/Makefile +@@ -179,9 +179,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(GEN_HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +- $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include" + + release_docs_spec: +diff --git a/lib/cosNotification/src/Makefile b/lib/cosNotification/src/Makefile +index 13153bd..0860700 100644 +--- a/lib/cosNotification/src/Makefile ++++ b/lib/cosNotification/src/Makefile +@@ -370,8 +370,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) $(YECC_FILES) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(IDL_FILES) $(YECC_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(GEN_HRL_FILES) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/cosProperty/src/Makefile b/lib/cosProperty/src/Makefile +index d7b75d8..fba8746 100644 +--- a/lib/cosProperty/src/Makefile ++++ b/lib/cosProperty/src/Makefile +@@ -179,8 +179,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(GEN_HRL_FILES) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/cosTime/src/Makefile b/lib/cosTime/src/Makefile +index 0ab2b41..c29caeb 100644 +--- a/lib/cosTime/src/Makefile ++++ b/lib/cosTime/src/Makefile +@@ -198,8 +198,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(GEN_HRL_FILES) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/cosTransactions/src/Makefile b/lib/cosTransactions/src/Makefile +index 7b4a9cf..290707c 100644 +--- a/lib/cosTransactions/src/Makefile ++++ b/lib/cosTransactions/src/Makefile +@@ -173,7 +173,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILE) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(IDL_FILE) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile +index 574c207..52320b0 100644 +--- a/lib/crypto/src/Makefile ++++ b/lib/crypto/src/Makefile +@@ -83,8 +83,6 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile +index 85754da..5a6f298 100644 +--- a/lib/debugger/src/Makefile ++++ b/lib/debugger/src/Makefile +@@ -130,7 +130,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile +index bb2edd4..6b20995 100644 +--- a/lib/dialyzer/src/Makefile ++++ b/lib/dialyzer/src/Makefile +@@ -156,7 +156,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ ++ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ + "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile +index 578bbae..647cfde 100644 +--- a/lib/diameter/src/Makefile ++++ b/lib/diameter/src/Makefile +@@ -242,11 +242,8 @@ release_spec: opt + $(MAKE) $(EXAMPLE_DIRS:%/=release_examples_%) + + $(TARGET_DIRS:%/=release_src_%): release_src_%: +- $(INSTALL_DIR) "$(RELSYSDIR)/src/$*" +- $(INSTALL_DATA) $(filter $*/%, $(TARGET_MODULES:%=%.erl) \ +- $(INTERNAL_HRLS)) \ +- $(filter $*/%, compiler/$(DICT_YRL).yrl) \ +- "$(RELSYSDIR)/src/$*" ++ $(INSTALL_DATA) $(filter $*/%, $(INTERNAL_HRLS)) \ ++ "$(RELSYSDIR)/src/$*" || true + + $(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%: + $(INSTALL_DIR) "$(RELSYSDIR)/examples/$*" +diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile +index 4e5a418..c0bb0c3 100644 +--- a/lib/edoc/src/Makefile ++++ b/lib/edoc/src/Makefile +@@ -88,7 +88,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(SOURCES) $(HRL_FILES) $(YRL_FILE) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + + release_docs_spec: + +diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile +index ebb7967..b6337cb 100644 +--- a/lib/eldap/src/Makefile ++++ b/lib/eldap/src/Makefile +@@ -98,10 +98,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" +- $(INSTALL_DIR) "$(RELSYSDIR)/asn1" +- $(INSTALL_DATA) ../asn1/$(ASN1_FILES) "$(RELSYSDIR)/asn1" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile +index ef96f5d..d9a2f0d 100644 +--- a/lib/erl_docgen/src/Makefile ++++ b/lib/erl_docgen/src/Makefile +@@ -89,8 +89,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile +index 386169f..216b548 100644 +--- a/lib/et/src/Makefile ++++ b/lib/et/src/Makefile +@@ -108,7 +108,6 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile +index e6dab67..a5e147d 100644 +--- a/lib/eunit/src/Makefile ++++ b/lib/eunit/src/Makefile +@@ -117,8 +117,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin" +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" + +diff --git a/lib/gs/src/Makefile b/lib/gs/src/Makefile +index 0a63d54..8a49249 100644 +--- a/lib/gs/src/Makefile ++++ b/lib/gs/src/Makefile +@@ -108,8 +108,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(APP_SRC) $(ERL_FILES) $(HRL_FILES) $(GEN_HRL_FILES) \ +- $(GSTK_GENERIC) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(GEN_HRL_FILES) \ ++ "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/bitmap" +diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile +index 506e993..d74b75c 100644 +--- a/lib/hipe/cerl/Makefile ++++ b/lib/hipe/cerl/Makefile +@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/cerl" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/cerl" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/cerl" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/flow/Makefile b/lib/hipe/flow/Makefile +index 75e156b..5e394ca 100644 +--- a/lib/hipe/flow/Makefile ++++ b/lib/hipe/flow/Makefile +@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/flow" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(INC_FILES) "$(RELSYSDIR)/flow" ++ $(INSTALL_DATA) $(HRL_FILES) $(INC_FILES) "$(RELSYSDIR)/flow" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/icode/Makefile b/lib/hipe/icode/Makefile +index 87015aa..84f870d 100644 +--- a/lib/hipe/icode/Makefile ++++ b/lib/hipe/icode/Makefile +@@ -119,7 +119,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/icode" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/icode" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/icode" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/main/Makefile b/lib/hipe/main/Makefile +index 66e4c3e..2f11670 100644 +--- a/lib/hipe/main/Makefile ++++ b/lib/hipe/main/Makefile +@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DATA) ../vsn.mk "$(RELSYSDIR)" + $(INSTALL_DIR) "$(RELSYSDIR)/main" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/main" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/main" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/misc/Makefile b/lib/hipe/misc/Makefile +index 16166f5..0ba5845 100644 +--- a/lib/hipe/misc/Makefile ++++ b/lib/hipe/misc/Makefile +@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/misc" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/misc" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/misc" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile +index 751e876..98b7911 100644 +--- a/lib/hipe/rtl/Makefile ++++ b/lib/hipe/rtl/Makefile +@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/rtl" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/rtl" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/rtl" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/hipe/util/Makefile b/lib/hipe/util/Makefile +index a5ee232..f03e41d 100644 +--- a/lib/hipe/util/Makefile ++++ b/lib/hipe/util/Makefile +@@ -49,7 +49,6 @@ HIPE_MODULES = + endif + MODULES = hipe_timing hipe_dot hipe_digraph $(HIPE_MODULES) + +-HRL_FILES= + ERL_FILES= $(MODULES:%=%.erl) + TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) + DOC_FILES= $(MODULES:%=$(DOCS)/%.html) +@@ -103,8 +102,6 @@ $(DOCS)/%.html:%.erl + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/util" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/util" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/ic/src/Makefile b/lib/ic/src/Makefile +index e8769d2..965d0e7 100644 +--- a/lib/ic/src/Makefile ++++ b/lib/ic/src/Makefile +@@ -199,7 +199,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" + $(INSTALL_DIR) "$(RELSYSDIR)/examples/c-client" + $(INSTALL_DATA) $(CCL_EX_FILES) "$(RELSYSDIR)/examples/c-client" +diff --git a/lib/inets/src/ftp/Makefile b/lib/inets/src/ftp/Makefile +index 2c3d2b6..de0450e 100644 +--- a/lib/inets/src/ftp/Makefile ++++ b/lib/inets/src/ftp/Makefile +@@ -90,7 +90,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/ftp" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/ftp" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/ftp" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile +index f0d4ce1..35c4ffc 100644 +--- a/lib/inets/src/http_client/Makefile ++++ b/lib/inets/src/http_client/Makefile +@@ -91,7 +91,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_client" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_client" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_client" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile +index 51167b3..a623824 100644 +--- a/lib/inets/src/http_lib/Makefile ++++ b/lib/inets/src/http_lib/Makefile +@@ -89,7 +89,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_lib" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_lib" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_lib" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile +index 2660d04..c873a27 100644 +--- a/lib/inets/src/http_server/Makefile ++++ b/lib/inets/src/http_server/Makefile +@@ -126,7 +126,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_server" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_server" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_server" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile +index 22426ee..0b0cfb8 100644 +--- a/lib/inets/src/inets_app/Makefile ++++ b/lib/inets/src/inets_app/Makefile +@@ -113,7 +113,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/inets_app" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/inets_app" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/inets/src/tftp/Makefile b/lib/inets/src/tftp/Makefile +index b368b12..5eddaf0 100644 +--- a/lib/inets/src/tftp/Makefile ++++ b/lib/inets/src/tftp/Makefile +@@ -95,7 +95,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/tftp" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/tftp" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/tftp" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile +index cb3c0a4..dbda2a2 100644 +--- a/lib/kernel/src/Makefile ++++ b/lib/kernel/src/Makefile +@@ -198,7 +198,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/megaco/src/app/Makefile b/lib/megaco/src/app/Makefile +index d18da53..4a9f4d2 100644 +--- a/lib/megaco/src/app/Makefile ++++ b/lib/megaco/src/app/Makefile +@@ -113,7 +113,7 @@ release_spec: opt + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/app" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile +index c1fd66b..0699ffa 100644 +--- a/lib/megaco/src/binary/Makefile ++++ b/lib/megaco/src/binary/Makefile +@@ -175,7 +175,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/binary" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(ASN1_FILES) "$(RELSYSDIR)/src/binary" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/binary" + + + release_docs_spec: +diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile +index 7cecef1..841a88a 100644 +--- a/lib/megaco/src/engine/Makefile ++++ b/lib/megaco/src/engine/Makefile +@@ -101,7 +101,7 @@ release_spec: opt + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/engine" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + + +diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in +index bd62e8b..cce5a8d 100644 +--- a/lib/megaco/src/flex/Makefile.in ++++ b/lib/megaco/src/flex/Makefile.in +@@ -267,8 +267,6 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src/flex" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/flex" +- $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true) + $(INSTALL_DATA) $(FLEX_FILES) "$(RELSYSDIR)/src/flex" + $(INSTALL_PROGRAM) $(SOLIBS) "$(RELSYSDIR)/priv/lib" +diff --git a/lib/megaco/src/tcp/Makefile b/lib/megaco/src/tcp/Makefile +index 0c30aba..aa553ff 100644 +--- a/lib/megaco/src/tcp/Makefile ++++ b/lib/megaco/src/tcp/Makefile +@@ -93,7 +93,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/tcp" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" + + + release_docs_spec: +diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile +index cab4256..d5cf217 100644 +--- a/lib/megaco/src/text/Makefile ++++ b/lib/megaco/src/text/Makefile +@@ -134,7 +134,7 @@ release_spec: opt + $(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/text" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_YRL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" + + + release_docs_spec: +diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile +index 9486804..ea4830c 100644 +--- a/lib/megaco/src/udp/Makefile ++++ b/lib/megaco/src/udp/Makefile +@@ -93,7 +93,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/udp" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" + + + release_docs_spec: +diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile +index ac38fa0..20bce7e 100644 +--- a/lib/mnesia/src/Makefile ++++ b/lib/mnesia/src/Makefile +@@ -132,7 +132,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile +index 42f5c19..a98b706 100644 +--- a/lib/observer/src/Makefile ++++ b/lib/observer/src/Makefile +@@ -131,7 +131,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" + $(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples" +diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile +index bfbda8a..6e4ad54 100644 +--- a/lib/odbc/src/Makefile ++++ b/lib/odbc/src/Makefile +@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/orber/COSS/CosNaming/Makefile b/lib/orber/COSS/CosNaming/Makefile +index 8140620..73df530 100644 +--- a/lib/orber/COSS/CosNaming/Makefile ++++ b/lib/orber/COSS/CosNaming/Makefile +@@ -144,8 +144,8 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/COSS/CosNaming" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(IDL_FILE) "$(RELSYSDIR)/COSS/CosNaming" +- $(INSTALL_DATA) $(GEN_FILES) "$(RELSYSDIR)/COSS/CosNaming" ++ $(INSTALL_DATA) $(HRL_FILES) $(IDL_FILE) "$(RELSYSDIR)/COSS/CosNaming" ++ $(INSTALL_DATA) $(GEN_HRL_FILES) $(GEN_EXT_HRL_FILES) "$(RELSYSDIR)/COSS/CosNaming" + + + release_docs_spec: +diff --git a/lib/orber/src/Makefile b/lib/orber/src/Makefile +index 1c6781e..e471f88 100644 +--- a/lib/orber/src/Makefile ++++ b/lib/orber/src/Makefile +@@ -256,7 +256,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(GEN_HRL_FILES_LOC) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(GEN_HRL_FILES_LOC) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) $(GEN_HRL_FILES_EXT) "$(RELSYSDIR)/include" + +diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile +index 4e78cf8..69d434c 100644 +--- a/lib/os_mon/src/Makefile ++++ b/lib/os_mon/src/Makefile +@@ -104,7 +104,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile +index 4f03d02..756db7b 100644 +--- a/lib/otp_mibs/src/Makefile ++++ b/lib/otp_mibs/src/Makefile +@@ -95,8 +95,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 2ee2285..ea075ed 100644 +--- a/lib/parsetools/src/Makefile ++++ b/lib/parsetools/src/Makefile +@@ -90,8 +90,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile +index 6bf0af9..e501539 100644 +--- a/lib/percept/src/Makefile ++++ b/lib/percept/src/Makefile +@@ -93,8 +93,6 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" + # $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/pman/src/Makefile b/lib/pman/src/Makefile +index eb0413b..4f5419b 100644 +--- a/lib/pman/src/Makefile ++++ b/lib/pman/src/Makefile +@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile +index a4e36c7..432e73a 100644 +--- a/lib/public_key/asn1/Makefile ++++ b/lib/public_key/asn1/Makefile +@@ -95,8 +95,8 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/asn1" +- $(INSTALL_DATA) $(ASN_ASNS) $(ASN_ERLS) $(ASN_HRLS) $(ASN_CONFIGS) \ +- $(GEN_ERLS) "$(RELSYSDIR)/asn1" ++ $(INSTALL_DATA) $(ASN_ASNS) $(ASN_HRLS) $(ASN_CONFIGS) \ ++ "$(RELSYSDIR)/asn1" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile +index 09393e8..eb4c54d 100644 +--- a/lib/public_key/src/Makefile ++++ b/lib/public_key/src/Makefile +@@ -49,8 +49,6 @@ MODULES = \ + + HRL_FILES = $(INCLUDE)/public_key.hrl + +-INTERNAL_HRL_FILES = +- + ERL_FILES = $(MODULES:%=%.erl) + + TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) +@@ -103,8 +101,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile +index b8387ff..2012af9 100644 +--- a/lib/reltool/src/Makefile ++++ b/lib/reltool/src/Makefile +@@ -99,7 +99,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile +index 8d2bcfe..d1a9cac 100644 +--- a/lib/runtime_tools/src/Makefile ++++ b/lib/runtime_tools/src/Makefile +@@ -96,8 +96,6 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" +diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile +index ab2d3a3..bb53a67 100644 +--- a/lib/sasl/src/Makefile ++++ b/lib/sasl/src/Makefile +@@ -92,7 +92,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/agent/Makefile b/lib/snmp/src/agent/Makefile +index beed696..752072d 100644 +--- a/lib/snmp/src/agent/Makefile ++++ b/lib/snmp/src/agent/Makefile +@@ -130,7 +130,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/agent" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/agent" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/agent" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile +index b8cc4b8..d806efb 100644 +--- a/lib/snmp/src/app/Makefile ++++ b/lib/snmp/src/app/Makefile +@@ -131,7 +131,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/app" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/app" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/app" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/compile/Makefile b/lib/snmp/src/compile/Makefile +index f63fc18..9759451 100644 +--- a/lib/snmp/src/compile/Makefile ++++ b/lib/snmp/src/compile/Makefile +@@ -122,7 +122,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" +- $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/bin" +diff --git a/lib/snmp/src/manager/Makefile b/lib/snmp/src/manager/Makefile +index c76dbac..548823a 100644 +--- a/lib/snmp/src/manager/Makefile ++++ b/lib/snmp/src/manager/Makefile +@@ -113,7 +113,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/manager" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/manager" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/manager" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile +index 698c341..3344a0c 100644 +--- a/lib/snmp/src/misc/Makefile ++++ b/lib/snmp/src/misc/Makefile +@@ -111,7 +111,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/misc" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/misc" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/misc" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile +index 2ef2859..aac91a3 100644 +--- a/lib/ssh/src/Makefile ++++ b/lib/ssh/src/Makefile +@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile +index 131b615..c456bfc 100644 +--- a/lib/ssl/src/Makefile ++++ b/lib/ssl/src/Makefile +@@ -136,7 +136,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile +index f3387d6..4c5e622 100644 +--- a/lib/stdlib/src/Makefile ++++ b/lib/stdlib/src/Makefile +@@ -202,7 +202,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) erl_parse.yrl "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/syntax_tools/src/Makefile b/lib/syntax_tools/src/Makefile +index c9fbad8..2fc7f18 100644 +--- a/lib/syntax_tools/src/Makefile ++++ b/lib/syntax_tools/src/Makefile +@@ -82,8 +82,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(SOURCES) "$(RELSYSDIR)/src" + + release_docs_spec: + +diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile +index ab4dd4d..bcb1bc3 100644 +--- a/lib/test_server/src/Makefile ++++ b/lib/test_server/src/Makefile +@@ -123,7 +123,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +diff --git a/lib/toolbar/src/Makefile b/lib/toolbar/src/Makefile +index a248469..96c42df 100644 +--- a/lib/toolbar/src/Makefile ++++ b/lib/toolbar/src/Makefile +@@ -85,7 +85,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile +index e606b97..1beb8cc 100644 +--- a/lib/tools/src/Makefile ++++ b/lib/tools/src/Makefile +@@ -106,7 +106,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/tv/src/Makefile b/lib/tv/src/Makefile +index 3d680c1..e6ed610 100644 +--- a/lib/tv/src/Makefile ++++ b/lib/tv/src/Makefile +@@ -127,7 +127,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/typer/src/Makefile b/lib/typer/src/Makefile +index 13af466..c29a597 100644 +--- a/lib/typer/src/Makefile ++++ b/lib/typer/src/Makefile +@@ -101,9 +101,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) $(HRL_FILES) $(YRL_FILES) \ +- "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/webtool/src/Makefile b/lib/webtool/src/Makefile +index f28c777..346ce37 100644 +--- a/lib/webtool/src/Makefile ++++ b/lib/webtool/src/Makefile +@@ -87,8 +87,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) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile +index 26574ed..266a5d6 100644 +--- a/lib/wx/src/Makefile ++++ b/lib/wx/src/Makefile +@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES) + include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/gen" +- $(INSTALL_DATA) $(GEN_HRL) $(GEN_FILES) "$(RELSYSDIR)/src/gen" ++ $(INSTALL_DATA) $(GEN_HRL) "$(RELSYSDIR)/src/gen" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile +index d5ce3fe..e21e4b1 100644 +--- a/lib/xmerl/src/Makefile ++++ b/lib/xmerl/src/Makefile +@@ -217,9 +217,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) xmerl_xpath_parse.yrl "$(RELSYSDIR)/src" +- $(INSTALL_DATA) xmerl_b64Bin.yrl "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + diff --git a/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch b/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch new file mode 100644 index 0000000..33b5973 --- /dev/null +++ b/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch @@ -0,0 +1,61 @@ +From: Peter Lemenkov +Date: Sun, 21 Nov 2010 00:17:49 +0300 +Subject: [PATCH] Ugly workaround for java-1.5.0-gcj which doesn't support + UNICODE fully + +Signed-off-by: Peter Lemenkov +Fedora-Spec-Comment: Required only for el5, el6 on PowerPC +Fedora-Spec-Before: %if 0%{?el4}%{?el5}%{?el6} +Fedora-Spec-Before: %ifnarch %{ix86} x86_64 +Fedora-Spec-After: %endif +Fedora-Spec-After: %endif + +diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java +index 3456fd7..86cd411 100644 +--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java ++++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java +@@ -389,19 +389,7 @@ public class OtpErlangList extends OtpErlangObject implements + */ + + public String stringValue() throws OtpErlangException { +- if (! isProper()) { +- throw new OtpErlangException("Non-proper list: " + this); +- } +- final int[] values = new int[arity()]; +- for (int i = 0; i < values.length; ++i) { +- final OtpErlangObject o = elementAt(i); +- if (! (o instanceof OtpErlangLong)) { +- throw new OtpErlangException("Non-integer term: " + o); +- } +- final OtpErlangLong l = (OtpErlangLong) o; +- values[i] = l.intValue(); +- } +- return new String(values, 0, values.length); ++ throw new OtpErlangException("No UNICODE support in java-1.5.0-gcj"); + } + + +diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java +index 9dc1728..76e380d 100644 +--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java ++++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java +@@ -1112,17 +1112,8 @@ public class OtpInputStream extends ByteArrayInputStream { + case OtpExternal.nilTag: + return ""; + case OtpExternal.listTag: // List when unicode + +- len = read4BE(); +- intbuf = new int[len]; +- for (int i = 0; i < len; i++) { +- intbuf[i] = read_int(); +- if (! OtpErlangString.isValidCodePoint(intbuf[i])) { +- throw new OtpErlangDecodeException +- ("Invalid CodePoint: " + intbuf[i]); +- } +- } +- read_nil(); +- return new String(intbuf, 0, intbuf.length); ++ throw new OtpErlangDecodeException( ++ "No UNICODE support in java-1.5.0-gcj"); + default: + throw new OtpErlangDecodeException( + "Wrong tag encountered, expected " + OtpExternal.stringTag diff --git a/otp-0008-Fix-for-armv7hl-architecture.patch b/otp-0008-Fix-for-armv7hl-architecture.patch new file mode 100644 index 0000000..b7d8b32 --- /dev/null +++ b/otp-0008-Fix-for-armv7hl-architecture.patch @@ -0,0 +1,22 @@ +From: Peter Lemenkov +Date: Thu, 26 Sep 2013 22:01:03 +0400 +Subject: [PATCH] Fix for armv7hl architecture + +Taken from openSUSE: + +* https://build.opensuse.org/package/view_file/devel:languages:erlang:Factory/erlang/fix-armv7hl.patch?expand=1 + +Signed-off-by: Peter Lemenkov + +diff --git a/erts/configure.in b/erts/configure.in +index bad748d..230f27a 100644 +--- a/erts/configure.in ++++ b/erts/configure.in +@@ -621,6 +621,7 @@ case $chk_arch_ in + armv5tejl) ARCH=arm;; + armv6l) ARCH=arm;; + armv7l) ARCH=arm;; ++ armv7hl) ARCH=arm;; + tile) ARCH=tile;; + *) ARCH=noarch;; + esac diff --git a/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch b/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch new file mode 100644 index 0000000..4dc7759 --- /dev/null +++ b/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch @@ -0,0 +1,24 @@ +From: Peter Lemenkov +Date: Thu, 24 Oct 2013 16:44:22 +0400 +Subject: [PATCH] TEMPORARILY disable ECC until dust settles + +Signed-off-by: Peter Lemenkov + +diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c +index 42fb172..eb99719 100644 +--- a/lib/crypto/c_src/crypto.c ++++ b/lib/crypto/c_src/crypto.c +@@ -74,13 +74,6 @@ + # define HAVE_DES_ede3_cfb_encrypt + #endif + +-#if OPENSSL_VERSION_NUMBER >= 0x009080ffL \ +- && !defined(OPENSSL_NO_EC) \ +- && !defined(OPENSSL_NO_ECDH) \ +- && !defined(OPENSSL_NO_ECDSA) +-# define HAVE_EC +-#endif +- + #if defined(HAVE_EC) + #include + #include diff --git a/otp-0010-Fix-for-powerpc-architecture.patch b/otp-0010-Fix-for-powerpc-architecture.patch new file mode 100644 index 0000000..8eb1f35 --- /dev/null +++ b/otp-0010-Fix-for-powerpc-architecture.patch @@ -0,0 +1,26 @@ +From: Peter Lemenkov +Date: Mon, 28 Oct 2013 17:11:11 +0400 +Subject: [PATCH] Fix for powerpc architecture + +Taken from openSUSE: + +* https://build.opensuse.org/package/view_file/devel:languages:erlang:Factory/erlang/erlang-ppc.patch?expand=1 + +See also: + +* https://bugzilla.redhat.com/1023960 + +Signed-off-by: Peter Lemenkov + +diff --git a/erts/configure.in b/erts/configure.in +index 230f27a..9ad3671 100644 +--- a/erts/configure.in ++++ b/erts/configure.in +@@ -612,6 +612,7 @@ case $chk_arch_ in + x86_64) ARCH=amd64;; + amd64) ARCH=amd64;; + macppc) ARCH=ppc;; ++ powerpc) ARCH=ppc;; + ppc) ARCH=ppc;; + ppc64) ARCH=ppc64;; + "Power Macintosh") ARCH=ppc;; diff --git a/otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch b/otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch new file mode 100644 index 0000000..bb13893 --- /dev/null +++ b/otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch @@ -0,0 +1,74 @@ +From: "Matwey V. Kornilov" +Date: Tue, 17 Dec 2013 18:16:56 +0400 +Subject: [PATCH] Add -systemd option to empd. Check for include + systemd/sd-daemon.h and wrap systemd code into ifdef-s. + + +diff --git a/erts/configure.in b/erts/configure.in +index 9ad3671..125e579 100644 +--- a/erts/configure.in ++++ b/erts/configure.in +@@ -1565,6 +1565,8 @@ AC_CHECK_MEMBERS([struct ifreq.ifr_enaddr], [], [], + #endif + ]) + ++AC_CHECK_HEADERS(systemd/sd-daemon.h) ++ + dnl ---------------------------------------------------------------------- + dnl Check the availability for libdlpi + dnl ---------------------------------------------------------------------- +diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c +index 2d55b37..fc58882 100644 +--- a/erts/epmd/src/epmd.c ++++ b/erts/epmd/src/epmd.c +@@ -175,6 +175,9 @@ int main(int argc, char** argv) + g->nodes.reg = g->nodes.unreg = g->nodes.unreg_tail = NULL; + g->nodes.unreg_count = 0; + g->active_conn = 0; ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++ g->is_systemd = 0; ++#endif + + for (i = 0; i < MAX_LISTEN_SOCKETS; i++) + g->listenfd[i] = -1; +@@ -248,8 +251,12 @@ int main(int argc, char** argv) + else + usage(g); + epmd_cleanup_exit(g,0); +- } +- else ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++ } else if (strcmp(argv[0], "-systemd") == 0) { ++ g->is_systemd = 1; ++ argv++; argc--; ++#endif ++ } else + usage(g); + } + dbg_printf(g,1,"epmd running - daemon = %d",g->is_daemon); +@@ -454,6 +461,11 @@ static void usage(EpmdVars *g) + fprintf(stderr, " Forcibly unregisters a name with epmd\n"); + fprintf(stderr, " (only allowed if -relaxed_command_check was given when \n"); + fprintf(stderr, " epmd was started).\n"); ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++ fprintf(stderr, " -systemd\n"); ++ fprintf(stderr, " Wait for socket from systemd. The option makes sense\n"); ++ fprintf(stderr, " when started from .socket unit.\n"); ++#endif + epmd_cleanup_exit(g,1); + } + +diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h +index 656dbd1..bf1ddd8 100644 +--- a/erts/epmd/src/epmd_int.h ++++ b/erts/epmd/src/epmd_int.h +@@ -321,6 +321,9 @@ typedef struct { + int listenfd[MAX_LISTEN_SOCKETS]; + char *addresses; + char **argv; ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++ int is_systemd; ++#endif + } EpmdVars; + + void dbg_printf(EpmdVars*,int,const char*,...); diff --git a/otp-0012-Add-systemd-support-to-epmd.patch b/otp-0012-Add-systemd-support-to-epmd.patch new file mode 100644 index 0000000..3535601 --- /dev/null +++ b/otp-0012-Add-systemd-support-to-epmd.patch @@ -0,0 +1,111 @@ +From: "Matwey V. Kornilov" +Date: Tue, 17 Dec 2013 18:57:54 +0400 +Subject: [PATCH] Add systemd support to epmd + + +diff --git a/erts/configure.in b/erts/configure.in +index 125e579..d9bc1ec 100644 +--- a/erts/configure.in ++++ b/erts/configure.in +@@ -969,6 +969,8 @@ AC_CHECK_LIB(dl, dlopen) + AC_CHECK_LIB(inet, main) + AC_CHECK_LIB(util, openpty) + ++AC_CHECK_LIB(systemd-daemon, sd_listen_fds) ++ + dnl Try to find a thread library. + dnl + dnl ETHR_LIB_NAME, ETHR_LIBS, ETHR_X_LIBS, ETHR_THR_LIB_BASE and ETHR_DEFS +diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h +index bf1ddd8..363923e 100644 +--- a/erts/epmd/src/epmd_int.h ++++ b/erts/epmd/src/epmd_int.h +@@ -110,6 +110,10 @@ + + #include + ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++# include ++#endif ++ + /* ************************************************************************ */ + /* Replace some functions by others by making the function name a macro */ + +diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c +index 90df7cc..cb8ca96 100644 +--- a/erts/epmd/src/epmd_srv.c ++++ b/erts/epmd/src/epmd_srv.c +@@ -208,6 +208,39 @@ void run(EpmdVars *g) + node_init(g); + g->conn = conn_init(g); + ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++ if (g->is_systemd) ++ { ++ int n; ++ ++ dbg_printf(g,2,"try to obtain sockets from systemd"); ++ ++ n = sd_listen_fds(0); ++ if (n < 0) ++ { ++ dbg_perror(g,"cannot obtain sockets from systemd"); ++ epmd_cleanup_exit(g,1); ++ } ++ else if (n == 0) ++ { ++ dbg_tty_printf(g,0,"systemd provides no sockets"); ++ epmd_cleanup_exit(g,1); ++ } ++ else if (n > MAX_LISTEN_SOCKETS) ++ { ++ dbg_tty_printf(g,0,"cannot listen on more than %d IP addresses", MAX_LISTEN_SOCKETS); ++ epmd_cleanup_exit(g,1); ++ } ++ num_sockets = n; ++ for (i = 0; i < num_sockets; i++) ++ { ++ g->listenfd[i] = listensock[i] = SD_LISTEN_FDS_START + i; ++ } ++ } ++ else ++ { ++#endif ++ + dbg_printf(g,2,"try to initiate listening port %d", g->port); + + if (g->addresses != NULL && /* String contains non-separator characters if: */ +@@ -272,6 +305,9 @@ void run(EpmdVars *g) + SET_ADDR(iserv_addr[0],EPMD_ADDR_ANY,sport); + num_sockets = 1; + } ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++ } ++#endif + + #if !defined(__WIN32__) + /* We ignore the SIGPIPE signal that is raised when we call write +@@ -289,6 +325,13 @@ void run(EpmdVars *g) + FD_ZERO(&g->orig_read_mask); + g->select_fd_top = 0; + ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++ if (g->is_systemd) ++ for (i = 0; i < num_sockets; i++) ++ select_fd_set(g, listensock[i]); ++ else ++ { ++#endif + for (i = 0; i < num_sockets; i++) + { + if ((listensock[i] = socket(FAMILY,SOCK_STREAM,0)) < 0) +@@ -351,6 +394,9 @@ void run(EpmdVars *g) + } + select_fd_set(g, listensock[i]); + } ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++ } ++#endif + + dbg_tty_printf(g,2,"entering the main select() loop"); + diff --git a/otp-0013-Added-systemd-notify-support-to-EPMD.patch b/otp-0013-Added-systemd-notify-support-to-EPMD.patch new file mode 100644 index 0000000..b41ce99 --- /dev/null +++ b/otp-0013-Added-systemd-notify-support-to-EPMD.patch @@ -0,0 +1,45 @@ +From: Peter Lemenkov +Date: Fri, 6 Jun 2014 15:29:49 +0400 +Subject: [PATCH] Added systemd notify support to EPMD + +Signed-off-by: Peter Lemenkov + +Conflicts: + erts/configure.in + +diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c +index fc58882..1757fa9 100644 +--- a/erts/epmd/src/epmd.c ++++ b/erts/epmd/src/epmd.c +@@ -589,9 +589,11 @@ void epmd_cleanup_exit(EpmdVars *g, int exitval) + for(i=0; g->argv[i] != NULL; ++i) + free(g->argv[i]); + free(g->argv); +- } +- +- ++ } ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++ sd_notifyf(0, "STATUS=Exited.\n" ++ "ERRNO=%i", exitval); ++#endif // HAVE_SYSTEMD_SD_DAEMON_H + exit(exitval); + } + +diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c +index cb8ca96..78524a6 100644 +--- a/erts/epmd/src/epmd_srv.c ++++ b/erts/epmd/src/epmd_srv.c +@@ -394,8 +394,11 @@ void run(EpmdVars *g) + } + select_fd_set(g, listensock[i]); + } +-#ifdef HAVE_SYSTEMD_SD_DAEMON_H ++#ifdef HAVE_SYSTEMD_SD_DAEMON_H + } ++ sd_notifyf(0, "READY=1\n" ++ "STATUS=Processing port mapping requests...\n" ++ "MAINPID=%lu", (unsigned long) getpid()); + #endif + + dbg_tty_printf(g,2,"entering the main select() loop"); diff --git a/otp-0014-Install-internal-hrl-files-when-necessary.patch b/otp-0014-Install-internal-hrl-files-when-necessary.patch new file mode 100644 index 0000000..14cf312 --- /dev/null +++ b/otp-0014-Install-internal-hrl-files-when-necessary.patch @@ -0,0 +1,97 @@ +From: Peter Lemenkov +Date: Tue, 26 Aug 2014 13:53:49 +0400 +Subject: [PATCH] Install internal hrl files when necessary + +Sometimes we install *.erl files. Some these files include a private +*.hrl files, so in order to make these *.erl files usable we have to +install these private includes as well. + +Signed-off-by: Peter Lemenkov + +Conflicts: + lib/eunit/src/Makefile + lib/percept/src/Makefile + lib/test_server/src/Makefile + +diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile +index 5a6f298..b40ef23 100644 +--- a/lib/debugger/src/Makefile ++++ b/lib/debugger/src/Makefile +@@ -77,7 +77,7 @@ MODULES= \ + + HRL_FILES= + +-INTERNAL_HRL_FILES= dbg_ieval.hrl ++INTERNAL_HRL_FILES= dbg_ieval.hrl dbg_wx_filedialog_win.hrl + + ERL_FILES= $(MODULES:%=%.erl) + +diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile +index a5e147d..8483e28 100644 +--- a/lib/eunit/src/Makefile ++++ b/lib/eunit/src/Makefile +@@ -46,6 +46,8 @@ SOURCES= \ + + INCLUDE_FILES = eunit.hrl + ++INTERNAL_HRL_FILES= eunit_internal.hrl ++ + PARSE_TRANSFORM_BIN = $(PARSE_TRANSFORM:%.erl=$(EBIN)/%.$(EMULATOR)) + + TARGET_FILES= $(SOURCES:%.erl=$(EBIN)/%.$(EMULATOR)) +@@ -117,6 +119,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin" ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" + +diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile +index dbda2a2..3e1792f 100644 +--- a/lib/kernel/src/Makefile ++++ b/lib/kernel/src/Makefile +@@ -122,6 +122,7 @@ HRL_FILES= ../include/file.hrl ../include/inet.hrl ../include/inet_sctp.hrl \ + ../include/net_address.hrl + + INTERNAL_HRL_FILES= application_master.hrl disk_log.hrl \ ++ erl_epmd.hrl hipe_ext_format.hrl \ + inet_dns.hrl inet_res.hrl \ + inet_boot.hrl inet_config.hrl inet_int.hrl \ + inet_dns_record_adts.hrl +diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile +index e501539..5902da3 100644 +--- a/lib/percept/src/Makefile ++++ b/lib/percept/src/Makefile +@@ -50,6 +50,8 @@ MODULES= \ + + #HRL_FILES= ../include/ + ++INTERNAL_HRL_FILES= egd.hrl percept.hrl ++ + ERL_FILES= $(MODULES:%=%.erl) + + TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) $(APP_TARGET) $(APPUP_TARGET) +@@ -93,6 +95,8 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" + # $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile +index bcb1bc3..deb7caf 100644 +--- a/lib/test_server/src/Makefile ++++ b/lib/test_server/src/Makefile +@@ -123,7 +123,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TS_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" diff --git a/otp-0015-Expose-NIF-version.patch b/otp-0015-Expose-NIF-version.patch new file mode 100644 index 0000000..3ae0096 --- /dev/null +++ b/otp-0015-Expose-NIF-version.patch @@ -0,0 +1,90 @@ +From: Peter Lemenkov +Date: Sun, 2 Nov 2014 19:49:55 +0300 +Subject: [PATCH] Expose NIF version + +This patch allows checking for NIF API version in a way similar to +driver version. E.g. by calling erlang:system_info(nif_version). + +Signed-off-by: Peter Lemenkov + +Conflicts: + erts/emulator/test/driver_SUITE.erl + +diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml +index e3ef48a..b9d7230 100644 +--- a/erts/doc/src/erlang.xml ++++ b/erts/doc/src/erlang.xml +@@ -5903,6 +5903,11 @@ ok + erlang:system_info(multi_scheduling), and + erlang:system_info(schedulers).

+ ++ nif_version ++ ++

Returns a string containing the erlang NIF version ++ used by the runtime system. It will be on the form "<major ver>.<minor ver>".

++
+ otp_release + +

Returns a string containing the OTP release number.

+diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c +index d7f1e2d..7a7f23e 100755 +--- a/erts/emulator/beam/erl_bif_info.c ++++ b/erts/emulator/beam/erl_bif_info.c +@@ -27,6 +27,7 @@ + #include "erl_process.h" + #include "error.h" + #include "erl_driver.h" ++#include "erl_nif.h" + #include "bif.h" + #include "big.h" + #include "erl_version.h" +@@ -2428,6 +2429,13 @@ BIF_RETTYPE system_info_1(BIF_ALIST_1) + ERL_DRV_EXTENDED_MINOR_VERSION); + hp = HAlloc(BIF_P, 2*n); + BIF_RET(buf_to_intlist(&hp, buf, n, NIL)); ++ } else if (ERTS_IS_ATOM_STR("nif_version", BIF_ARG_1)) { ++ char buf[42]; ++ int n = erts_snprintf(buf, 42, "%d.%d", ++ ERL_NIF_MAJOR_VERSION, ++ ERL_NIF_MINOR_VERSION); ++ hp = HAlloc(BIF_P, 2*n); ++ BIF_RET(buf_to_intlist(&hp, buf, n, NIL)); + } else if (ERTS_IS_ATOM_STR("smp_support", BIF_ARG_1)) { + #ifdef ERTS_SMP + BIF_RET(am_true); +diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl +index 2919265..c0f14ad 100644 +--- a/erts/preloaded/src/erlang.erl ++++ b/erts/preloaded/src/erlang.erl +@@ -2124,6 +2124,7 @@ tuple_to_list(_Tuple) -> + (modified_timing_level) -> integer() | undefined; + (multi_scheduling) -> disabled | blocked | enabled; + (multi_scheduling_blockers) -> [PID :: pid()]; ++ (nif_version) -> string(); + (otp_release) -> string(); + (port_count) -> non_neg_integer(); + (port_limit) -> pos_integer(); +diff --git a/lib/runtime_tools/src/system_information.erl b/lib/runtime_tools/src/system_information.erl +index 1d4b878..64f1b82 100644 +--- a/lib/runtime_tools/src/system_information.erl ++++ b/lib/runtime_tools/src/system_information.erl +@@ -344,6 +344,7 @@ erlang_system_info() -> + logical_processors_online, + logical_processors_available, + driver_version, ++ nif_version, + emu_args, + ethread_info, + beam_jump_table, +diff --git a/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat b/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat +index 0900ead..9ded5a1 100644 +--- a/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat ++++ b/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat +@@ -9720,6 +9720,7 @@ + {logical_processors_online,4}, + {logical_processors_available,4}, + {driver_version,"2.1"}, ++ {nif_version,"1.1"}, + {taints,[]}]}, + {erts_compile_info, + [{ldflags,[]}, diff --git a/otp-0016-Split-off-webtool-dependency-from-tools.patch b/otp-0016-Split-off-webtool-dependency-from-tools.patch new file mode 100644 index 0000000..f2de8ac --- /dev/null +++ b/otp-0016-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..9085300 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/otp-0017-lib-inets-src-ftp-ftp.erl-Check-the-filenames-userna.patch b/otp-0017-lib-inets-src-ftp-ftp.erl-Check-the-filenames-userna.patch new file mode 100644 index 0000000..7b7ad77 --- /dev/null +++ b/otp-0017-lib-inets-src-ftp-ftp.erl-Check-the-filenames-userna.patch @@ -0,0 +1,430 @@ +From: Sergei Golovan +Date: Sun, 9 Feb 2014 23:06:25 +0400 +Subject: [PATCH] lib/inets/src/ftp/ftp.erl: Check the filenames, usernames, + passwords etc. for and in them and return error if these + offending chars are found. See + http://erlang.org/pipermail/erlang-bugs/2014-January/003998.html for + details. lib/inets/test/ftp_suite_lib.erl: Added checks for in file + and directory names. + + +diff --git a/lib/inets/src/ftp/ftp.erl b/lib/inets/src/ftp/ftp.erl +index 520db1b..5674599 100644 +--- a/lib/inets/src/ftp/ftp.erl ++++ b/lib/inets/src/ftp/ftp.erl +@@ -192,7 +192,12 @@ do_open(Pid, OpenOptions, TLSOpts) -> + 'ok' | {'error', Reason :: 'euser' | common_reason()}. + + user(Pid, User, Pass) -> +- call(Pid, {user, User, Pass}, atom). ++ case {is_name_sane(User), is_name_sane(Pass)} of ++ {true, true} -> ++ call(Pid, {user, User, Pass}, atom); ++ _ -> ++ {error, euser} ++ end. + + -spec user(Pid :: pid(), + User :: string(), +@@ -201,7 +206,12 @@ user(Pid, User, Pass) -> + 'ok' | {'error', Reason :: 'euser' | common_reason()}. + + user(Pid, User, Pass, Acc) -> +- call(Pid, {user, User, Pass, Acc}, atom). ++ case {is_name_sane(User), is_name_sane(Pass), is_name_sane(Acc)} of ++ {true, true, true} -> ++ call(Pid, {user, User, Pass, Acc}, atom); ++ _ -> ++ {error, euser} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -216,7 +226,12 @@ user(Pid, User, Pass, Acc) -> + 'ok' | {'error', Reason :: 'eacct' | common_reason()}. + + account(Pid, Acc) -> +- call(Pid, {account, Acc}, atom). ++ case is_name_sane(Acc) of ++ true -> ++ call(Pid, {account, Acc}, atom); ++ _ -> ++ {error, eacct} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -262,7 +277,12 @@ lpwd(Pid) -> + 'ok' | {'error', Reason :: restriction_reason() | common_reason()}. + + cd(Pid, Dir) -> +- call(Pid, {cd, Dir}, atom). ++ case is_name_sane(Dir) of ++ true -> ++ call(Pid, {cd, Dir}, atom); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -305,7 +325,12 @@ ls(Pid) -> + {'error', Reason :: restriction_reason() | common_reason()}. + + ls(Pid, Dir) -> +- call(Pid, {dir, long, Dir}, string). ++ case is_name_sane(Dir) of ++ true -> ++ call(Pid, {dir, long, Dir}, string); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -333,7 +358,12 @@ nlist(Pid) -> + {'error', Reason :: restriction_reason() | common_reason()}. + + nlist(Pid, Dir) -> +- call(Pid, {dir, short, Dir}, string). ++ case is_name_sane(Dir) of ++ true -> ++ call(Pid, {dir, short, Dir}, string); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -349,7 +379,12 @@ nlist(Pid, Dir) -> + 'ok' | {'error', Reason :: restriction_reason() | common_reason()}. + + rename(Pid, Old, New) -> +- call(Pid, {rename, Old, New}, string). ++ case {is_name_sane(Old), is_name_sane(New)} of ++ {true, true} -> ++ call(Pid, {rename, Old, New}, string); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -365,7 +400,12 @@ rename(Pid, Old, New) -> + 'ok' | {'error', Reason :: restriction_reason() | common_reason()}. + + delete(Pid, File) -> +- call(Pid, {delete, File}, string). ++ case is_name_sane(File) of ++ true -> ++ call(Pid, {delete, File}, string); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -380,7 +420,12 @@ delete(Pid, File) -> + 'ok' | {'error', Reason :: restriction_reason() | common_reason()}. + + mkdir(Pid, Dir) -> +- call(Pid, {mkdir, Dir}, atom). ++ case is_name_sane(Dir) of ++ true -> ++ call(Pid, {mkdir, Dir}, atom); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -395,7 +440,12 @@ mkdir(Pid, Dir) -> + 'ok' | {'error', Reason :: restriction_reason() | common_reason()}. + + rmdir(Pid, Dir) -> +- call(Pid, {rmdir, Dir}, atom). ++ case is_name_sane(Dir) of ++ true -> ++ call(Pid, {rmdir, Dir}, atom); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -437,7 +487,12 @@ recv(Pid, RemotFileName) -> + 'ok' | {'error', Reason :: term()}. + + recv(Pid, RemotFileName, LocalFileName) -> +- call(Pid, {recv, RemotFileName, LocalFileName}, atom). ++ case is_name_sane(RemotFileName) of ++ true -> ++ call(Pid, {recv, RemotFileName, LocalFileName}, atom); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -456,7 +511,12 @@ recv(Pid, RemotFileName, LocalFileName) -> + {'error', Reason :: restriction_reason() | common_reason()}. + + recv_bin(Pid, RemoteFile) -> +- call(Pid, {recv_bin, RemoteFile}, bin). ++ case is_name_sane(RemoteFile) of ++ true -> ++ call(Pid, {recv_bin, RemoteFile}, bin); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -473,7 +533,12 @@ recv_bin(Pid, RemoteFile) -> + 'ok' | {'error', Reason :: restriction_reason() | common_reason()}. + + recv_chunk_start(Pid, RemoteFile) -> +- call(Pid, {recv_chunk_start, RemoteFile}, atom). ++ case is_name_sane(RemoteFile) of ++ true -> ++ call(Pid, {recv_chunk_start, RemoteFile}, atom); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -521,7 +586,12 @@ send(Pid, LocalFileName) -> + shortage_reason()}. + + send(Pid, LocalFileName, RemotFileName) -> +- call(Pid, {send, LocalFileName, RemotFileName}, atom). ++ case is_name_sane(RemotFileName) of ++ true -> ++ call(Pid, {send, LocalFileName, RemotFileName}, atom); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -541,7 +611,12 @@ send(Pid, LocalFileName, RemotFileName) -> + shortage_reason()}. + + send_bin(Pid, Bin, RemoteFile) when is_binary(Bin) -> +- call(Pid, {send_bin, Bin, RemoteFile}, atom); ++ case is_name_sane(RemoteFile) of ++ true -> ++ call(Pid, {send_bin, Bin, RemoteFile}, atom); ++ _ -> ++ {error, efnamena} ++ end; + send_bin(_Pid, _Bin, _RemoteFile) -> + {error, enotbinary}. + +@@ -559,7 +634,12 @@ send_bin(_Pid, _Bin, _RemoteFile) -> + 'ok' | {'error', Reason :: restriction_reason() | common_reason()}. + + send_chunk_start(Pid, RemoteFile) -> +- call(Pid, {send_chunk_start, RemoteFile}, atom). ++ case is_name_sane(RemoteFile) of ++ true -> ++ call(Pid, {send_chunk_start, RemoteFile}, atom); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -575,7 +655,12 @@ send_chunk_start(Pid, RemoteFile) -> + 'ok' | {'error', Reason :: term()}. + + append_chunk_start(Pid, RemoteFile) -> +- call(Pid, {append_chunk_start, RemoteFile}, atom). ++ case is_name_sane(RemoteFile) of ++ true -> ++ call(Pid, {append_chunk_start, RemoteFile}, atom); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -683,7 +768,12 @@ append(Pid, LocalFileName) -> + 'ok' | {'error', Reason :: term()}. + + append(Pid, LocalFileName, RemotFileName) -> +- call(Pid, {append, LocalFileName, RemotFileName}, atom). ++ case is_name_sane(RemotFileName) of ++ true -> ++ call(Pid, {append, LocalFileName, RemotFileName}, atom); ++ _ -> ++ {error, efnamena} ++ end. + + + %%-------------------------------------------------------------------------- +@@ -705,7 +795,12 @@ append(Pid, LocalFileName, RemotFileName) -> + shortage_reason()}. + + append_bin(Pid, Bin, RemoteFile) when is_binary(Bin) -> +- call(Pid, {append_bin, Bin, RemoteFile}, atom); ++ case is_name_sane(RemoteFile) of ++ true -> ++ call(Pid, {append_bin, Bin, RemoteFile}, atom); ++ _ -> ++ {error, efnamena} ++ end; + append_bin(_Pid, _Bin, _RemoteFile) -> + {error, enotbinary}. + +@@ -2302,6 +2397,15 @@ send_bin(State, Bin) -> + mk_cmd(Fmt, Args) -> + [io_lib:format(Fmt, Args)| [?CR, ?LF]]. % Deep list ok. + ++is_name_sane([]) -> ++ true; ++is_name_sane([?CR| _]) -> ++ false; ++is_name_sane([?LF| _]) -> ++ false; ++is_name_sane([_| Rest]) -> ++ is_name_sane(Rest). ++ + pwd_result(Lines) -> + {_, [?DOUBLE_QUOTE | Rest]} = + lists:splitwith(fun(?DOUBLE_QUOTE) -> false; (_) -> true end, Lines), +diff --git a/lib/inets/test/ftp_suite_lib.erl b/lib/inets/test/ftp_suite_lib.erl +index 35f21cc..daee1bd 100644 +--- a/lib/inets/test/ftp_suite_lib.erl ++++ b/lib/inets/test/ftp_suite_lib.erl +@@ -1266,6 +1266,8 @@ read_log_6035([]) -> + %%-------------------------------------------------------------------- + do_user(Pid) -> + {error, euser} = ftp:user(Pid, ?BAD_USER, ?FTP_PASS), ++ {error, euser} = ftp:user(Pid, ?FTP_USER++"\r\nPASS "++?FTP_PASS, ?FTP_PASS), ++ {error, euser} = ftp:user(Pid, ?FTP_USER, ?FTP_PASS++"\r\nCWD ."), + ok = ftp:user(Pid, ?FTP_USER, ?FTP_PASS), + ok. + +@@ -1278,6 +1280,7 @@ do_pwd(Pid) -> + do_cd(Pid) -> + ok = ftp:cd(Pid, "/pub"), + {error, epath} = ftp:cd(Pid, ?BAD_DIR), ++ {error, efnamena} = ftp:cd(Pid, "/pub\r\nCWD ."), + ok. + + do_lcd(Pid, Dir) -> +@@ -1294,11 +1297,14 @@ do_ls(Pid) -> + %% directory, but can also be a filename or a group + %% of files (including wildcards). + {ok, _} = ftp:ls(Pid, "incom*"), ++ %% but \r\n can't be in the wildcard ++ {error, efnamena} = ftp:ls(Pid, "incoming\r\nCWD ."), + ok. + + do_nlist(Pid, WildcardSupport) -> + {ok, _} = ftp:nlist(Pid), + {ok, _} = ftp:nlist(Pid, "incoming"), ++ {error, efnamena} = ftp:ls(Pid, "incoming\r\nCWD ."), + %% neither nlist nor ls operates on a directory + %% they operate on a pathname, which *can* be a + %% directory, but can also be a filename or a group +@@ -1324,6 +1330,8 @@ do_rename(Pid, Config) -> + ftp:delete(Pid, NewLFile), % reset + ok = ftp:send(Pid, LFile), + {error, epath} = ftp:rename(Pid, NewLFile, LFile), ++ {error, efnamena} = ftp:rename(Pid, NewLFile++"\r\nRNTO "++LFile++"\r\nRNFR "++NewLFile, LFile), ++ {error, efnamena} = ftp:rename(Pid, NewLFile, LFile++"\r\nCWD ."), + ok = ftp:rename(Pid, LFile, NewLFile), + ftp:delete(Pid, LFile), % cleanup + ftp:delete(Pid, NewLFile), % cleanup +@@ -1338,6 +1346,7 @@ do_delete(Pid, Config) -> + ok = ftp:cd(Pid, "incoming"), + ok = ftp:lcd(Pid, PrivDir), + ftp:delete(Pid,LFile), % reset ++ {error, efnamena} = ftp:delete(Pid,LFile++"\r\nCWD ."), + ok = ftp:send(Pid, LFile), + ok = ftp:delete(Pid,LFile), + ok. +@@ -1348,6 +1357,8 @@ do_mkdir(Pid) -> + integer_to_list(B) ++ "_" ++ integer_to_list(C), + ok = ftp:cd(Pid, "incoming"), + {ok, CurrDir} = ftp:pwd(Pid), ++ {error, efnamena} = ftp:mkdir(Pid, NewDir++"\r\nCWD ."), ++ {error, efnamena} = ftp:rmdir(Pid, NewDir++"\r\nCWD ."), + ok = ftp:mkdir(Pid, NewDir), + ok = ftp:cd(Pid, NewDir), + ok = ftp:cd(Pid, CurrDir), +@@ -1363,6 +1374,7 @@ do_send(Pid, Config) -> + ok = file:write_file(AbsLFile, list_to_binary(Contents)), + ok = ftp:cd(Pid, "incoming"), + ok = ftp:lcd(Pid, PrivDir), ++ {error, efnamena} = ftp:send(Pid, LFile, RFile++"1\r\nCWD ."), + ok = ftp:send(Pid, LFile, RFile), + {ok, RFilesString} = ftp:nlist(Pid), + RFiles = split(RFilesString), +@@ -1392,6 +1404,7 @@ do_append(Pid, Config) -> + ftp:delete(Pid, RFile), + ftp:delete(Pid, LFile), + ++ {error, efnamena} = ftp:append(Pid, LFile, RFile++"1\r\nCWD ."), + ok = ftp:append(Pid, LFile, RFile), + ok = ftp:append(Pid, LFile, RFile), + ok = ftp:append(Pid, LFile), +@@ -1413,6 +1426,7 @@ do_send_bin(Pid, Config) -> + Bin = list_to_binary(Contents), + ok = ftp:cd(Pid, "incoming"), + {error, enotbinary} = ftp:send_bin(Pid, Contents, File), ++ {error, efnamena} = ftp:send_bin(Pid, Bin, File++"1\r\nCWD ."), + ok = ftp:send_bin(Pid, Bin, File), + {ok, RFilesString} = ftp:nlist(Pid), + RFiles = split(RFilesString), +@@ -1426,6 +1440,7 @@ do_append_bin(Pid, Config) -> + Bin = list_to_binary(Contents), + ok = ftp:cd(Pid, "incoming"), + {error, enotbinary} = ftp:append_bin(Pid, Contents, File), ++ {error, efnamena} = ftp:append_bin(Pid, Bin, File++"1\r\nCWD ."), + ok = ftp:append_bin(Pid, Bin, File), + ok = ftp:append_bin(Pid, Bin, File), + %% Control the contents of the file +@@ -1438,6 +1453,7 @@ do_send_chunk(Pid, Config) -> + Contents = "ftp_SUITE test ...", + Bin = list_to_binary(Contents), + ok = ftp:cd(Pid, "incoming"), ++ {error, efnamena} = ftp:send_chunk_start(Pid, File++"1\r\nCWD ."), + ok = ftp:send_chunk_start(Pid, File), + {error, echunk} = ftp:cd(Pid, "incoming"), + {error, enotbinary} = ftp:send_chunk(Pid, Contents), +@@ -1454,6 +1470,7 @@ do_append_chunk(Pid, Config) -> + File = ?config(file, Config), + Contents = ["ER","LE","RL"], + ok = ftp:cd(Pid, "incoming"), ++ {error, efnamena} = ftp:append_chunk_start(Pid, File++"1\r\nCWD ."), + ok = ftp:append_chunk_start(Pid, File), + {error, enotbinary} = ftp:append_chunk(Pid, lists:nth(1,Contents)), + ok = ftp:append_chunk(Pid,list_to_binary(lists:nth(1,Contents))), +@@ -1480,6 +1497,7 @@ do_recv(Pid, Config) -> + ok = file:delete(AbsFile), % cleanup + test_server:sleep(100), + ok = ftp:lcd(Pid, PrivDir), ++ {error, efnamena} = ftp:recv(Pid, File++"\r\nCWD ."), + ok = ftp:recv(Pid, File), + {ok, Files} = file:list_dir(PrivDir), + true = lists:member(File, Files), +@@ -1495,6 +1513,7 @@ do_recv_bin(Pid, Config) -> + ok = ftp:cd(Pid, "incoming"), + ok = ftp:send_bin(Pid, Bin1, File), + test_server:sleep(100), ++ {error, efnamena} = ftp:recv_bin(Pid, File++"\r\nCWD ."), + {ok, Bin2} = ftp:recv_bin(Pid, File), + ok = ftp:delete(Pid, File), % cleanup + Contents2 = binary_to_list(Bin2), +@@ -1520,6 +1539,7 @@ do_recv_chunk(Pid, Config) -> + ok = ftp:send_bin(Pid, Bin1, File), + test_server:sleep(100), + {error, "ftp:recv_chunk_start/2 not called"} = recv_chunk(Pid, <<>>), ++ {error, efnamena} = ftp:recv_chunk_start(Pid, File++"\r\nCWD ."), + ok = ftp:recv_chunk_start(Pid, File), + {ok, Contents2} = recv_chunk(Pid, <<>>), + ok = ftp:delete(Pid, File), % cleanup diff --git a/otp-0018-Introduce-os-getenv-2.patch b/otp-0018-Introduce-os-getenv-2.patch new file mode 100644 index 0000000..7ee1429 --- /dev/null +++ b/otp-0018-Introduce-os-getenv-2.patch @@ -0,0 +1,63 @@ +From: Peter Lemenkov +Date: Sat, 8 Nov 2014 15:11:04 +0300 +Subject: [PATCH] Introduce os:getenv/2 + +Signed-off-by: Peter Lemenkov + +diff --git a/lib/kernel/doc/src/os.xml b/lib/kernel/doc/src/os.xml +index 9122267..7ec1f8e 100644 +--- a/lib/kernel/doc/src/os.xml ++++ b/lib/kernel/doc/src/os.xml +@@ -100,6 +100,19 @@ DirOut = os:cmd("dir"), % on Win32 platform + + + ++ ++ Get the value of an environment variable ++ ++

Returns the Value of the environment variable ++ VarName, or DefaultValue if the environment variable ++ is undefined.

++

If Unicode file name encoding is in effect (see the erl manual ++ page), the strings (both VarName and ++ Value) may contain characters with codepoints > 255.

++
++
++ + + Return the process identifier of the emulator process + +diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl +index 9415593..d5ef994 100644 +--- a/lib/kernel/src/os.erl ++++ b/lib/kernel/src/os.erl +@@ -26,7 +26,7 @@ + + %%% BIFs + +--export([getenv/0, getenv/1, getpid/0, putenv/2, timestamp/0, unsetenv/1]). ++-export([getenv/0, getenv/1, getenv/2, getpid/0, putenv/2, timestamp/0, unsetenv/1]). + + -spec getenv() -> [string()]. + +@@ -39,6 +39,19 @@ getenv() -> erlang:nif_error(undef). + getenv(_) -> + erlang:nif_error(undef). + ++-spec getenv(VarName, DefaultValue) -> Value when ++ VarName :: string(), ++ DefaultValue :: string(), ++ Value :: string(). ++ ++getenv(VarName, DefaultValue) -> ++ case os:getenv(VarName) of ++ false -> ++ DefaultValue; ++ Value -> ++ Value ++ end. ++ + -spec getpid() -> Value when + Value :: string(). + diff --git a/otp-0019-Patch-removes-support-for-SSLv3-protocol-because-it-.patch b/otp-0019-Patch-removes-support-for-SSLv3-protocol-because-it-.patch new file mode 100644 index 0000000..359c011 --- /dev/null +++ b/otp-0019-Patch-removes-support-for-SSLv3-protocol-because-it-.patch @@ -0,0 +1,99 @@ +From: Sergei Golovan +Date: Sun, 30 Nov 2014 20:20:41 +0300 +Subject: [PATCH] Patch removes support for SSLv3 protocol because it is proved + to be insecure and nobody should use it anymore. + + +diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml +index 1d74faf..912acc2 100644 +--- a/lib/ssl/doc/src/ssl.xml ++++ b/lib/ssl/doc/src/ssl.xml +@@ -123,7 +123,7 @@ + +

sslsocket() - opaque to the user.

+ +-

protocol() = sslv3 | tlsv1 | 'tlsv1.1' | 'tlsv1.2'

++

protocol() = tlsv1 | 'tlsv1.1' | 'tlsv1.2'

+ +

ciphers() = [ciphersuite()] | string() (according to old API)

+ +diff --git a/lib/ssl/doc/src/ssl_app.xml b/lib/ssl/doc/src/ssl_app.xml +index 0ee5b23..c65f8a3 100644 +--- a/lib/ssl/doc/src/ssl_app.xml ++++ b/lib/ssl/doc/src/ssl_app.xml +@@ -47,10 +47,10 @@ +

+

Note that the environment parameters can be set on the command line, + for instance,

+-

erl ... -ssl protocol_version '[sslv3, tlsv1]' .... ++

erl ... -ssl protocol_version '[tlsv1.1, tlsv1]' .... +

+ +- ]]>. ++ ]]>. + +

Protocol that will be supported by started clients and + servers. If this option is not set it will default to all +@@ -58,6 +58,9 @@ + Note that this option may be overridden by the version option + to ssl:connect/[2,3] and ssl:listen/2. +

++

For Debian GNU/Linux distribution the sslv3 protocol was ++ disabled due to its security issues. ++

+
+ + ]]> +diff --git a/lib/ssl/src/ssl_internal.hrl b/lib/ssl/src/ssl_internal.hrl +index 0186f9f..6f84830 100644 +--- a/lib/ssl/src/ssl_internal.hrl ++++ b/lib/ssl/src/ssl_internal.hrl +@@ -67,8 +67,8 @@ + -define(TRUE, 0). + -define(FALSE, 1). + +--define(ALL_SUPPORTED_VERSIONS, ['tlsv1.2', 'tlsv1.1', tlsv1, sslv3]). +--define(MIN_SUPPORTED_VERSIONS, ['tlsv1.1', tlsv1, sslv3]). ++-define(ALL_SUPPORTED_VERSIONS, ['tlsv1.2', 'tlsv1.1', tlsv1]). ++-define(MIN_SUPPORTED_VERSIONS, ['tlsv1.1', tlsv1]). + -define(ALL_DATAGRAM_SUPPORTED_VERSIONS, ['dtlsv1.2', dtlsv1]). + -define(MIN_DATAGRAM_SUPPORTED_VERSIONS, ['dtlsv1.2', dtlsv1]). + +diff --git a/lib/ssl/src/ssl_record.hrl b/lib/ssl/src/ssl_record.hrl +index c17fa53..f4be9be 100644 +--- a/lib/ssl/src/ssl_record.hrl ++++ b/lib/ssl/src/ssl_record.hrl +@@ -144,6 +144,7 @@ + %% }). + + -define(LOWEST_MAJOR_SUPPORTED_VERSION, 3). ++-define(LOWEST_MINOR_SUPPORTED_VERSION, 1). + + + -record(generic_stream_cipher, { +diff --git a/lib/ssl/src/tls_record.erl b/lib/ssl/src/tls_record.erl +index 8810755..3c5c7e9 100644 +--- a/lib/ssl/src/tls_record.erl ++++ b/lib/ssl/src/tls_record.erl +@@ -269,13 +269,19 @@ supported_protocol_versions([_|_] = Vsns) -> + %% + %%-------------------------------------------------------------------- + is_acceptable_version({N,_}) +- when N >= ?LOWEST_MAJOR_SUPPORTED_VERSION -> ++ when N > ?LOWEST_MAJOR_SUPPORTED_VERSION -> ++ true; ++is_acceptable_version({N,M}) ++ when N == ?LOWEST_MAJOR_SUPPORTED_VERSION andalso M >= ?LOWEST_MINOR_SUPPORTED_VERSION -> + true; + is_acceptable_version(_) -> + false. + + is_acceptable_version({N,_} = Version, Versions) +- when N >= ?LOWEST_MAJOR_SUPPORTED_VERSION -> ++ when N > ?LOWEST_MAJOR_SUPPORTED_VERSION -> ++ lists:member(Version, Versions); ++is_acceptable_version({N,M} = Version, Versions) ++ when N == ?LOWEST_MAJOR_SUPPORTED_VERSION andalso M >= ?LOWEST_MINOR_SUPPORTED_VERSION -> + lists:member(Version, Versions); + is_acceptable_version(_,_) -> + false. diff --git a/otp-get-patches.sh b/otp-get-patches.sh new file mode 100755 index 0000000..033db0e --- /dev/null +++ b/otp-get-patches.sh @@ -0,0 +1,93 @@ +#!/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 +# # start of autogenerated prep patch list +# # end of autogenerated prep patch list +# +# The following special comment lines in the git commit messages +# will be interpreted: +# +# Fedora-Spec-Comment: This patch only applies to EL6 builds +# Fedora-Spec-Before: %if 0%?el6} +# Fedora-Spec-After: %endif +# +# If there is no "Fedora-Spec-Comment:" line, we will use +# "Fedora specific patch". + +# 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" +echo "# start of autogenerated prep patch list" > "$tmpdir/patch-list-prep.txt" +n=1 +while read patch +do + otppatch="$(dirname "$patch")/otp-$(basename "$patch")" + ${SED-sed} -e '1d' -e '/^-- $/,$d' "$patch" > "$otppatch" + rm -f "$patch" + comment="$(sed -n 's/^Fedora-Spec-Comment:\s*//p' "$otppatch")" + if test "x$comment" = "x"; then comment="Fedora specific patch"; fi + echo "# ${comment}" >> "$tmpdir/patch-list-tags.txt" + echo "# $(sed -n 's/^Subject: \[PATCH\] //p' "$otppatch")" >> "$tmpdir/patch-list-tags.txt" + echo "Patch$n: $(basename "$otppatch")" >> "$tmpdir/patch-list-tags.txt" + base="$(basename "$patch" ".patch" | sed 's/^00[0-9][0-9]-//')" + backupext=".$(echo -n "$base" | tr -c -s '[:alnum:]' '_')" + sed -n 's/^Fedora-Spec-Before:\s*//p' "$otppatch" >> "$tmpdir/patch-list-prep.txt" + echo "%patch$n -p1 -b ${backupext}" >> "$tmpdir/patch-list-prep.txt" + sed -n 's/^Fedora-Spec-After:\s*//p' "$otppatch" >> "$tmpdir/patch-list-prep.txt" + n=$(($n + 1)) +done < "$tmpdir/patch-list.txt" +echo "# end of autogenerated patch tag list" >> "$tmpdir/patch-list-tags.txt" +echo "# end of autogenerated prep patch list" >> "$tmpdir/patch-list-prep.txt" + +# Create updated spec file +specfile="erlang.spec" +newspec1="${tmpdir}/${specfile}.new1" +newspec2="${tmpdir}/${specfile}.new2" +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" +sed '/^# start of autogenerated prep patch list$/,$d' "$newspec1" > "$newspec2" +cat "$tmpdir/patch-list-prep.txt" >> "$newspec2" +sed '1,/^# end of autogenerated prep patch list/d' "$newspec1" >> "$newspec2" + +# 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 "$newspec2" "$specfile" +git add "$specfile" + +rm -rf "$tmpdir" +# End of file. diff --git a/sources b/sources new file mode 100644 index 0000000..aa69160 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +e5ece977375197338c1b93b3d88514f8 otp_src_R16B03-1.tar.gz