Hello community, here is the log from the commit of package newtonsoft-json for openSUSE:Factory checked in at 2017-05-16 14:44:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/newtonsoft-json (Old) and /work/SRC/openSUSE:Factory/.newtonsoft-json.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "newtonsoft-json" Tue May 16 14:44:49 2017 rev:2 rq:494738 version:7.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/newtonsoft-json/newtonsoft-json.changes 2015-12-24 12:16:11.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.newtonsoft-json.new/newtonsoft-json.changes 2017-05-16 14:46:01.975729549 +0200 @@ -1,0 +2,9 @@ +Tue May 2 00:00:00 UTC 2017 - fwdsbs.to.1...@xoxy.net + +- change pkgconfig-file generation logic - protect it from being broken by OBS source_validators +- added csc-delay-sign.patch: use delay-sign flag when using roslyn "csc" compiler + * patch applied only when csc compiler detected +- added support for compiling project with roslyn "csc" compiler (that will replace mcs in mono 5.0): + * manually sign affected assemlies before adding it to GAC + +------------------------------------------------------------------- @@ -5 +13,0 @@ - New: ---- csc-delay-sign.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ newtonsoft-json.spec ++++++ --- /var/tmp/diff_new_pack.j45jrq/_old 2017-05-16 14:46:02.591643006 +0200 +++ /var/tmp/diff_new_pack.j45jrq/_new 2017-05-16 14:46:02.595642443 +0200 @@ -1,7 +1,7 @@ # # spec file for package newtonsoft-json # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,6 +15,7 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + %global libname Newtonsoft.Json %bcond_with tests @@ -23,17 +24,16 @@ Version: 7.0.1 Release: 0 Summary: Popular high-performance JSON framework - -# almost all files are licensed as MIT/X11, but BSD for LinqBridge.cs -# (and LGPLv2.1+ for Tools/7-Zip, not used) License: MIT and BSD-3-Clause -URL: http://www.newtonsoft.com/json +Group: Development/Libraries/Other +Url: http://www.newtonsoft.com/json Source: https://github.com/JamesNK/%{libname}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz # PATCH-MISSING-TAG Patch0: %{name}-sign.patch # PATCH-MISSING-TAG Patch1: %{name}-tests-skip-samples.patch - +# PATCH-FIX-OPENSUSE +Patch2: csc-delay-sign.patch BuildArch: noarch BuildRequires: mono-devel %if %{with tests} @@ -52,13 +52,12 @@ %description devel %{libname} aka Json.NET is a popular high-performance JSON framework - %prep %setup -qn%{libname}-%{version} # sign the assembly to get a strong name, https://msdn.microsoft.com/en-us/library/xc31ft41.aspx %patch0 -sn -k myKey.snk +sn -k myKey.snk # this make no sense, package is signed with Dynamic.snk keyfile sed -i /InternalsVisibleTo/d Src/%{libname}/Properties/AssemblyInfo.cs %if %{with tests} @@ -75,26 +74,34 @@ sed -i /Utilities.StringUtilsTests.cs/d Src/%{libname}.Tests/%{libname}.Tests.csproj %endif +if [[ ! -z `2>/dev/null csc /version` ]]; then +%patch2 -p1 +fi %build pushd Src/%{libname} xbuild %{libname}.csproj +#manually sign delay-signed assemblies +find "bin" \( -name "*.dll" -o -name "*.exe" \) -print0 | while IFS= read -r -d $'\0' target; do + sn -v "$target" || if [[ $? = 1 ]]; then + echo "manually signing assembly: $target" + sn -R "$target" Dynamic.snk + fi +done %install mkdir -p %{buildroot}/%{_prefix}/lib/mono/gac/ gacutil -i Src/%{libname}/bin/Debug/Net45/%{libname}.dll -f -package %{name} -root %{buildroot}/%{_prefix}/lib # pkgconfig mkdir -p %{buildroot}/%{_datadir}/pkgconfig -cat <<EOT >>%{buildroot}/%{_datadir}/pkgconfig/%{name}.pc -Name: %{libname} -Description: %{summary} -Version: %{version} -Requires: -Libs: -r:%{_monodir}/%{name}/%{libname}.dll -Libraries=%{_monodir}/%{name}/%{libname}.dll -EOT +echo "Name: %{libname}" > %{buildroot}/%{_datadir}/pkgconfig/%{name}.pc +echo "Description: %{summary}" >> %{buildroot}/%{_datadir}/pkgconfig/%{name}.pc +echo "Version: %{version}" >> %{buildroot}/%{_datadir}/pkgconfig/%{name}.pc +echo "Requires:" >> %{buildroot}/%{_datadir}/pkgconfig/%{name}.pc +echo "Libs: -r:%{_monodir}/%{name}/%{libname}.dll" >> %{buildroot}/%{_datadir}/pkgconfig/%{name}.pc +echo "Libraries=%{_monodir}/%{name}/%{libname}.dll" >> %{buildroot}/%{_datadir}/pkgconfig/%{name}.pc %check %if %{with tests} @@ -105,7 +112,6 @@ #rm -r obj bin %endif - %files %defattr(-,root,root,-) %doc *.md Doc/readme.txt Doc/license.txt @@ -116,5 +122,4 @@ %defattr(-,root,root,-) %{_datadir}/pkgconfig/%{name}.pc - %changelog ++++++ csc-delay-sign.patch ++++++ diff -uprN Newtonsoft.Json-7.0.1.old/Src/Newtonsoft.Json/Newtonsoft.Json.csproj Newtonsoft.Json-7.0.1/Src/Newtonsoft.Json/Newtonsoft.Json.csproj --- Newtonsoft.Json-7.0.1.old/Src/Newtonsoft.Json/Newtonsoft.Json.csproj 2015-06-22 13:48:49.000000000 +0300 +++ Newtonsoft.Json-7.0.1/Src/Newtonsoft.Json/Newtonsoft.Json.csproj 2017-05-02 20:44:13.741378419 +0300 @@ -9,6 +9,7 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>Newtonsoft.Json</RootNamespace> <AssemblyName>Newtonsoft.Json</AssemblyName> + <DelaySign>true</DelaySign> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> </PropertyGroup>