From b5505fe02f8ac44bb0000cce10939211a0955c83b3a3c0f3fc50fa888a99370d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Wed, 20 May 2015 10:52:00 +0000 Subject: [PATCH 1/3] Accepting request 308098 from home:namtrac:branches:Mono:Factory - Add mono-bug-28777.patch to fix a DeflateStream bug, should fix KeePass problems OBS-URL: https://build.opensuse.org/request/show/308098 OBS-URL: https://build.opensuse.org/package/show/Mono:Factory/mono-core?expand=0&rev=149 --- mono-bug-28777.patch | 28 ++++++++++++++++++++++++++++ mono-core.changes | 6 ++++++ mono-core.spec | 3 +++ 3 files changed, 37 insertions(+) create mode 100644 mono-bug-28777.patch diff --git a/mono-bug-28777.patch b/mono-bug-28777.patch new file mode 100644 index 0000000..6afd46a --- /dev/null +++ b/mono-bug-28777.patch @@ -0,0 +1,28 @@ +From 2dcdfe76d02fed91b71e5b49b6028c6c82e10d4c Mon Sep 17 00:00:00 2001 +From: Gabriel Garcia +Date: Mon, 6 Apr 2015 13:59:43 -0400 +Subject: [PATCH] [System] Fix DeflateStream throw on empty flush, double + flush. Fixes #28777 + +diff --git a/support/zlib-helper.c b/support/zlib-helper.c +index 8345541..3869626 100644 +--- a/support/zlib-helper.c ++++ b/support/zlib-helper.c +@@ -90,6 +90,8 @@ CreateZStream (gint compress, guchar gzip, read_write_func func, void *gchandle) + result->gchandle = gchandle; + result->compress = compress; + result->buffer = g_new (guchar, BUFFER_SIZE); ++ result->stream->next_out = result->buffer; ++ result->stream->avail_out = BUFFER_SIZE; + return result; + } + +@@ -148,7 +150,7 @@ flush_internal (ZStream *stream, gboolean is_final) + if (!stream->compress) + return 0; + +- if (!is_final) { ++ if (!is_final && stream->stream->avail_in != 0) { + status = deflate (stream->stream, Z_PARTIAL_FLUSH); + if (status != Z_OK && status != Z_STREAM_END) + return status; diff --git a/mono-core.changes b/mono-core.changes index c62ad6a..3c47192 100644 --- a/mono-core.changes +++ b/mono-core.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed May 20 09:50:17 UTC 2015 - idonmez@suse.com + +- Add mono-bug-28777.patch to fix a DeflateStream bug, should fix + KeePass problems + ------------------------------------------------------------------- Sat May 2 05:40:26 UTC 2015 - mailaender@opensuse.org diff --git a/mono-core.spec b/mono-core.spec index 21cbcda..f337200 100644 --- a/mono-core.spec +++ b/mono-core.spec @@ -38,6 +38,8 @@ Patch0: mono-nunit-default-runtime-4.5.patch Patch1: mono-3.x-keyboards.resources-cp_r.patch # PATCH-FIX-UPSTREAM https://github.com/mono/mono/commit/acdcee6a43f762edcd3cd295cd4225d8c2b949d1.patch Patch2: amd64-tramp-size.patch +# PATCH-FIX-UPSTREAM https://github.com/mono/mono/commit/bcb651 +Patch3: mono-bug-28777.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bison @@ -111,6 +113,7 @@ technologies that have been submitted to the ECMA for standardization. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build NOCONFIGURE="yes" ./autogen.sh From 9f1fa153283c6b7fa4cd70465fc849c85dd8676ee0ecd43540792323b28e2e43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Wed, 20 May 2015 10:52:31 +0000 Subject: [PATCH 2/3] OBS-URL: https://build.opensuse.org/package/show/Mono:Factory/mono-core?expand=0&rev=150 --- mono-core.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mono-core.changes b/mono-core.changes index 3c47192..dd94f67 100644 --- a/mono-core.changes +++ b/mono-core.changes @@ -26,7 +26,7 @@ Sat May 2 05:40:26 UTC 2015 - mailaender@opensuse.org ------------------------------------------------------------------- Tue Mar 24 13:14:18 UTC 2015 - dvaleev@suse.com -- Don't run parralel build. It is too fragile +- Don't run parallel build. It is too fragile ------------------------------------------------------------------- Mon Mar 23 22:04:47 UTC 2015 - dvaleev@suse.com From 7429e46d45bfdd60d6b2f86e6bc69156459c2a0269947dfcbf7a7a7202d7c0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Wed, 20 May 2015 16:12:04 +0000 Subject: [PATCH 3/3] Accepting request 308124 from home:Warhammer40k:Mono_4_0_Custom OBS-URL: https://build.opensuse.org/request/show/308124 OBS-URL: https://build.opensuse.org/package/show/Mono:Factory/mono-core?expand=0&rev=151 --- amd64-tramp-size.patch | 22 ----------------- mono-4.0.1.43.tar.bz2 | 3 +++ mono-4.0.1.tar.bz2 | 3 --- mono-bug-30171.patch | 54 ++++++++++++++++++++++++++++++++++++++++++ mono-core.changes | 9 +++++++ mono-core.spec | 10 ++++---- 6 files changed, 71 insertions(+), 30 deletions(-) delete mode 100644 amd64-tramp-size.patch create mode 100644 mono-4.0.1.43.tar.bz2 delete mode 100644 mono-4.0.1.tar.bz2 create mode 100644 mono-bug-30171.patch diff --git a/amd64-tramp-size.patch b/amd64-tramp-size.patch deleted file mode 100644 index 00ace11..0000000 --- a/amd64-tramp-size.patch +++ /dev/null @@ -1,22 +0,0 @@ -From acdcee6a43f762edcd3cd295cd4225d8c2b949d1 Mon Sep 17 00:00:00 2001 -From: Zoltan Varga -Date: Tue, 31 Mar 2015 18:36:11 -0400 -Subject: [PATCH] [jit] Increase some trampoline sizes. - ---- - mono/mini/tramp-amd64.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mono/mini/tramp-amd64.c b/mono/mini/tramp-amd64.c -index 526ba98..0c7f8b2 100755 ---- a/mono/mini/tramp-amd64.c -+++ b/mono/mini/tramp-amd64.c -@@ -983,7 +983,7 @@ mono_arch_create_monitor_enter_trampoline (MonoTrampInfo **info, gboolean is_v4, - status_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (status_offset); - nest_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (nest_offset); - -- tramp_size = 96; -+ tramp_size = 128; - - code = buf = mono_global_codeman_reserve (tramp_size); - diff --git a/mono-4.0.1.43.tar.bz2 b/mono-4.0.1.43.tar.bz2 new file mode 100644 index 0000000..49a3b23 --- /dev/null +++ b/mono-4.0.1.43.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ece21dc289c822077001986a3d58182e295f3d8fb4a773c3fe8f4519bb02e0f +size 96055179 diff --git a/mono-4.0.1.tar.bz2 b/mono-4.0.1.tar.bz2 deleted file mode 100644 index 46a2e8f..0000000 --- a/mono-4.0.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff1f15f3b8d43c6a2818c00fabe377b2d8408ad14acd9d507658b4cae00f5bce -size 97197403 diff --git a/mono-bug-30171.patch b/mono-bug-30171.patch new file mode 100644 index 0000000..ebc0cb6 --- /dev/null +++ b/mono-bug-30171.patch @@ -0,0 +1,54 @@ +From ed1d3ec5260b613849b9af27c9dbcb6566c1637c Mon Sep 17 00:00:00 2001 +From: Marek Safar +Date: Wed, 20 May 2015 09:55:49 +0200 +Subject: [PATCH] [corlib] BinaryReader with Unicode encoding needs to read + bytes in a pair. Fixes #30171 + +--- + mcs/class/corlib/System.IO/BinaryReader.cs | 7 +++++++ + mcs/class/corlib/Test/System.IO/BinaryReaderTest.cs | 14 ++++++++++++++ + 2 files changed, 21 insertions(+) + +diff --git a/mcs/class/corlib/System.IO/BinaryReader.cs b/mcs/class/corlib/System.IO/BinaryReader.cs +index 73235c9..bbcd817 100644 +--- a/mcs/class/corlib/System.IO/BinaryReader.cs ++++ b/mcs/class/corlib/System.IO/BinaryReader.cs +@@ -253,6 +253,13 @@ private int ReadCharBytes (char[] buffer, int index, int count, out int bytes_re + + m_buffer [pos ++] = (byte)read_byte; + bytes_read ++; ++ if (m_encoding is UnicodeEncoding) { ++ CheckBuffer (pos + 1); ++ read_byte = m_stream.ReadByte(); ++ if (read_byte != -1) { ++ m_buffer [pos++] = (byte)read_byte; ++ } ++ } + + int n = m_encoding.GetChars (m_buffer, 0, pos, buffer, index + chars_read); + if (n > 0) +diff --git a/mcs/class/corlib/Test/System.IO/BinaryReaderTest.cs b/mcs/class/corlib/Test/System.IO/BinaryReaderTest.cs +index 852d690..ca4e3da 100644 +--- a/mcs/class/corlib/Test/System.IO/BinaryReaderTest.cs ++++ b/mcs/class/corlib/Test/System.IO/BinaryReaderTest.cs +@@ -274,6 +274,20 @@ public void TestReadChar() + } + } + ++ [Test] ++ public void TestReadUnicode () ++ { ++ char testChar1 = 'H'; ++ using (var stream = new MemoryStream()) ++ using (var writer = new BinaryWriter(stream, Encoding.Unicode, true)) ++ using (var reader = new BinaryReader(stream, Encoding.Unicode)) ++ { ++ writer.Write(testChar1); ++ stream.Position = 0; ++ Assert.AreEqual ('H', reader.ReadChar ()); ++ } ++ } ++ + + //-TODO: (TestRead[Type]*) Verify the ReadBoolean, ReadByte .... + // ReadBoolean, ReadByte, ReadChar, ReadInt32 Done diff --git a/mono-core.changes b/mono-core.changes index dd94f67..0430ab6 100644 --- a/mono-core.changes +++ b/mono-core.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed May 20 11:00:00 UTC 2015 - fwdsbs.to.11df@xoxy.net + +- Update to version 4.0.1.43: + * fixed bugs: 29459, 29898, 29667, 28557, 29177, 28847, 28209, 26998, 29039 and more + * fixes in mono profiler +- Add mono-bug-30171.patch to fix BinaryReader bug with Unicode encoding +- Removed amd64-tramp-size.patch (fix included in 4.0.1.43 release) + ------------------------------------------------------------------- Wed May 20 09:50:17 UTC 2015 - idonmez@suse.com diff --git a/mono-core.spec b/mono-core.spec index f337200..d2abbdf 100644 --- a/mono-core.spec +++ b/mono-core.spec @@ -21,7 +21,7 @@ %define sgen yes Name: mono-core -Version: 4.0.1 +Version: 4.0.1.43 Release: 0 Summary: Cross-platform, Open Source, .NET development framework License: LGPL-2.1 and MIT and MS-PL @@ -36,10 +36,10 @@ Patch0: mono-nunit-default-runtime-4.5.patch # so cp won't work, should add -r argument # https://github.com/mono/mono/pull/1764 Patch1: mono-3.x-keyboards.resources-cp_r.patch -# PATCH-FIX-UPSTREAM https://github.com/mono/mono/commit/acdcee6a43f762edcd3cd295cd4225d8c2b949d1.patch -Patch2: amd64-tramp-size.patch # PATCH-FIX-UPSTREAM https://github.com/mono/mono/commit/bcb651 -Patch3: mono-bug-28777.patch +Patch2: mono-bug-28777.patch +# PATCH-FIX-UPSTREAM https://github.com/mono/mono/commit/ed1d3ec5260b613849b9af27c9dbcb6566c1637c.patch +Patch3: mono-bug-30171.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bison @@ -109,7 +109,7 @@ cross-platform .NET applications. The project will implement various technologies that have been submitted to the ECMA for standardization. %prep -%setup -q -n mono-%{version} +%setup -q -n mono-4.0.1 %patch0 -p1 %patch1 -p1 %patch2 -p1