Jan Engelhardt 2015-03-01 01:13:36 +00:00 committed by Git OBS Bridge
parent 704416a0f8
commit 8bfc8fef83
8 changed files with 175 additions and 129 deletions

View File

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

3
libosmocore-0.8.0.tar.xz Normal file
View File

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

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Sun Mar 1 01:10:34 UTC 2015 - jengelh@inai.de
- Update to new upstream release 0.8.0
* new Osmocom SIM card library
- Add osmo-pkgconfig.diff
-------------------------------------------------------------------
Wed Feb 18 16:07:32 UTC 2015 - normand@linux.vnet.ibm.com

View File

@ -1,7 +1,7 @@
#
# spec file for package libosmocore
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,29 +17,30 @@
Name: libosmocore
Version: 0.8.0
Release: 0
Summary: Open Source Mobile Communications Core Library
License: GPL-2.0 and GPL-2.0+ and LGPL-3.0+ and AGPL-3.0+
Group: Productivity/Telephony/Utilities
Version: 0.7.0+git19
Release: 0
Url: http://bb.osmocom.org/trac/wiki/libosmocore
#Git-Clone: git://git.osmocom.org/libosmocore
#Snapshot: 0.7.0-19-gc60de4f
#Update osmo-version.diff too!
Source: %name-%version.tar.xz
Patch1: osmo-version.diff
Patch3: osmo-talloc.diff
Patch4: osmo-talloc2.diff
Patch5: osmo-talloc3.diff
Patch6: osmo-pkgconfig.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake >= 1.6
BuildRequires: gcc-c++
BuildRequires: libtalloc-devel
BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: xz
BuildRequires: pkgconfig(libpcsclite)
BuildRequires: pkgconfig(talloc)
# do not try to build for big-endian archs
# as suggested by http://lists.osmocom.org/pipermail/baseband-devel/2015-February/000022.html
ExcludeArch: ppc ppc64 ppc64p7 mips mips64 %sparc s390 s390x
@ -96,14 +97,14 @@ communications.
This subpackage contains libraries and header files for developing
applications that want to make use of libosmocodec.
%package -n libosmocore5
%package -n libosmocore6
Summary: Osmocom core library
License: GPL-2.0 and GPL-2.0+
Group: System/Libraries
# crc16.c has GPL2-only clauses, the rest (*.c) is GPL-2.0+
# talloc.c (LGPL-3.0+) is not part of libosmocore.so
%description -n libosmocore5
%description -n libosmocore6
libosmocore is a library with various utility functions shared
between OpenBSC and OsmocomBB.
@ -112,7 +113,7 @@ Summary: Development files for the Osmocom core library
License: GPL-2.0 and GPL-2.0+
Group: Development/Libraries/C and C++
# crc16.h has GPL2-only clauses, the rest (*.h) is GPL-2.0+
Requires: libosmocore5 = %version
Requires: libosmocore6 = %version
Requires: libtalloc-devel
%description -n libosmocore-devel
@ -208,12 +209,41 @@ communications.
This subpackage contains libraries and header files for developing
applications that want to make use of libosmogsm.
%package -n libosmovty0
%package -n libosmosim0
Summary: Osmocom SIM card related utility library
License: GPL-2.0+
Group: System/Libraries
%description -n libosmosim0
libosmocore is a library with various utility functions that were
originally developed as part of the OpenBSC project, but which are of
a more generic nature and thus useful to (at least) other programs
that we develop in the sphere of Free Software / Open Source mobile
communications.
%package -n libosmosim-devel
Summary: Development files for the Osmocom SIM card utility library
License: GPL-2.0+
Group: Development/Libraries/C and C++
Requires: libosmocore-devel = %version
Requires: libosmosim0 = %version
%description -n libosmosim-devel
libosmocore is a library with various utility functions that were
originally developed as part of the OpenBSC project, but which are of
a more generic nature and thus useful to (at least) other programs
that we develop in the sphere of Free Software / Open Source mobile
communications.
This subpackage contains libraries and header files for developing
applications that want to make use of libosmosim.
%package -n libosmovty1
Summary: Osmocom VTY interface library
License: GPL-2.0+
Group: System/Libraries
%description -n libosmovty0
%description -n libosmovty1
libosmocore is a library with various utility functions that were
originally developed as part of the OpenBSC project, but which are of
a more generic nature and thus useful to (at least) other programs
@ -225,7 +255,7 @@ Summary: Development files for the Osmocom VTY interface library
License: GPL-2.0+
Group: Development/Libraries/C and C++
Requires: libosmocore-devel = %version
Requires: libosmovty0 = %version
Requires: libosmovty1 = %version
%description -n libosmovty-devel
libosmocore is a library with various utility functions that were
@ -239,7 +269,7 @@ applications that want to make use of libosmovty.
%prep
%setup -qn %name
%patch -P 1 -P 3 -P 4 -P 5 -p1
%patch -P 1 -P 3 -P 4 -P 5 -P 6 -p1
%build
autoreconf -fiv
@ -256,16 +286,18 @@ make %{?_smp_mflags} check
%post -n libosmocodec0 -p /sbin/ldconfig
%postun -n libosmocodec0 -p /sbin/ldconfig
%post -n libosmocore5 -p /sbin/ldconfig
%postun -n libosmocore5 -p /sbin/ldconfig
%post -n libosmocore6 -p /sbin/ldconfig
%postun -n libosmocore6 -p /sbin/ldconfig
%post -n libosmoctrl0 -p /sbin/ldconfig
%postun -n libosmoctrl0 -p /sbin/ldconfig
%post -n libosmogb3 -p /sbin/ldconfig
%postun -n libosmogb3 -p /sbin/ldconfig
%post -n libosmogsm5 -p /sbin/ldconfig
%postun -n libosmogsm5 -p /sbin/ldconfig
%post -n libosmovty0 -p /sbin/ldconfig
%postun -n libosmovty0 -p /sbin/ldconfig
%post -n libosmosim0 -p /sbin/ldconfig
%postun -n libosmosim0 -p /sbin/ldconfig
%post -n libosmovty1 -p /sbin/ldconfig
%postun -n libosmovty1 -p /sbin/ldconfig
%files tools
%defattr(-,root,root)
@ -282,9 +314,9 @@ make %{?_smp_mflags} check
%_libdir/libosmocodec.so
%_libdir/pkgconfig/libosmocodec.pc
%files -n libosmocore5
%files -n libosmocore6
%defattr(-,root,root)
%_libdir/libosmocore.so.5*
%_libdir/libosmocore.so.6*
%files -n libosmocore-devel
%defattr(-,root,root)
@ -327,9 +359,20 @@ make %{?_smp_mflags} check
%_libdir/libosmogsm.so
%_libdir/pkgconfig/libosmogsm.pc
%files -n libosmovty0
%files -n libosmosim0
%defattr(-,root,root)
%_libdir/libosmovty.so.0*
%_libdir/libosmosim.so.0*
%files -n libosmosim-devel
%defattr(-,root,root)
%dir %_includedir/osmocom/
%_includedir/osmocom/sim/
%_libdir/libosmosim.so
%_libdir/pkgconfig/libosmosim.pc
%files -n libosmovty1
%defattr(-,root,root)
%_libdir/libosmovty.so.1*
%files -n libosmovty-devel
%defattr(-,root,root)

