Hello community,

here is the log from the commit of package banshee for openSUSE:Factory checked 
in at 2013-01-13 14:05:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/banshee (Old)
 and      /work/SRC/openSUSE:Factory/.banshee.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "banshee", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/banshee/banshee.changes  2012-10-07 
18:54:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.banshee.new/banshee.changes     2013-01-13 
14:05:25.000000000 +0100
@@ -1,0 +2,12 @@
+Sat Jan 12 20:39:35 UTC 2013 - [email protected]
+
+- Add banshee-dmcs-before-gmcs.patch: Fix runtime issues with mono
+  3.0. Banshee favore gmcs as mono compiler, which is a mono 2.0
+  profile runtime. This linked in with other components of the
+  distribution linked with gmcs (favoring v4.0 runtime) causes
+  nasty crashes (bnc#798267). The patch changes the priority of
+  the mono compilers and favors dmcs over gmcs (v4.0 over v2.0).
+- Add libtool BuildRequires and call to autogen.sh, as above patch
+  touches the build system.
+
+-------------------------------------------------------------------

New:
----
  banshee-dmcs-before-gmcs.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ banshee.spec ++++++
--- /var/tmp/diff_new_pack.9PlNb3/_old  2013-01-13 14:05:26.000000000 +0100
+++ /var/tmp/diff_new_pack.9PlNb3/_new  2013-01-13 14:05:26.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package banshee
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -26,9 +26,13 @@
 Source0:        
http://download.gnome.org/sources/banshee/2.6/%{name}-%{version}.tar.xz
 # rpmlintrc: macro-in-comment, no-manual-page-for-binary
 Source99:       %{name}-rpmlintrc
+# PATCH-FIX-UPSTREAM banshee-dmcs-before-gmcs.patch bnc#798267 
[email protected] -- Favor dmcs over gmcs... Fixes issues with mono 3.0. 
Taken from git
+Patch0:         banshee-dmcs-before-gmcs.patch
 BuildRequires:  fdupes
 BuildRequires:  gnome-doc-utils-devel
 BuildRequires:  intltool
+# Needed for patch0
+BuildRequires:  libtool
 # We need the %%mime_database_* macros
 BuildRequires:  shared-mime-info
 BuildRequires:  translation-update-upstream
@@ -260,9 +264,11 @@
 %lang_package -n banshee-core
 %prep
 %setup -q
+%patch0 -p1
 translation-update-upstream po banshee
 
 %build
+NOCONFIGURE=1 ./autogen.sh
 %{?env_options}
 echo 'dist / suse_version / sles_version'
 echo '%distribution ;; %suse_version ;; %sles_version'


++++++ banshee-dmcs-before-gmcs.patch ++++++
>From 3d3f7899465ee46e634b53c236401f612dac1492 Mon Sep 17 00:00:00 2001
From: Andres G. Aragoneses <[email protected]>
Date: Tue, 11 Dec 2012 00:28:51 +0000
Subject: configure: better guess for the C# compiler available

There are some distributions that bundle only a limited set of class
libraries to be able to meet size requirements better. Such is the case
of Ubuntu, which normally ships with only the subset compiled for the
4.0 version of the runtime.

In this case, the user may install the default Mono SDK packages when
asked by the configure script, which only includes the 4.0 compiler by
default (dmcs). At that point, banshee can already be compiled, but
the configure script would insist in requiring a 2.0 compiler. If the
user installs it, compiles Banshee and launches the "run" target, she
may get a runtime exception because of a runtime version mismatch, like
in bgo#675113.

This problem is commonly known, and there is a clear workaround for it:
http://orangesquash.org.uk/~laney/blog/posts/2011/10/mono-gotcha/
However it poses a small barrier of entry for new developers that try
to compile and run banshee from sources for the first time.

Now the configure script is smarter and tries to guess harder if there
is a C# compiler, even one that targets a higher version of the runtime
than the one that is required to compile banshee.

This possibility is only enabled in case the Mono version found is 2.8
or higher, because Mono 2.6.1 included the 4.0 profile only as a
"preview" [1] and might not be stable enough.

[1] http://www.mono-project.com/Release_Notes_Mono_2.6.4#C.23_Language
---
diff --git a/build/m4/shamrock/mono.m4 b/build/m4/shamrock/mono.m4
index c40ecbf..309e163 100644
--- a/build/m4/shamrock/mono.m4
+++ b/build/m4/shamrock/mono.m4
@@ -8,6 +8,20 @@ AC_DEFUN([SHAMROCK_FIND_MONO_2_0_COMPILER],
        SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, gmcs)
 ])
 
