Accepting request 237032 from devel:languages:erlang:Factory

Since, I've fixed erlang-rebar.
erlang 17.0 is ready for factory, now. See changes in .changes

OBS-URL: https://build.opensuse.org/request/show/237032
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/erlang?expand=0&rev=29
This commit is contained in:
Stephan Kulow 2014-06-16 19:26:08 +00:00 committed by Git OBS Bridge
commit e9f0d73479
15 changed files with 70 additions and 319 deletions

View File

@ -1,80 +0,0 @@
From 683234526d0f0d6607b497105b2726e0a0a13fa2 Mon Sep 17 00:00:00 2001
From: "Matwey V. Kornilov" <matwey.kornilov@gmail.com>
Date: Tue, 17 Dec 2013 18:16:56 +0400
Subject: [PATCH 1/2] Add -systemd option to empd. Check for include
systemd/sd-daemon.h and wrap systemd code into ifdef-s.
---
erts/configure.in | 2 ++
erts/epmd/src/epmd.c | 16 ++++++++++++++--
erts/epmd/src/epmd_int.h | 3 +++
3 files changed, 19 insertions(+), 2 deletions(-)
Index: otp_src_R16B03/erts/configure.in
===================================================================
--- otp_src_R16B03.orig/erts/configure.in
+++ otp_src_R16B03/erts/configure.in
@@ -1565,6 +1565,8 @@ AC_CHECK_MEMBERS([struct ifreq.ifr_enadd
#endif
])
+AC_CHECK_HEADERS(systemd/sd-daemon.h)
+
dnl ----------------------------------------------------------------------
dnl Check the availability for libdlpi
dnl ----------------------------------------------------------------------
Index: otp_src_R16B03/erts/epmd/src/epmd.c
===================================================================
--- otp_src_R16B03.orig/erts/epmd/src/epmd.c
+++ otp_src_R16B03/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);
}
Index: otp_src_R16B03/erts/epmd/src/epmd_int.h
===================================================================
--- otp_src_R16B03.orig/erts/epmd/src/epmd_int.h
+++ otp_src_R16B03/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*,...);

View File

@ -1,117 +0,0 @@
From 1918ae01eb9eb7ada5ab974307bcdf6630b838a2 Mon Sep 17 00:00:00 2001
From: "Matwey V. Kornilov" <matwey.kornilov@gmail.com>
Date: Tue, 17 Dec 2013 18:57:54 +0400
Subject: [PATCH 2/2] Add systemd support to epmd
---
erts/configure.in | 2 ++
erts/epmd/src/epmd_int.h | 4 ++++
erts/epmd/src/epmd_srv.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 52 insertions(+)
Index: otp_src_R16B03/erts/configure.in
===================================================================
--- otp_src_R16B03.orig/erts/configure.in
+++ otp_src_R16B03/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
Index: otp_src_R16B03/erts/epmd/src/epmd_int.h
===================================================================
--- otp_src_R16B03.orig/erts/epmd/src/epmd_int.h
+++ otp_src_R16B03/erts/epmd/src/epmd_int.h
@@ -110,6 +110,10 @@
#include <stdarg.h>
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+# include <systemd/sd-daemon.h>
+#endif
+
/* ************************************************************************ */
/* Replace some functions by others by making the function name a macro */
Index: otp_src_R16B03/erts/epmd/src/epmd_srv.c
===================================================================
--- otp_src_R16B03.orig/erts/epmd/src/epmd_srv.c
+++ otp_src_R16B03/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");

View File

