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