Hello community, here is the log from the commit of package mono-core for openSUSE:Factory checked in at 2017-08-29 11:34:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mono-core (Old) and /work/SRC/openSUSE:Factory/.mono-core.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mono-core" Tue Aug 29 11:34:59 2017 rev:111 rq:517703 version:5.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/mono-core/mono-core.changes 2017-08-12 20:07:51.806613654 +0200 +++ /work/SRC/openSUSE:Factory/.mono-core.new/mono-core.changes 2017-08-29 11:35:08.771755630 +0200 @@ -1,0 +2,92 @@ +Fri Aug 18 12:00:00 UTC 2017 - [email protected] + +- Update to version 5.2.0.215 (5.2.0 Stable) +- New features and changes: + * Strong assembly names: mono will now optionally respect public keys and version numbers when loading strongly signed assemblies + * Added experimental default interface methods support + * System.Numerics.Vectors: the library is now considered ready for general usage + * .NET Standard 2.0 support: loading and running a library compiled against the 2.0 standard should work fine now + * The reference assemblies were updated to provide the .NET 4.7 API set + * The mono command now runs as a 64bit application by default. You can use the --arch=32 option to run Mono as 32bit again + * Optimized Array Stores + * Class Initialization Improvements + * GC: reduced minor collection pause times + * Interpreter now passes the majority of the JIT test suite, it can now run non-trivial programs +- Added upstream patch provides-facades.patch: + * Search provides (for RPM-packaging) not only for GAC dir, but also for "Facades" and "4.5" mono-libdirs +- Added upstream patch 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch: + * Disable BUILD_SHARED_LIBS while building boringssl, so its symbols are not exported from the btls shared lib +- Added upstream patch fix-project-builds-linux.patch: + * Fix finding nuget packages in lower-case dirs on case-sensitive filesystems +- Added patch fix-dbg-headers.patch: + * Add missing internal headers to distribution in order to fix build for mono-debugger package +- Bugfixes: + * bxc#580 - Type.Load loads strong type despite version mismatch + * bxc#39444 - Action ReflectedType differs from Delegate ReflectedType for virutal methods + * bxc#43805 - Output of DateTime.Now() differs on Mono for ambiguous time period + * bxc#43988 - Stack overflow in System.Text.Encoding.Default + * bxc#46661 - Runtime exception filters truncate exception stack traces on NSLog + * bxc#46929 - Datetime error on Mono.data.Sqlite + * bxc#47221 - Thread.Name can only be set once inside async callback + * bxc#47599 - HttpClient Transfer-Encoding:chunked is not added to the header - not able to transfer large files + * bxc#49721 - Assembly binder uses wrong strongly named assembly when same assembly with different version exists in local folder + * bxc#50529 - crash in thread-native-exit.exe + * bxc#51522 - Overload resolution fails for referenced assembly + * bxc#51561 - Getting process name of process running under higher privilege user throws exception + * bxc#51653 - mono_thread_info_wait_one_handle ignored alertable argument + * bxc#52086 - Nullable structs with implicit operators generate invalid IL code when compiling with Mono + * bxc#52294 - C# compiler reports an incorrect error in a lambda with generic constraints + * bxc#52340 - Compiler crashes with FATAL UNHANDLED EXCEPTION (nullref) + * bxc#52345 - Process has exited, so the requested information is not available + * bxc#52429 - Shutdown hang then crash in Finalizer thread + * bxc#52437 - Random NullReferenceExceptions in StringBuilder.ThreadSafeCopy + * bxc#52448 - StreamContent apparently needs to rewind stream before sending it + * bxc#52475 - MTOUCH: error MT3001: Could not AOT the assembly + * bxc#52511 - configure script doen’t detect bad configuration + * bxc#52549 - error: mono_w32socket_convert_error: no translation into winsock error for (41) "Protocol wrong type for socket" + * bxc#52590 - Cannot compile for iOS, TypeBuilder exists in two places. + * bxc#52599 - await in finally clause prevents disposal of enclosing using statement + * bxc#52600 - Full AOT: Strange combination of structs, generics, and enums causes runtime failure + * bxc#52743 - denied loading problems + * bxc#52845 - [Cycle 9] Satellite assemblies not bundled when using "Bundle assemblies into native code" due to "unknown escape sequence" error from gcc during mkbundle step + * bxc#52866 - F# sprintf AOT bug still exists + * bxc#52899 - mprof-report missing filenames in coverage xml output when using portable pdbs + * bxc#53066 - Can’t Build Project in Debug with "Could not AOT the assembly" + * bxc#53131 - Calling MakeArray() on a type with a rank that is too big does not throw an exception. + * bxc#53153 - Implement RuntimeHelpers::IsReferenceOrContainsReferences + * bxc#53166 - Application crashes when setting a get-only property in constructor + * bxc#53196 - List<>.Sort() using insertion sort does not sort all values when equality isn’t checked. + * bxc#53202 - Number minus Enum gives wrong value + * bxc#53231 - csc doesn’t unify same file passed multiple times when one path is relative + * bxc#53278 - Two coreclr SIMD test failures (one regression from 4.8) + * bxc#53334 - es-US Culture wrong number formatting + * bxc#53684 - Crash when enumerating directory and selecting the first file + * bxc#53689 - [Test] Certificate7 disabled due to SecCertificateCreateWithData does different things on 10.11 vs 10.12 with invalid certificates + * bxc#53792 - CFNetworkHandler reports correct download when internet connection is lost during request + * bxc#53843 - Mono deadlocks on shutdown while waiting for a process which has died + * bxc#53890 - Regression: Native crash while running tests with xunit with mono 2017-02 branch, works with 4.8.0.520 + * bxc#54212 - Mono allows casts of non-zero bound array to zero bound array + * bxc#54322 - await in catch-block inside a loop causes the same exception to be caught multiple times + * bxc#54448 - Unable to revert to thread-local storage for CurrentThread.CultureInfo + * bxc#54485 - Creating an open generic type with recurrent constraint fails + * bxc#54991 - Cannot compile get => _text + * bxc#55041 - Stripping mscorlib in simple example changes IntPtr (5) behavior? + * bxc#55083 - coreclr test b353858.il fails after 6f33b62f39a273fccb78f71513cb5e0dfb987c70 + * bxc#55436 - System.Runtime refuses to load with strict naming + * bxc#55577 - SIMD instructions with System.Numerics.Vectors do not work + * bxc#55603 - Follow-up to bug 52845: Satellite assemblies not loaded by app when using "Bundle assemblies into native code" even though they are now successfully mkbundled + * bxc#55681 - System.Reflection.Emit.ModuleBuilder.build_metadata bug when running FAKE’s test suite + * bxc#56081 - Returning a valuetype from an async method with an awaited parameter yields a Mono.CSharp.InternalErrorException: Await yields with non-empty stack + * bxc#56240 - Performance Degradation When Using Expressions + * bxc#56247 - Enumerable.OrderByDescending behaves differently on LLVM FullAOT + * bxc#56275 - Unable to copy appname.dll from obj to bin because it is being used by another process + * bxc#56493 - Windows MMAP doesn’t release file + * bxc#56567 - Passing large struct into exception filter method crashes runtime with SIGSEGV + * bxc#56611 - Regression: ArrayTypeMismatchException when running F# script + * bxc#56694 - Assertion: should not be reached at d:\j\workspace\v\repos\mono\mono\sgen\sgen-scan-object.h:91 + * bxc#56821 - Static ctor of MarshalByRefObject runs in primary AppDomain + * bxc#56824 - Runtime crash with VSMEF + * bxc#57222 - System.Reflection.AmbiguousMatchException for two fields with same name but different types + * bxc#57744 - ReflectionTypeLoadException.LoaderExceptions has null exceptions + +------------------------------------------------------------------- @@ -3075,2 +3166,0 @@ - - Old: ---- mono-5.0.1.1.tar.bz2 New: ---- 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch fix-dbg-headers.patch fix-project-builds-linux.patch mono-5.2.0.215.tar.bz2 provides-facades.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mono-core.spec ++++++ --- /var/tmp/diff_new_pack.Gk5ER6/_old 2017-08-29 11:35:16.462675020 +0200 +++ /var/tmp/diff_new_pack.Gk5ER6/_new 2017-08-29 11:35:16.466674458 +0200 @@ -38,10 +38,10 @@ %define roslyn no %endif -%define version_suffix 1 +%define version_suffix 215 Name: mono-core -Version: 5.0.1 +Version: 5.2.0 Release: 0 Summary: Cross-platform, Open Source, .NET development framework License: LGPL-2.1 and MIT and MS-PL @@ -54,10 +54,18 @@ ExcludeArch: ppc # PATCH-FIX-UPSTREAM use ucontext_t instead of struct ucontext Patch1: ucontext.patch +# PATCH-FIX-UPSTREAM search provides (for RPM-packaging) not only for GAC dir, but also for "Facades" and "4.5" mono-libdirs +Patch2: provides-facades.patch +# PATCH-FIX-UPSTREAM disable BUILD_SHARED_LIBS while building boringssl, so its symbols are not exported from the btls shared lib (https://github.com/mono/mono/commit/e6e0fb82261340f9181d1b2b11a9706a16c5dbc7) +Patch3: 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch +# PATCH-FIX-UPSTREAM fix finding nuget packages in lower-case dirs on case-sensitive filesystems (https://github.com/mono/NuGet.BuildTasks/commit/112685a925e5c0d26fcf9c9006341d4fa4f66515) +Patch4: fix-project-builds-linux.patch # PATCH-FIX-OPENSUSE remove checks for libmono in mono-find-provides and mono-find-requires scripts Patch14: find-deps-fix.patch # PATCH-FIX-OPENSUSE revert Microsoft.Build.Tasks library to use old mcs compiler. This will make xbuild to use old mcs instead of csc - patch is used when roslyn is unavailable for current platform (big-endian systems). Patch15: xbuild-revert-to-mcs.patch +# PATCH-FIX-OPENSUSE add missing internal headers to distribution, this is necessary for mono-debugger package. (Seems this bug is caused by this upstream commit: https://github.com/mono/mono/commit/e71a7f33ef30a5bbd0047b37a95533d06c860846) +Patch16: fix-dbg-headers.patch BuildRequires: cmake BuildRequires: autoconf BuildRequires: automake @@ -195,7 +203,11 @@ %prep %setup -q -n mono-%{version}.%{version_suffix} %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 %patch14 -p1 +%patch16 -p1 %if %roslyn == no %patch15 -p1 %endif @@ -435,7 +447,6 @@ %{_prefix}/lib/mono/4.5/System.Numerics.dll %{_prefix}/lib/mono/4.5/System.Numerics.Vectors.dll %{_prefix}/lib/mono/4.5/System.Reflection.Context.dll -%{_prefix}/lib/mono/4.5/System.Runtime.InteropServices.RuntimeInformation.dll %{_prefix}/lib/mono/4.5/System.Security.dll %{_prefix}/lib/mono/4.5/System.Threading.Tasks.Dataflow.dll %{_prefix}/lib/mono/4.5/System.Windows.dll @@ -450,6 +461,7 @@ %{_prefix}/lib/mono/4.5/mscorlib.dll* %{_prefix}/lib/mono/4.5/Facades/System* %{_prefix}/lib/mono/4.5/Facades/Microsoft* +%{_prefix}/lib/mono/4.5/Facades/netstandard* %{_prefix}/lib/mono/gac/Commons.Xml.Relaxng %{_prefix}/lib/mono/gac/CustomMarshalers %{_prefix}/lib/mono/gac/I18N @@ -480,7 +492,6 @@ %{_prefix}/lib/mono/gac/System.Numerics %{_prefix}/lib/mono/gac/System.Numerics.Vectors %{_prefix}/lib/mono/gac/System.Reflection.Context -%{_prefix}/lib/mono/gac/System.Runtime.InteropServices.RuntimeInformation %{_prefix}/lib/mono/gac/System.Security %{_prefix}/lib/mono/gac/System.Threading.Tasks.Dataflow %{_prefix}/lib/mono/gac/System.Windows @@ -1352,6 +1363,7 @@ %{_mandir}/man1/xbuild.1%ext_man %{_prefix}/lib/mono-source-libs %{_prefix}/lib/mono/4.0 +%{_prefix}/lib/mono/4.7-api %{_prefix}/lib/mono/4.6.2-api %{_prefix}/lib/mono/4.6.1-api %{_prefix}/lib/mono/4.6-api ++++++ 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch ++++++ >From e6e0fb82261340f9181d1b2b11a9706a16c5dbc7 Mon Sep 17 00:00:00 2001 From: Zoltan Varga <[email protected]> Date: Fri, 4 Aug 2017 11:39:28 -0400 Subject: [PATCH] [btls] Disable BUILD_SHARED_LIBS while building boringssl, so its symbols are not exported from the btls shared lib. (#5307) --- mono/btls/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mono/btls/CMakeLists.txt b/mono/btls/CMakeLists.txt index 9f2365d3e50..d33038d75cf 100644 --- a/mono/btls/CMakeLists.txt +++ b/mono/btls/CMakeLists.txt @@ -31,7 +31,10 @@ set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${BTLS_CFLAGS}") set (CMAKE_MACOSX_RPATH 1) set (MONO_BTLS 1) +set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}") +set(BUILD_SHARED_LIBS OFF) add_subdirectory (${BTLS_ROOT} boringssl) +set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}") include_directories ( ${SRC_DIR} -- 2.11.0 ++++++ fix-dbg-headers.patch ++++++ diff -uprN mono-5.2.0.215.old/Makefile.am mono-5.2.0.215/Makefile.am --- mono-5.2.0.215.old/Makefile.am 2017-08-02 16:16:38.000000000 +0300 +++ mono-5.2.0.215/Makefile.am 2017-08-19 00:46:37.755592739 +0300 @@ -168,3 +168,6 @@ update-solution-files: make update-csproj make package-inputs (cd msvc/scripts; make genproj.exe; mono genproj.exe) + +confighfixdir = $(includedir)/mono-2.0 +dist_confighfix_DATA = config.h diff -uprN mono-5.2.0.215.old/mono/metadata/Makefile.am mono-5.2.0.215/mono/metadata/Makefile.am --- mono-5.2.0.215.old/mono/metadata/Makefile.am 2017-08-02 16:16:42.000000000 +0300 +++ mono-5.2.0.215/mono/metadata/Makefile.am 2017-08-18 23:43:51.210384739 +0300 @@ -331,6 +331,7 @@ libmonoruntimeinclude_HEADERS = \ appdomain.h \ blob.h \ class.h \ + debug-internals.h \ debug-helpers.h \ debug-mono-symfile.h \ threads.h \ diff -uprN mono-5.2.0.215.old/mono/utils/Makefile.am mono-5.2.0.215/mono/utils/Makefile.am --- mono-5.2.0.215.old/mono/utils/Makefile.am 2017-08-02 16:16:42.000000000 +0300 +++ mono-5.2.0.215/mono/utils/Makefile.am 2017-08-18 23:43:51.210384739 +0300 @@ -262,6 +262,7 @@ libmonoutilsinclude_HEADERS = \ mono-error.h \ mono-publib.h \ mono-dl-fallback.h \ + mono-compiler.h \ mono-counters.h EXTRA_DIST = mono-embed.h mono-embed.c ++++++ fix-project-builds-linux.patch ++++++ diff --git a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs index 26f04c1..703a648 100644 --- a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs +++ b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs @@ -34,6 +34,7 @@ public NuGetPackageObject(string id, string version, Func<string> fullPackagePat public string Id { get; } public string Version { get; } + public string RelativePackagePath => (string)LibraryObject["path"]; /// <summary> /// The JSON object from the "targets" section in the project.lock.json for this package. diff --git a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs index 8acffe3..a074997 100644 --- a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs +++ b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs @@ -369,7 +369,7 @@ private void GetAnalyzers(JObject lockFile) if (Path.GetExtension(file).Equals(".dll", StringComparison.OrdinalIgnoreCase)) { string path; - if (TryGetFile(package.Id, package.Version, file, out path)) + if (TryGetFile(package.Id, package.Version, package.RelativePackagePath, file, out path)) { var analyzer = new TaskItem(path); @@ -441,16 +441,16 @@ private void SetWinMDMetadata(IEnumerable<ITaskItem> runtimeWinMDs, ICollection< } } - private bool TryGetFile(string packageName, string packageVersion, string file, out string path) + private bool TryGetFile(string packageName, string packageVersion, string packageRelativePath, string file, out string path) { if (IsFileValid(file, "C#", "VB")) { - path = GetPath(packageName, packageVersion, file); + path = GetPath(packageName, packageVersion, packageRelativePath, file); return true; } else if (IsFileValid(file, "VB", "C#")) { - path = GetPath(packageName, packageVersion, file); + path = GetPath(packageName, packageVersion, packageRelativePath, file); return true; } @@ -469,9 +469,9 @@ private bool IsFileValid(string file, string expectedLanguage, string unExpected !file.Split('/').Any(x => x.Equals(unExpectedLanguage, StringComparison.OrdinalIgnoreCase))); } - private string GetPath(string packageName, string packageVersion, string file) + private string GetPath(string packageId, string packageVersion, string packageRelativePath, string file) { - return Path.Combine(GetNuGetPackagePath(packageName, packageVersion), file.Replace('/', Path.DirectorySeparatorChar)); + return Path.Combine(GetNuGetPackagePath(packageId, packageVersion, packageRelativePath), file.Replace('/', Path.DirectorySeparatorChar)); } /// <summary> @@ -932,17 +932,23 @@ private void AddReferencedPackages(JArray packageDependencies, SortedSet<string> } } - private string GetNuGetPackagePath(string packageId, string packageVersion) + private string GetNuGetPackagePath(string packageId, string packageVersion, string packageRelativePath) { + string relativePathToUse = String.IsNullOrEmpty(packageRelativePath) + ? Path.Combine(packageId, packageVersion) + : packageRelativePath.Replace('/', Path.DirectorySeparatorChar); + + string hashFileName = $"{packageId.ToLowerInvariant()}.{packageVersion.ToLowerInvariant()}.nupkg.sha512"; + foreach (var packagesFolder in _packageFolders) { - string packagePath = Path.Combine(packagesFolder, packageId, packageVersion); + string packageFullPath = Path.Combine(packagesFolder, relativePathToUse); // The proper way to check if a package is available is to look for the hash file, since that's the last // file written as a part of the restore process. If it's not there, it means something failed part way through. - if (_fileExists(Path.Combine(packagePath, $"{packageId}.{packageVersion}.nupkg.sha512"))) + if (_fileExists(Path.Combine(packageFullPath, hashFileName))) { - return packagePath; + return packageFullPath; } } @@ -972,7 +978,7 @@ private IEnumerable<NuGetPackageObject> GetPackagesFromTarget(JObject lockFile, } else { - fullPackagePathGenerator = () => GetNuGetPackagePath(id, version); + fullPackagePathGenerator = () => GetNuGetPackagePath(id, version, (string)libraryObject["path"]); } yield return new NuGetPackageObject(id, version, fullPackagePathGenerator, (JObject)package.Value, libraryObject); ++++++ mono-5.0.1.1.tar.bz2 -> mono-5.2.0.215.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/mono-core/mono-5.0.1.1.tar.bz2 /work/SRC/openSUSE:Factory/.mono-core.new/mono-5.2.0.215.tar.bz2 differ: char 11, line 1 ++++++ provides-facades.patch ++++++ diff --git a/scripts/mono-find-provides.in b/scripts/mono-find-provides.in index 5b2e206..5d6f34c 100644 --- a/scripts/mono-find-provides.in +++ b/scripts/mono-find-provides.in @@ -16,7 +16,7 @@ monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$")) # 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/")) +monolist=($(printf "%s\n" "${monolist[@]}" | egrep "/(gac|Facades|4\\.5)/")) # Disabled... see ChangeLog # Set the prefix, unless it is overriden (used when building mono rpms)