@ -5,10 +5,10 @@ Date: Sat Dec 21 00:13:35 2013 +0400
In openssl 1.0.1e EC_GROUP_new_curve_GF2m function is wrapped by #ifndef OPENSSL_NO_EC2M.
We have to check whether OPENSSL_NO_EC2M is set, and if it is, then we do not have EC_GROUP_new_curve_GF2m function and do not HAVE_EC.
Index: otp_src_R16B03/lib/crypto/c_src/crypto.c
Index: otp_src_17.0/lib/crypto/c_src/crypto.c
===================================================================
--- otp_src_R16B03.orig/lib/crypto/c_src/crypto.c
+++ otp_src_R16B03/lib/crypto/c_src/crypto.c
--- otp_src_17.0.orig/lib/crypto/c_src/crypto.c
+++ otp_src_17.0/lib/crypto/c_src/crypto.c
@@ -77,7 +77,8 @@
#if OPENSSL_VERSION_NUMBER >= 0x009080ffL \
&& !defined(OPENSSL_NO_EC) \

View File

@ -9,11 +9,11 @@ Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
erts/etc/unix/Install.src | 10 ----------
2 files changed, 14 deletions(-)
Index: otp_src_R16B03/erts/etc/common/Makefile.in
Index: otp_src_17.0/erts/etc/common/Makefile.in
===================================================================
--- otp_src_R16B03.orig/erts/etc/common/Makefile.in
+++ otp_src_R16B03/erts/etc/common/Makefile.in
@@ -474,10 +474,6 @@ endif
--- otp_src_17.0.orig/erts/etc/common/Makefile.in
+++ otp_src_17.0/erts/etc/common/Makefile.in
@@ -550,10 +550,6 @@ endif
ifneq ($(INSTALL_TOP_BIN),)
$(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)"
endif
@ -21,13 +21,13 @@ Index: otp_src_R16B03/erts/etc/common/Makefile.in
- $(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)
Index: otp_src_R16B03/erts/etc/unix/Install.src
ifneq ($(INSTALL_SRC),)
$(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src"
$(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src"
Index: otp_src_17.0/erts/etc/unix/Install.src
===================================================================
--- otp_src_R16B03.orig/erts/etc/unix/Install.src
+++ otp_src_R16B03/erts/etc/unix/Install.src
--- otp_src_17.0.orig/erts/etc/unix/Install.src
+++ otp_src_17.0/erts/etc/unix/Install.src
@@ -140,14 +140,4 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*
cp -p ../releases/%I_SYSTEM_VSN%/no_dot_erlang.boot .
cp -p $Name.boot start.boot

View File

@ -1,8 +1,8 @@
Index: otp_src_R16B03/erts/configure
Index: otp_src_17.0/erts/configure
===================================================================
--- otp_src_R16B03.orig/erts/configure
+++ otp_src_R16B03/erts/configure
@@ -5405,6 +5405,7 @@ case $chk_arch_ in
--- otp_src_17.0.orig/erts/configure
+++ otp_src_17.0/erts/configure
@@ -5631,6 +5631,7 @@ case $chk_arch_ in
x86_64) ARCH=amd64;;
amd64) ARCH=amd64;;
macppc) ARCH=ppc;;
@ -10,11 +10,11 @@ Index: otp_src_R16B03/erts/configure
ppc) ARCH=ppc;;
ppc64) ARCH=ppc64;;
"Power Macintosh") ARCH=ppc;;
Index: otp_src_R16B03/erts/configure.in
Index: otp_src_17.0/erts/configure.in
===================================================================
--- otp_src_R16B03.orig/erts/configure.in
+++ otp_src_R16B03/erts/configure.in
@@ -612,6 +612,7 @@ case $chk_arch_ in
--- otp_src_17.0.orig/erts/configure.in
+++ otp_src_17.0/erts/configure.in
@@ -671,6 +671,7 @@ case $chk_arch_ in
x86_64) ARCH=amd64;;
amd64) ARCH=amd64;;
macppc) ARCH=ppc;;

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Wed Apr 9 16:08:16 UTC 2014 - matwey.kornilov@gmail.com
- Update to 17.0:
* Maps, a new dictionary data type (experimental)
* ASN.1 improvements and optimizations
* The {active, N} socket option for TCP, UDP, and SCTP
* A new (optional) scheduler utilization balancing mechanism
* Migration of memory carriers has been enabled by default on
all ERTS internal memory allocators
* Increased garbage collection tenure rate
* Experimental "dirty schedulers" functionality
* Funs can now be given names
* Miscellaneous unicode support enhancements
* A new version scheme for OTP its applications has been introduced
- Drop 0001-Add-systemd-option-to-empd.-Check-for-include-system.patch: has been upstreamed
- Drop 0002-Add-systemd-support-to-epmd.patch: has been upstreamed
-------------------------------------------------------------------
Thu Mar 27 18:09:29 UTC 2014 - matwey.kornilov@gmail.com

