From ccacbcdda9cee1658eebc1aeea2cef11acf085ea Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Mon, 12 May 2014 18:54:33 +0100 Subject: [PATCH 01/31] bootstrap build for epel7 --- mono.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mono.spec b/mono.spec index 30c3d8b..f419a22 100644 --- a/mono.spec +++ b/mono.spec @@ -1,6 +1,6 @@ Name: mono Version: 2.10.8 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A .NET runtime environment Group: Development/Languages @@ -35,7 +35,7 @@ BuildRequires: gettext-devel # need to bootstrap mono, comment out this BuildRequires # and don't delete the binaries in %%prep. -BuildRequires: mono-core +#BuildRequires: mono-core # JIT only availible on these: ExclusiveArch: %ix86 x86_64 ia64 %{arm} sparcv9 alpha s390x ppc ppc64 @@ -266,7 +266,7 @@ Development file for monodoc sed -i "61a #define ARG_MAX _POSIX_ARG_MAX" mono/io-layer/wapi_glob.h # Remove prebuilt binaries -rm -rf mcs/class/lib/monolite/* +#rm -rf mcs/class/lib/monolite/* %build %ifarch ia64 @@ -715,6 +715,9 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %changelog +* Mon May 12 2014 Leigh Scott - 2.10.8-5 +- bootstrap build for epel7 + * Thu Feb 14 2013 Fedora Release Engineering - 2.10.8-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild From ee2a4ad0333896051e2c53beaa9512defb14d71f Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 16 May 2014 14:33:10 +0100 Subject: [PATCH 02/31] rebuild against mono-core --- mono.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mono.spec b/mono.spec index f419a22..6d23b81 100644 --- a/mono.spec +++ b/mono.spec @@ -1,6 +1,6 @@ Name: mono Version: 2.10.8 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A .NET runtime environment Group: Development/Languages @@ -35,7 +35,7 @@ BuildRequires: gettext-devel # need to bootstrap mono, comment out this BuildRequires # and don't delete the binaries in %%prep. -#BuildRequires: mono-core +BuildRequires: mono-core # JIT only availible on these: ExclusiveArch: %ix86 x86_64 ia64 %{arm} sparcv9 alpha s390x ppc ppc64 @@ -266,7 +266,7 @@ Development file for monodoc sed -i "61a #define ARG_MAX _POSIX_ARG_MAX" mono/io-layer/wapi_glob.h # Remove prebuilt binaries -#rm -rf mcs/class/lib/monolite/* +rm -rf mcs/class/lib/monolite/* %build %ifarch ia64 @@ -715,6 +715,9 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %changelog +* Fri May 16 2014 Leigh Scott - 2.10.8-6 +- rebuild against mono-core + * Mon May 12 2014 Leigh Scott - 2.10.8-5 - bootstrap build for epel7 From ff73409726e24c0b37a4c42c212cb48cc65670e4 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Mon, 30 Jun 2014 22:47:14 +0100 Subject: [PATCH 03/31] add some obsoletes (bz 1114673) --- mono.spec | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index 6d23b81..aba556c 100644 --- a/mono.spec +++ b/mono.spec @@ -1,6 +1,6 @@ Name: mono Version: 2.10.8 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A .NET runtime environment Group: Development/Languages @@ -40,6 +40,11 @@ BuildRequires: mono-core # JIT only availible on these: ExclusiveArch: %ix86 x86_64 ia64 %{arm} sparcv9 alpha s390x ppc ppc64 +Obsoletes: mono-4-preview < 2.10.0 +Obsoletes: mono-jscript < 2.8 +Obsoletes: mono-data-sybase < 2.8 +Obsoletes: mono-data-firebird < 2.8 + %description The Mono runtime implements a JIT engine for the ECMA CLI virtual machine (as well as a byte code interpreter, the @@ -50,7 +55,8 @@ metadata access libraries. Summary: The Mono CIL runtime, suitable for running .NET code Group: Development/Languages Requires: libgdiplus -Obsoletes: mono-4-preview < 2.10.0 +Obsoletes: mono-moonlight < 2.6 +Provides: mono-moonlight = %{version}-%{release} %description core This package contains the core of the Mono runtime including its @@ -715,6 +721,9 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %changelog +* Mon Jun 30 2014 Leigh Scott - 2.10.8-7 +- add some obsoletes (bz 1114673) + * Fri May 16 2014 Leigh Scott - 2.10.8-6 - rebuild against mono-core From cc503e32f3a62416453fd58e6589f7d8522fcfe1 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 8 Jul 2014 23:03:20 +0100 Subject: [PATCH 04/31] move obsoletes to core package --- mono.spec | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mono.spec b/mono.spec index aba556c..d2c906c 100644 --- a/mono.spec +++ b/mono.spec @@ -1,6 +1,6 @@ Name: mono Version: 2.10.8 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A .NET runtime environment Group: Development/Languages @@ -40,11 +40,6 @@ BuildRequires: mono-core # JIT only availible on these: ExclusiveArch: %ix86 x86_64 ia64 %{arm} sparcv9 alpha s390x ppc ppc64 -Obsoletes: mono-4-preview < 2.10.0 -Obsoletes: mono-jscript < 2.8 -Obsoletes: mono-data-sybase < 2.8 -Obsoletes: mono-data-firebird < 2.8 - %description The Mono runtime implements a JIT engine for the ECMA CLI virtual machine (as well as a byte code interpreter, the @@ -55,6 +50,11 @@ metadata access libraries. Summary: The Mono CIL runtime, suitable for running .NET code Group: Development/Languages Requires: libgdiplus +Obsoletes: mono-4-preview < 2.10.0 +Obsoletes: bytefx-data-mysql < 2.8 +Obsoletes: mono-jscript < 2.8 +Obsoletes: mono-data-sybase < 2.8 +Obsoletes: mono-data-firebird < 2.8 Obsoletes: mono-moonlight < 2.6 Provides: mono-moonlight = %{version}-%{release} @@ -721,6 +721,9 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %changelog +* Tue Jul 08 2014 Leigh Scott - 2.10.8-8 +- move obsoletes to core package + * Mon Jun 30 2014 Leigh Scott - 2.10.8-7 - add some obsoletes (bz 1114673) From 3075a204112f3827c2e84b90fe47bf8d68aad730 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Mon, 4 Jan 2016 14:54:03 +0100 Subject: [PATCH 05/31] apply patch for security issue CVE-2009-0689 (#1293640) Converting specially crafted string to float causes crash and possible code execution --- mono-2.10-CVE-2009-0689.patch | 32 ++++++++++++++++++++++++++++++++ mono.spec | 8 +++++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 mono-2.10-CVE-2009-0689.patch diff --git a/mono-2.10-CVE-2009-0689.patch b/mono-2.10-CVE-2009-0689.patch new file mode 100644 index 0000000..3a4a956 --- /dev/null +++ b/mono-2.10-CVE-2009-0689.patch @@ -0,0 +1,32 @@ +diff --git a/mono/utils/strtod.c b/mono/utils/strtod.c +index 1ba4b72..ddbdd17 100644 +--- a/mono/utils/strtod.c ++++ b/mono/utils/strtod.c +@@ -542,7 +542,7 @@ Balloc + #endif + + ACQUIRE_DTOA_LOCK(0); +- if ((rv = freelist[k])) { ++ if (k <= Kmax && (rv = freelist[k])) { + freelist[k] = rv->next; + } + else { +@@ -579,10 +579,14 @@ Bfree + free (v); + #else + if (v) { +- ACQUIRE_DTOA_LOCK(0); +- v->next = freelist[v->k]; +- freelist[v->k] = v; +- FREE_DTOA_LOCK(0); ++ if (v->k > Kmax) ++ free((void*)v); ++ else { ++ ACQUIRE_DTOA_LOCK(0); ++ v->next = freelist[v->k]; ++ freelist[v->k] = v; ++ FREE_DTOA_LOCK(0); ++ } + } + #endif + } diff --git a/mono.spec b/mono.spec index d2c906c..9826522 100644 --- a/mono.spec +++ b/mono.spec @@ -1,6 +1,6 @@ Name: mono Version: 2.10.8 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A .NET runtime environment Group: Development/Languages @@ -17,6 +17,7 @@ Patch0: mono-2.8-ppc-thread.patch Patch1: mono-281-libgdiplusconfig.patch Patch2: mono-2.10-monodis.patch Patch3: mono-2.10-armhfp.patch +Patch4: mono-2.10-CVE-2009-0689.patch BuildRequires: bison BuildRequires: glib2-devel @@ -267,6 +268,7 @@ Development file for monodoc %ifarch armv7hl %patch3 -p1 -b .armhfp %endif +%patch4 -p1 # Add undeclared Arg sed -i "61a #define ARG_MAX _POSIX_ARG_MAX" mono/io-layer/wapi_glob.h @@ -721,6 +723,10 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %changelog +* Mon Jan 04 2016 Timotheus Pokorra - 2.10.8-9 +- apply patch for security issue CVE-2009-0689 (#1293640) +- Converting specially crafted string to float causes crash and possible code execution + * Tue Jul 08 2014 Leigh Scott - 2.10.8-8 - move obsoletes to core package From 12cac0dc0b2a5757b61c6aaf26f7162a290cefd7 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Fri, 10 Jun 2016 15:07:39 +0200 Subject: [PATCH 06/31] first attempt to upgrade to Mono 4.2.4.4 --- .gitignore | 1 + mono-2.10-CVE-2009-0689.patch | 32 -- mono-2.10-armhfp.patch | 22 - mono-2.10-monodis.patch | 11 - mono-2.8-libdir.patch | 246 ---------- mono-2.8-metadata-makefile.patch | 40 -- mono-2.8-monodis.patch | 11 - mono-2.8-ppc-thread.patch | 18 - mono-242-libgdiplusconfig.patch | 12 - mono-281-libgdiplusconfig.patch | 10 - mono-281-moonlightbuild.patch | 14 - mono-4.0.0-ignore-reference-assemblies.patch | 15 + mono-4.0.0-libgdiplusconfig.patch | 13 + mono-4.2.0-tlab_next_addr_offset.patch | 43 ++ mono-4.2.1-ppc.patch | 51 ++ mono-4.2.1-s390.patch | 26 + mono-4.2.2-asmx.patch | 30 ++ mono.spec | 492 ++++++++++--------- sources | 2 +- 19 files changed, 440 insertions(+), 649 deletions(-) delete mode 100644 mono-2.10-CVE-2009-0689.patch delete mode 100644 mono-2.10-armhfp.patch delete mode 100644 mono-2.10-monodis.patch delete mode 100644 mono-2.8-libdir.patch delete mode 100644 mono-2.8-metadata-makefile.patch delete mode 100644 mono-2.8-monodis.patch delete mode 100644 mono-2.8-ppc-thread.patch delete mode 100644 mono-242-libgdiplusconfig.patch delete mode 100644 mono-281-libgdiplusconfig.patch delete mode 100644 mono-281-moonlightbuild.patch create mode 100644 mono-4.0.0-ignore-reference-assemblies.patch create mode 100644 mono-4.0.0-libgdiplusconfig.patch create mode 100644 mono-4.2.0-tlab_next_addr_offset.patch create mode 100644 mono-4.2.1-ppc.patch create mode 100644 mono-4.2.1-s390.patch create mode 100644 mono-4.2.2-asmx.patch diff --git a/.gitignore b/.gitignore index f2799f8..5d7fdba 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ mono-2.6.7.tar.bz2 /mono-2.10.5.tar.bz2 /mono-2.10.6.tar.bz2 /mono-2.10.8.tar.bz2 +/mono-4.2.4.4.tar.bz2 diff --git a/mono-2.10-CVE-2009-0689.patch b/mono-2.10-CVE-2009-0689.patch deleted file mode 100644 index 3a4a956..0000000 --- a/mono-2.10-CVE-2009-0689.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/mono/utils/strtod.c b/mono/utils/strtod.c -index 1ba4b72..ddbdd17 100644 ---- a/mono/utils/strtod.c -+++ b/mono/utils/strtod.c -@@ -542,7 +542,7 @@ Balloc - #endif - - ACQUIRE_DTOA_LOCK(0); -- if ((rv = freelist[k])) { -+ if (k <= Kmax && (rv = freelist[k])) { - freelist[k] = rv->next; - } - else { -@@ -579,10 +579,14 @@ Bfree - free (v); - #else - if (v) { -- ACQUIRE_DTOA_LOCK(0); -- v->next = freelist[v->k]; -- freelist[v->k] = v; -- FREE_DTOA_LOCK(0); -+ if (v->k > Kmax) -+ free((void*)v); -+ else { -+ ACQUIRE_DTOA_LOCK(0); -+ v->next = freelist[v->k]; -+ freelist[v->k] = v; -+ FREE_DTOA_LOCK(0); -+ } - } - #endif - } diff --git a/mono-2.10-armhfp.patch b/mono-2.10-armhfp.patch deleted file mode 100644 index 00e77d7..0000000 --- a/mono-2.10-armhfp.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: mono-2.10.6/configure -=================================================================== ---- mono-2.10.6.orig/configure -+++ mono-2.10.6/configure -@@ -23729,11 +23729,12 @@ main () - return 0; - } - _ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- fpu=FPA --else -- fpu=NONE --fi -+#if ac_fn_c_try_compile "$LINENO"; then : -+# fpu=FPA -+#else -+# fpu=NONE -+#fi -+fpu=VFP - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fpu" >&5 diff --git a/mono-2.10-monodis.patch b/mono-2.10-monodis.patch deleted file mode 100644 index 3ffa103..0000000 --- a/mono-2.10-monodis.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mono-2.10/mono/Makefile.am 2011-01-31 20:16:05.000000000 +0000 -+++ mono-2.10/mono/Makefile-new.am 2011-02-03 20:17:08.148741427 +0000 -@@ -2,7 +2,7 @@ - SUBDIRS = utils io-layer cil metadata arch $(interpreter_dir) mini dis - else - if MOONLIGHT --SUBDIRS = utils io-layer metadata arch mini -+SUBDIRS = utils io-layer cil metadata arch $(interpreter_dir) mini dis monograph tests benchmark profiler - - moon-do-build: - @list='$(SUBDIRS)'; for subdir in $$list; do \ diff --git a/mono-2.8-libdir.patch b/mono-2.8-libdir.patch deleted file mode 100644 index 09c08a9..0000000 --- a/mono-2.8-libdir.patch +++ /dev/null @@ -1,246 +0,0 @@ ---- mono-2.8/mono/metadata/assembly.c 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/mono/metadata/assembly-new.c 2010-09-15 13:40:24.295239665 +0100 -@@ -564,7 +564,7 @@ - } - - config = g_build_filename (base, "etc", NULL); -- lib = g_build_filename (base, "lib", NULL); -+ lib = g_build_filename (base, MONO_RELOC_LIBDIR, NULL); - mono = g_build_filename (lib, "mono/1.0", NULL); - if (stat (mono, &buf) == -1) - fallback (); -@@ -2088,7 +2088,7 @@ - if (extra_gac_paths) { - paths = extra_gac_paths; - while (!res && *paths) { -- gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", aname->name, NULL); -+ gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, MONO_RELOC_LIBDIR, "mono", "gac", aname->name, NULL); - res = probe_for_partial_name (gacpath, fullname, aname, status); - g_free (gacpath); - paths++; -@@ -2218,7 +2218,7 @@ - paths = extra_gac_paths; - while (!image && *paths) { - fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, -- "lib", "mono", "gac", subpath, NULL); -+ MONO_RELOC_LIBDIR, "mono", "gac", subpath, NULL); - image = mono_image_open (fullpath, NULL); - g_free (fullpath); - paths++; -@@ -2510,7 +2510,7 @@ - if (extra_gac_paths) { - paths = extra_gac_paths; - while (!result && *paths) { -- fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", subpath, NULL); -+ fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, MONO_RELOC_LIBDIR, "mono", "gac", subpath, NULL); - result = mono_assembly_open_full (fullpath, status, refonly); - g_free (fullpath); - paths++; ---- mono-2.8/mcs/tools/gacutil/driver.cs 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/mcs/tools/gacutil/driver-new.cs 2010-09-15 13:32:30.335396575 +0100 -@@ -808,7 +808,7 @@ - private static string EnsureLib (string dir) - { - DirectoryInfo d = new DirectoryInfo (dir); -- if (d.Name == "lib") -+ if (d.Name == "lib" || d.Name == "lib64") - return dir; - return Path.Combine (dir, "lib"); - } ---- mono-2.6.4/mcs/build/config-default.make 2010-04-22 16:38:03.000000000 +0100 -+++ mono-2.6.4/mcs/build/config-default-new.make 2010-04-27 00:29:59.000000000 +0100 -@@ -19,7 +19,7 @@ - endif - prefix = /usr/local - exec_prefix = $(prefix) --mono_libdir = $(exec_prefix)/lib -+mono_libdir = @LIBDIR@ - sysconfdir = $(prefix)/etc - #RUNTIME = mono - RUNTIME = false ---- mono-2.6.4/scripts/Makefile.am 2010-04-22 16:37:43.000000000 +0100 -+++ mono-2.6.4/scripts/Makefile-new.am 2010-04-27 00:42:28.000000000 +0100 -@@ -176,7 +176,7 @@ - endif - else - plat_bindir = $(bindir) --mono_instdir = $(prefix)/lib/mono -+mono_instdir = @LIBDIR@/mono - endif - - ---- mono-2.6.4/data/cecil.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/cecil.pc-new.in 2010-04-27 00:33:58.000000000 +0100 -@@ -1,4 +1,4 @@ --assemblies_dir=@prefix@/lib/mono -+assemblies_dir=@LIBDIR@/mono - Libraries=${assemblies_dir}/gac/Mono.Cecil/0.6.9.0__0738eb9f132ed756/Mono.Cecil.dll - - Name: Mono Internal -- Do not use. ---- mono-2.6.4/data/mint.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/mint.pc-new.in 2010-04-27 00:34:27.000000000 +0100 -@@ -1,6 +1,6 @@ - prefix=${pcfiledir}/../.. - exec_prefix=${pcfiledir}/../.. --libdir=${prefix}/lib -+libdir=@LIBDIR@ - includedir=${prefix}/include/mono-@API_VER@ - - ---- mono-2.6.4/data/mono.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/mono.pc-new.in 2010-04-27 00:34:57.000000000 +0100 -@@ -1,6 +1,6 @@ - prefix=${pcfiledir}/../.. - exec_prefix=${pcfiledir}/../.. --libdir=${prefix}/@reloc_libdir@ -+libdir=@LIBDIR@ - includedir=${prefix}/include/mono-@API_VER@ - sysconfdir=@sysconfdir@ - ---- mono-2.6.4/data/mono.web.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/mono.web.pc-new.in 2010-04-27 00:40:27.000000000 +0100 -@@ -1,4 +1,4 @@ - Name: Mono.Web - Description: Mono ASP.NET extension classes - Version: 2.0.0.0 --Libs: -r:@prefix@/lib/mono/gac/Mono.Web/2.0.0.0__0738eb9f132ed756/Mono.Web.dll -+Libs: -r:@LIBDIR@/mono/gac/Mono.Web/2.0.0.0__0738eb9f132ed756/Mono.Web.dll - ---- mono-2.6.4/data/mono-lineeditor.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/mono-lineeditor.pc-new.in 2010-04-27 00:37:17.000000000 +0100 -@@ -1,5 +1,5 @@ - prefix=${pcfiledir}/../.. --assemblies_dir=${prefix}/lib/mono-source-libs -+assemblies_dir=@LIBDIR@/mono-source-libs - Sources=${assemblies_dir}/getline.cs - - Name: Mono.Terminal.LineEditor ---- mono-2.6.4/data/mono-nunit.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/mono-nunit.pc-new.in 2010-04-27 00:37:48.000000000 +0100 -@@ -1,6 +1,6 @@ - prefix=${pcfiledir}/../.. - exec_prefix=${prefix} --libdir=${exec_prefix}/lib -+libdir=@LIBDIR@ - - - Name: Mono NUnit ---- mono-2.6.4/data/mono-options.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/mono-options.pc-new.in 2010-04-27 00:38:21.000000000 +0100 -@@ -1,5 +1,5 @@ - prefix=${pcfiledir}/../.. --assemblies_dir=${prefix}/lib/mono-source-libs -+assemblies_dir=@LIBDIR@/mono-source-libs - Sources=${assemblies_dir}/Options.cs - - Name: Mono.Options ---- mono-2.6.4/data/system.web.extensions.design_1.0.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/system.web.extensions.design_1.0.pc-new.in 2010-04-27 00:38:43.000000000 +0100 -@@ -1,4 +1,4 @@ - Name: System.Web.Extensions.Design - Description: System.Web.Extensions.Design ASP.NET 2.0 add-on - Version: 1.0.61025.0 --Libs: -r:@prefix@/lib/mono/gac/System.Web.Extensions.Design/1.0.61025.0__31bf3856ad364e35/System.Web.Extensions.Design.dll -+Libs: -r:@LIBDIR@/mono/gac/System.Web.Extensions.Design/1.0.61025.0__31bf3856ad364e35/System.Web.Extensions.Design.dll ---- mono-2.6.4/data/system.web.extensions_1.0.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/system.web.extensions_1.0.pc-new.in 2010-04-27 00:39:00.000000000 +0100 -@@ -1,4 +1,4 @@ - Name: System.Web.Extensions - Description: System.Web.Extensions ASP.NET 2.0 add-on - Version: 1.0.61025.0 --Libs: -r:@prefix@/lib/mono/gac/System.Web.Extensions/1.0.61025.0__31bf3856ad364e35/System.Web.Extensions.dll -+Libs: -r:@LIBDIR@/mono/gac/System.Web.Extensions/1.0.61025.0__31bf3856ad364e35/System.Web.Extensions.dll ---- mono-2.6.4/data/system.web.mvc.pc.in 2010-04-22 16:37:47.000000000 +0100 -+++ mono-2.6.4/data/system.web.mvc.pc-new.in 2010-04-27 00:39:16.000000000 +0100 -@@ -1,4 +1,4 @@ - Name: System.Web.Mvc - Description: System.Web.Mvc - ASP.NET MVC - Version: 1.0.0.0 --Libs: -r:@prefix@/lib/mono/gac/System.Web.Mvc/1.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll -+Libs: -r:@LIBDIR@/mono/gac/System.Web.Mvc/1.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll - ---- mono-2.8/configure.in 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/configure-new.in 2010-09-15 14:01:05.640710876 +0100 -@@ -2886,7 +2886,7 @@ - echo "prefix=$prefix" > $mcs_topdir/build/config.make - echo "exec_prefix=$exec_prefix" >> $mcs_topdir/build/config.make - echo "sysconfdir=$sysconfdir" >> $mcs_topdir/build/config.make -- echo 'mono_libdir=${exec_prefix}/lib' >> $mcs_topdir/build/config.make -+ echo 'mono_libdir=@LIBDIR@' >> $mcs_topdir/build/config.make - echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $mcs_topdir/build/config.make - echo 'IL_FLAGS = /debug' >> $mcs_topdir/build/config.make - echo "RUNTIME = $mono_build_root/runtime/mono-wrapper" >> $mcs_topdir/build/config.make -@@ -2937,7 +2937,7 @@ - - echo "prefix=$prefix" > $srcdir/$olivedir/build/config.make - echo "exec_prefix=$exec_prefix" >> $srcdir/$olivedir/build/config.make -- echo 'mono_libdir=${exec_prefix}/lib' >> $srcdir/$olivedir/build/config.make -+ echo 'mono_libdir=@LIBDIR@' >> $srcdir/$olivedir/build/config.make - echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $srcdir/$olivedir/build/config.make - echo "RUNTIME = $mono_build_root/runtime/mono-wrapper" >> $srcdir/$olivedir/build/config.make - echo "MONO_VERSION = $myver" >> $srcdir/$olivedir/build/config.make ---- mono-2.8/data/monodoc.pc.in 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/data/monodoc.pc-new.in 2010-09-22 12:43:38.220677135 +0100 -@@ -1,9 +1,9 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@prefix@/lib -+libdir=@LIBDIR@ - sourcesdir=${libdir}/monodoc/sources - - Name: Monodoc - Description: Monodoc - Mono Documentation Tools - Version: @VERSION@ --Libs: /r:${prefix}/lib/mono/monodoc/monodoc.dll -+Libs: /r:${libdir}/mono/monodoc/monodoc.dll ---- mono-2.8/data/mono-cairo.pc.in 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/data/mono-cairo.pc-new.in 2010-09-22 12:42:53.873541601 +0100 -@@ -1,9 +1,9 @@ - prefix=${pcfiledir}/../.. - exec_prefix=${pcfiledir}/../.. --libdir=${prefix}/@reloc_libdir@ -+libdir=@LIBDIR@ - includedir=${prefix}/include - - Name: Mono.Cairo - Description: Cairo bindings for Mono - Version: @VERSION@ --Libs: -r:${prefix}/lib/mono/2.0/Mono.Cairo.dll -+Libs: -r:${libdir}/mono/2.0/Mono.Cairo.dll ---- mono-2.8/data/system.web.mvc2.pc.in 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/data/system.web.mvc2.pc-new.in 2010-09-22 12:44:16.452759229 +0100 -@@ -1,4 +1,4 @@ - Name: System.Web.Mvc2 - Description: System.Web.Mvc - ASP.NET MVC v2 - Version: 2.0.0.0 --Libs: -r:@prefix@/lib/mono/gac/System.Web.Mvc/2.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll -+Libs: -r:@LIBDIR@/mono/gac/System.Web.Mvc/2.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll ---- mono-2.8/docs/Makefile.in 2010-09-10 21:58:21.000000000 +0100 -+++ mono-2.8/docs/Makefile-new.in 2010-09-22 12:51:28.223926963 +0100 -@@ -252,7 +252,7 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --sourcesdir = $(prefix)/lib/monodoc/sources -+sourcesdir = @LIBDIR@/monodoc/sources - sources_DATA = \ - mono-file-formats.source \ - mono-tools.source \ ---- mono-2.8/docs/Makefile.am 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/docs/Makefile-new.am 2010-09-22 12:49:54.369453974 +0100 -@@ -1,4 +1,4 @@ --sourcesdir = $(prefix)/lib/monodoc/sources -+sourcesdir = @LIBDIR@/monodoc/sources - - sources_DATA = \ - mono-file-formats.source \ ---- mono-2.8/data/mono-2.pc.in 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/data/mono-2.pc-new.in 2010-09-22 12:54:54.445011590 +0100 -@@ -1,6 +1,6 @@ - prefix=${pcfiledir}/../.. - exec_prefix=${pcfiledir}/../.. --libdir=${prefix}/@reloc_libdir@ -+libdir=@LIBDIR@ - includedir=${prefix}/include/mono-@API_VER@ - sysconfdir=@sysconfdir@ - diff --git a/mono-2.8-metadata-makefile.patch b/mono-2.8-metadata-makefile.patch deleted file mode 100644 index 0e54ace..0000000 --- a/mono-2.8-metadata-makefile.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- mono-2.8/mono/metadata/Makefile.am 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/mono/metadata/Makefile-new.am 2010-09-15 13:47:56.378549804 +0100 -@@ -20,7 +20,7 @@ - AM_CFLAGS = -O - else - --assembliesdir = $(exec_prefix)/lib -+assembliesdir = @LIBDIR@ - confdir = $(sysconfdir) - unix_sources = \ - console-unix.c -@@ -40,7 +40,7 @@ - - noinst_LTLIBRARIES = libmonoruntime.la libmonoruntime-static.la $(sgen_libraries) - --INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CFLAGS) $(GLIB_CFLAGS) -DMONO_BINDIR=\"$(bindir)/\" -DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\" -+INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CFLAGS) $(GLIB_CFLAGS) -DMONO_BINDIR=\"$(bindir)/\" -DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\" -DMONO_RELOC_LIBDIR=\"$(reloc_libdir)\" - - # - # Make sure any prefix changes are updated in the binaries too. ---- mono-2.8/mono/metadata/Makefile.in 2010-09-10 21:58:23.000000000 +0100 -+++ mono-2.8/mono/metadata/Makefile-new.in 2010-09-15 13:51:58.500133920 +0100 -@@ -713,7 +713,7 @@ - # The files that use MONO_ASSEMBLIES and/or MONO_CFG_DIR replace the - # / by \ if running under WIN32. - @CROSS_COMPILING_TRUE@@HOST_WIN32_TRUE@assembliesdir = ${libdir} --@HOST_WIN32_FALSE@assembliesdir = $(exec_prefix)/lib -+@HOST_WIN32_FALSE@assembliesdir = @LIBDIR@ - @CROSS_COMPILING_FALSE@@HOST_WIN32_TRUE@confdir = `cygpath -m "${sysconfdir}"` - @CROSS_COMPILING_TRUE@@HOST_WIN32_TRUE@confdir = ${sysconfdir} - @HOST_WIN32_FALSE@confdir = $(sysconfdir) -@@ -730,7 +730,7 @@ - # - @SUPPORT_SGEN_TRUE@sgen_libraries = libmonoruntimesgen.la libmonoruntimesgen-static.la - noinst_LTLIBRARIES = libmonoruntime.la libmonoruntime-static.la $(sgen_libraries) --INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CFLAGS) $(GLIB_CFLAGS) -DMONO_BINDIR=\"$(bindir)/\" -DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\" -+INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CFLAGS) $(GLIB_CFLAGS) -DMONO_BINDIR=\"$(bindir)/\" -DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\" -DMONO_RELOC_LIBDIR=\"$(reloc_libdir)\" - CLEANFILES = mono-bundle.stamp - libmonoruntime_static_la_LIBADD = $(bundle_obj) $(libmonoruntime_la_LIBADD) - null_sources = \ diff --git a/mono-2.8-monodis.patch b/mono-2.8-monodis.patch deleted file mode 100644 index dac1893..0000000 --- a/mono-2.8-monodis.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mono-2.8/mono/Makefile.am.old 2010-10-10 19:51:15.000000000 +1300 -+++ mono-2.8/mono/Makefile.am 2010-10-10 19:54:07.000000000 +1300 -@@ -2,7 +2,7 @@ - SUBDIRS = utils io-layer cil metadata arch $(interpreter_dir) mini dis - else - if MOONLIGHT --SUBDIRS = utils io-layer metadata arch $(interpreter_dir) mini -+SUBDIRS = utils io-layer cil metadata arch $(interpreter_dir) mini dis monograph tests benchmark profiler - else - SUBDIRS = utils io-layer cil metadata arch $(interpreter_dir) mini dis monograph tests benchmark profiler - endif diff --git a/mono-2.8-ppc-thread.patch b/mono-2.8-ppc-thread.patch deleted file mode 100644 index 8c39294..0000000 --- a/mono-2.8-ppc-thread.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- mono-2.8/mono/mini/main.c 2010-09-10 21:55:45.000000000 +0100 -+++ mono-2.8/mono/mini/main-new.c 2010-09-15 13:26:40.582184193 +0100 -@@ -88,10 +88,14 @@ - } - - #else -- -+#include - int - main (int argc, char* argv[]) - { -+#ifdef __powerpc__ -+ unsigned long mask = 1; -+ sched_setaffinity(0, sizeof(mask), &mask); -+#endif - mono_build_date = build_date; - - return mono_main_with_options (argc, argv); diff --git a/mono-242-libgdiplusconfig.patch b/mono-242-libgdiplusconfig.patch deleted file mode 100644 index 712f5b9..0000000 --- a/mono-242-libgdiplusconfig.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mono-2.4.2/data/config.in 2009-06-15 22:16:29.000000000 +0100 -+++ mono-2.4.2/data/config-new.in 2009-06-17 22:57:56.000000000 +0100 -@@ -15,7 +15,8 @@ - - - -- -+ -+ - - - diff --git a/mono-281-libgdiplusconfig.patch b/mono-281-libgdiplusconfig.patch deleted file mode 100644 index 6999884..0000000 --- a/mono-281-libgdiplusconfig.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- mono-2.8.1/data/config.in 2010-11-12 10:24:41.000000000 +0000 -+++ mono-2.8.1/data/config-new.in 2010-11-23 12:57:48.145908362 +0000 -@@ -15,6 +15,7 @@ - - - -+ - - - diff --git a/mono-281-moonlightbuild.patch b/mono-281-moonlightbuild.patch deleted file mode 100644 index b8a6172..0000000 --- a/mono-281-moonlightbuild.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- mono-2.8.1/mcs/class/System/System.Net.Sockets/Socket_2_1.cs 2010-11-12 10:24:41.000000000 +0000 -+++ mono-2.8.1/mcs/class/System/System.Net.Sockets/Socket_2_1-new.cs 2010-11-24 19:45:15.538121958 +0000 -@@ -485,7 +485,11 @@ - throw new ArgumentNullException ("remoteEP"); - - IPEndPoint ep = remoteEP as IPEndPoint; -+#if !MOONLIGHT - if (ep != null && socket_type != SocketType.Dgram) /* Dgram uses Any to 'disconnect' */ -+#else -+ if(ep != null) -+#endif - if (ep.Address.Equals (IPAddress.Any) || ep.Address.Equals (IPAddress.IPv6Any)) - throw new SocketException ((int) SocketError.AddressNotAvailable); - diff --git a/mono-4.0.0-ignore-reference-assemblies.patch b/mono-4.0.0-ignore-reference-assemblies.patch new file mode 100644 index 0000000..100b195 --- /dev/null +++ b/mono-4.0.0-ignore-reference-assemblies.patch @@ -0,0 +1,15 @@ +--- a/mcs/class/reference-assemblies/Makefile 2015-04-13 09:00:46.717596021 +0200 ++++ b/mcs/class/reference-assemblies/Makefile 2015-04-13 09:01:00.793595364 +0200 +@@ -7,12 +7,6 @@ + PROFILE_DIR=$(DESTDIR)$(mono_libdir)/mono/ + + install-local: +- $(MKINSTALLDIRS) $(PROFILE_DIR)/2.0 +- $(MKINSTALLDIRS) $(PROFILE_DIR)/3.5 +- $(MKINSTALLDIRS) $(PROFILE_DIR)/4.0 +- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v2.0/* $(PROFILE_DIR)/2.0 +- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v3.5/* $(PROFILE_DIR)/3.5 +- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.0/* $(PROFILE_DIR)/4.0 + + DISTFILES = $(wildcard ../../../external/binary-reference-assemblies/v4.0/*) $(wildcard ../../../external/binary-reference-assemblies/v3.5/*) $(wildcard ../../../external/binary-reference-assemblies/v2.0/*) Makefile + diff --git a/mono-4.0.0-libgdiplusconfig.patch b/mono-4.0.0-libgdiplusconfig.patch new file mode 100644 index 0000000..cb19d19 --- /dev/null +++ b/mono-4.0.0-libgdiplusconfig.patch @@ -0,0 +1,13 @@ +--- a/data/config.in 2016-01-02 18:56:31.246981603 +0100 ++++ b/data/config.in 2016-01-02 18:56:46.510980850 +0100 +@@ -29,8 +29,8 @@ + + + +- +- ++ ++ + + + diff --git a/mono-4.2.0-tlab_next_addr_offset.patch b/mono-4.2.0-tlab_next_addr_offset.patch new file mode 100644 index 0000000..7619f54 --- /dev/null +++ b/mono-4.2.0-tlab_next_addr_offset.patch @@ -0,0 +1,43 @@ +From 6aa7d30d96f1a14845f617ca30508161fa57eaf8 Mon Sep 17 00:00:00 2001 +From: Zoltan Varga +Date: Fri, 1 Jan 2016 23:03:48 -0500 +Subject: [PATCH] [sgen] Avoid asserting if the tls offsets used by the managed + allocators cannot be determined. This can happen when using shared libraries + on linux. Fixes #30594. + +--- + mono/metadata/sgen-mono.c | 6 ++++++ + mono/sgen/sgen-alloc.c | 3 --- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/mono/metadata/sgen-mono.c b/mono/metadata/sgen-mono.c +index f6ae431..8d3b7c1 100644 +--- a/mono/metadata/sgen-mono.c ++++ b/mono/metadata/sgen-mono.c +@@ -2980,6 +2980,12 @@ mono_gc_base_init (void) + + if (nursery_canaries_enabled ()) + sgen_set_use_managed_allocator (FALSE); ++ ++#if defined(HAVE_KW_THREAD) ++ /* This can happen with using libmonosgen.so */ ++ if (mono_tls_key_get_offset (TLS_KEY_SGEN_TLAB_NEXT_ADDR) == -1) ++ sgen_set_use_managed_allocator (FALSE); ++#endif + } + + void +diff --git a/mono/sgen/sgen-alloc.c b/mono/sgen/sgen-alloc.c +index 0832bc1..ca9d645 100644 +--- a/mono/sgen/sgen-alloc.c ++++ b/mono/sgen/sgen-alloc.c +@@ -554,9 +554,6 @@ sgen_init_allocator (void) + + mono_tls_key_set_offset (TLS_KEY_SGEN_TLAB_NEXT_ADDR, tlab_next_addr_offset); + mono_tls_key_set_offset (TLS_KEY_SGEN_TLAB_TEMP_END, tlab_temp_end_offset); +- +- g_assert (tlab_next_addr_offset != -1); +- g_assert (tlab_temp_end_offset != -1); + #endif + + #ifdef HEAVY_STATISTICS diff --git a/mono-4.2.1-ppc.patch b/mono-4.2.1-ppc.patch new file mode 100644 index 0000000..c99bc4f --- /dev/null +++ b/mono-4.2.1-ppc.patch @@ -0,0 +1,51 @@ +diff -up mono-4.2.1/mcs/build/library.make.than mono-4.2.1/mcs/build/library.make +diff -up mono-4.2.1/mcs/class/corlib/System/TimeZoneInfo.cs.than mono-4.2.1/mcs/class/corlib/System/TimeZoneInfo.cs +--- mono-4.2.1/mcs/class/corlib/System/TimeZoneInfo.cs.than 2015-11-12 04:00:29.000000000 -0500 ++++ mono-4.2.1/mcs/class/corlib/System/TimeZoneInfo.cs 2016-01-18 10:28:29.532781004 -0500 +@@ -1150,7 +1150,7 @@ namespace System + try { + return ParseTZBuffer (id, buffer, length); + } catch (Exception e) { +- throw new InvalidTimeZoneException (e.Message); ++ return Utc; //throw new InvalidTimeZoneException (e.Message); + } + } + +@@ -1175,7 +1175,7 @@ namespace System + return (((i >> 24) & 0xff) + | ((i >> 8) & 0xff00) + | ((i << 8) & 0xff0000) +- | ((i << 24))); ++ | (((i & 0xff) << 24))); + } + + static int ReadBigEndianInt32 (byte [] buffer, int start) +diff -up mono-4.2.1/mcs/class/System.Web/Makefile.than mono-4.2.1/mcs/class/System.Web/Makefile +diff -up mono-4.2.1/mono/mini/tramp-ppc.c.than mono-4.2.1/mono/mini/tramp-ppc.c +--- mono-4.2.1/mono/mini/tramp-ppc.c.than 2015-11-12 04:00:29.000000000 -0500 ++++ mono-4.2.1/mono/mini/tramp-ppc.c 2016-01-18 12:05:38.902781004 -0500 +@@ -625,8 +625,12 @@ mono_arch_get_nullified_class_init_tramp + + g_assert (code - buf <= tramp_size); + ++ if (info) + *info = mono_tramp_info_create ("nullified_class_init_trampoline", buf, code - buf, NULL, NULL); + ++ /* It is expected to be a function descriptor on power pre-v2 ABI */ ++ buf = mono_create_ftnptr (mono_domain_get (), buf); ++ + return buf; + } + +diff -up mono-4.2.1/mono/sgen/sgen-archdep.h.than mono-4.2.1/mono/sgen/sgen-archdep.h +--- mono-4.2.1/mono/sgen/sgen-archdep.h.than 2015-11-12 04:00:29.000000000 -0500 ++++ mono-4.2.1/mono/sgen/sgen-archdep.h 2016-01-18 10:28:29.532781004 -0500 +@@ -89,7 +89,7 @@ + + /* MS_BLOCK_SIZE must be a multiple of the system pagesize, which for some + archs is 64k. */ +-#if defined(TARGET_POWERPC64) && _CALL_ELF == 2 ++#if defined(TARGET_POWERPC64) + #define ARCH_MIN_MS_BLOCK_SIZE (64*1024) + #define ARCH_MIN_MS_BLOCK_SIZE_SHIFT 16 + #endif diff --git a/mono-4.2.1-s390.patch b/mono-4.2.1-s390.patch new file mode 100644 index 0000000..a6c0eac --- /dev/null +++ b/mono-4.2.1-s390.patch @@ -0,0 +1,26 @@ +diff -up mono-4.2.1/mono/metadata/icall.c.than mono-4.2.1/mono/metadata/icall.c +--- mono-4.2.1/mono/metadata/icall.c.than 2015-11-12 10:00:29.000000000 +0100 ++++ mono-4.2.1/mono/metadata/icall.c 2016-01-25 16:36:24.479028169 +0100 +@@ -822,14 +822,14 @@ ves_icall_System_Runtime_CompilerService + } + + #if G_BYTE_ORDER != G_LITTLE_ENDIAN +-#define SWAP(n) {\ +- guint ## n *data = (guint ## n *) mono_array_addr (array, char, 0); \ +- guint ## n *src = (guint ## n *) field_data; \ +- guint ## n *end = (guint ## n *)((char*)src + size); \ +-\ +- for (; src < end; data++, src++) { \ +- *data = read ## n (src); \ +- } \ ++#define SWAP(n) { \ ++ guint ## n *data = (guint ## n *) mono_array_addr (array, char, 0); \ ++ guint ## n *src = (guint ## n *) field_data; \ ++ int i, nEnt = (size / sizeof(guint ## n)); \ ++ \ ++ for (i = 0; i < nEnt; i++) { \ ++ data[i] = read ## n (&src[i]); \ ++ } \ + } + + /* printf ("Initialize array with elements of %s type\n", klass->element_class->name); */ diff --git a/mono-4.2.2-asmx.patch b/mono-4.2.2-asmx.patch new file mode 100644 index 0000000..97ca5fa --- /dev/null +++ b/mono-4.2.2-asmx.patch @@ -0,0 +1,30 @@ +From 054efb814f0498927d8046fc015a4926968d51b1 Mon Sep 17 00:00:00 2001 +From: Timotheus Pokorra +Date: Mon, 8 Feb 2016 21:55:36 +0100 +Subject: [PATCH] fixing display of asmx help page (#37137) + +if MONO_BROKEN_CONFIGURATION_DLL is defined, make sure that actualPath always gets set +--- + .../System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/System.Web.Services/System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs b/System.Web.Services/System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs +index c1e6007..e03a305 100644 +--- a/external/referencesource/System.Web.Services/System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs ++++ b/external/referencesource/System.Web.Services/System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs +@@ -75,6 +75,7 @@ protected override void DeserializeElement(XmlReader reader, bool serializeColle + try { + var hack = this.EvaluationContext; + } catch (ConfigurationErrorsException) { ++ this.actualPath = GetConfigurationDirectory(); + return; + } + #endif +@@ -127,6 +128,7 @@ protected override void Reset(ConfigurationElement parentElement) + var hack = this.EvaluationContext; + } catch (ConfigurationErrorsException) { + base.Reset(parentElement); ++ this.actualPath = GetConfigurationDirectory(); + return; + } + #endif diff --git a/mono.spec b/mono.spec index 9826522..a1051d0 100644 --- a/mono.spec +++ b/mono.spec @@ -1,45 +1,66 @@ +%ifarch ppc64 ppc64le +# workaround #1224945 +%undefine _hardened_build +%endif +%global bootstrap 0 +%if 0%{?el6} +# see https://fedorahosted.org/fpc/ticket/395, it was added to el7 +%global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le +%global _monodir %{_prefix}/lib/mono +%global _monogacdir %{_monodir}/gac +%endif +%if 0%{?rhel}%{?el6}%{?el7} +# to resolve: "ERROR: No build ID note found" +%undefine _missing_build_ids_terminate_build +%endif + Name: mono -Version: 2.10.8 -Release: 9%{?dist} -Summary: A .NET runtime environment +Version: 4.2.4 +Release: 1%{?dist} +Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages License: MIT -URL: http://www.mono-project.com/Main_Page -Source0: http://origin-download.mono-project.com/sources/mono/mono-%{version}.tar.bz2 +URL: http://www.mono-project.com +Source0: http://download.mono-project.com/sources/mono/mono-%{version}.4.tar.bz2 # This key was generated by Tom "spot" Callaway on Dec 1, 2009 # by running the following command: # sn -k mono.snk # You should not regenerate this unless you have a really, really, really good reason. -Source2: mono.snk +Source1: mono.snk +Patch0: mono-4.0.0-ignore-reference-assemblies.patch +Patch1: mono-4.2.0-tlab_next_addr_offset.patch +Patch2: mono-4.0.0-libgdiplusconfig.patch +Patch3: mono-4.2.1-ppc.patch +Patch4: mono-4.2.1-s390.patch +Patch5: mono-4.2.2-asmx.patch -Patch0: mono-2.8-ppc-thread.patch -Patch1: mono-281-libgdiplusconfig.patch -Patch2: mono-2.10-monodis.patch -Patch3: mono-2.10-armhfp.patch -Patch4: mono-2.10-CVE-2009-0689.patch - -BuildRequires: bison -BuildRequires: glib2-devel -BuildRequires: pkgconfig +BuildRequires: bison +BuildRequires: gcc-c++ +BuildRequires: gettext-devel BuildRequires: libicu-devel BuildRequires: libgdiplus-devel >= 2.10 +BuildRequires: pkgconfig +BuildRequires: valgrind-devel BuildRequires: zlib-devel -%ifarch ia64 -BuildRequires: libunwind -BuildRequires: libunwind-devel -%endif -BuildRequires: gettext-devel # Yes, mono actually depends on itself, because # we deleted the bootstrapping binaries. If you # need to bootstrap mono, comment out this BuildRequires # and don't delete the binaries in %%prep. -BuildRequires: mono-core +%if 0%{bootstrap} +# for bootstrap, use bundled monolite instead of local mono +%else +BuildRequires: mono-core >= 4.0 +%endif -# JIT only availible on these: -ExclusiveArch: %ix86 x86_64 ia64 %{arm} sparcv9 alpha s390x ppc ppc64 +# JIT only available on these: +ExclusiveArch: %mono_arches + +%global _use_internal_dependency_generator 0 +%global __find_provides env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/redhat/find-provides && printf "%s\\n" "${filelist[@]}" | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides; } | sort | uniq' +%global __find_requires env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/redhat/find-requires && printf "%s\\n" "${filelist[@]}" | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-requires; } | sort | uniq | grep ^...' %description The Mono runtime implements a JIT engine for the ECMA CLI @@ -51,13 +72,6 @@ metadata access libraries. Summary: The Mono CIL runtime, suitable for running .NET code Group: Development/Languages Requires: libgdiplus -Obsoletes: mono-4-preview < 2.10.0 -Obsoletes: bytefx-data-mysql < 2.8 -Obsoletes: mono-jscript < 2.8 -Obsoletes: mono-data-sybase < 2.8 -Obsoletes: mono-data-firebird < 2.8 -Obsoletes: mono-moonlight < 2.6 -Provides: mono-moonlight = %{version}-%{release} %description core This package contains the core of the Mono runtime including its @@ -100,31 +114,6 @@ Requires: glib2-devel This package completes the Mono developer toolchain with the mono profiler, assembler and other various tools. -%package nunit -Summary: NUnit Testing Framework -License: zlib with acknowledgement -Group: Development/Languages -Requires: mono-core = %{version}-%{release} -Requires: glib2-devel - -%description nunit -NUnit is a unit-testing framework for all .Net languages. Initially -ported from JUnit, the current release, version 2.2, is the fourth -major release of this Unit based unit testing tool for Microsoft .NET. -It is written entirely in C# and has been completely redesigned to -take advantage of many .NET language features, for example -custom attributes and other reflection related capabilities. NUnit -brings xUnit to all .NET languages. - -%package nunit-devel -Summary: pkgconfig for nunit -Group: Development/Libraries -Requires: mono-core = %{version}-%{release}, pkgconfig -Requires: mono-nunit = %{version}-%{release} - -%description nunit-devel -Development files for nunit - %package locale-extras Summary: Extra locale information for Mono Group: Development/Languages @@ -140,11 +129,41 @@ Group: Development/Languages Requires: mono-core = %{version}-%{release} %description extras -This package provides the libary and application to run services +This package provides the library and application to run services and daemons with Mono. It also includes stubs for the following -2.0 assemblies: Microsoft.Vsa, +assemblies: Microsoft.Vsa, System.Configuration.Install, System.Management, System.Messaging. +%package reactive +License: MIT License (or similar) ; Apache License 2.0 +Summary: Reactive Extensions for Mono core libraries +Group: Development/Languages +Requires: mono-core = %{version}-%{release} + +%description reactive +Reactive Extensions for Mono, this packages don't depend on +desktop-specific features. + +%package reactive-winforms +License: MIT License (or similar) ; Apache License 2.0 +Summary: Reactive Extensions for Mono desktop-specific libraries +Group: Development/Languages +Requires: mono-core = %{version}-%{release} +Requires: mono-reactive = %{version}-%{release} + +%description reactive-winforms +Reactive Extensions for Mono, desktop-specific packages (winforms, +windows threading). + +%package reactive-devel +Summary: Development files for system.web +Group: Development/Languages +Requires: mono-core = %{version}-%{release} +Requires: mono-reactive = %{version}-%{release} pkgconfig + +%description reactive-devel +This package provides the .pc file for mono-rx + %package winforms Summary: Windows Forms implementation for Mono Group: Development/Languages @@ -214,15 +233,6 @@ Requires: mono-core = %{version}-%{release} This package contains the ADO.NET Data provider for the Oracle database. -%package data-postgresql -Summary: Postgresql database connectivity for Mono -Group: Development/Languages -Requires: mono-core = %{version}-%{release} - -%description data-postgresql -This package contains the ADO.NET Data provider for the PostgreSQL -database. - %package -n ibm-data-db2 Summary: IBM DB2 database connectivity for Mono Group: Development/Languages @@ -232,7 +242,6 @@ Requires: mono-core = %{version}-%{release} This package contains the ADO.NET Data provider for the IBM DB2 Universal database. - %package -n monodoc Summary: The mono documentation system Group: Documentation @@ -242,89 +251,101 @@ Requires: mono-core = %{version}-%{release} monodoc is the documentation package for the mono .NET environment %package -n monodoc-devel -Summary: .pc file for monodoc -Group: Documentation -Requires: monodoc = %{version}-%{release} pkgconfig -Requires: mono-core = %{version}-%{release} +Summary: .pc file for monodoc +Group: Documentation +Requires: monodoc = %{version}-%{release} pkgconfig +Requires: mono-core = %{version}-%{release} %description -n monodoc-devel Development file for monodoc -%define monodir /usr/lib/mono -%define gac_dll(dll) %{monodir}/gac/%{1} \ - %{monodir}/?.?/%{1}.dll \ +%global gac_dll(dll) %{_monogacdir}/%{1} \ + %{_monodir}/4.5/%{1}.dll \ %{nil} -%define mono_bin(bin) %{_bindir}/%{1} \ - %{monodir}/?.0/%{1}.exe \ - %{monodir}/?.0/%{1}.exe.* \ +%global mono_bin(bin) %{_bindir}/%{1} \ + %{_monodir}/4.5/%{1}.exe \ + %{_monodir}/4.5/%{1}.exe.* \ %{nil} %prep -%setup -q - -%patch0 -p1 -b .ppc-threading -%patch1 -F 1 -p1 -b .libgdiplus -%patch2 -p1 -b .monodis -%ifarch armv7hl -%patch3 -p1 -b .armhfp -%endif +%setup -q -n %{name}-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %patch4 -p1 +%patch5 -p1 # Add undeclared Arg sed -i "61a #define ARG_MAX _POSIX_ARG_MAX" mono/io-layer/wapi_glob.h # Remove prebuilt binaries +find . -name "*.dll" -not -path "./mcs/class/lib/monolite/*" -print -delete +find . -name "*.exe" -not -path "./mcs/class/lib/monolite/*" -print -delete +%if 0%{bootstrap} +# for bootstrap, keep monolite. Mono 2.10 is too old to compile Mono 4.0 +%else rm -rf mcs/class/lib/monolite/* +%endif %build -%ifarch ia64 -export CFLAGS="-O2 -fno-strict-aliasing" -%else export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" -%endif -%configure --with-ikvm-native=yes --with-jit=yes --with-xen_opt=yes \ - --with-moonlight=no --with-profile2=yes --with-monotouch=no \ - --with-libgdiplus=installed --with-sgen=no \ -%ifarch ppc - --with-mcs-docs=no \ -%endif - --with-profile4=yes +%configure --disable-rpath \ + --with-moonlight=no -make +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +make %{?_smp_mflags} %install -make DESTDIR=%{buildroot} install +make install DESTDIR=%{buildroot} # copy the mono.snk key into /etc/pki/mono mkdir -p %{buildroot}%{_sysconfdir}/pki/mono -install -p -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pki/mono/ - -rm %{buildroot}%{_libdir}/*.la -rm %{buildroot}%{_libdir}/*.a - -# We put these inside rpm -rm %{buildroot}%{_bindir}/mono-find-provides -rm %{buildroot}%{_bindir}/mono-find-requires +install -p -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pki/mono/ # This was removed upstream: -rm -rf %{buildroot}%{monodir}/gac/Mono.Security.Win32 -rm -rf %{buildroot}%{monodir}/2.0/Mono.Security.Win32.dll -rm -rf %{buildroot}%{monodir}/4.0/Mono.Security.Win32.dll -rm %{buildroot}%{_datadir}/libgc-mono/README* -rm %{buildroot}%{_datadir}/libgc-mono/barrett_diagram -rm %{buildroot}%{_datadir}/libgc-mono/*.html -rm %{buildroot}%{_datadir}/libgc-mono/gc.man -rm -f %{buildroot}%{monodir}/2.0/mscorlib.dll.so -rm -f %{buildroot}%{monodir}/2.0/mcs.exe.so -rm -f %{buildroot}%{monodir}/2.0/gmcs.exe.so -rm -rf %{buildroot}%{monodir}/xbuild/Microsoft -rm -f %{buildroot}%{monodir}/4.0/mscorlib.dll.so -rm -f %{buildroot}%{monodir}/4.0/dmcs.exe.so -rm -rf %{buildroot}%{monodir}/4.0/Mono.Security.Win32 +# remove .la files (they are generally bad news) +rm -f %{buildroot}%{_libdir}/*.la +# remove Windows-only stuff +rm -rf %{buildroot}%{_monodir}/*/Mono.Security.Win32* +rm -f %{buildroot}%{_libdir}/libMonoSupportW.* +# remove .a files for libraries that are really only for us +rm %{buildroot}%{_libdir}/*.a +# remove libgc cruft +rm -rf %{buildroot}%{_datadir}/libgc-mono +# remove stuff that we don't package +rm -f %{buildroot}%{_bindir}/cilc +rm -f %{buildroot}%{_mandir}/man1/cilc.1* +rm -f %{buildroot}%{_monodir}/*/browsercaps-updater.exe* +rm -f %{buildroot}%{_monodir}/*/culevel.exe* +rm -f %{buildroot}%{_monodir}/2.0/cilc.exe* + +rm -f %{buildroot}%{_monodir}/*/mscorlib.dll.so +rm -f %{buildroot}%{_monodir}/*/mcs.exe.so +rm -f %{buildroot}%{_monodir}/*/gmcs.exe.so +rm -f %{buildroot}%{_monodir}/4.0/dmcs.exe.so rm -rf %{buildroot}%{_bindir}/mono-configuration-crypto rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* +# remove the mono-nunit files +rm -f %{buildroot}%{_bindir}/nunit-console +rm -f %{buildroot}%{_bindir}/nunit-console2 +rm -f %{buildroot}%{_bindir}/nunit-console4 +rm -f %{buildroot}%{_monodir}/4.5/nunit* +rm -Rf %{buildroot}%{_monodir}/gac/nunit* +rm -f %{buildroot}%{_libdir}/pkgconfig/mono-nunit.pc + +# remove dmcs because it requires the .net 4.0 sdk but we only deliver 4.5 with Fedora (#1294967) +rm -f %{buildroot}%{_bindir}/dmcs + +# Move upstream GDB scripts for security reasons of new GDB. +mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} +%{__mv} -f %{buildroot}%{_bindir}/mono-gdb.py \ + %{buildroot}%{_datadir}/gdb/auto-load%{_bindir}/ + %find_lang mcs %post -p /sbin/ldconfig @@ -336,20 +357,24 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %postun devel -p /sbin/ldconfig %files core -f mcs.lang -%defattr(-,root,root,-) -%doc AUTHORS COPYING.LIB ChangeLog NEWS README +%doc COPYING.LIB ChangeLog NEWS README.md %{_bindir}/mono %{_bindir}/mono-test-install -%{_bindir}/mono-gdb.py +%{_datadir}/gdb/auto-load/* +%{_bindir}/mono-boehm +%{_bindir}/mono-service2 +%{_bindir}/mono-sgen +%{_bindir}/mono-sgen-gdb.py +%{_libdir}/mono/lldb/mono.py* %mono_bin csharp -%{_bindir}/csharp2 +%mono_bin cert-sync %mono_bin chktrust %mono_bin gacutil +%mono_bin ikdasm %mono_bin lc %{_bindir}/gacutil2 %{_bindir}/mcs -%{monodir}/2.0/mcs.exe -%mono_bin gmcs +%{_monodir}/4.5/mcs.exe* %mono_bin mozroots %mono_bin pdb2mdb %mono_bin setreg @@ -369,18 +394,13 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %{_mandir}/man1/pdb2mdb.1.gz %{_mandir}/man1/lc.1.gz %{_mandir}/man1/mprof-report.1.gz -%{_libdir}/libMonoPosixHelper.so -%dir %{monodir} -%dir %{monodir}/2.0 -%dir %{monodir}/3.5 -%dir %{monodir}/gac -%dir %{monodir}/compat-* +%{_libdir}/libMonoPosixHelper.so* +%dir %{_monodir} +%dir %{_monodir}/gac %gac_dll Commons.Xml.Relaxng %gac_dll ICSharpCode.SharpZipLib %gac_dll Mono.Debugger.Soft -%{monodir}/compat-*/ICSharpCode.SharpZipLib.dll -%{monodir}/gac/Mono.Cecil -%{monodir}/gac/Mono.Cecil.Mdb +%{_monogacdir}/Mono.Cecil %gac_dll cscompmgd %gac_dll Microsoft.VisualC %gac_dll Mono.C5 @@ -392,7 +412,6 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %gac_dll Mono.Posix %gac_dll Mono.Security %gac_dll Mono.Simd -%gac_dll OpenSystem.C %gac_dll System %gac_dll System.Configuration %gac_dll System.Core @@ -401,10 +420,7 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %gac_dll Mono.Tasklets %gac_dll System.Net %gac_dll System.Xml.Linq -%{monodir}/2.0/mscorlib.dll -%{monodir}/2.0/mscorlib.dll.mdb %dir %{_sysconfdir}/mono -%dir %{_sysconfdir}/mono/2.0 %dir %{_sysconfdir}/mono/mconfig %config (noreplace) %{_sysconfdir}/mono/config %config (noreplace) %{_sysconfdir}/mono/2.0/machine.config @@ -414,12 +430,14 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %config (noreplace) %{_sysconfdir}/mono/4.0/*.config %config (noreplace) %{_sysconfdir}/mono/4.0/settings.map %config (noreplace) %{_sysconfdir}/mono/4.0/DefaultWsdlHelpGenerator.aspx -%dir %{monodir}/4.0 +%config (noreplace) %{_sysconfdir}/mono/4.5/DefaultWsdlHelpGenerator.aspx +%config (noreplace) %{_sysconfdir}/mono/4.5/machine.config +%config (noreplace) %{_sysconfdir}/mono/4.5/settings.map +%config (noreplace) %{_sysconfdir}/mono/4.5/web.config %dir %{_sysconfdir}/mono/4.0 -%mono_bin dmcs %mono_bin ccrewrite -%{monodir}/4.0/mscorlib.dll -%{monodir}/4.0/mscorlib.dll.mdb +%{_monodir}/4.5/mscorlib.dll +%{_monodir}/4.5/mscorlib.dll.mdb %gac_dll Microsoft.CSharp %gac_dll System.Dynamic %gac_dll Mono.Data.Tds @@ -433,26 +451,33 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %gac_dll System.Xaml %gac_dll WebMatrix.Data %gac_dll Mono.CodeContracts -%{monodir}/mono-configuration-crypto/4.0/mono-config* -%{monodir}/mono-configuration-crypto/4.0/Mono.Configuration.Crypto.dll* +%{_monodir}/mono-configuration-crypto/4.5/mono-config* +%{_monodir}/mono-configuration-crypto/4.5/Mono.Configuration.Crypto.dll* %{_mandir}/man1/ccrewrite.1.gz %gac_dll CustomMarshalers %gac_dll I18N.West %gac_dll I18N - +%gac_dll System.Json +%gac_dll Mono.Parallel +%gac_dll System.Json.Microsoft +%{_monodir}/4.5/Facades/*.dll +%gac_dll System.IO.Compression +%gac_dll System.IO.Compression.FileSystem +%gac_dll System.Net.Http +%gac_dll System.Net.Http.WebRequest +%gac_dll System.Threading.Tasks.Dataflow %files devel -%defattr(-,root,root,-) %{_sysconfdir}/pki/mono/ %{_bindir}/mono-api-info -%{monodir}/4.0/mono-api-info.exe -%{monodir}/4.0/browsercaps-updater* +%{_monodir}/4.5/mono-api-info.exe +%mono_bin mono-symbolicate +%gac_dll SMDiagnostics %mono_bin xbuild -%{monodir}/4.0/xbuild.rsp +%{_monodir}/4.5/xbuild.rsp %mono_bin genxs -%{monodir}/?.0/culevel* -%{monodir}/4.0/ictool* -%{monodir}/4.0/mod* +%{_monodir}/4.5/ictool* +%{_monodir}/4.5/mod* %mono_bin al %{_bindir}/al2 %mono_bin caspol @@ -462,13 +487,14 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %mono_bin dtd2xsd %mono_bin ilasm %mono_bin installvst -%{monodir}/4.0/installutil* +%{_monodir}/4.5/installutil* %mono_bin macpack %mono_bin mkbundle %mono_bin makecert %mono_bin mono-cil-strip +%{_bindir}/mono-find-provides +%{_bindir}/mono-find-requires %{_bindir}/monodis -%{_bindir}/monograph %mono_bin monolinker %mono_bin mono-shlib-cop %mono_bin mono-xmltool @@ -482,12 +508,14 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %mono_bin sgen %mono_bin secutil %mono_bin signcode +%mono_bin cccheck +%mono_bin crlupdate +%mono_bin mdbrebase %{_prefix}/lib/mono-source-libs/ %{_bindir}/pedump %{_mandir}/man1/resgen.1.gz %{_mandir}/man1/al.1.gz %{_mandir}/man1/cert2spc.1.gz -%{_mandir}/man1/cilc.1.gz %{_mandir}/man1/dtd2xsd.1.gz %{_mandir}/man1/genxs.1.gz %{_mandir}/man1/ilasm.1.gz @@ -497,8 +525,10 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %{_mandir}/man1/mono-cil-strip.1.gz %{_mandir}/man1/monodis.1.gz %{_datadir}/mono-2.0/mono/cil/cil-opcodes.xml +%{_datadir}/mono-2.0/mono/profiler/mono-profiler-log.suppression %{_mandir}/man1/monolinker.1.gz %{_mandir}/man1/mono-shlib-cop.1.gz +%{_mandir}/man1/mono-symbolicate.1.gz %{_mandir}/man1/mono-xmltool.1.gz %{_mandir}/man1/monop.1.gz %{_mandir}/man1/permview.1.gz @@ -508,102 +538,98 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %{_mandir}/man1/signcode.1.gz %{_mandir}/man1/xbuild.1.gz %{_mandir}/man1/mono-api-info.1.gz -#{_mandir}/man1/mono-configuration-crypto.1.gz +%{_mandir}/man1/cccheck.1.gz +%{_mandir}/man1/crlupdate.1.gz %gac_dll PEAPI %gac_dll Microsoft.Build %gac_dll Microsoft.Build.Engine %gac_dll Microsoft.Build.Framework -%gac_dll Microsoft.Build.Tasks -%gac_dll Microsoft.Build.Utilities -%gac_dll Microsoft.Build.Tasks.v3.5 -%gac_dll Microsoft.Build.Utilities.v3.5 -%{monodir}/4.0/MSBuild/Microsoft* +%{_monogacdir}/Microsoft.Build.Tasks.Core %gac_dll Microsoft.Build.Tasks.v4.0 %gac_dll Microsoft.Build.Utilities.v4.0 -%{monodir}/2.0/MSBuild -%{monodir}/2.0/Microsoft.Build.xsd -%{monodir}/2.0/Microsoft.*.targets -%{monodir}/?.0/Microsoft.Common.tasks -%{monodir}/2.0/xbuild.rsp -%{monodir}/3.5/xbuild.* -%{monodir}/3.5/MSBuild/Microsoft.Build* -%{monodir}/3.5/Microsoft.Build.xsd -%{monodir}/4.0/Microsoft.Build.xsd -%{monodir}/3.5/Microsoft.CSharp.targets -%{monodir}/3.5/Microsoft.Common.ta* -%{monodir}/3.5/Microsoft.VisualBasic.targets -%{monodir}/4.0/Microsoft.CSharp.targets -%{monodir}/4.0/Microsoft.Common.targets -%{monodir}/4.0/Microsoft.VisualBasic.targets -%{_libdir}/libMonoSupportW.so +%{_monogacdir}/Microsoft.Build.Utilities.Core +%{_monogacdir}/Microsoft.Build.Tasks.v12.0 +%{_monogacdir}/Microsoft.Build.Utilities.v12.0 +%gac_dll Mono.XBuild.Tasks +%gac_dll System.Windows +%gac_dll System.Xml.Serialization +%{_monodir}/4.5/Microsoft.Common.tasks +%{_monodir}/4.5/MSBuild/Microsoft.Build* +%{_monodir}/4.5/Microsoft.Build.xsd +%{_monodir}/4.5/Microsoft.CSharp.targets +%{_monodir}/4.5/Microsoft.Common.targets +%{_monodir}/4.5/Microsoft.VisualBasic.targets +%{_monodir}/xbuild/ +%{_monodir}/xbuild-frameworks/ %{_libdir}/libikvm-native.so %{_libdir}/libmono-profiler-*.so +%{_libdir}/libmono*-2.0.so %{_libdir}/pkgconfig/dotnet.pc %{_libdir}/pkgconfig/mono-cairo.pc %{_libdir}/pkgconfig/mono.pc +%{_libdir}/pkgconfig/mono-2.pc +%{_libdir}/pkgconfig/monosgen-2.pc %{_libdir}/pkgconfig/cecil.pc %{_libdir}/pkgconfig/dotnet35.pc %{_libdir}/pkgconfig/mono-lineeditor.pc %{_libdir}/pkgconfig/mono-options.pc %{_libdir}/pkgconfig/wcf.pc -%{_libdir}/pkgconfig/mono-2.pc +%{_libdir}/pkgconfig/xbuild12.pc %{_includedir}/mono-2.0/mono/jit/jit.h %{_includedir}/mono-2.0/mono/metadata/*.h %{_includedir}/mono-2.0/mono/utils/*.h %{_includedir}/mono-2.0/mono/cil/opcode.def -%{_libdir}/libmono*-2.0.so -%{monodir}/xbuild-frameworks - -%files nunit -%defattr(-,root,root,-) -%mono_bin nunit-console -%{_bindir}/nunit-console2 -%gac_dll nunit.core -%gac_dll nunit.framework -%gac_dll nunit.util -%gac_dll nunit.mocks -%gac_dll nunit-console-runner -%gac_dll nunit.core.extensions -%gac_dll nunit.core.interfaces -%gac_dll nunit.framework.extensions - -%files nunit-devel -%defattr(-,root,root,-) -%{_libdir}/pkgconfig/mono-nunit.pc %files locale-extras -%defattr(-,root,root,-) -%gac_dll I18N.MidEast -%gac_dll I18N.Rare %gac_dll I18N.CJK +%gac_dll I18N.MidEast %gac_dll I18N.Other +%gac_dll I18N.Rare %files extras -%defattr(-,root,root,-) -%{_bindir}/mono-service2 %mono_bin mono-service -%{monodir}/gac/mono-service +%{_monogacdir}/mono-service %gac_dll System.Configuration.Install %gac_dll System.Management %gac_dll System.Messaging %gac_dll System.ServiceProcess +%gac_dll System.Runtime.Caching +%gac_dll System.Xaml %gac_dll Mono.Messaging.RabbitMQ %gac_dll Mono.Messaging %gac_dll RabbitMQ.Client -%{monodir}/?.0/RabbitMQ.Client.Apigen* +%{_monodir}/4.5/RabbitMQ.Client.Apigen* %{_mandir}/man1/mono-service.1.gz +%files reactive +%gac_dll System.Reactive.Core +%gac_dll System.Reactive.Debugger +%gac_dll System.Reactive.Experimental +%gac_dll System.Reactive.Interfaces +%gac_dll System.Reactive.Linq +%gac_dll System.Reactive.Observable.Aliases +%gac_dll System.Reactive.PlatformServices +%gac_dll System.Reactive.Providers +%gac_dll System.Reactive.Runtime.Remoting + +%files reactive-winforms +%gac_dll System.Reactive.Windows.Forms +%gac_dll System.Reactive.Windows.Threading + +%files reactive-devel +%_libdir/pkgconfig/reactive.pc + %files wcf -%defattr(-, root, root, -) %gac_dll System.IdentityModel %gac_dll System.IdentityModel.Selectors %gac_dll System.ServiceModel -%gac_dll System.ServiceModel.Web +%gac_dll System.ServiceModel.Activation %gac_dll System.ServiceModel.Discovery +%gac_dll System.ServiceModel.Internals %gac_dll System.ServiceModel.Routing +%gac_dll System.ServiceModel.Web %files web -%defattr(-,root,root,-) %mono_bin disco %mono_bin httpcfg %mono_bin mconfig @@ -612,9 +638,10 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %mono_bin wsdl %{_bindir}/wsdl2 %mono_bin xsd +%gac_dll Microsoft.Web.Infrastructure %gac_dll Mono.Http -%gac_dll Mono.Web %gac_dll System.ComponentModel.DataAnnotations +%gac_dll System.Net.Http.Formatting %gac_dll System.Runtime.Remoting %gac_dll System.Runtime.Serialization.Formatters.Soap %gac_dll System.Web @@ -623,7 +650,13 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %gac_dll System.Web.Routing %gac_dll System.Web.Services %gac_dll System.Web.ApplicationServices -%gac_dll Microsoft.Web.Infrastructure +%gac_dll System.Web.Http +%gac_dll System.Web.Http.SelfHost +%gac_dll System.Web.Http.WebHost +%gac_dll System.Web.Razor +%gac_dll System.Web.WebPages +%gac_dll System.Web.WebPages.Deployment +%gac_dll System.Web.WebPages.Razor %{_mandir}/man1/disco.1.gz %{_mandir}/man1/httpcfg.1.gz %{_mandir}/man1/mconfig.1.gz @@ -632,16 +665,16 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %{_mandir}/man1/xsd.1.gz %config (noreplace) %{_sysconfdir}/mono/browscap.ini %config (noreplace) %{_sysconfdir}/mono/2.0/Browsers/Compat.browser +%config (noreplace) %{_sysconfdir}/mono/4.0/Browsers/Compat.browser +%config (noreplace) %{_sysconfdir}/mono/4.5/Browsers/Compat.browser %config (noreplace) %{_sysconfdir}/mono/2.0/DefaultWsdlHelpGenerator.aspx %config (noreplace) %{_sysconfdir}/mono/mconfig/config.xml %config (noreplace) %{_sysconfdir}/mono/2.0/web.config %files web-devel -%defattr(-,root,root,-) -%{_libdir}/pkgconfig/mono.web.pc +%{_libdir}/pkgconfig/aspnetwebstack.pc %files winforms -%defattr(-,root,root,-) %gac_dll Accessibility %gac_dll Mono.WebBrowser %gac_dll System.Design @@ -650,60 +683,53 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %gac_dll System.Windows.Forms.DataVisualization %files mvc -%defattr(-, root, root,-) -%{monodir}/compat-2.0/System.Web.Extensions.Design.dll -%{monodir}/compat-2.0/System.Web.Extensions.dll -%{monodir}/compat-2.0/System.Web.Mvc.dll +%gac_dll System.Web.DynamicData %gac_dll System.Web.Extensions %gac_dll System.Web.Extensions.Design %gac_dll System.Web.Mvc %files mvc-devel -%defattr (-,root,root,-) %{_libdir}/pkgconfig/system.web.extensions.design_1.0.pc %{_libdir}/pkgconfig/system.web.extensions_1.0.pc %{_libdir}/pkgconfig/system.web.mvc.pc %{_libdir}/pkgconfig/system.web.mvc2.pc +%{_libdir}/pkgconfig/system.web.mvc3.pc %files winfx -%defattr(-, root, root) +%gac_dll System.Data.Services.Client %gac_dll WindowsBase -%{monodir}/gac/System.Data.Services.Client/3.5* %files data -%defattr(-,root,root,-) %mono_bin sqlsharp %mono_bin sqlmetal +%gac_dll System.Data %gac_dll System.Data.DataSetExtensions +%gac_dll System.Data.Entity %gac_dll System.Data.Linq %gac_dll System.Data.Services %gac_dll System.Data.Services.Client %gac_dll System.DirectoryServices +%gac_dll System.DirectoryServices.Protocols +%gac_dll System.EnterpriseServices %gac_dll System.Runtime.Serialization +%gac_dll System.Transactions %gac_dll Mono.Data.Tds %gac_dll Novell.Directory.Ldap +%gac_dll WebMatrix.Data %{_mandir}/man1/sqlsharp.1.gz %files data-sqlite -%defattr(-,root,root,-) %gac_dll Mono.Data.Sqlite %files data-oracle -%defattr(-,root,root,-) %gac_dll System.Data.OracleClient -%files data-postgresql -%defattr(-,root,root,-) -%gac_dll Npgsql - %files -n ibm-data-db2 -%defattr(-,root,root,-) %gac_dll IBM.Data.DB2 %files -n monodoc -%defattr(-, root, root) -%{monodir}/gac/monodoc -%{monodir}/monodoc/* +%{_monogacdir}/monodoc +%{_monodir}/monodoc/* %ifnarch ppc %{_prefix}/lib/monodoc %endif @@ -718,11 +744,13 @@ rm -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto* %{_mandir}/man5/mdoc* %files -n monodoc-devel -%defattr (-, root, root) %{_libdir}/pkgconfig/monodoc.pc %changelog +* Fri Jun 10 2016 Timotheus Pokorra - 4.2.4-1 +- Update to 4.2.4.4 Cycle 6 - Service Release 4 + * Mon Jan 04 2016 Timotheus Pokorra - 2.10.8-9 - apply patch for security issue CVE-2009-0689 (#1293640) - Converting specially crafted string to float causes crash and possible code execution diff --git a/sources b/sources index cc48716..c858d01 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c012b01ac17bedb0af52b7a16405da84 mono-2.10.8.tar.bz2 +c6cbc6089206204fc6e8a14c9ff46657 mono-4.2.4.4.tar.bz2 From 94228ed8696faec91e0d6982dc1e0167e24d571c Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Fri, 26 Aug 2016 06:43:33 +0200 Subject: [PATCH 07/31] Fix winforms problem with TrayIcon (#1284609) --- mono-4.2-fix-winforms-trayicon.patch | 27 +++++++++++++++++++++++++++ mono.spec | 7 ++++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 mono-4.2-fix-winforms-trayicon.patch diff --git a/mono-4.2-fix-winforms-trayicon.patch b/mono-4.2-fix-winforms-trayicon.patch new file mode 100644 index 0000000..8fdbc15 --- /dev/null +++ b/mono-4.2-fix-winforms-trayicon.patch @@ -0,0 +1,27 @@ +From bc9d2b37c682f3fdc2c41450cf367c78d0f6ca22 Mon Sep 17 00:00:00 2001 +From: Arsen Shnurkov +Date: Thu, 4 Jun 2015 21:32:20 +0300 +Subject: [PATCH] https://bugzilla.xamarin.com/show_bug.cgi?id=14976 + +--- + mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs b/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs +index b0777b5..d50d6c4 100644 +--- a/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs ++++ b/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs +@@ -6239,9 +6239,6 @@ namespace System.Windows.Forms { + atoms [0] = 1; // Version 1 + atoms [1] = 1; // we want to be mapped + +- // This line cost me 3 days... +- XChangeProperty(DisplayHandle, hwnd.whole_window, _XEMBED_INFO, _XEMBED_INFO, 32, PropertyMode.Replace, atoms, 2); +- + // Need to pick some reasonable defaults + tt = new ToolTip(); + tt.AutomaticDelay = 350; +-- +2.0.5 + + diff --git a/mono.spec b/mono.spec index a1051d0..035bd4a 100644 --- a/mono.spec +++ b/mono.spec @@ -16,7 +16,7 @@ Name: mono Version: 4.2.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages @@ -34,6 +34,7 @@ Patch2: mono-4.0.0-libgdiplusconfig.patch Patch3: mono-4.2.1-ppc.patch Patch4: mono-4.2.1-s390.patch Patch5: mono-4.2.2-asmx.patch +Patch6: mono-4.2-fix-winforms-trayicon.patch BuildRequires: bison BuildRequires: gcc-c++ @@ -275,6 +276,7 @@ Development file for monodoc %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 # Add undeclared Arg sed -i "61a #define ARG_MAX _POSIX_ARG_MAX" mono/io-layer/wapi_glob.h @@ -748,6 +750,9 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} %changelog +* Thu Jun 23 2016 Timotheus Pokorra - 4.2.4-2 +- Fix winforms problem with TrayIcon (#1284609) + * Fri Jun 10 2016 Timotheus Pokorra - 4.2.4-1 - Update to 4.2.4.4 Cycle 6 - Service Release 4 From 61c2a650f8610f90f4c8fe03f782b2ed83a4af71 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Fri, 26 Aug 2016 06:50:09 +0200 Subject: [PATCH 08/31] fix invalid dates in changelog to avoid warnings --- mono.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mono.spec b/mono.spec index 035bd4a..e9548a0 100644 --- a/mono.spec +++ b/mono.spec @@ -1141,7 +1141,7 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} * Tue Nov 25 2008 Paul F. Johnson 2.2-1.1.pre1 - rebuild -* Mon Nov 18 2008 Paul F. Johnson 2.2-1.pre1 +* Tue Nov 18 2008 Paul F. Johnson 2.2-1.pre1 - Bump to 2.2 preview 1 - remove old patches - add build information for monodoc @@ -1237,7 +1237,7 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} - added BR libunwind-devel for ia64 (bz426180) - fix for LIBDIR problem -* Tue Dec 16 2007 Paul F. Johnson 1.2.6-4 +* Sun Dec 16 2007 Paul F. Johnson 1.2.6-4 - bump new version - removed more redundant bits - url fix @@ -1263,7 +1263,7 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} - bump - added new parts (mono-linker, resgen and mono-cecil) -* Thu Apr 21 2007 Paul F. Johnson - 1.2.4-1 +* Sat Apr 21 2007 Paul F. Johnson - 1.2.4-1 - update from 1.2.3 * Sun Apr 1 2007 Matthias Clasen - 1.2.3-3 @@ -1296,7 +1296,7 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} - rename mono-devtools back to mono-devel - kill mono-lib and mono-lib-devel -* Mon Aug 10 2006 Alexander Larsson - 1.1.16.1-1 +* Thu Aug 10 2006 Alexander Larsson - 1.1.16.1-1 - Update to 1.1.16.1 - Split out mono libs and devel headers to fix lib64 conflicts (#199790) From 58ad6c9991a213d180927222d19392566f306590 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Fri, 26 Aug 2016 07:04:04 +0200 Subject: [PATCH 09/31] do not deliver cecil.pc because Mono.Cecil should not be made public to other packages, they should use package mono-cecil --- mono.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index e9548a0..4d6621a 100644 --- a/mono.spec +++ b/mono.spec @@ -16,7 +16,7 @@ Name: mono Version: 4.2.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages @@ -348,6 +348,9 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} %{__mv} -f %{buildroot}%{_bindir}/mono-gdb.py \ %{buildroot}%{_datadir}/gdb/auto-load%{_bindir}/ +# do not make cecil publicly available. other packages should use the mono-cecil package instead +rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc + %find_lang mcs %post -p /sbin/ldconfig @@ -571,7 +574,6 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} %{_libdir}/pkgconfig/mono.pc %{_libdir}/pkgconfig/mono-2.pc %{_libdir}/pkgconfig/monosgen-2.pc -%{_libdir}/pkgconfig/cecil.pc %{_libdir}/pkgconfig/dotnet35.pc %{_libdir}/pkgconfig/mono-lineeditor.pc %{_libdir}/pkgconfig/mono-options.pc @@ -750,6 +752,9 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} %changelog +* Fri Aug 26 2016 Timotheus Pokorra - 4.2.4-3 +- do not deliver cecil.pc because Mono.Cecil should not be made public to other packages, they should use package mono-cecil + * Thu Jun 23 2016 Timotheus Pokorra - 4.2.4-2 - Fix winforms problem with TrayIcon (#1284609) From 2801d3a1d59948a51df7b996e16cc9ad6b8a584d Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Fri, 26 Aug 2016 07:37:07 +0200 Subject: [PATCH 10/31] enable bootstrap. add ppc64le to ExclusiveArch --- mono.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mono.spec b/mono.spec index 4d6621a..bfe5569 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround #1224945 %undefine _hardened_build %endif -%global bootstrap 0 +%global bootstrap 1 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -16,7 +16,7 @@ Name: mono Version: 4.2.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages @@ -57,7 +57,7 @@ BuildRequires: mono-core >= 4.0 %endif # JIT only available on these: -ExclusiveArch: %mono_arches +ExclusiveArch: %mono_arches ppc64le %global _use_internal_dependency_generator 0 %global __find_provides env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/redhat/find-provides && printf "%s\\n" "${filelist[@]}" | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides; } | sort | uniq' @@ -752,6 +752,9 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %changelog +* Fri Aug 26 2016 Timotheus Pokorra - 4.2.4-4 +- enable bootstrap. add ppc64le to ExclusiveArch + * Fri Aug 26 2016 Timotheus Pokorra - 4.2.4-3 - do not deliver cecil.pc because Mono.Cecil should not be made public to other packages, they should use package mono-cecil From d8eb4628e41506b6ebcfce575799f557738dd36c Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Wed, 7 Sep 2016 18:05:46 +0200 Subject: [PATCH 11/31] new build in side tag epel7-mono4 --- mono.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mono.spec b/mono.spec index bfe5569..d7cc339 100644 --- a/mono.spec +++ b/mono.spec @@ -16,7 +16,7 @@ Name: mono Version: 4.2.4 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages @@ -752,6 +752,9 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %changelog +* Wed Sep 07 2016 Timotheus Pokorra - 4.2.4-5 +- new build in side tag epel7-mono4 + * Fri Aug 26 2016 Timotheus Pokorra - 4.2.4-4 - enable bootstrap. add ppc64le to ExclusiveArch From ac4f14f5dab41f5cb7eb50eec0026eeb8afc3807 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Sat, 17 Sep 2016 06:58:27 +0200 Subject: [PATCH 12/31] disable bootstrap and obsolete mono-data-postgresql --- mono.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index d7cc339..f861114 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround #1224945 %undefine _hardened_build %endif -%global bootstrap 1 +%global bootstrap 0 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -16,7 +16,7 @@ Name: mono Version: 4.2.4 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages @@ -44,6 +44,7 @@ BuildRequires: libgdiplus-devel >= 2.10 BuildRequires: pkgconfig BuildRequires: valgrind-devel BuildRequires: zlib-devel +Obsoletes: mono-data-postgresql <= 4.0 # Yes, mono actually depends on itself, because # we deleted the bootstrapping binaries. If you @@ -752,6 +753,9 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %changelog +* Sat Sep 17 2016 Timotheus Pokorra - 4.2.4-6 +- disable bootstrap and obsolete mono-data-postgresql + * Wed Sep 07 2016 Timotheus Pokorra - 4.2.4-5 - new build in side tag epel7-mono4 From dbd8bcab6659fb9ea9d933be06c8cdc50f1b4d14 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Mon, 19 Sep 2016 03:43:15 +0200 Subject: [PATCH 13/31] fix to obsolete mono-data-postgresql --- mono.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index f861114..19db3c9 100644 --- a/mono.spec +++ b/mono.spec @@ -16,7 +16,7 @@ Name: mono Version: 4.2.4 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages @@ -44,7 +44,6 @@ BuildRequires: libgdiplus-devel >= 2.10 BuildRequires: pkgconfig BuildRequires: valgrind-devel BuildRequires: zlib-devel -Obsoletes: mono-data-postgresql <= 4.0 # Yes, mono actually depends on itself, because # we deleted the bootstrapping binaries. If you @@ -74,6 +73,7 @@ metadata access libraries. Summary: The Mono CIL runtime, suitable for running .NET code Group: Development/Languages Requires: libgdiplus +Obsoletes: mono-data-postgresql <= 4.0 %description core This package contains the core of the Mono runtime including its @@ -753,6 +753,9 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %changelog +* Mon Sep 19 2016 Timotheus Pokorra - 4.2.4-7 +- fix to obsolete mono-data-postgresql + * Sat Sep 17 2016 Timotheus Pokorra - 4.2.4-6 - disable bootstrap and obsolete mono-data-postgresql From 1613b4ddc1b1095190b7bb270ffd75eb98a8a965 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Thu, 22 Jun 2017 15:27:32 +0200 Subject: [PATCH 14/31] Update to 4.6.2.16 Cycle 8 - Service Release 2 --- .gitignore | 1 + mono-4.0.0-ignore-reference-assemblies.patch | 47 +++++++++++--- mono-4.0.0-libgdiplusconfig.patch | 13 ---- mono-4.2.0-tlab_next_addr_offset.patch | 43 ------------- mono-4.2.1-ppc.patch | 54 ++-------------- mono-4.2.1-s390.patch | 26 -------- mono-4.2.2-asmx.patch | 30 --------- mono-4.3.2-find-provides.patch | 12 ++++ mono-4.6.0-patch_arm_fast_tls.patch | 11 ++++ mono-4.6.1-aarch64.patch | 11 ++++ mono.spec | 68 +++++++++++++++----- sources | 2 +- 12 files changed, 131 insertions(+), 187 deletions(-) delete mode 100644 mono-4.0.0-libgdiplusconfig.patch delete mode 100644 mono-4.2.0-tlab_next_addr_offset.patch delete mode 100644 mono-4.2.1-s390.patch delete mode 100644 mono-4.2.2-asmx.patch create mode 100644 mono-4.3.2-find-provides.patch create mode 100644 mono-4.6.0-patch_arm_fast_tls.patch create mode 100644 mono-4.6.1-aarch64.patch diff --git a/.gitignore b/.gitignore index 5d7fdba..9f05658 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ mono-2.6.7.tar.bz2 /mono-2.10.6.tar.bz2 /mono-2.10.8.tar.bz2 /mono-4.2.4.4.tar.bz2 +/mono-4.6.2.16.tar.bz2 diff --git a/mono-4.0.0-ignore-reference-assemblies.patch b/mono-4.0.0-ignore-reference-assemblies.patch index 100b195..62f99c4 100644 --- a/mono-4.0.0-ignore-reference-assemblies.patch +++ b/mono-4.0.0-ignore-reference-assemblies.patch @@ -1,15 +1,42 @@ ---- a/mcs/class/reference-assemblies/Makefile 2015-04-13 09:00:46.717596021 +0200 -+++ b/mcs/class/reference-assemblies/Makefile 2015-04-13 09:01:00.793595364 +0200 -@@ -7,12 +7,6 @@ - PROFILE_DIR=$(DESTDIR)$(mono_libdir)/mono/ +--- a/mcs/class/reference-assemblies/Makefile 2016-06-10 12:08:09.878246486 +0200 ++++ b/mcs/class/reference-assemblies/Makefile 2016-06-10 12:08:45.105854097 +0200 +@@ -7,23 +7,26 @@ + PROFILE_DIR=$(DESTDIR)$(mono_libdir)/mono install-local: -- $(MKINSTALLDIRS) $(PROFILE_DIR)/2.0 -- $(MKINSTALLDIRS) $(PROFILE_DIR)/3.5 +- $(MKINSTALLDIRS) $(PROFILE_DIR)/2.0-api +- $(MKINSTALLDIRS) $(PROFILE_DIR)/3.5-api +- $(MKINSTALLDIRS) $(PROFILE_DIR)/4.0-api +- $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5-api +- $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5-api/Facades +- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v2.0/*.dll $(PROFILE_DIR)/2.0-api +- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v3.5/*.dll $(PROFILE_DIR)/3.5-api +- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.0/*.dll $(PROFILE_DIR)/4.0-api +- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5/*.dll $(PROFILE_DIR)/4.5-api +- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5/Facades/*.dll $(PROFILE_DIR)/4.5-api/Facades ++ #$(MKINSTALLDIRS) $(PROFILE_DIR)/2.0-api ++ #$(MKINSTALLDIRS) $(PROFILE_DIR)/3.5-api ++ #$(MKINSTALLDIRS) $(PROFILE_DIR)/4.0-api ++ #$(MKINSTALLDIRS) $(PROFILE_DIR)/4.5-api ++ #$(MKINSTALLDIRS) $(PROFILE_DIR)/4.5-api/Facades ++ #$(INSTALL_LIB) ../../../external/binary-reference-assemblies/v2.0/*.dll $(PROFILE_DIR)/2.0-api ++ #$(INSTALL_LIB) ../../../external/binary-reference-assemblies/v3.5/*.dll $(PROFILE_DIR)/3.5-api ++ #$(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.0/*.dll $(PROFILE_DIR)/4.0-api ++ #$(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5/*.dll $(PROFILE_DIR)/4.5-api ++ #$(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5/Facades/*.dll $(PROFILE_DIR)/4.5-api/Facades ++ $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5 ++ ln -sf 4.5 $(PROFILE_DIR)/4.5-api ++ ln -sf 4.5 $(PROFILE_DIR)/4.0-api + + # Unfortunately, a few programs (most notably NUnit and FSharp) have hardcoded checks for /lib/mono/4.0/mscorlib.dll or Mono.Posix.dll, + # so we need to place something there or those tools break. We decided to symlink to the reference assembly for now. + # See https://bugzilla.xamarin.com/show_bug.cgi?id=38331 and https://bugzilla.xamarin.com/show_bug.cgi?id=41052 - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.0 -- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v2.0/* $(PROFILE_DIR)/2.0 -- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v3.5/* $(PROFILE_DIR)/3.5 -- $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.0/* $(PROFILE_DIR)/4.0 +- ln -sf ../4.0-api/mscorlib.dll $(PROFILE_DIR)/4.0/mscorlib.dll +- ln -sf ../4.0-api/Mono.Posix.dll $(PROFILE_DIR)/4.0/Mono.Posix.dll ++ #$(MKINSTALLDIRS) $(PROFILE_DIR)/4.0 ++ #ln -sf ../4.0-api/mscorlib.dll $(PROFILE_DIR)/4.0/mscorlib.dll ++ #ln -sf ../4.0-api/Mono.Posix.dll $(PROFILE_DIR)/4.0/Mono.Posix.dll - DISTFILES = $(wildcard ../../../external/binary-reference-assemblies/v4.0/*) $(wildcard ../../../external/binary-reference-assemblies/v3.5/*) $(wildcard ../../../external/binary-reference-assemblies/v2.0/*) Makefile + DISTFILES = $(wildcard ../../../external/binary-reference-assemblies/v4.5/Facades/*.dll) $(wildcard ../../../external/binary-reference-assemblies/v4.5/*.dll) $(wildcard ../../../external/binary-reference-assemblies/v4.0/*.dll) $(wildcard ../../../external/binary-reference-assemblies/v3.5/*.dll) $(wildcard ../../../external/binary-reference-assemblies/v2.0/*.dll) Makefile diff --git a/mono-4.0.0-libgdiplusconfig.patch b/mono-4.0.0-libgdiplusconfig.patch deleted file mode 100644 index cb19d19..0000000 --- a/mono-4.0.0-libgdiplusconfig.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/data/config.in 2016-01-02 18:56:31.246981603 +0100 -+++ b/data/config.in 2016-01-02 18:56:46.510980850 +0100 -@@ -29,8 +29,8 @@ - - - -- -- -+ -+ - - - diff --git a/mono-4.2.0-tlab_next_addr_offset.patch b/mono-4.2.0-tlab_next_addr_offset.patch deleted file mode 100644 index 7619f54..0000000 --- a/mono-4.2.0-tlab_next_addr_offset.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 6aa7d30d96f1a14845f617ca30508161fa57eaf8 Mon Sep 17 00:00:00 2001 -From: Zoltan Varga -Date: Fri, 1 Jan 2016 23:03:48 -0500 -Subject: [PATCH] [sgen] Avoid asserting if the tls offsets used by the managed - allocators cannot be determined. This can happen when using shared libraries - on linux. Fixes #30594. - ---- - mono/metadata/sgen-mono.c | 6 ++++++ - mono/sgen/sgen-alloc.c | 3 --- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/mono/metadata/sgen-mono.c b/mono/metadata/sgen-mono.c -index f6ae431..8d3b7c1 100644 ---- a/mono/metadata/sgen-mono.c -+++ b/mono/metadata/sgen-mono.c -@@ -2980,6 +2980,12 @@ mono_gc_base_init (void) - - if (nursery_canaries_enabled ()) - sgen_set_use_managed_allocator (FALSE); -+ -+#if defined(HAVE_KW_THREAD) -+ /* This can happen with using libmonosgen.so */ -+ if (mono_tls_key_get_offset (TLS_KEY_SGEN_TLAB_NEXT_ADDR) == -1) -+ sgen_set_use_managed_allocator (FALSE); -+#endif - } - - void -diff --git a/mono/sgen/sgen-alloc.c b/mono/sgen/sgen-alloc.c -index 0832bc1..ca9d645 100644 ---- a/mono/sgen/sgen-alloc.c -+++ b/mono/sgen/sgen-alloc.c -@@ -554,9 +554,6 @@ sgen_init_allocator (void) - - mono_tls_key_set_offset (TLS_KEY_SGEN_TLAB_NEXT_ADDR, tlab_next_addr_offset); - mono_tls_key_set_offset (TLS_KEY_SGEN_TLAB_TEMP_END, tlab_temp_end_offset); -- -- g_assert (tlab_next_addr_offset != -1); -- g_assert (tlab_temp_end_offset != -1); - #endif - - #ifdef HEAVY_STATISTICS diff --git a/mono-4.2.1-ppc.patch b/mono-4.2.1-ppc.patch index c99bc4f..c6afc8d 100644 --- a/mono-4.2.1-ppc.patch +++ b/mono-4.2.1-ppc.patch @@ -1,51 +1,11 @@ -diff -up mono-4.2.1/mcs/build/library.make.than mono-4.2.1/mcs/build/library.make -diff -up mono-4.2.1/mcs/class/corlib/System/TimeZoneInfo.cs.than mono-4.2.1/mcs/class/corlib/System/TimeZoneInfo.cs ---- mono-4.2.1/mcs/class/corlib/System/TimeZoneInfo.cs.than 2015-11-12 04:00:29.000000000 -0500 -+++ mono-4.2.1/mcs/class/corlib/System/TimeZoneInfo.cs 2016-01-18 10:28:29.532781004 -0500 -@@ -1150,7 +1150,7 @@ namespace System - try { - return ParseTZBuffer (id, buffer, length); +--- a/mcs/class/corlib/System/TimeZoneInfo.cs 2016-08-23 16:24:24.658169558 +0200 ++++ b/mcs/class/corlib/System/TimeZoneInfo.cs 2016-08-23 16:25:22.925434487 +0200 +@@ -1224,7 +1224,7 @@ + } catch (InvalidTimeZoneException) { + throw; } catch (Exception e) { -- throw new InvalidTimeZoneException (e.Message); -+ return Utc; //throw new InvalidTimeZoneException (e.Message); +- throw new InvalidTimeZoneException ("Time zone information file contains invalid data", e); ++ return Utc; // throw new InvalidTimeZoneException ("Time zone information file contains invalid data", e); } } -@@ -1175,7 +1175,7 @@ namespace System - return (((i >> 24) & 0xff) - | ((i >> 8) & 0xff00) - | ((i << 8) & 0xff0000) -- | ((i << 24))); -+ | (((i & 0xff) << 24))); - } - - static int ReadBigEndianInt32 (byte [] buffer, int start) -diff -up mono-4.2.1/mcs/class/System.Web/Makefile.than mono-4.2.1/mcs/class/System.Web/Makefile -diff -up mono-4.2.1/mono/mini/tramp-ppc.c.than mono-4.2.1/mono/mini/tramp-ppc.c ---- mono-4.2.1/mono/mini/tramp-ppc.c.than 2015-11-12 04:00:29.000000000 -0500 -+++ mono-4.2.1/mono/mini/tramp-ppc.c 2016-01-18 12:05:38.902781004 -0500 -@@ -625,8 +625,12 @@ mono_arch_get_nullified_class_init_tramp - - g_assert (code - buf <= tramp_size); - -+ if (info) - *info = mono_tramp_info_create ("nullified_class_init_trampoline", buf, code - buf, NULL, NULL); - -+ /* It is expected to be a function descriptor on power pre-v2 ABI */ -+ buf = mono_create_ftnptr (mono_domain_get (), buf); -+ - return buf; - } - -diff -up mono-4.2.1/mono/sgen/sgen-archdep.h.than mono-4.2.1/mono/sgen/sgen-archdep.h ---- mono-4.2.1/mono/sgen/sgen-archdep.h.than 2015-11-12 04:00:29.000000000 -0500 -+++ mono-4.2.1/mono/sgen/sgen-archdep.h 2016-01-18 10:28:29.532781004 -0500 -@@ -89,7 +89,7 @@ - - /* MS_BLOCK_SIZE must be a multiple of the system pagesize, which for some - archs is 64k. */ --#if defined(TARGET_POWERPC64) && _CALL_ELF == 2 -+#if defined(TARGET_POWERPC64) - #define ARCH_MIN_MS_BLOCK_SIZE (64*1024) - #define ARCH_MIN_MS_BLOCK_SIZE_SHIFT 16 - #endif diff --git a/mono-4.2.1-s390.patch b/mono-4.2.1-s390.patch deleted file mode 100644 index a6c0eac..0000000 --- a/mono-4.2.1-s390.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up mono-4.2.1/mono/metadata/icall.c.than mono-4.2.1/mono/metadata/icall.c ---- mono-4.2.1/mono/metadata/icall.c.than 2015-11-12 10:00:29.000000000 +0100 -+++ mono-4.2.1/mono/metadata/icall.c 2016-01-25 16:36:24.479028169 +0100 -@@ -822,14 +822,14 @@ ves_icall_System_Runtime_CompilerService - } - - #if G_BYTE_ORDER != G_LITTLE_ENDIAN --#define SWAP(n) {\ -- guint ## n *data = (guint ## n *) mono_array_addr (array, char, 0); \ -- guint ## n *src = (guint ## n *) field_data; \ -- guint ## n *end = (guint ## n *)((char*)src + size); \ --\ -- for (; src < end; data++, src++) { \ -- *data = read ## n (src); \ -- } \ -+#define SWAP(n) { \ -+ guint ## n *data = (guint ## n *) mono_array_addr (array, char, 0); \ -+ guint ## n *src = (guint ## n *) field_data; \ -+ int i, nEnt = (size / sizeof(guint ## n)); \ -+ \ -+ for (i = 0; i < nEnt; i++) { \ -+ data[i] = read ## n (&src[i]); \ -+ } \ - } - - /* printf ("Initialize array with elements of %s type\n", klass->element_class->name); */ diff --git a/mono-4.2.2-asmx.patch b/mono-4.2.2-asmx.patch deleted file mode 100644 index 97ca5fa..0000000 --- a/mono-4.2.2-asmx.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 054efb814f0498927d8046fc015a4926968d51b1 Mon Sep 17 00:00:00 2001 -From: Timotheus Pokorra -Date: Mon, 8 Feb 2016 21:55:36 +0100 -Subject: [PATCH] fixing display of asmx help page (#37137) - -if MONO_BROKEN_CONFIGURATION_DLL is defined, make sure that actualPath always gets set ---- - .../System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/System.Web.Services/System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs b/System.Web.Services/System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs -index c1e6007..e03a305 100644 ---- a/external/referencesource/System.Web.Services/System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs -+++ b/external/referencesource/System.Web.Services/System/Web/Services/Configuration/WsdlHelpGeneratorElement.cs -@@ -75,6 +75,7 @@ protected override void DeserializeElement(XmlReader reader, bool serializeColle - try { - var hack = this.EvaluationContext; - } catch (ConfigurationErrorsException) { -+ this.actualPath = GetConfigurationDirectory(); - return; - } - #endif -@@ -127,6 +128,7 @@ protected override void Reset(ConfigurationElement parentElement) - var hack = this.EvaluationContext; - } catch (ConfigurationErrorsException) { - base.Reset(parentElement); -+ this.actualPath = GetConfigurationDirectory(); - return; - } - #endif diff --git a/mono-4.3.2-find-provides.patch b/mono-4.3.2-find-provides.patch new file mode 100644 index 0000000..8841b3e --- /dev/null +++ b/mono-4.3.2-find-provides.patch @@ -0,0 +1,12 @@ +--- a/scripts/mono-find-provides.in 2016-02-22 16:08:49.000000000 +0100 ++++ b/scripts/mono-find-provides.in 2016-02-26 21:32:34.004474233 +0100 +@@ -16,7 +16,8 @@ + + # Only include files with /gac/ in path + # (Allows packages to contain private assemblies that don't conflict with other packages) +-monolist=($(printf "%s\n" "${monolist[@]}" | egrep "/gac/")) ++#quite a number of files are not in the gac, eg. System.IO, and Mono.Configuration.Crypto, and others ++#monolist=($(printf "%s\n" "${monolist[@]}" | egrep "/gac/")) + # Disabled... see ChangeLog + + # Set the prefix, unless it is overriden (used when building mono rpms) diff --git a/mono-4.6.0-patch_arm_fast_tls.patch b/mono-4.6.0-patch_arm_fast_tls.patch new file mode 100644 index 0000000..0e05633 --- /dev/null +++ b/mono-4.6.0-patch_arm_fast_tls.patch @@ -0,0 +1,11 @@ +--- a/mono/mini/mini-arm.c 2016-08-24 15:25:42.253619745 +0200 ++++ b/mono/mini/mini-arm.c 2016-08-24 15:26:00.124173662 +0200 +@@ -34,7 +34,7 @@ + #if (defined(HAVE_KW_THREAD) && defined(__linux__) && defined(__ARM_EABI__)) \ + || defined(TARGET_ANDROID) \ + || (defined(TARGET_IOS) && !defined(TARGET_WATCHOS)) +-#define HAVE_FAST_TLS ++//#define HAVE_FAST_TLS + #endif + + /* Sanity check: This makes no sense */ diff --git a/mono-4.6.1-aarch64.patch b/mono-4.6.1-aarch64.patch new file mode 100644 index 0000000..4b6a546 --- /dev/null +++ b/mono-4.6.1-aarch64.patch @@ -0,0 +1,11 @@ +--- a/mono/sgen/sgen-archdep.h 2016-10-10 11:22:26.607082785 -0500 ++++ b/mono/sgen/sgen-archdep.h 2016-10-10 11:22:48.526184527 -0500 +@@ -45,6 +45,8 @@ + + #elif defined(TARGET_ARM64) + ++#define ARCH_MIN_MS_BLOCK_SIZE (64*1024) ++#define ARCH_MIN_MS_BLOCK_SIZE_SHIFT 16 + #ifdef __linux__ + #define REDZONE_SIZE 0 + #elif defined(__APPLE__) diff --git a/mono.spec b/mono.spec index 19db3c9..2c9f9e6 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround #1224945 %undefine _hardened_build %endif -%global bootstrap 0 +%global bootstrap 0 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -15,26 +15,25 @@ %endif Name: mono -Version: 4.2.4 -Release: 7%{?dist} +Version: 4.6.2 +Release: 1%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages License: MIT URL: http://www.mono-project.com -Source0: http://download.mono-project.com/sources/mono/mono-%{version}.4.tar.bz2 +Source0: http://download.mono-project.com/sources/mono/mono-%{version}.16.tar.bz2 # This key was generated by Tom "spot" Callaway on Dec 1, 2009 # by running the following command: # sn -k mono.snk # You should not regenerate this unless you have a really, really, really good reason. Source1: mono.snk Patch0: mono-4.0.0-ignore-reference-assemblies.patch -Patch1: mono-4.2.0-tlab_next_addr_offset.patch -Patch2: mono-4.0.0-libgdiplusconfig.patch -Patch3: mono-4.2.1-ppc.patch -Patch4: mono-4.2.1-s390.patch -Patch5: mono-4.2.2-asmx.patch -Patch6: mono-4.2-fix-winforms-trayicon.patch +Patch1: mono-4.2.1-ppc.patch +Patch2: mono-4.3.2-find-provides.patch +Patch3: mono-4.2-fix-winforms-trayicon.patch +Patch4: mono-4.6.0-patch_arm_fast_tls.patch +Patch5: mono-4.6.1-aarch64.patch BuildRequires: bison BuildRequires: gcc-c++ @@ -53,7 +52,7 @@ BuildRequires: zlib-devel %if 0%{bootstrap} # for bootstrap, use bundled monolite instead of local mono %else -BuildRequires: mono-core >= 4.0 +BuildRequires: mono-core >= 4.0 %endif # JIT only available on these: @@ -277,11 +276,13 @@ Development file for monodoc %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 # Add undeclared Arg sed -i "61a #define ARG_MAX _POSIX_ARG_MAX" mono/io-layer/wapi_glob.h +# Remove hardcoded lib directory for libMonoPosixHelper.so from the config +sed -i 's|$mono_libdir/||g' data/config.in + # Remove prebuilt binaries find . -name "*.dll" -not -path "./mcs/class/lib/monolite/*" -print -delete find . -name "*.exe" -not -path "./mcs/class/lib/monolite/*" -print -delete @@ -292,6 +293,10 @@ rm -rf mcs/class/lib/monolite/* %endif %build +%ifarch s390x +# workaround a gcc bug - https://bugzilla.redhat.com/show_bug.cgi?id=1397948 +RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-march=z[[:alnum:]]\+/-march=z9-109/g') +%endif export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --disable-rpath \ @@ -344,6 +349,10 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/mono-nunit.pc # remove dmcs because it requires the .net 4.0 sdk but we only deliver 4.5 with Fedora (#1294967) rm -f %{buildroot}%{_bindir}/dmcs +# drop prj2make because the binary is not built anymore +rm -f %{buildroot}%{_bindir}/prj2make +rm -f %{buildroot}%{_mandir}/man1/prj2make* + # Move upstream GDB scripts for security reasons of new GDB. mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} %{__mv} -f %{buildroot}%{_bindir}/mono-gdb.py \ @@ -363,11 +372,14 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %postun devel -p /sbin/ldconfig %files core -f mcs.lang -%doc COPYING.LIB ChangeLog NEWS README.md +%doc COPYING.LIB NEWS README.md %{_bindir}/mono %{_bindir}/mono-test-install %{_datadir}/gdb/auto-load/* +%ifnarch aarch64 +# there is no support for aarch64 in the boehm back end %{_bindir}/mono-boehm +%endif %{_bindir}/mono-service2 %{_bindir}/mono-sgen %{_bindir}/mono-sgen-gdb.py @@ -402,6 +414,8 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %{_mandir}/man1/mprof-report.1.gz %{_libdir}/libMonoPosixHelper.so* %dir %{_monodir} +%dir %{_monodir}/4.5 +%dir %{_monodir}/4.5/Facades %dir %{_monodir}/gac %gac_dll Commons.Xml.Relaxng %gac_dll ICSharpCode.SharpZipLib @@ -409,20 +423,26 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %{_monogacdir}/Mono.Cecil %gac_dll cscompmgd %gac_dll Microsoft.VisualC -%gac_dll Mono.C5 %gac_dll Mono.Cairo %gac_dll Mono.CompilerServices.SymbolWriter %gac_dll Mono.CSharp %gac_dll System.Drawing +%gac_dll System.Deployment %gac_dll Mono.Management %gac_dll Mono.Posix %gac_dll Mono.Security +%gac_dll Mono.Security.Providers.DotNet +%gac_dll Mono.Security.Providers.NewSystemSource +%gac_dll Mono.Security.Providers.NewTls +%gac_dll Mono.Security.Providers.OldTls %gac_dll Mono.Simd %gac_dll System %gac_dll System.Configuration %gac_dll System.Core +%gac_dll System.Numerics.Vectors %gac_dll System.Security %gac_dll System.Xml +%gac_dll System.Reflection.Context %gac_dll Mono.Tasklets %gac_dll System.Net %gac_dll System.Xml.Linq @@ -442,6 +462,8 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %config (noreplace) %{_sysconfdir}/mono/4.5/web.config %dir %{_sysconfdir}/mono/4.0 %mono_bin ccrewrite +%{_monodir}/4.0-api +%{_monodir}/4.5-api %{_monodir}/4.5/mscorlib.dll %{_monodir}/4.5/mscorlib.dll.mdb %gac_dll Microsoft.CSharp @@ -453,6 +475,7 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %gac_dll System.Numerics %gac_dll System.Runtime.Caching %gac_dll System.Runtime.DurableInstancing +%gac_dll System.Runtime.InteropServices.RuntimeInformation %gac_dll System.Transactions %gac_dll System.Xaml %gac_dll WebMatrix.Data @@ -472,11 +495,17 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %gac_dll System.Net.Http %gac_dll System.Net.Http.WebRequest %gac_dll System.Threading.Tasks.Dataflow +%gac_dll System.Workflow.Activities +%gac_dll System.Workflow.ComponentModel +%gac_dll System.Workflow.Runtime %files devel %{_sysconfdir}/pki/mono/ %{_bindir}/mono-api-info -%{_monodir}/4.5/mono-api-info.exe +%{_monodir}/4.5/mono-api-info.exe* +%{_bindir}/mono-api-html +%{_monodir}/4.5/mono-api-html.exe* +%{_monodir}/4.5/linkeranalyzer.exe* %mono_bin mono-symbolicate %gac_dll SMDiagnostics %mono_bin xbuild @@ -508,7 +537,6 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %{_bindir}/monop2 %mono_bin permview %{_bindir}/peverify -%{_bindir}/prj2make %mono_bin resgen %{_bindir}/resgen2 %mono_bin sgen @@ -518,7 +546,9 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %mono_bin crlupdate %mono_bin mdbrebase %{_prefix}/lib/mono-source-libs/ +%ifnarch aarch64 %{_bindir}/pedump +%endif %{_mandir}/man1/resgen.1.gz %{_mandir}/man1/al.1.gz %{_mandir}/man1/cert2spc.1.gz @@ -538,7 +568,6 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %{_mandir}/man1/mono-xmltool.1.gz %{_mandir}/man1/monop.1.gz %{_mandir}/man1/permview.1.gz -%{_mandir}/man1/prj2make.1.gz %{_mandir}/man1/secutil.1.gz %{_mandir}/man1/sgen.1.gz %{_mandir}/man1/signcode.1.gz @@ -662,6 +691,8 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %gac_dll System.Web.WebPages %gac_dll System.Web.WebPages.Deployment %gac_dll System.Web.WebPages.Razor +%gac_dll System.Web.Mobile +%gac_dll System.Web.RegularExpressions %{_mandir}/man1/disco.1.gz %{_mandir}/man1/httpcfg.1.gz %{_mandir}/man1/mconfig.1.gz @@ -753,6 +784,9 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %changelog +* Thu Jun 22 2017 Timotheus Pokorra - 4.2.6-1 +- Update to 4.6.2.16 Cycle 8 - Service Release 2 + * Mon Sep 19 2016 Timotheus Pokorra - 4.2.4-7 - fix to obsolete mono-data-postgresql diff --git a/sources b/sources index c858d01..ca41e52 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c6cbc6089206204fc6e8a14c9ff46657 mono-4.2.4.4.tar.bz2 +SHA512 (mono-4.6.2.16.tar.bz2) = 4613e5f856a77d00b0f01d7c603724173f8e65f5117fd80c19fb283171d45030c33aaed226ae45c89942a0edd81bdbdc5e6b0ac57d51302bd08bf40a393e7760 From e15ac18b4d9b1ef4c4001274bf1f5b3fcfa7f39b Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Mon, 26 Jun 2017 18:22:10 +0200 Subject: [PATCH 15/31] enable bootstrap. add aarch64 to ExclusiveArch --- mono.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mono.spec b/mono.spec index 2c9f9e6..d22bcdc 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround #1224945 %undefine _hardened_build %endif -%global bootstrap 0 +%global bootstrap 1 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -16,7 +16,7 @@ Name: mono Version: 4.6.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages @@ -56,7 +56,7 @@ BuildRequires: mono-core >= 4.0 %endif # JIT only available on these: -ExclusiveArch: %mono_arches ppc64le +ExclusiveArch: %mono_arches ppc64le aarch64 %global _use_internal_dependency_generator 0 %global __find_provides env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/redhat/find-provides && printf "%s\\n" "${filelist[@]}" | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides; } | sort | uniq' @@ -784,6 +784,9 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %changelog +* Mon Jun 26 2017 Timotheus Pokorra - 4.2.6-2 +- enable bootstrap. add aarch64 to ExclusiveArch + * Thu Jun 22 2017 Timotheus Pokorra - 4.2.6-1 - Update to 4.6.2.16 Cycle 8 - Service Release 2 From a290de38b81043a302a349731b63432a4843b3be Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Mon, 26 Jun 2017 19:35:35 +0200 Subject: [PATCH 16/31] disable bootstrap --- mono.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index d22bcdc..c2e904d 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround #1224945 %undefine _hardened_build %endif -%global bootstrap 1 +%global bootstrap 0 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -16,7 +16,7 @@ Name: mono Version: 4.6.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages @@ -784,6 +784,9 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %changelog +* Mon Jun 26 2017 Timotheus Pokorra - 4.2.6-3 +- disable bootstrap + * Mon Jun 26 2017 Timotheus Pokorra - 4.2.6-2 - enable bootstrap. add aarch64 to ExclusiveArch From 0a4454e4345427147374aeea60b380c9f85fe2c9 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Mon, 26 Jun 2017 22:07:56 +0200 Subject: [PATCH 17/31] fix version number in changelog there was a mix up of numbers --- mono.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mono.spec b/mono.spec index c2e904d..8385341 100644 --- a/mono.spec +++ b/mono.spec @@ -784,13 +784,13 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %changelog -* Mon Jun 26 2017 Timotheus Pokorra - 4.2.6-3 +* Mon Jun 26 2017 Timotheus Pokorra - 4.6.2-3 - disable bootstrap -* Mon Jun 26 2017 Timotheus Pokorra - 4.2.6-2 +* Mon Jun 26 2017 Timotheus Pokorra - 4.6.2-2 - enable bootstrap. add aarch64 to ExclusiveArch -* Thu Jun 22 2017 Timotheus Pokorra - 4.2.6-1 +* Thu Jun 22 2017 Timotheus Pokorra - 4.6.2-1 - Update to 4.6.2.16 Cycle 8 - Service Release 2 * Mon Sep 19 2016 Timotheus Pokorra - 4.2.4-7 From 0667bdfecd30a4b1e85dd344e829c64cf077ec08 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Mon, 31 Jul 2017 06:52:46 +0200 Subject: [PATCH 18/31] add a patch for an sqlite bug related to dates see https://bugzilla.xamarin.com/show_bug.cgi?id=46929 and the history of https://github.com/mono/mono/commits/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteConvert.cs --- mono.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mono.spec b/mono.spec index 8385341..8233845 100644 --- a/mono.spec +++ b/mono.spec @@ -16,7 +16,7 @@ Name: mono Version: 4.6.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Cross-platform, Open Source, .NET development framework Group: Development/Languages @@ -35,6 +35,10 @@ Patch3: mono-4.2-fix-winforms-trayicon.patch Patch4: mono-4.6.0-patch_arm_fast_tls.patch Patch5: mono-4.6.1-aarch64.patch +# see https://bugzilla.xamarin.com/show_bug.cgi?id=46929 +# and the history of https://github.com/mono/mono/commits/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteConvert.cs +Patch6: mono-4.6.0-sqlite_date.patch + BuildRequires: bison BuildRequires: gcc-c++ BuildRequires: gettext-devel @@ -276,6 +280,7 @@ Development file for monodoc %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 # Add undeclared Arg sed -i "61a #define ARG_MAX _POSIX_ARG_MAX" mono/io-layer/wapi_glob.h @@ -784,6 +789,9 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc %changelog +* Sat Jul 29 2017 Timotheus Pokorra - 4.6.2-4 +- add a patch for an sqlite bug related to dates + * Mon Jun 26 2017 Timotheus Pokorra - 4.6.2-3 - disable bootstrap From a6860cf4c46c383fd4fe755a7e31de9ceadd5e7d Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Mon, 31 Jul 2017 07:02:10 +0200 Subject: [PATCH 19/31] forgot to add the sqlite patch to the previous commit --- mono-4.6.0-sqlite_date.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 mono-4.6.0-sqlite_date.patch diff --git a/mono-4.6.0-sqlite_date.patch b/mono-4.6.0-sqlite_date.patch new file mode 100644 index 0000000..9a5f4d1 --- /dev/null +++ b/mono-4.6.0-sqlite_date.patch @@ -0,0 +1,11 @@ +--- a/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteConvert.cs 2017-07-29 07:27:51.885369241 +0200 ++++ b/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteConvert.cs 2017-07-29 07:28:38.065062437 +0200 +@@ -221,7 +221,7 @@ + case SQLiteDateFormats.UnixEpoch: + return ((long)(dateValue.Subtract(UnixEpoch).Ticks / TimeSpan.TicksPerSecond)).ToString(); + default: +- return dateValue.ToString(_datetimeFormats[5], CultureInfo.InvariantCulture); ++ return dateValue.ToString(_datetimeFormats[19], CultureInfo.InvariantCulture); + } + } + From 68dc37bf2e686013229f98ce92c370366dbbe66f Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Thu, 19 Sep 2019 11:30:50 +0200 Subject: [PATCH 20/31] "Adding package.cfg file" --- package.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 package.cfg diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file From ef19a9245734ee9ee0ef2722a4e0ed2e880f30d5 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Sat, 29 Feb 2020 22:21:38 +0100 Subject: [PATCH 21/31] bootstrap build for epel8 --- mono.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index a67af7a..755bbc5 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif -%global bootstrap 0 +%global bootstrap 1 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -23,7 +23,7 @@ %global xamarinrelease 161 Name: mono Version: 6.6.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT @@ -924,6 +924,9 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %files complete %changelog +* Sat Feb 29 2020 Timotheus Pokorra - 6.6.0-6 +- Bootstrap build for Epel 8 + * Mon Feb 03 2020 Robert-André Mauchin - 6.6.0-5 - Reenable mdoc build (#1797360) From 0dbbc71ff1d4dcf49340eb7f0c7ede023eff4948 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Sat, 25 Apr 2020 13:37:20 +0200 Subject: [PATCH 22/31] Non-Bootstrap build for Epel 8 --- mono.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index 755bbc5..88ece6b 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif -%global bootstrap 1 +%global bootstrap 0 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -23,7 +23,7 @@ %global xamarinrelease 161 Name: mono Version: 6.6.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT @@ -924,6 +924,9 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %files complete %changelog +* Sat Apr 25 2020 Timotheus Pokorra - 6.6.0-7 +- Non-Bootstrap build for Epel 8 + * Sat Feb 29 2020 Timotheus Pokorra - 6.6.0-6 - Bootstrap build for Epel 8 From 5c5f8f645248c14a80d0dad7f1b8c6bd67d37620 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Sat, 25 Apr 2020 14:54:08 +0200 Subject: [PATCH 23/31] another bootstrap build for Epel 8, but this time without the mono-find-provides and mono-find-requires scripts since they are still provided by rpm-build in Epel8 --- mono.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mono.spec b/mono.spec index 88ece6b..c068a0c 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif -%global bootstrap 0 +%global bootstrap 1 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -656,8 +656,8 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %mono_bin mkbundle %mono_bin makecert %mono_bin mono-cil-strip -%{_bindir}/mono-find-provides -%{_bindir}/mono-find-requires +#%{_bindir}/mono-find-provides +#%{_bindir}/mono-find-requires %{_bindir}/monodis %mono_bin monolinker %mono_bin mono-shlib-cop @@ -925,7 +925,7 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %changelog * Sat Apr 25 2020 Timotheus Pokorra - 6.6.0-7 -- Non-Bootstrap build for Epel 8 +- another bootstrap build for Epel 8, but this time without the mono-find-provides and mono-find-requires scripts since they are still provided by rpm-build in Epel8 * Sat Feb 29 2020 Timotheus Pokorra - 6.6.0-6 - Bootstrap build for Epel 8 From 81faf17ab9836d50389decff5b488fafd4eac07f Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Sat, 25 Apr 2020 20:26:02 +0200 Subject: [PATCH 24/31] another fix for rpm helper scripts on epel 8 --- mono.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mono.spec b/mono.spec index c068a0c..092643c 100644 --- a/mono.spec +++ b/mono.spec @@ -478,9 +478,10 @@ cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.5-api && cd - cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.0-api && cd - # rpm helper scripts -mkdir -p %{buildroot}%{_prefix}/lib/rpm/fileattrs/ -install -p -m755 %{SOURCE2} %{SOURCE3} %{buildroot}%{_prefix}/lib/rpm/ -install -p -m644 %{SOURCE4} %{buildroot}%{_prefix}/lib/rpm/fileattrs/ +# not needed on Epel 8 +#mkdir -p %{buildroot}%{_prefix}/lib/rpm/fileattrs/ +#install -p -m755 %{SOURCE2} %{SOURCE3} %{buildroot}%{_prefix}/lib/rpm/ +#install -p -m644 %{SOURCE4} %{buildroot}%{_prefix}/lib/rpm/fileattrs/ %find_lang mcs From 7c5626eced461449341436150b5610bab1d19621 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Sat, 25 Apr 2020 21:18:09 +0200 Subject: [PATCH 25/31] another fix for rpm helper scripts on epel 8 --- mono.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mono.spec b/mono.spec index 092643c..0158adb 100644 --- a/mono.spec +++ b/mono.spec @@ -657,8 +657,8 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %mono_bin mkbundle %mono_bin makecert %mono_bin mono-cil-strip -#%{_bindir}/mono-find-provides -#%{_bindir}/mono-find-requires +%{_bindir}/mono-find-provides +%{_bindir}/mono-find-requires %{_bindir}/monodis %mono_bin monolinker %mono_bin mono-shlib-cop @@ -747,8 +747,8 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %{_includedir}/mono-2.0/mono/metadata/*.h %{_includedir}/mono-2.0/mono/utils/*.h %{_includedir}/mono-2.0/mono/cil/opcode.def -%{_prefix}/lib/rpm/mono-find-* -%{_prefix}/lib/rpm/fileattrs/mono.attr +#%{_prefix}/lib/rpm/mono-find-* +#%{_prefix}/lib/rpm/fileattrs/mono.attr %{_bindir}/aprofutil %mono_bin aprofutil %{_mandir}/man1/aprofutil.1.gz From a1fed137f0e386a1f2d1b8797ab329d07720d85d Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Sat, 25 Apr 2020 21:59:06 +0200 Subject: [PATCH 26/31] Non-bootstrap build for Epel 8 --- mono.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index 0158adb..91b97a4 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif -%global bootstrap 1 +%global bootstrap 0 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -23,7 +23,7 @@ %global xamarinrelease 161 Name: mono Version: 6.6.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT @@ -925,6 +925,9 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %files complete %changelog +* Sat Apr 25 2020 Timotheus Pokorra - 6.6.0-8 +- Non-bootstrap build for Epel 8 + * Sat Apr 25 2020 Timotheus Pokorra - 6.6.0-7 - another bootstrap build for Epel 8, but this time without the mono-find-provides and mono-find-requires scripts since they are still provided by rpm-build in Epel8 From ae805236945e90282e2124b061185d12494e8130 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Wed, 15 Jul 2020 22:36:32 +0200 Subject: [PATCH 27/31] build bootstrap build for Epel7, of Mono 6.6.0.166 --- mono.spec | 16 +++++----------- sources | 2 +- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/mono.spec b/mono.spec index 91b97a4..6dfbd99 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif -%global bootstrap 0 +%global bootstrap 1 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -20,10 +20,10 @@ %undefine _missing_build_ids_terminate_build %endif -%global xamarinrelease 161 +%global xamarinrelease 166 Name: mono Version: 6.6.0 -Release: 8%{?dist} +Release: 6%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT @@ -925,14 +925,8 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %files complete %changelog -* Sat Apr 25 2020 Timotheus Pokorra - 6.6.0-8 -- Non-bootstrap build for Epel 8 - -* Sat Apr 25 2020 Timotheus Pokorra - 6.6.0-7 -- another bootstrap build for Epel 8, but this time without the mono-find-provides and mono-find-requires scripts since they are still provided by rpm-build in Epel8 - -* Sat Feb 29 2020 Timotheus Pokorra - 6.6.0-6 -- Bootstrap build for Epel 8 +* Wed Jul 15 2020 Timotheus Pokorra - 6.6.0-6 +- Bootstrap build for Epel 7 * Mon Feb 03 2020 Robert-André Mauchin - 6.6.0-5 - Reenable mdoc build (#1797360) diff --git a/sources b/sources index d8bf139..3c9c4ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mono-6.6.0.161.tar.xz) = 0b0c72daef9e1c10c0d566292997d4a923766390793ec1196a063b885e853b47a12503238632879cf7397f03b34909137e24c53db9300a4f209164e973284186 +SHA512 (mono-6.6.0.166.tar.xz) = 75a4c4f6c82842d2a42383eac4e7afcb313f3d63b500786ce249c7a89061677e6e042568eb5add700381bb73cd4ca1baff3f2c734598387be81542fa92378a4d From 687d812f9dc560b479c2ff5c4d128a847dc7a5de Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Thu, 16 Jul 2020 22:14:26 +0200 Subject: [PATCH 28/31] Non-Bootstrap build for Epel 7 --- mono.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index 6dfbd99..e7b52ed 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif -%global bootstrap 1 +%global bootstrap 0 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -23,7 +23,7 @@ %global xamarinrelease 166 Name: mono Version: 6.6.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT @@ -925,6 +925,9 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %files complete %changelog +* Thu Jul 16 2020 Timotheus Pokorra - 6.6.0-7 +- Non-Bootstrap build for Epel 7 + * Wed Jul 15 2020 Timotheus Pokorra - 6.6.0-6 - Bootstrap build for Epel 7 From f68033e29a487af1aecc9e3431181afd2de364d8 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Sat, 18 Jul 2020 06:42:24 +0200 Subject: [PATCH 29/31] Bootstrap build for Mono 6.8 for Epel 7 --- mono-6.6.0-python3.patch | 2 +- mono.spec | 42 +++++++++++++++++++++++++--------------- sources | 2 +- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/mono-6.6.0-python3.patch b/mono-6.6.0-python3.patch index d59f785..2f67982 100644 --- a/mono-6.6.0-python3.patch +++ b/mono-6.6.0-python3.patch @@ -50,4 +50,4 @@ diff -up mono-5.18.1.0/mono/mini/Makefile.in.py3 mono-5.18.1.0/mono/mini/Makefil +GENMDESC_PRG = python3 $(srcdir)/genmdesc.py $(target_define) $(srcdir) LLVM_AOT_RUNTIME_OPTS = $(if $(LLVM),--llvm,) @AMD64_FALSE@LLVM_AOT_COMPILER_OPTS = - @AMD64_TRUE@LLVM_AOT_COMPILER_OPTS = $(if $(LLVM),"=llvmllc=-mcpu=generic -mattr=+sse3",) + @AMD64_TRUE@LLVM_AOT_COMPILER_OPTS = $(if $(LLVM),llvmllc=-mattr=+sse3,) diff --git a/mono.spec b/mono.spec index e7b52ed..1f4d2b6 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif -%global bootstrap 0 +%global bootstrap 1 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -20,10 +20,10 @@ %undefine _missing_build_ids_terminate_build %endif -%global xamarinrelease 166 +%global xamarinrelease 123 Name: mono -Version: 6.6.0 -Release: 7%{?dist} +Version: 6.8.0 +Release: 0%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT @@ -77,8 +77,8 @@ BuildRequires: perl-Getopt-Long %if 0%{bootstrap} # for bootstrap, use bundled monolite and reference assemblies instead of local mono %else -BuildRequires: mono-core >= 6.6 -BuildRequires: mono-devel >= 6.6 +BuildRequires: mono-core >= 6.8 +BuildRequires: mono-devel >= 6.8 %endif # JIT only available on these: @@ -446,9 +446,11 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/mono-nunit.pc # remove dmcs because it requires the .net 4.0 sdk but we only deliver 4.5 with Fedora (#1294967) rm -f %{buildroot}%{_bindir}/dmcs -# remove csc +# remove wrapper scripts for roslyn-binaries rm -f %{buildroot}%{_bindir}/csc rm -f %{buildroot}%{_bindir}/csc-dim +rm -f %{buildroot}%{_bindir}/csi +rm -f %{buildroot}%{_bindir}/vbc # drop prj2make because the binary is not built anymore rm -f %{buildroot}%{_bindir}/prj2make @@ -477,11 +479,13 @@ cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.5-api && cd - # as requested in bug 1704861; we have had that link in F29 with Mono 4.8 as well. cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.0-api && cd - +# for Epel7, we don't deliver these files, they are still provided by rpm-build-4.11.3-43.el7.x86_64 +%if 0%{?el7}%{?el8} == 0 # rpm helper scripts -# not needed on Epel 8 -#mkdir -p %{buildroot}%{_prefix}/lib/rpm/fileattrs/ -#install -p -m755 %{SOURCE2} %{SOURCE3} %{buildroot}%{_prefix}/lib/rpm/ -#install -p -m644 %{SOURCE4} %{buildroot}%{_prefix}/lib/rpm/fileattrs/ +mkdir -p %{buildroot}%{_prefix}/lib/rpm/fileattrs/ +install -p -m755 %{SOURCE2} %{SOURCE3} %{buildroot}%{_prefix}/lib/rpm/ +install -p -m644 %{SOURCE4} %{buildroot}%{_prefix}/lib/rpm/fileattrs/ +%endif %find_lang mcs @@ -516,11 +520,9 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %mono_bin ikdasm %mono_bin lc %{_bindir}/gacutil2 -%{_bindir}/csi %{_bindir}/mcs %{_monodir}/4.5/mcs.* %{_monodir}/4.5/mono-api-diff.* -%{_bindir}/vbc %mono_bin mozroots %mono_bin pdb2mdb %mono_bin setreg @@ -660,7 +662,7 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %{_bindir}/mono-find-provides %{_bindir}/mono-find-requires %{_bindir}/monodis -%mono_bin monolinker +%{_bindir}/monolinker %mono_bin mono-shlib-cop %mono_bin mono-xmltool %mono_bin monop @@ -747,8 +749,13 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %{_includedir}/mono-2.0/mono/metadata/*.h %{_includedir}/mono-2.0/mono/utils/*.h %{_includedir}/mono-2.0/mono/cil/opcode.def -#%{_prefix}/lib/rpm/mono-find-* -#%{_prefix}/lib/rpm/fileattrs/mono.attr + +# for Epel7, we don't deliver these files, they are still provided by rpm-build-4.11.3-43.el7.x86_64 +%if 0%{?el7}%{?el8} == 0 +%{_prefix}/lib/rpm/mono-find-* +%{_prefix}/lib/rpm/fileattrs/mono.attr +%endif + %{_bindir}/aprofutil %mono_bin aprofutil %{_mandir}/man1/aprofutil.1.gz @@ -925,6 +932,9 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %files complete %changelog +* Sat Jul 18 2020 Timotheus Pokorra - 6.8.0-0 +- Bootstrap build for Mono 6.8 for Epel 7 + * Thu Jul 16 2020 Timotheus Pokorra - 6.6.0-7 - Non-Bootstrap build for Epel 7 diff --git a/sources b/sources index 3c9c4ee..64edd14 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mono-6.6.0.166.tar.xz) = 75a4c4f6c82842d2a42383eac4e7afcb313f3d63b500786ce249c7a89061677e6e042568eb5add700381bb73cd4ca1baff3f2c734598387be81542fa92378a4d +SHA512 (mono-6.8.0.123.tar.xz) = f702d1ee3a7e8b1a028de02fe6f3ab78e1c5171a547c37db7e934c33533984f2847636476407ad46daeb150640136d6bb28c12c9482c1806997df2dfd7a839f1 From f4e0612e809a498cbfc4ef95775ce43517dd23b6 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Sat, 18 Jul 2020 07:43:18 +0200 Subject: [PATCH 30/31] Non-Bootstrap build for Mono 6.8 for Epel 7 --- mono.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mono.spec b/mono.spec index 1f4d2b6..c256c5e 100644 --- a/mono.spec +++ b/mono.spec @@ -2,7 +2,7 @@ # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif -%global bootstrap 1 +%global bootstrap 0 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -23,7 +23,7 @@ %global xamarinrelease 123 Name: mono Version: 6.8.0 -Release: 0%{?dist} +Release: 1%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT @@ -932,6 +932,9 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %files complete %changelog +* Sat Jul 18 2020 Timotheus Pokorra - 6.8.0-1 +- Non-Bootstrap build for Mono 6.8 for Epel 7 + * Sat Jul 18 2020 Timotheus Pokorra - 6.8.0-0 - Bootstrap build for Mono 6.8 for Epel 7 From bc1e95a215592eb691c5c5a0164601200085f738 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Mon, 22 Feb 2021 22:41:37 +0100 Subject: [PATCH 31/31] backport patch: fix early return in Process.Start (#1839410) --- mono-6.12.0-fix-process-start.patch | 42 +++++++++++++++++++++++++++++ mono.spec | 9 ++++++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 mono-6.12.0-fix-process-start.patch diff --git a/mono-6.12.0-fix-process-start.patch b/mono-6.12.0-fix-process-start.patch new file mode 100644 index 0000000..4b9e02c --- /dev/null +++ b/mono-6.12.0-fix-process-start.patch @@ -0,0 +1,42 @@ +From 325577feffad1f87b07d92710c0d37c79c5f50a1 Mon Sep 17 00:00:00 2001 +From: Ryan Lucia +Date: Thu, 4 Feb 2021 08:55:48 -0500 +Subject: [PATCH] Fix early return in Process.Start + +--- + mono/metadata/w32process-unix.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/mono/metadata/w32process-unix.c b/mono/metadata/w32process-unix.c +index 663cc6ff5111..d030101aede6 100644 +--- a/mono/metadata/w32process-unix.c ++++ b/mono/metadata/w32process-unix.c +@@ -2032,6 +2032,9 @@ ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoW32ProcessStar + + static char *handler; + static gunichar2 *handler_utf16; ++#ifndef HOST_DARWIN ++ gboolean finished = FALSE; ++#endif + + if (handler_utf16 == (gunichar2 *)-1) { + ret = FALSE; +@@ -2057,6 +2060,7 @@ ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoW32ProcessStar + if (handler == NULL){ + handler_utf16 = (gunichar2 *) -1; + ret = FALSE; ++ finished = TRUE; + } else { + /* kfmclient needs exec argument */ + char *old = handler; +@@ -2067,9 +2071,8 @@ ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoW32ProcessStar + } + } + MONO_EXIT_GC_SAFE; +- if (ret == FALSE){ ++ if (finished) + goto done; +- } + #endif + handler_utf16 = g_utf8_to_utf16 (handler, -1, NULL, NULL, NULL); + g_free (handler); diff --git a/mono.spec b/mono.spec index c256c5e..dfcdb06 100644 --- a/mono.spec +++ b/mono.spec @@ -23,7 +23,7 @@ %global xamarinrelease 123 Name: mono Version: 6.8.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT @@ -56,6 +56,9 @@ Patch10: 0001-DocumentationEnumerator.cs-Declare-iface-and-ifaceMe.patch Patch11: 0001-Replace-new-Csharp-features-with-old-ones.patch # Reenable mdoc build. To be upstreamed after Patch 10 and 11 Patch12: 0001-Reenable-mdoc.exe-build.patch +# fix issue with process start (#1839410) +Patch14: mono-6.12.0-fix-process-start.patch + BuildRequires: bison BuildRequires: python%{python3_pkgversion} @@ -348,6 +351,7 @@ pushd external/api-doc-tools %patch11 -p1 popd %patch12 -p1 +%patch14 -p1 # don't build mono-helix-client which requires the helix-binaries to build sed -i 's|mono-helix-client||g' mcs/tools/Makefile @@ -932,6 +936,9 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %files complete %changelog +* Mon Feb 22 2021 Timotheus Pokorra - 6.8.0-2 +- backport patch: fix early return in Process.Start (#1839410) + * Sat Jul 18 2020 Timotheus Pokorra - 6.8.0-1 - Non-Bootstrap build for Mono 6.8 for Epel 7