+AC_DEFUN([SHAMROCK_FIND_MONO_2_0_COMPILER_OR_HIGHER],
+[
+       SHAMROCK_FIND_PROGRAM(MCS, gmcs)
+       if test "x$MCS" = "x" ; then
+               if pkg-config --atleast-version=2.8 mono; then
+                       SHAMROCK_FIND_PROGRAM(MCS, dmcs)
+               fi
+       fi
+
+       if test "x$MCS" = "x" ; then
+               AC_MSG_ERROR([You need to install 'gmcs'])
+       fi
+])
+
 AC_DEFUN([SHAMROCK_FIND_MONO_4_0_COMPILER],
 [
        SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, dmcs)
diff --git a/configure.ac b/configure.ac
index 50f2c4f..7ea5157 100644
--- a/configure.ac
+++ b/configure.ac
@@ -67,7 +67,7 @@ SHAMROCK_CHECK_GNOME_DOC_UTILS(0.17.3)
 
 dnl Mono and gmcs
 SHAMROCK_CHECK_MONO_MODULE(2.4.3)
-SHAMROCK_FIND_MONO_2_0_COMPILER
+SHAMROCK_FIND_MONO_2_0_COMPILER_OR_HIGHER
 SHAMROCK_FIND_MONO_RUNTIME
 SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES([Mono.Cairo Mono.Posix 
ICSharpCode.SharpZipLib])
 
--
cgit v0.9.0.2


>From dbc3f6acc380fda5b37dc12629df3336e6703027 Mon Sep 17 00:00:00 2001
From: "Andres G. Aragoneses" <[email protected]>
Date: Sat, 12 Jan 2013 19:42:39 +0000
Subject: [PATCH] build: test dmcs before gmcs when trying to find the
 compiler (bnc#798267)

In the previous improvement that had been done [1] in this mono.m4 macro
to find the 4.0 profile compiler in case it's mature enough (mono 2.8),
the scenario in which both compilers could be installed was not considered.

Now in this case, a higher version of the compiler (dmcs) will be used.

[1] 
http://git.gnome.org/browse/banshee/commit/?id=3d3f7899465ee46e634b53c236401f612dac1492
---
 build/m4/shamrock/mono.m4 |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/build/m4/shamrock/mono.m4 b/build/m4/shamrock/mono.m4
index 309e163..1338a39 100644
--- a/build/m4/shamrock/mono.m4
+++ b/build/m4/shamrock/mono.m4
@@ -10,11 +10,11 @@ AC_DEFUN([SHAMROCK_FIND_MONO_2_0_COMPILER],
 
 AC_DEFUN([SHAMROCK_FIND_MONO_2_0_COMPILER_OR_HIGHER],
 [
-       SHAMROCK_FIND_PROGRAM(MCS, gmcs)
+       if pkg-config --atleast-version=2.8 mono; then
+               SHAMROCK_FIND_PROGRAM(MCS, dmcs)
+       fi
        if test "x$MCS" = "x" ; then
-               if pkg-config --atleast-version=2.8 mono; then
-                       SHAMROCK_FIND_PROGRAM(MCS, dmcs)
-               fi
+               SHAMROCK_FIND_PROGRAM(MCS, gmcs)
        fi
 
        if test "x$MCS" = "x" ; then
-- 
1.7.10.4


-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to