View File

@ -17,18 +17,15 @@
Name: erlang
Version: R16B03
Version: 17.0
Release: 0
Summary: General-purpose programming language and runtime environment
License: ErlPL-1.1
Group: Development/Languages/Other
Url: http://www.erlang.org
Source: otp_src_%{version}.tar.gz
#Source: http://www.erlang.org/download/otp_src_%{version}.tar.gz
Source1: otp_doc_html_%{version}.tar.gz
#Source1: http://www.erlang.org/download/otp_doc_html_%{version}.tar.gz
Source2: otp_doc_man_%{version}.tar.gz
#Source2: http://www.erlang.org/download/otp_doc_man_%{version}.tar.gz
Source3: %{name}-rpmlintrc
Source4: epmd.init
Source5: erlang.sysconfig
@ -46,11 +43,6 @@ Patch3: fix-armv7hl.patch
Patch4: erlang-not-install-misc.patch
# PATCH-FIX-UPSTREAM crypto.patch - matwey.kornilov@gmail.com -- fix compilation with disabled EC in openssl
Patch5: crypto.patch
# PATCH-FEATURE-OPENSUSE 0001-Add-systemd-option-to-empd.-Check-for-include-system.patch - matwey.kornilov@gmail.com -- add systemd socket activation for epmd
Patch6: 0001-Add-systemd-option-to-empd.-Check-for-include-system.patch
# PATCH-FEATURE-OPENSUSE 0002-Add-systemd-support-to-epmd.patch - matwey.kornilov@gmail.com -- add systemd socket activation for epmd
Patch7: 0002-Add-systemd-support-to-epmd.patch
# autoconf is required only by fix-armv7hl.patch
BuildRequires: autoconf
BuildRequires: gcc-c++
BuildRequires: ncurses-devel
@ -258,28 +250,7 @@ Requires: %{name}-observer = %{version}
%description observer-src
Erlang sources for the observer application in the Erlang/OTP system.
They are useful for educational purpose and as a base for creating
embedded systems.
%package toolbar-src
Summary: Erlang/OTP toolbar application sources
Group: Development/Languages/Other
Requires: %{name}-toolbar = %{version}
%description toolbar-src
Erlang sources for the toolbar application in the Erlang/OTP system.
They are useful for educational purpose and as a base for creating
embedded systems.
%package tv-src
Summary: Erlang/OTP tv application sources
Group: Development/Languages/Other
Requires: %{name}-tv = %{version}
%description tv-src
Erlang sources for the tv application in the Erlang/OTP system.
They are useful for educational purpose and as a base for creating
embedded systems.
They are useful for educational purpose and as a base for creating embedded systems.
%package wx-src
Summary: Erlang/OTP wx application sources
@ -291,24 +262,6 @@ Erlang sources for the wx application in the Erlang/OTP system.
They are useful for educational purpose and as a base for creating
embedded systems.
%package toolbar
Summary: A tool bar simplifying access to the Erlang tools
Group: Development/Languages/Other
Requires: %{name} = %{version}
Requires: %{name}-gs = %{version}
%description toolbar
A tool bar simplifying access to the Erlang tools.
%package tv
Summary: An ETS and MNESIA graphical table visualizer
Group: Development/Languages/Other
Requires: %{name} = %{version}
Requires: %{name}-gs = %{version}
%description tv
An ETS and MNESIA graphical table visualizer.
%package wx
Summary: A library for wxWidgets support in Erlang
Group: Development/Languages/Other
@ -329,8 +282,6 @@ A Graphics System used to write platform independent user interfaces.
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
cp %{S:9} .
./otp_build autoconf
@ -489,7 +440,6 @@ install -D -m 0644 %{S:6} %{buildroot}%{_sysconfdir}/rpm/macros.erlang
%{_libdir}/erlang/erts-*/
%exclude %{_libdir}/erlang/erts-*/bin/dialyzer
%exclude %{_libdir}/erlang/erts-*/bin/epmd
%{_libdir}/erlang/lib/appmon-*/
%{_libdir}/erlang/lib/asn1-*/
%{_libdir}/erlang/lib/common_test-*/
%{_libdir}/erlang/lib/compiler-*/
@ -516,10 +466,10 @@ install -D -m 0644 %{S:6} %{buildroot}%{_sysconfdir}/rpm/macros.erlang
%{_libdir}/erlang/lib/odbc-*/
%{_libdir}/erlang/lib/orber-*/
%{_libdir}/erlang/lib/os_mon-*/
%{_libdir}/erlang/lib/ose-*/
%{_libdir}/erlang/lib/otp_mibs-*/
%{_libdir}/erlang/lib/parsetools-*/
%{_libdir}/erlang/lib/percept-*/
%{_libdir}/erlang/lib/pman-*/
%{_libdir}/erlang/lib/public_key-*/
%{_libdir}/erlang/lib/runtime_tools-*/
%{_libdir}/erlang/lib/sasl-*/
@ -598,16 +548,6 @@ install -D -m 0644 %{S:6} %{buildroot}%{_sysconfdir}/rpm/macros.erlang
%{_libdir}/erlang/lib/observer-*/
%exclude %{_libdir}/erlang/lib/observer-*/src
%files toolbar
%defattr(-,root,root)
%{_libdir}/erlang/lib/toolbar-*/
%exclude %{_libdir}/erlang/lib/toolbar-*/src
%files tv
%defattr(-,root,root)
%{_libdir}/erlang/lib/tv-*/
%exclude %{_libdir}/erlang/lib/tv-*/src
%files wx
%defattr(-,root,root)
%{_libdir}/erlang/lib/wx-*/
@ -626,8 +566,6 @@ install -D -m 0644 %{S:6} %{buildroot}%{_sysconfdir}/rpm/macros.erlang
%exclude %{_libdir}/erlang/lib/jinterface-*/java_src
%exclude %{_libdir}/erlang/lib/reltool-*/src
%exclude %{_libdir}/erlang/lib/observer-*/src
%exclude %{_libdir}/erlang/lib/toolbar-*/src
%exclude %{_libdir}/erlang/lib/tv-*/src
%exclude %{_libdir}/erlang/lib/wx-*/src
%files debugger-src
@ -658,14 +596,6 @@ install -D -m 0644 %{S:6} %{buildroot}%{_sysconfdir}/rpm/macros.erlang
%defattr(-,root,root)
%{_libdir}/erlang/lib/observer-*/src
%files toolbar-src
%defattr(-,root,root)
%{_libdir}/erlang/lib/toolbar-*/src
%files tv-src
%defattr(-,root,root)
%{_libdir}/erlang/lib/tv-*/src
%files wx-src
%defattr(-,root,root)
%{_libdir}/erlang/lib/wx-*/src

