Ver. 20.2.3
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
This commit is contained in:
parent
d54e49b290
commit
e5d275e412
125
erlang.spec
125
erlang.spec
@ -22,7 +22,6 @@
|
||||
%global __with_emacs 1
|
||||
%global __with_examples 1
|
||||
%global __with_java 1
|
||||
%global __with_tcltk 1
|
||||
#
|
||||
# wxWidgets plugin blocks the following ones:
|
||||
#
|
||||
@ -37,10 +36,6 @@
|
||||
# * common_test
|
||||
# * megaco
|
||||
#
|
||||
# dialyzer blocks:
|
||||
#
|
||||
# * typer
|
||||
#
|
||||
# et blocks:
|
||||
#
|
||||
# * megaco
|
||||
@ -58,15 +53,14 @@
|
||||
# megaco
|
||||
# observer
|
||||
# reltool (*)
|
||||
# typer
|
||||
# wx
|
||||
#
|
||||
%global __with_wxwidgets 1
|
||||
|
||||
|
||||
Name: erlang
|
||||
Version: 19.3.6.5
|
||||
Release: 2%{?dist}
|
||||
Version: 20.2.3
|
||||
Release: 1%{?dist}
|
||||
Summary: General-purpose programming language and runtime environment
|
||||
|
||||
Group: Development/Languages
|
||||
@ -104,9 +98,8 @@ Patch3: otp-0003-Do-not-install-C-sources.patch
|
||||
Patch4: otp-0004-Do-not-install-Java-sources.patch
|
||||
Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
|
||||
Patch6: otp-0006-Do-not-install-erlang-sources.patch
|
||||
Patch7: otp-0007-Fix-CVE-2016-10253.patch
|
||||
Patch8: otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch
|
||||
Patch9: otp-0009-Add-extra-search-directory.patch
|
||||
Patch7: otp-0007-Fix-erl_epmd-port_please-when-using-IPv6.patch
|
||||
Patch8: otp-0008-Add-extra-search-directory.patch
|
||||
# end of autogenerated patch tag list
|
||||
|
||||
BuildRequires: flex
|
||||
@ -158,9 +151,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-et%{?_isa} = %{version}-%{release}
|
||||
%endif %{__with_wxwidgets}
|
||||
Requires: %{name}-eunit%{?_isa} = %{version}-%{release}
|
||||
%if %{__with_tcltk}
|
||||
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
|
||||
%endif %{__with_tcltk}
|
||||
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
|
||||
%if %{__with_java}
|
||||
Requires: %{name}-ic%{?_isa} = %{version}-%{release}
|
||||
@ -182,7 +172,6 @@ Requires: %{name}-orber%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-os_mon%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-parsetools%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-percept%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
|
||||
%if %{__with_wxwidgets}
|
||||
Requires: %{name}-reltool%{?_isa} = %{version}-%{release}
|
||||
@ -196,9 +185,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
|
||||
%if %{__with_wxwidgets}
|
||||
Requires: %{name}-typer%{?_isa} = %{version}-%{release}
|
||||
%endif %{__with_wxwidgets}
|
||||
%if %{__with_wxwidgets}
|
||||
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
|
||||
%endif %{__with_wxwidgets}
|
||||
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
|
||||
@ -380,6 +366,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
|
||||
Requires: graphviz
|
||||
Obsoletes: erlang-typer
|
||||
|
||||
%description dialyzer
|
||||
A DIscrepancy AnaLYZer for ERlang programs.
|
||||
@ -472,12 +459,14 @@ Requires: lksctp-tools
|
||||
Provides: erlang(erl_drv_version) = 3.3
|
||||
# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
|
||||
#Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
|
||||
Provides: erlang(erl_nif_version) = 2.11
|
||||
Provides: erlang(erl_nif_version) = 2.13
|
||||
Provides: bundled(pcre) = 8.33
|
||||
Obsoletes: erlang-appmon
|
||||
Obsoletes: erlang-docbuilder
|
||||
Obsoletes: erlang-gs
|
||||
Obsoletes: erlang-inviso
|
||||
Obsoletes: erlang-ose
|
||||
Obsoletes: erlang-percept
|
||||
Obsoletes: erlang-pman
|
||||
Obsoletes: erlang-toolbar
|
||||
Obsoletes: erlang-tv
|
||||
@ -515,9 +504,6 @@ Support for unit testing.
|
||||
Summary: Examples for some Erlang modules
|
||||
Group: Development/Languages
|
||||
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
|
||||
%if %{__with_tcltk}
|
||||
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
|
||||
%endif %{__with_tcltk}
|
||||
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
|
||||
@ -528,21 +514,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
|
||||
Examples for some Erlang modules.
|
||||
%endif %{__with_examples}
|
||||
|
||||
%if %{__with_tcltk}
|
||||
%package gs
|
||||
Summary: A library for Tcl/Tk support in Erlang
|
||||
Group: Development/Languages
|
||||
BuildRequires: tcl-devel
|
||||
BuildRequires: tk-devel
|
||||
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
|
||||
Requires: tk
|
||||
|
||||
%description gs
|
||||
A Graphics System used to write platform independent user interfaces.
|
||||
%endif %{__with_tcltk}
|
||||
|
||||
%package hipe
|
||||
Summary: High Performance Erlang
|
||||
Group: Development/Languages
|
||||
@ -708,18 +679,6 @@ 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.
|
||||
|
||||
%package public_key
|
||||
Summary: API to public key infrastructure
|
||||
Group: Development/Languages
|
||||
@ -865,21 +824,6 @@ Obsoletes: xemacs-erlang-el
|
||||
%description tools
|
||||
A set of programming tools including a coverage analyzer etc.
|
||||
|
||||
%if %{__with_wxwidgets}
|
||||
%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.
|
||||
%endif %{__with_wxwidgets}
|
||||
|
||||
%if %{__with_wxwidgets}
|
||||
%package wx
|
||||
Summary: A library for wxWidgets support in Erlang
|
||||
@ -934,11 +878,6 @@ CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --
|
||||
%else
|
||||
--without-jinterface \
|
||||
%endif %{__with_java}
|
||||
%if %{__with_tcltk}
|
||||
\
|
||||
%else
|
||||
--without-gs \
|
||||
%endif %{__with_tcltk}
|
||||
%if %{__with_wxwidgets}
|
||||
--with-wx-config=/usr/bin/wx-config-3.0
|
||||
%else
|
||||
@ -949,7 +888,6 @@ CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --
|
||||
--without-megaco \
|
||||
--without-observer \
|
||||
--without-reltool \
|
||||
--without-typer \
|
||||
--without-wx
|
||||
%endif %{__with_wxwidgets}
|
||||
|
||||
@ -1126,6 +1064,7 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket
|
||||
echo "No need to fix additional scripts"
|
||||
%else
|
||||
# FIXME workaround for broken Erlang install procedure
|
||||
echo "Removing scripts which won't work w/o wxWidgets anyway"
|
||||
for exe in ct_run dialyzer typer
|
||||
do
|
||||
rm -f $RPM_BUILD_ROOT/%{_bindir}/${exe}
|
||||
@ -1172,7 +1111,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
|
||||
%{_libdir}/erlang/lib/asn1-*/src
|
||||
%if %{with doc}
|
||||
%{_libdir}/erlang/man/man3/asn1ct.*
|
||||
%{_libdir}/erlang/man/man3/asn1rt.*
|
||||
%endif
|
||||
|
||||
%if %{__with_wxwidgets}
|
||||
@ -1345,11 +1283,16 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
|
||||
%if %{__with_wxwidgets}
|
||||
%files dialyzer
|
||||
%{_bindir}/dialyzer
|
||||
# FIXME FIXME FIXME this must be installed properly!!!!!!
|
||||
#%%{_bindir}/typer
|
||||
%{_libdir}/erlang/bin/dialyzer
|
||||
%{_libdir}/erlang/bin/typer
|
||||
%{_libdir}/erlang/erts-*/bin/dialyzer
|
||||
%{_libdir}/erlang/erts-*/bin/typer
|
||||
%{_libdir}/erlang/lib/dialyzer-*/
|
||||
%if %{with doc}
|
||||
%{_libdir}/erlang/man/man3/dialyzer.*
|
||||
%{_libdir}/erlang/man/man3/typer.*
|
||||
%endif
|
||||
%endif %{__with_wxwidgets}
|
||||
|
||||
@ -1457,7 +1400,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
|
||||
%{_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/dyn_erl
|
||||
%{_libdir}/erlang/erts-*/bin/epmd
|
||||
@ -1537,9 +1479,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
|
||||
%{_libdir}/erlang/lib/et-*/examples/
|
||||
%endif %{__with_wxwidgets}
|
||||
%{_libdir}/erlang/lib/eunit-*/examples/
|
||||
%if %{__with_tcltk}
|
||||
%{_libdir}/erlang/lib/gs-*/examples/
|
||||
%endif %{__with_tcltk}
|
||||
%if %{__with_java}
|
||||
%{_libdir}/erlang/lib/ic-*/examples/
|
||||
%endif %{__with_java}
|
||||
@ -1566,17 +1505,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
|
||||
%endif %{__with_wxwidgets}
|
||||
%endif %{__with_examples}
|
||||
|
||||
%if %{__with_tcltk}
|
||||
%files gs
|
||||
%dir %{_libdir}/erlang/lib/gs-*/
|
||||
%{_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 %{__with_tcltk}
|
||||
|
||||
%files hipe
|
||||
%{_libdir}/erlang/lib/hipe-*/
|
||||
|
||||
@ -1775,14 +1703,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
|
||||
%{_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
|
||||
|
||||
%files public_key
|
||||
%{_libdir}/erlang/lib/public_key-*/
|
||||
%if %{with doc}
|
||||
@ -2039,16 +1959,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
|
||||
%{_xemacs_sitestartdir}/erlang-init.el
|
||||
%endif %{__with_emacs}
|
||||
|
||||
|
||||
%if %{__with_wxwidgets}
|
||||
%files typer
|
||||
%{_bindir}/typer
|
||||
%{_libdir}/erlang/bin/typer
|
||||
%{_libdir}/erlang/erts-*/bin/typer
|
||||
%dir %{_libdir}/erlang/lib/typer-*/
|
||||
%{_libdir}/erlang/lib/typer-*/ebin/
|
||||
%endif %{__with_wxwidgets}
|
||||
|
||||
%if %{__with_wxwidgets}
|
||||
%files wx
|
||||
%dir %{_libdir}/erlang/lib/wx-*/
|
||||
@ -2304,6 +2214,12 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Feb 20 2018 Peter Lemenkov <lemenkov@gmail.com> - 20.2.3-1
|
||||
- Ver. 20.2.3
|
||||
- Removed gs (also removed tcl/tk dependency), percept
|
||||
- Application typer was merged into dialyzer
|
||||
- NIF version bumped up to 2.13
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 19.3.6.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
@ -2340,6 +2256,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
|
||||
- Ver. 19.3.4
|
||||
- Require javapackages-tools (/use/share/java)
|
||||
- Use /dev/null as a homedir for EPMD (its shell is /sbin/nologin anyway)
|
||||
- Removed beam appilciation (non-SMP VM).
|
||||
|
||||
* Tue May 2 2017 Peter Lemenkov <lemenkov@gmail.com> - 19.3.3-1
|
||||
- Ver. 19.3.3
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous
|
||||
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
||||
|
||||
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
|
||||
index cb053a1b7c..024307b9c9 100644
|
||||
index 5b1b9119ce..02535a78bc 100644
|
||||
--- a/erts/etc/common/Makefile.in
|
||||
+++ b/erts/etc/common/Makefile.in
|
||||
@@ -492,10 +492,6 @@ endif
|
||||
@@ -495,10 +495,6 @@ endif
|
||||
ifneq ($(INSTALL_TOP_BIN),)
|
||||
$(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)"
|
||||
endif
|
||||
@ -21,7 +21,7 @@ index cb053a1b7c..024307b9c9 100644
|
||||
$(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src"
|
||||
$(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src"
|
||||
diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src
|
||||
index e71308edbe..ae2c9cf251 100644
|
||||
index e4b842877c..382561821f 100644
|
||||
--- a/erts/etc/unix/Install.src
|
||||
+++ b/erts/etc/unix/Install.src
|
||||
@@ -141,14 +141,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Remove rpath
|
||||
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
||||
|
||||
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
|
||||
index c62f25b3ee..bb28704c1e 100644
|
||||
index 31124ba477..a4a6c158cc 100644
|
||||
--- a/lib/crypto/c_src/Makefile.in
|
||||
+++ b/lib/crypto/c_src/Makefile.in
|
||||
@@ -90,7 +90,7 @@ endif
|
||||
@@ -96,7 +96,7 @@ endif
|
||||
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
|
||||
|
||||
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
|
||||
|
@ -27,10 +27,10 @@ index 1f714df357..95835d6ed2 100644
|
||||
release_docs_spec:
|
||||
|
||||
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
|
||||
index bb28704c1e..165a2e0cd5 100644
|
||||
index a4a6c158cc..2a7532a399 100644
|
||||
--- a/lib/crypto/c_src/Makefile.in
|
||||
+++ b/lib/crypto/c_src/Makefile.in
|
||||
@@ -195,13 +195,9 @@ docs:
|
||||
@@ -216,13 +216,9 @@ docs:
|
||||
include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
|
||||
release_spec: opt
|
||||
@ -43,9 +43,9 @@ index bb28704c1e..165a2e0cd5 100644
|
||||
- $(INSTALL_PROGRAM) $(CALLBACK_OBJS) "$(RELSYSDIR)/priv/obj"
|
||||
$(INSTALL_PROGRAM) $(CALLBACK_LIB) "$(RELSYSDIR)/priv/lib"
|
||||
endif
|
||||
|
||||
$(INSTALL_PROGRAM) $(TEST_ENGINE_OBJS) "$(RELSYSDIR)/priv/obj"
|
||||
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
|
||||
index 4f393e952c..a9a7f7cc79 100644
|
||||
index 69b5b6003d..ba9a0e74b8 100644
|
||||
--- a/lib/erl_interface/src/Makefile.in
|
||||
+++ b/lib/erl_interface/src/Makefile.in
|
||||
@@ -842,14 +842,14 @@ ifneq ($(EXE_TARGETS),)
|
||||
|
@ -18,7 +18,7 @@ index 21c38e54b5..eeba2e4eae 100644
|
||||
$(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 e55cfa62ea..5e3a0a5274 100644
|
||||
index 001acfdd2e..35b2eb3446 100644
|
||||
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
|
||||
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
|
||||
@@ -120,8 +120,6 @@ release release_docs release_tests release_html:
|
||||
|
@ -6,7 +6,7 @@ Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32
|
||||
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
||||
|
||||
diff --git a/lib/os_mon/doc/src/Makefile b/lib/os_mon/doc/src/Makefile
|
||||
index 91c7ae7bc3..dc7bcf3686 100644
|
||||
index 4aa8879a91..46dfde42f1 100644
|
||||
--- a/lib/os_mon/doc/src/Makefile
|
||||
+++ b/lib/os_mon/doc/src/Makefile
|
||||
@@ -36,12 +36,17 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
|
||||
@ -26,10 +26,10 @@ index 91c7ae7bc3..dc7bcf3686 100644
|
||||
- nteventlog.xml
|
||||
+ $(NTEVENTLOG_DOCFILE)
|
||||
|
||||
XML_REF6_FILES = os_mon_app.xml
|
||||
XML_REF6_FILES = os_mon_app.xml
|
||||
|
||||
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
|
||||
index 3ff63204c6..29b53a8188 100644
|
||||
index fc2eb22393..e2f4d5a090 100644
|
||||
--- a/lib/os_mon/src/Makefile
|
||||
+++ b/lib/os_mon/src/Makefile
|
||||
@@ -34,8 +34,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN)
|
||||
|
@ -8,7 +8,7 @@ Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
||||
Signed-off-by: Hans Ulrich Niedermann <hun@n-dimensional.de>
|
||||
|
||||
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
|
||||
index 2ab9edaf5e..9b8ed35d1a 100644
|
||||
index edb9f35258..6ee4ac2251 100644
|
||||
--- a/erts/preloaded/src/Makefile
|
||||
+++ b/erts/preloaded/src/Makefile
|
||||
@@ -90,8 +90,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
|
||||
@ -21,10 +21,10 @@ index 2ab9edaf5e..9b8ed35d1a 100644
|
||||
$(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
|
||||
|
||||
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
|
||||
index 38cf2d496a..d4bb3982d2 100644
|
||||
index ba459f6cd3..5565126214 100644
|
||||
--- a/lib/asn1/src/Makefile
|
||||
+++ b/lib/asn1/src/Makefile
|
||||
@@ -155,7 +155,7 @@ release_spec: opt
|
||||
@@ -154,7 +154,7 @@ release_spec: opt
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
|
||||
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/src"
|
||||
@ -63,7 +63,7 @@ index f015064b39..57f96d2929 100644
|
||||
$(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server"
|
||||
|
||||
diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile
|
||||
index 518c89d044..1bcd19cff7 100644
|
||||
index ef6db66ff6..4c9be713aa 100644
|
||||
--- a/lib/compiler/src/Makefile
|
||||
+++ b/lib/compiler/src/Makefile
|
||||
@@ -174,8 +174,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@ -174,10 +174,10 @@ index 4cc1e487c2..084f0a7230 100644
|
||||
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
|
||||
|
||||
diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile
|
||||
index 456b8be64d..fcfa8def89 100644
|
||||
index edad0e6b61..00a30c010f 100644
|
||||
--- a/lib/crypto/src/Makefile
|
||||
+++ b/lib/crypto/src/Makefile
|
||||
@@ -82,8 +82,6 @@ docs:
|
||||
@@ -81,8 +81,6 @@ docs:
|
||||
include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
|
||||
release_spec: opt
|
||||
@ -187,7 +187,7 @@ index 456b8be64d..fcfa8def89 100644
|
||||
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \
|
||||
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
|
||||
diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
|
||||
index 9594a0bfe3..bc33e67e88 100644
|
||||
index 118cb6b758..86722d8767 100644
|
||||
--- a/lib/debugger/src/Makefile
|
||||
+++ b/lib/debugger/src/Makefile
|
||||
@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@ -200,10 +200,10 @@ index 9594a0bfe3..bc33e67e88 100644
|
||||
$(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
|
||||
|
||||
diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile
|
||||
index 256f20f549..2920c0f198 100644
|
||||
index fc08e7ca2f..2464a15c3f 100644
|
||||
--- a/lib/dialyzer/src/Makefile
|
||||
+++ b/lib/dialyzer/src/Makefile
|
||||
@@ -154,7 +154,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@@ -158,7 +158,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
|
||||
release_spec: opt
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/src"
|
||||
@ -213,7 +213,7 @@ index 256f20f549..2920c0f198 100644
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
|
||||
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
|
||||
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
|
||||
index 6bf748a727..962d7b75d6 100644
|
||||
index 3af856f63e..9630a89ba6 100644
|
||||
--- a/lib/diameter/src/Makefile
|
||||
+++ b/lib/diameter/src/Makefile
|
||||
@@ -251,11 +251,8 @@ release_spec: opt
|
||||
@ -231,10 +231,10 @@ index 6bf748a727..962d7b75d6 100644
|
||||
$(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%:
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/examples/$*"
|
||||
diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile
|
||||
index 4e5a4182da..c0bb0c32ec 100644
|
||||
index ea2f45dc4c..84af08eb67 100644
|
||||
--- a/lib/edoc/src/Makefile
|
||||
+++ b/lib/edoc/src/Makefile
|
||||
@@ -88,7 +88,7 @@ release_spec: opt
|
||||
@@ -87,7 +87,7 @@ release_spec: opt
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
|
||||
$(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin"
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/src"
|
||||
@ -289,7 +289,7 @@ index b6347d8b6d..a695d2cc2d 100644
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/include"
|
||||
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
|
||||
diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
|
||||
index 86a6d8831e..5732fd85f3 100644
|
||||
index 3510d3cc93..9179e9b4c2 100644
|
||||
--- a/lib/eunit/src/Makefile
|
||||
+++ b/lib/eunit/src/Makefile
|
||||
@@ -120,7 +120,6 @@ release_spec: opt
|
||||
@ -300,21 +300,6 @@ index 86a6d8831e..5732fd85f3 100644
|
||||
$(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(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 e19ce822b9..6b7c96ea68 100644
|
||||
--- a/lib/gs/src/Makefile
|
||||
+++ b/lib/gs/src/Makefile
|
||||
@@ -109,8 +109,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 9f50d6bf91..df92b84c0d 100644
|
||||
--- a/lib/hipe/cerl/Makefile
|
||||
@ -355,10 +340,10 @@ index b220bc16a0..d4073277be 100644
|
||||
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
|
||||
|
||||
diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile
|
||||
index 88016a7d8b..d8e8fa0546 100644
|
||||
index 817ff67dcd..e50ba5e207 100644
|
||||
--- a/lib/hipe/llvm/Makefile
|
||||
+++ b/lib/hipe/llvm/Makefile
|
||||
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
|
||||
release_spec: opt
|
||||
$(INSTALL_DIR) $(RELSYSDIR)/llvm
|
||||
@ -381,7 +366,7 @@ index 8ef31dbb46..80d28819f2 100644
|
||||
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
|
||||
|
||||
diff --git a/lib/hipe/misc/Makefile b/lib/hipe/misc/Makefile
|
||||
index 72cfff21a8..e55223a57d 100644
|
||||
index e5033e444b..74a444b386 100644
|
||||
--- a/lib/hipe/misc/Makefile
|
||||
+++ b/lib/hipe/misc/Makefile
|
||||
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@ -394,7 +379,7 @@ index 72cfff21a8..e55223a57d 100644
|
||||
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
|
||||
|
||||
diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile
|
||||
index b4cdf8b1f2..f9ebcaec30 100644
|
||||
index 5abc9ec049..664df3b0c6 100644
|
||||
--- a/lib/hipe/rtl/Makefile
|
||||
+++ b/lib/hipe/rtl/Makefile
|
||||
@@ -105,7 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@ -407,12 +392,12 @@ index b4cdf8b1f2..f9ebcaec30 100644
|
||||
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
|
||||
|
||||
diff --git a/lib/hipe/util/Makefile b/lib/hipe/util/Makefile
|
||||
index 66e9421c25..19517427e6 100644
|
||||
index 20b1c3bf50..40c642a441 100644
|
||||
--- a/lib/hipe/util/Makefile
|
||||
+++ b/lib/hipe/util/Makefile
|
||||
@@ -50,7 +50,6 @@ HIPE_MODULES =
|
||||
endif
|
||||
MODULES = hipe_timing hipe_dot hipe_digraph $(HIPE_MODULES)
|
||||
MODULES = hipe_timing hipe_dot hipe_digraph hipe_dsets $(HIPE_MODULES)
|
||||
|
||||
-HRL_FILES=
|
||||
ERL_FILES= $(MODULES:%=%.erl)
|
||||
@ -519,10 +504,10 @@ index 4eaa959cce..198fbf3106 100644
|
||||
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
|
||||
|
||||
diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
|
||||
index 2b72f78dcf..31eed456ff 100644
|
||||
index 5946620f0f..b8944e0a26 100644
|
||||
--- a/lib/kernel/src/Makefile
|
||||
+++ b/lib/kernel/src/Makefile
|
||||
@@ -202,7 +202,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@@ -204,7 +204,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
|
||||
release_spec: opt
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/src"
|
||||
@ -621,10 +606,10 @@ index 028a63e98e..9e11e9bfb2 100644
|
||||
|
||||
release_docs_spec:
|
||||
diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile
|
||||
index 08a00e6aba..a21ffb3801 100644
|
||||
index 7d316df263..60fdefb5d0 100644
|
||||
--- a/lib/mnesia/src/Makefile
|
||||
+++ b/lib/mnesia/src/Makefile
|
||||
@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
|
||||
release_spec: opt
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/src"
|
||||
@ -687,7 +672,7 @@ index 7fec29a000..a71b9f1227 100644
|
||||
$(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 29b53a8188..3ae2074f8c 100644
|
||||
index e2f4d5a090..57f21a145b 100644
|
||||
--- a/lib/os_mon/src/Makefile
|
||||
+++ b/lib/os_mon/src/Makefile
|
||||
@@ -105,7 +105,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@ -699,7 +684,7 @@ index 29b53a8188..3ae2074f8c 100644
|
||||
$(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 4023f50d48..864a0a53d8 100644
|
||||
index 5c7af39c3f..a85368b4f4 100644
|
||||
--- a/lib/otp_mibs/src/Makefile
|
||||
+++ b/lib/otp_mibs/src/Makefile
|
||||
@@ -96,8 +96,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
|
||||
@ -712,7 +697,7 @@ index 4023f50d48..864a0a53d8 100644
|
||||
$(INSTALL_DATA) $(TARGETS) "$(RELSYSDIR)/ebin"
|
||||
|
||||
diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile
|
||||
index dea29bee4c..655aea91ca 100644
|
||||
index ba206904ec..281cc8657c 100644
|
||||
--- a/lib/parsetools/src/Makefile
|
||||
+++ b/lib/parsetools/src/Makefile
|
||||
@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
|
||||
@ -724,18 +709,6 @@ index dea29bee4c..655aea91ca 100644
|
||||
$(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 b2ec87d08c..3153e34f7a 100644
|
||||
--- a/lib/percept/src/Makefile
|
||||
+++ b/lib/percept/src/Makefile
|
||||
@@ -97,7 +97,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/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
|
||||
index a920ea87ea..7672ef3470 100644
|
||||
--- a/lib/public_key/asn1/Makefile
|
||||
@ -778,10 +751,10 @@ index 4bddee4664..c714255548 100644
|
||||
$(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 2c902952a1..d674a8fe13 100644
|
||||
index 5a99c6e240..bdd77fb4f4 100644
|
||||
--- a/lib/runtime_tools/src/Makefile
|
||||
+++ b/lib/runtime_tools/src/Makefile
|
||||
@@ -99,8 +99,6 @@ docs:
|
||||
@@ -98,8 +98,6 @@ docs:
|
||||
include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
|
||||
release_spec: opt
|
||||
@ -868,10 +841,10 @@ index adc2c4858f..89ce954e99 100644
|
||||
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
|
||||
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
|
||||
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
|
||||
index 7ab6f22424..b57da4ad67 100644
|
||||
index 9e8d80c71f..6ce3dc96ef 100644
|
||||
--- a/lib/ssh/src/Makefile
|
||||
+++ b/lib/ssh/src/Makefile
|
||||
@@ -136,7 +136,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@@ -137,7 +137,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
|
||||
release_spec: opt
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/src"
|
||||
@ -894,10 +867,10 @@ index 2e7df9792e..0cd43d3805 100644
|
||||
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
|
||||
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
|
||||
diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile
|
||||
index 302834f9d0..53804f81ff 100644
|
||||
index bf836203ec..e86fb6a6d1 100644
|
||||
--- a/lib/stdlib/src/Makefile
|
||||
+++ b/lib/stdlib/src/Makefile
|
||||
@@ -208,7 +208,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
@@ -212,7 +212,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
|
||||
|
||||
release_spec: opt
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/src"
|
||||
@ -931,20 +904,6 @@ index 032bd612db..efb0309eb8 100644
|
||||
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
|
||||
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
|
||||
"$(RELSYSDIR)/ebin"
|
||||
diff --git a/lib/typer/src/Makefile b/lib/typer/src/Makefile
|
||||
index 6c5d8b0726..82f516a0e5 100644
|
||||
--- a/lib/typer/src/Makefile
|
||||
+++ b/lib/typer/src/Makefile
|
||||
@@ -102,9 +102,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/wx/src/Makefile b/lib/wx/src/Makefile
|
||||
index 21b45af2c4..a7bf34f4f4 100644
|
||||
--- a/lib/wx/src/Makefile
|
||||
|
@ -1,318 +0,0 @@
|
||||
From: Zephyr Pellerin <zv@nxvr.org>
|
||||
Date: Mon, 20 Mar 2017 15:36:41 -0700
|
||||
Subject: [PATCH] Fix CVE-2016-10253
|
||||
|
||||
|
||||
diff --git a/erts/emulator/pcre/pcre_compile.c b/erts/emulator/pcre/pcre_compile.c
|
||||
index d48126a55d..15a81fae56 100644
|
||||
--- a/erts/emulator/pcre/pcre_compile.c
|
||||
+++ b/erts/emulator/pcre/pcre_compile.c
|
||||
@@ -2335,34 +2335,36 @@ for (;;)
|
||||
}
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
/*************************************************
|
||||
-* Scan compiled branch for non-emptiness *
|
||||
-*************************************************/
|
||||
+ * Scan compiled branch for non-emptiness *
|
||||
+ *************************************************/
|
||||
|
||||
/* This function scans through a branch of a compiled pattern to see whether it
|
||||
-can match the empty string or not. It is called from could_be_empty()
|
||||
-below and from compile_branch() when checking for an unlimited repeat of a
|
||||
-group that can match nothing. Note that first_significant_code() skips over
|
||||
-backward and negative forward assertions when its final argument is TRUE. If we
|
||||
-hit an unclosed bracket, we return "empty" - this means we've struck an inner
|
||||
-bracket whose current branch will already have been scanned.
|
||||
-
|
||||
-Arguments:
|
||||
- code points to start of search
|
||||
- endcode points to where to stop
|
||||
- utf TRUE if in UTF-8 / UTF-16 / UTF-32 mode
|
||||
- cd contains pointers to tables etc.
|
||||
-
|
||||
-Returns: TRUE if what is matched could be empty
|
||||
+ can match the empty string or not. It is called from could_be_empty()
|
||||
+ below and from compile_branch() when checking for an unlimited repeat of a
|
||||
+ group that can match nothing. Note that first_significant_code() skips over
|
||||
+ backward and negative forward assertions when its final argument is TRUE. If we
|
||||
+ hit an unclosed bracket, we return "empty" - this means we've struck an inner
|
||||
+ bracket whose current branch will already have been scanned.
|
||||
+
|
||||
+ Arguments:
|
||||
+ code points to start of search
|
||||
+ endcode points to where to stop
|
||||
+ utf TRUE if in UTF-8 / UTF-16 / UTF-32 mode
|
||||
+ cd contains pointers to tables etc.
|
||||
+ recurses chain of recurse_check to catch mutual recursion
|
||||
+
|
||||
+ Returns: TRUE if what is matched could be empty
|
||||
*/
|
||||
|
||||
+
|
||||
static BOOL
|
||||
could_be_empty_branch(const pcre_uchar *code, const pcre_uchar *endcode,
|
||||
- BOOL utf, compile_data *cd)
|
||||
+ BOOL utf, compile_data *cd, recurse_check *recurses)
|
||||
{
|
||||
register pcre_uchar c;
|
||||
+recurse_check this_recurse;
|
||||
+
|
||||
for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
|
||||
code < endcode;
|
||||
code = first_significant_code(code + PRIV(OP_lengths)[c], TRUE))
|
||||
@@ -2390,25 +2392,47 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
|
||||
|
||||
if (c == OP_RECURSE)
|
||||
{
|
||||
- const pcre_uchar *scode;
|
||||
+ const pcre_uchar *scode = cd->start_code + GET(code, 1);
|
||||
+ const pcre_uchar *endgroup = scode;
|
||||
BOOL empty_branch;
|
||||
|
||||
- /* Test for forward reference */
|
||||
+ /* Test for forward reference or uncompleted reference. This is disabled
|
||||
+ when called to scan a completed pattern by setting cd->start_workspace to
|
||||
+ NULL. */
|
||||
|
||||
- for (scode = cd->start_workspace; scode < cd->hwm; scode += LINK_SIZE)
|
||||
- if ((int)GET(scode, 0) == (int)(code + 1 - cd->start_code)) return TRUE;
|
||||
+ if (cd->start_workspace != NULL)
|
||||
+ {
|
||||
+ const pcre_uchar *tcode;
|
||||
+ for (tcode = cd->start_workspace; tcode < cd->hwm; tcode += LINK_SIZE)
|
||||
+ if ((int)GET(tcode, 0) == (int)(code + 1 - cd->start_code)) return TRUE;
|
||||
+ if (GET(scode, 1) == 0) return TRUE; /* Unclosed */
|
||||
+ }
|
||||
|
||||
- /* Not a forward reference, test for completed backward reference */
|
||||
+ /* If the reference is to a completed group, we need to detect whether this
|
||||
+ is a recursive call, as otherwise there will be an infinite loop. If it is
|
||||
+ a recursion, just skip over it. Simple recursions are easily detected. For
|
||||
+ mutual recursions we keep a chain on the stack. */
|
||||
|
||||
- empty_branch = FALSE;
|
||||
- scode = cd->start_code + GET(code, 1);
|
||||
- if (GET(scode, 1) == 0) return TRUE; /* Unclosed */
|
||||
+ do endgroup += GET(endgroup, 1); while (*endgroup == OP_ALT);
|
||||
+ if (code >= scode && code <= endgroup) continue; /* Simple recursion */
|
||||
+ else
|
||||
+ {
|
||||
+ recurse_check *r = recurses;
|
||||
+ for (r = recurses; r != NULL; r = r->prev)
|
||||
+ if (r->group == scode) break;
|
||||
+ if (r != NULL) continue; /* Mutual recursion */
|
||||
+ }
|
||||
+
|
||||
+ /* Completed reference; scan the referenced group, remembering it on the
|
||||
+ stack chain to detect mutual recursions. */
|
||||
|
||||
- /* Completed backwards reference */
|
||||
+ empty_branch = FALSE;
|
||||
+ this_recurse.prev = recurses;
|
||||
+ this_recurse.group = scode;
|
||||
|
||||
do
|
||||
{
|
||||
- if (could_be_empty_branch(scode, endcode, utf, cd))
|
||||
+ if (could_be_empty_branch(scode, endcode, utf, cd, &this_recurse))
|
||||
{
|
||||
empty_branch = TRUE;
|
||||
break;
|
||||
@@ -2448,7 +2472,7 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
|
||||
if (c == OP_BRA || c == OP_BRAPOS ||
|
||||
c == OP_CBRA || c == OP_CBRAPOS ||
|
||||
c == OP_ONCE || c == OP_ONCE_NC ||
|
||||
- c == OP_COND)
|
||||
+ c == OP_COND || c == OP_SCOND)
|
||||
{
|
||||
BOOL empty_branch;
|
||||
if (GET(code, 1) == 0) return TRUE; /* Hit unclosed bracket */
|
||||
@@ -2464,8 +2488,8 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
|
||||
empty_branch = FALSE;
|
||||
do
|
||||
{
|
||||
- if (!empty_branch && could_be_empty_branch(code, endcode, utf, cd))
|
||||
- empty_branch = TRUE;
|
||||
+ if (!empty_branch && could_be_empty_branch(code, endcode, utf, cd,
|
||||
+ recurses)) empty_branch = TRUE;
|
||||
code += GET(code, 1);
|
||||
}
|
||||
while (*code == OP_ALT);
|
||||
@@ -2522,34 +2546,57 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
|
||||
|
||||
/* Opcodes that must match a character */
|
||||
|
||||
+ case OP_ANY:
|
||||
+ case OP_ALLANY:
|
||||
+ case OP_ANYBYTE:
|
||||
+
|
||||
case OP_PROP:
|
||||
case OP_NOTPROP:
|
||||
+ case OP_ANYNL:
|
||||
+
|
||||
+ case OP_NOT_HSPACE:
|
||||
+ case OP_HSPACE:
|
||||
+ case OP_NOT_VSPACE:
|
||||
+ case OP_VSPACE:
|
||||
case OP_EXTUNI:
|
||||
+
|
||||
case OP_NOT_DIGIT:
|
||||
case OP_DIGIT:
|
||||
case OP_NOT_WHITESPACE:
|
||||
case OP_WHITESPACE:
|
||||
case OP_NOT_WORDCHAR:
|
||||
case OP_WORDCHAR:
|
||||
- case OP_ANY:
|
||||
- case OP_ALLANY:
|
||||
- case OP_ANYBYTE:
|
||||
+
|
||||
case OP_CHAR:
|
||||
case OP_CHARI:
|
||||
case OP_NOT:
|
||||
case OP_NOTI:
|
||||
+
|
||||
case OP_PLUS:
|
||||
+ case OP_PLUSI:
|
||||
case OP_MINPLUS:
|
||||
- case OP_POSPLUS:
|
||||
- case OP_EXACT:
|
||||
+ case OP_MINPLUSI:
|
||||
+
|
||||
case OP_NOTPLUS:
|
||||
+ case OP_NOTPLUSI:
|
||||
case OP_NOTMINPLUS:
|
||||
+ case OP_NOTMINPLUSI:
|
||||
+
|
||||
+ case OP_POSPLUS:
|
||||
+ case OP_POSPLUSI:
|
||||
case OP_NOTPOSPLUS:
|
||||
+ case OP_NOTPOSPLUSI:
|
||||
+
|
||||
+ case OP_EXACT:
|
||||
+ case OP_EXACTI:
|
||||
case OP_NOTEXACT:
|
||||
+ case OP_NOTEXACTI:
|
||||
+
|
||||
case OP_TYPEPLUS:
|
||||
case OP_TYPEMINPLUS:
|
||||
case OP_TYPEPOSPLUS:
|
||||
case OP_TYPEEXACT:
|
||||
+
|
||||
return FALSE;
|
||||
|
||||
/* These are going to continue, as they may be empty, but we have to
|
||||
@@ -2583,30 +2630,58 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
|
||||
return TRUE;
|
||||
|
||||
/* In UTF-8 mode, STAR, MINSTAR, POSSTAR, QUERY, MINQUERY, POSQUERY, UPTO,
|
||||
- MINUPTO, and POSUPTO may be followed by a multibyte character */
|
||||
+ MINUPTO, and POSUPTO and their caseless and negative versions may be
|
||||
+ followed by a multibyte character. */
|
||||
|
||||
#if defined SUPPORT_UTF && !defined COMPILE_PCRE32
|
||||
case OP_STAR:
|
||||
case OP_STARI:
|
||||
+ case OP_NOTSTAR:
|
||||
+ case OP_NOTSTARI:
|
||||
+
|
||||
case OP_MINSTAR:
|
||||
case OP_MINSTARI:
|
||||
+ case OP_NOTMINSTAR:
|
||||
+ case OP_NOTMINSTARI:
|
||||
+
|
||||
case OP_POSSTAR:
|
||||
case OP_POSSTARI:
|
||||
+ case OP_NOTPOSSTAR:
|
||||
+ case OP_NOTPOSSTARI:
|
||||
+
|
||||
case OP_QUERY:
|
||||
case OP_QUERYI:
|
||||
+ case OP_NOTQUERY:
|
||||
+ case OP_NOTQUERYI:
|
||||
+
|
||||
case OP_MINQUERY:
|
||||
case OP_MINQUERYI:
|
||||
+ case OP_NOTMINQUERY:
|
||||
+ case OP_NOTMINQUERYI:
|
||||
+
|
||||
case OP_POSQUERY:
|
||||
case OP_POSQUERYI:
|
||||
+ case OP_NOTPOSQUERY:
|
||||
+ case OP_NOTPOSQUERYI:
|
||||
+
|
||||
if (utf && HAS_EXTRALEN(code[1])) code += GET_EXTRALEN(code[1]);
|
||||
break;
|
||||
|
||||
case OP_UPTO:
|
||||
case OP_UPTOI:
|
||||
+ case OP_NOTUPTO:
|
||||
+ case OP_NOTUPTOI:
|
||||
+
|
||||
case OP_MINUPTO:
|
||||
case OP_MINUPTOI:
|
||||
+ case OP_NOTMINUPTO:
|
||||
+ case OP_NOTMINUPTOI:
|
||||
+
|
||||
case OP_POSUPTO:
|
||||
case OP_POSUPTOI:
|
||||
+ case OP_NOTPOSUPTO:
|
||||
+ case OP_NOTPOSUPTOI:
|
||||
+
|
||||
if (utf && HAS_EXTRALEN(code[1 + IMM2_SIZE])) code += GET_EXTRALEN(code[1 + IMM2_SIZE]);
|
||||
break;
|
||||
#endif
|
||||
@@ -2632,7 +2707,6 @@ return TRUE;
|
||||
}
|
||||
|
||||
|
||||
-
|
||||
/*************************************************
|
||||
* Scan compiled regex for non-emptiness *
|
||||
*************************************************/
|
||||
@@ -2660,7 +2734,7 @@ could_be_empty(const pcre_uchar *code, const pcre_uchar *endcode,
|
||||
{
|
||||
while (bcptr != NULL && bcptr->current_branch >= code)
|
||||
{
|
||||
- if (!could_be_empty_branch(bcptr->current_branch, endcode, utf, cd))
|
||||
+ if (!could_be_empty_branch(bcptr->current_branch, endcode, utf, cd, NULL))
|
||||
return FALSE;
|
||||
bcptr = bcptr->outer;
|
||||
}
|
||||
@@ -2668,7 +2742,6 @@ return TRUE;
|
||||
}
|
||||
|
||||
|
||||
-
|
||||
/*************************************************
|
||||
* Check for POSIX class syntax *
|
||||
*************************************************/
|
||||
@@ -5392,7 +5465,7 @@ for (;; ptr++)
|
||||
pcre_uchar *scode = bracode;
|
||||
do
|
||||
{
|
||||
- if (could_be_empty_branch(scode, ketcode, utf, cd))
|
||||
+ if (could_be_empty_branch(scode, ketcode, utf, cd, NULL))
|
||||
{
|
||||
*bracode += OP_SBRA - OP_BRA;
|
||||
break;
|
||||
diff --git a/erts/emulator/pcre/pcre_internal.h b/erts/emulator/pcre/pcre_internal.h
|
||||
index af436bd99b..eb0db89619 100644
|
||||
--- a/erts/emulator/pcre/pcre_internal.h
|
||||
+++ b/erts/emulator/pcre/pcre_internal.h
|
||||
@@ -2455,6 +2455,13 @@ typedef struct branch_chain {
|
||||
pcre_uchar *current_branch;
|
||||
} branch_chain;
|
||||
|
||||
+/* Structure for mutual recursion detection. */
|
||||
+
|
||||
+typedef struct recurse_check {
|
||||
+ struct recurse_check *prev;
|
||||
+ const pcre_uchar *group;
|
||||
+} recurse_check;
|
||||
+
|
||||
/* Structure for items in a linked list that represents an explicit recursive
|
||||
call within the pattern; used by pcre_exec(). */
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Add extra search directory
|
||||
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
||||
|
||||
diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl
|
||||
index 59b26176bf..89297718fe 100644
|
||||
index 418b0c50e1..d24b73a9aa 100644
|
||||
--- a/lib/kernel/src/code_server.erl
|
||||
+++ b/lib/kernel/src/code_server.erl
|
||||
@@ -79,11 +79,17 @@ init(Ref, Parent, [Root,Mode]) ->
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (otp-OTP-19.3.6.5.tar.gz) = 7ed91bb3b2a5baa9674b811281746aae82b8d06dc1f7dfccf1a00e0d6be34e249d5fe1300fb6bd3d3a2a81409e326b32f82340461da58bba042e6900fdb5ed71
|
||||
SHA512 (otp-OTP-20.2.3.tar.gz) = 54dd81041635d14c8c4c05e31a70017ae5c501c91e5071875711cad460c4f21572f586eb3faeeb6e400b888f32a56859e066ea049877356f02f8cab43d3e6207
|
||||
|
Loading…
Reference in New Issue
Block a user