21
osmo-pkgconfig.diff Normal file
View File

@ -0,0 +1,21 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2015-03-01 02:09:23.272148046 +0100
Ensure all .pc files ARE installed.
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: libosmocore/Makefile.am
===================================================================
--- libosmocore.orig/Makefile.am
+++ libosmocore/Makefile.am
@@ -5,7 +5,7 @@ SUBDIRS = include src src/vty src/codec
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libosmocore.pc libosmocodec.pc libosmovty.pc libosmogsm.pc \
- libosmogb.pc libosmoctrl.pc
+ libosmogb.pc libosmoctrl.pc libosmosim.pc
BUILT_SOURCES = $(top_srcdir)/.version
$(top_srcdir)/.version:

View File

@ -8,26 +8,25 @@ libosmocore.so to libtalloc. Make it use pkg-config to discover
talloc's flags and location, and when the system talloc is used,
make sure to use its API header file too.
---
.gitignore | 1 +
configure.ac | 16 +++-
include/Makefile.am | 3 +-
include/osmocom/core/talloc.h | 189 --------------------------------------
include/osmocom/core/talloc.h.in | 6 ++
include/osmocom/core/talloc_int.h | 189 ++++++++++++++++++++++++++++++++++++++
src/Makefile.am | 5 +-
src/gsm/Makefile.am | 8 +-
tests/Makefile.am | 12 +--
tests/msgfile/msgfile_test.c | 1 +
10 files changed, 226 insertions(+), 204 deletions(-)
.gitignore | 1
configure.ac | 16 +++
include/Makefile.am | 3
include/osmocom/core/talloc.h | 189 --------------------------------------
include/osmocom/core/talloc.h.in | 6 +
include/osmocom/core/talloc_int.h | 189 ++++++++++++++++++++++++++++++++++++++
src/Makefile.am | 5 -
src/gsm/Makefile.am | 8 -
tests/Makefile.am | 12 +-
9 files changed, 225 insertions(+), 204 deletions(-)
delete mode 100644 include/osmocom/core/talloc.h
create mode 100644 include/osmocom/core/talloc.h.in
create mode 100644 include/osmocom/core/talloc_int.h
diff --git a/.gitignore b/.gitignore
index 1299028..30707a6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,6 +92,7 @@ doc/html.tar
Index: libosmocore/.gitignore
===================================================================
--- libosmocore.orig/.gitignore
+++ libosmocore/.gitignore
@@ -96,6 +96,7 @@ doc/html.tar
src/crc*gen.c
include/osmocom/core/crc*gen.h
include/osmocom/core/bit*gen.h
@ -35,11 +34,11 @@ index 1299028..30707a6 100644
# vi files
*.sw?
diff --git a/configure.ac b/configure.ac
index deaa8bf..f0d1206 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,10 +85,23 @@ AC_CONFIG_HEADER(config.h)
Index: libosmocore/configure.ac
===================================================================
--- libosmocore.orig/configure.ac
+++ libosmocore/configure.ac
@@ -97,10 +97,23 @@ AM_CONDITIONAL(ENABLE_PCSC, test "x$enab
AC_ARG_ENABLE(talloc,
[AS_HELP_STRING(
[--disable-talloc],
@ -64,19 +63,19 @@ index deaa8bf..f0d1206 100644
AC_ARG_ENABLE(plugin,
[AS_HELP_STRING(
@@ -188,6 +201,7 @@ AC_OUTPUT(
libosmogb.pc
@@ -201,6 +214,7 @@ AC_OUTPUT(
libosmoctrl.pc
libosmosim.pc
include/Makefile
+ include/osmocom/core/talloc.h
src/Makefile
src/vty/Makefile
src/codec/Makefile
diff --git a/include/Makefile.am b/include/Makefile.am
index c59f9b2..4d59a72 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -89,8 +89,9 @@ if ENABLE_PLUGIN
Index: libosmocore/include/Makefile.am
===================================================================
--- libosmocore.orig/include/Makefile.am
+++ libosmocore/include/Makefile.am
@@ -92,8 +92,9 @@ if ENABLE_PLUGIN
nobase_include_HEADERS += osmocom/core/plugin.h
endif
@ -87,10 +86,9 @@ index c59f9b2..4d59a72 100644
endif
if ENABLE_MSGFILE
diff --git a/include/osmocom/core/talloc.h b/include/osmocom/core/talloc.h
deleted file mode 100644
index dde102b..0000000
--- a/include/osmocom/core/talloc.h
Index: libosmocore/include/osmocom/core/talloc.h
===================================================================
--- libosmocore.orig/include/osmocom/core/talloc.h
+++ /dev/null
@@ -1,189 +0,0 @@
-#pragma once
@ -282,11 +280,10 @@ index dde102b..0000000
-char *talloc_asprintf_append_buffer(char *s, const char *fmt, ...) PRINTF_ATTRIBUTE(2,3);
-
-void talloc_set_abort_fn(void (*abort_fn)(const char *reason));
diff --git a/include/osmocom/core/talloc.h.in b/include/osmocom/core/talloc.h.in
new file mode 100644
index 0000000..edbbb63
Index: libosmocore/include/osmocom/core/talloc.h.in
===================================================================
--- /dev/null
+++ b/include/osmocom/core/talloc.h.in
+++ libosmocore/include/osmocom/core/talloc.h.in
@@ -0,0 +1,6 @@
+#pragma once
+#if @OSMOCORE_INTERNAL_TALLOC@
@ -294,11 +291,10 @@ index 0000000..edbbb63
+#else
+#include <talloc.h>
+#endif
diff --git a/include/osmocom/core/talloc_int.h b/include/osmocom/core/talloc_int.h
new file mode 100644
index 0000000..dde102b
Index: libosmocore/include/osmocom/core/talloc_int.h
===================================================================
--- /dev/null
+++ b/include/osmocom/core/talloc_int.h
+++ libosmocore/include/osmocom/core/talloc_int.h
@@ -0,0 +1,189 @@
+#pragma once
+/*
@ -489,13 +485,13 @@ index 0000000..dde102b
+char *talloc_asprintf_append_buffer(char *s, const char *fmt, ...) PRINTF_ATTRIBUTE(2,3);
+
+void talloc_set_abort_fn(void (*abort_fn)(const char *reason));
diff --git a/src/Makefile.am b/src/Makefile.am
index 65494a5..3924330 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
Index: libosmocore/src/Makefile.am
===================================================================
--- libosmocore.orig/src/Makefile.am
+++ libosmocore/src/Makefile.am
@@ -2,7 +2,8 @@
# Please read Chapter 6 "Library interface versions" of the libtool documentation before making any modification
LIBVERSION=5:0:0
LIBVERSION=6:0:0
-AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include \
@ -512,10 +508,10 @@ index 65494a5..3924330 100644
endif
if ENABLE_MSGFILE
diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am
index b0cdea2..40a1821 100644
--- a/src/gsm/Makefile.am
+++ b/src/gsm/Makefile.am
Index: libosmocore/src/gsm/Makefile.am
===================================================================
--- libosmocore.orig/src/gsm/Makefile.am
+++ libosmocore/src/gsm/Makefile.am
@@ -2,7 +2,8 @@
# Please read Chapter 6 "Library interface versions" of the libtool documentation before making any modification
LIBVERSION=6:0:1
@ -526,8 +522,8 @@ index b0cdea2..40a1821 100644
AM_CFLAGS = -Wall ${GCC_FVISIBILITY_HIDDEN}
# FIXME: this should eventually go into a milenage/Makefile.am
@@ -23,9 +24,6 @@ libosmogsm_la_SOURCES = a5.c rxlev_stat.c tlv_parser.c comp128.c comp128v23.c \
milenage/milenage.c gan.c ipa.c
@@ -23,9 +24,6 @@ libosmogsm_la_SOURCES = a5.c rxlev_stat.
milenage/milenage.c gan.c ipa.c gsm0341.c
libosmogsm_la_LDFLAGS = $(LTLDFLAGS_OSMOGSM) -version-info $(LIBVERSION) -no-undefined
-libosmogsm_la_LIBADD = $(top_builddir)/src/libosmocore.la
@ -537,17 +533,17 @@ index b0cdea2..40a1821 100644
+libosmogsm_la_LIBADD = $(top_builddir)/src/libosmocore.la $(TALLOC_LIBS)
EXTRA_DIST = libosmogsm.map
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 3f7db1f..9f034c0 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
Index: libosmocore/tests/Makefile.am
===================================================================
--- libosmocore.orig/tests/Makefile.am
+++ libosmocore/tests/Makefile.am
@@ -1,4 +1,4 @@
-AM_CPPFLAGS = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include $(TALLOC_CFLAGS)
AM_CFLAGS = -Wall
check_PROGRAMS = timer/timer_test sms/sms_test ussd/ussd_test \
@@ -45,7 +45,7 @@ lapd_lapd_test_SOURCES = lapd/lapd_test.c
@@ -46,7 +46,7 @@ lapd_lapd_test_SOURCES = lapd/lapd_test.
lapd_lapd_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
msgfile_msgfile_test_SOURCES = msgfile/msgfile_test.c
@ -556,7 +552,7 @@ index 3f7db1f..9f034c0 100644
smscb_smscb_test_SOURCES = smscb/smscb_test.c
smscb_smscb_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
@@ -54,13 +54,13 @@ sms_sms_test_SOURCES = sms/sms_test.c
@@ -58,13 +58,13 @@ sms_sms_test_SOURCES = sms/sms_test.c
sms_sms_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
timer_timer_test_SOURCES = timer/timer_test.c
@ -570,9 +566,9 @@ index 3f7db1f..9f034c0 100644
-gb_bssgp_fc_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la
+gb_bssgp_fc_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(TALLOC_LIBS)
gb_gprs_ns_test_SOURCES = gb/gprs_ns_test.c
gb_gprs_ns_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DL)
@@ -75,10 +75,10 @@ loggingrb_loggingrb_test_SOURCES = logging/logging_test.c
gb_gprs_bssgp_test_SOURCES = gb/gprs_bssgp_test.c
gb_gprs_bssgp_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DL)
@@ -82,10 +82,10 @@ loggingrb_loggingrb_test_SOURCES = loggi
loggingrb_loggingrb_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/vty/libosmovty.la
strrb_strrb_test_SOURCES = strrb/strrb_test.c
@ -585,18 +581,3 @@ index 3f7db1f..9f034c0 100644
# The `:;' works around a Bash 3.2 bug when the output is not writeable.
diff --git a/tests/msgfile/msgfile_test.c b/tests/msgfile/msgfile_test.c
index a919694..2684b6a 100644
--- a/tests/msgfile/msgfile_test.c
+++ b/tests/msgfile/msgfile_test.c
@@ -20,6 +20,7 @@
*/
#include <osmocom/core/msgfile.h>
+#include <osmocom/core/talloc.h>
#include <stdio.h>
--
2.0.0

View File

@ -7,18 +7,18 @@ Rename the option --enable-talloc to --enable-internal-talloc, and
then make disable-internal-talloc the default when nothing else is
specified.
---
configure.ac | 12 ++++++------
include/Makefile.am | 2 +-
src/Makefile.am | 2 +-
configure.ac | 12 ++++++------
include/Makefile.am | 2 +-
src/Makefile.am | 2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/configure.ac b/configure.ac
index f0d1206..f12675a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,14 +82,14 @@ CHECK_TM_INCLUDES_TM_GMTOFF
dnl Generate the output
AC_CONFIG_HEADER(config.h)
Index: libosmocore/configure.ac
===================================================================
--- libosmocore.orig/configure.ac
+++ libosmocore/configure.ac
@@ -94,14 +94,14 @@ if test "x$enable_pcsc" = "xyes" ; then
fi
AM_CONDITIONAL(ENABLE_PCSC, test "x$enable_pcsc" = "xyes")
-AC_ARG_ENABLE(talloc,
+AC_ARG_ENABLE([internal-talloc],
@ -36,7 +36,7 @@ index f0d1206..f12675a 100644
[
PKG_CHECK_MODULES([TALLOC], [talloc])
OSMOCORE_INTERNAL_TALLOC=0
@@ -186,7 +186,7 @@ then
@@ -198,7 +198,7 @@ then
AM_CONDITIONAL(ENABLE_MSGFILE, false)
AM_CONDITIONAL(ENABLE_SERIAL, false)
AM_CONDITIONAL(ENABLE_VTY, false)
@ -45,11 +45,11 @@ index f0d1206..f12675a 100644
AM_CONDITIONAL(ENABLE_UTILITIES, false)
AM_CONDITIONAL(ENABLE_GB, false)
AC_DEFINE([PANIC_INFLOOP],[1],[Use infinite loop on panic rather than fprintf/abort])
diff --git a/include/Makefile.am b/include/Makefile.am
index 4d59a72..d8af474 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -90,7 +90,7 @@ nobase_include_HEADERS += osmocom/core/plugin.h
Index: libosmocore/include/Makefile.am
===================================================================
--- libosmocore.orig/include/Makefile.am
+++ libosmocore/include/Makefile.am
@@ -93,7 +93,7 @@ nobase_include_HEADERS += osmocom/core/p
endif
nobase_nodist_include_HEADERS = osmocom/core/talloc.h
@ -58,10 +58,10 @@ index 4d59a72..d8af474 100644
nobase_include_HEADERS += osmocom/core/talloc_int.h
endif
diff --git a/src/Makefile.am b/src/Makefile.am
index 3924330..4a6ba5c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
Index: libosmocore/src/Makefile.am
===================================================================
--- libosmocore.orig/src/Makefile.am
+++ libosmocore/src/Makefile.am
@@ -27,7 +27,7 @@ else
libosmocore_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined
endif
@ -71,6 +71,3 @@ index 3924330..4a6ba5c 100644
libosmocore_la_SOURCES += talloc.c
else
libosmocore_la_LIBADD += $(TALLOC_LIBS)
--
2.0.0

View File

@ -7,17 +7,14 @@ Subject: [PATCH] set version
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 3e88a1b..ce4dd55 100644
--- a/configure.ac
+++ b/configure.ac
Index: libosmocore/configure.ac
===================================================================
--- libosmocore.orig/configure.ac
+++ libosmocore/configure.ac
@@ -1,5 +1,5 @@
AC_INIT([libosmocore],
- m4_esyscmd([./git-version-gen .tarball-version]),
+ [0.7.0],
+ [0.8.0],
[openbsc@lists.osmocom.org])
AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip 1.6])
--
1.7.10.4