View File

@ -1,8 +1,8 @@
Index: otp_src_R16B03/erts/configure
Index: otp_src_17.0/erts/configure
===================================================================
--- otp_src_R16B03.orig/erts/configure
+++ otp_src_R16B03/erts/configure
@@ -5415,6 +5415,7 @@ case $chk_arch_ in
--- otp_src_17.0.orig/erts/configure
+++ otp_src_17.0/erts/configure
@@ -5641,6 +5641,7 @@ case $chk_arch_ in
armv5tejl) ARCH=arm;;
armv6l) ARCH=arm;;
armv7l) ARCH=arm;;
@ -10,11 +10,11 @@ Index: otp_src_R16B03/erts/configure
tile) ARCH=tile;;
*) ARCH=noarch;;
esac
Index: otp_src_R16B03/erts/configure.in
Index: otp_src_17.0/erts/configure.in
===================================================================
--- otp_src_R16B03.orig/erts/configure.in
+++ otp_src_R16B03/erts/configure.in
@@ -622,6 +622,7 @@ case $chk_arch_ in
--- otp_src_17.0.orig/erts/configure.in
+++ otp_src_17.0/erts/configure.in
@@ -681,6 +681,7 @@ case $chk_arch_ in
armv5tejl) ARCH=arm;;
armv6l) ARCH=arm;;
armv7l) ARCH=arm;;

