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>

Reply via email to