View File

@ -1,8 +1,8 @@
Index: otp_src_R16B03/lib/crypto/c_src/Makefile.in
Index: otp_src_17.0/lib/crypto/c_src/Makefile.in
===================================================================
--- otp_src_R16B03.orig/lib/crypto/c_src/Makefile.in
+++ otp_src_R16B03/lib/crypto/c_src/Makefile.in
@@ -85,7 +85,7 @@ endif
--- otp_src_17.0.orig/lib/crypto/c_src/Makefile.in
+++ otp_src_17.0/lib/crypto/c_src/Makefile.in
@@ -89,7 +89,7 @@ endif
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
@ -11,10 +11,10 @@ Index: otp_src_R16B03/lib/crypto/c_src/Makefile.in
CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME)
EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB
else
Index: otp_src_R16B03/lib/crypto/priv/Makefile
Index: otp_src_17.0/lib/crypto/priv/Makefile
===================================================================
--- otp_src_R16B03.orig/lib/crypto/priv/Makefile
+++ otp_src_R16B03/lib/crypto/priv/Makefile
--- otp_src_17.0.orig/lib/crypto/priv/Makefile
+++ otp_src_17.0/lib/crypto/priv/Makefile
@@ -60,7 +60,7 @@ OBJS = $(OBJDIR)/crypto.o
# ----------------------------------------------------
@ -24,11 +24,11 @@ Index: otp_src_R16B03/lib/crypto/priv/Makefile
-o $@ $^ -lcrypto
$(DLL_NIFLIB): $(OBJS)
Index: otp_src_R16B03/lib/odbc/c_src/odbcserver.c
Index: otp_src_17.0/lib/odbc/c_src/odbcserver.c
===================================================================
--- otp_src_R16B03.orig/lib/odbc/c_src/odbcserver.c
+++ otp_src_R16B03/lib/odbc/c_src/odbcserver.c
@@ -105,6 +105,8 @@
--- otp_src_17.0.orig/lib/odbc/c_src/odbcserver.c
+++ otp_src_17.0/lib/odbc/c_src/odbcserver.c
@@ -106,6 +106,8 @@
#ifdef UNIX
#include <unistd.h>
#include <netinet/tcp.h>

3
otp_doc_html_17.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4a9edba2e5b8ca2e35e5080c1c30a2674aafa39b51d7268383b6e326d397f8dd
size 33168721

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d392dc254fe4dc917e68d1c1217aff70e2c92d88c19362037a18209c4fae23c3
size 33287369

3
otp_doc_man_17.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:acf72b5876c6f505191a3fb57b7e672733f911141929c4cef050111cf8f8b399
size 1353215

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2038d32e7c940d5d04f7338406e11b723cac0d26e82d7834596105eea492452
size 1322484

3
otp_src_17.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:361cae4466b4b3ef8d8762b3a8ebe278e0c7ba0c34cb281402988754183e2ba6
size 66633305

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6133b3410681a5c934e54c76eee1825f96dead8d6a12c31a64f6e160daf0bb06
size 66208591