Bug#771132: morse-simulator is not usable with the current version of blender

Tobias Hansen thansen at debian.org
Fri Dec 19 20:38:26 UTC 2014


Control: tags -1 + patch

Hi,

I applied the two mentioned commits to the Debian package and created
the attached debdiff. I confirmed that with the patches the bug is fixed
by running the sample simulation.

Best,
Tobias

On Wed, 3 Dec 2014 17:59:36 +0100 Arnaud Degroote
<arnaud.degroote at laas.fr> wrote:
> On 01/Dec - 22:56, Pablo Oliveira wrote:
> > 
> > Hi Séverin,
> > 
> > Séverin Lemaignan <severin.lemaignan at epfl.ch> wrote:
> > > For sanity check, can you post the output of `morse --version`?
> > 
> > Sure:
> > 
> > morse 1.2.1
> > 
> > > Thanks for your report. MORSE 1.2.1 is indeed expected to support Blender 2.72.
> > 
> > From my tests, MORSE 1.2.1 does not work out of the box with Blender 2.72. I
> > relaxed the version check at morse:48 and ran into another problem. Apparently,
> > Blender 2.72 has substituded the link_append method by two separate link and append
> > methods (http://blender.stackexchange.com/questions/17876/import-object-without-bpy-ops-wm-link-append).
> > To make morse work on my system I had to patch line 63 of
> > /usr/lib/python3/dist-packages/morse/builder/bpymorse.py with "link_append = bpy.ops.wm.link"
> 
> Can you give a try yo Morse 1.2.2 available at 
> 
> ftp://ftp.openrobots.org/pub/openrobots/morse/morse-1.2.2.tar.bz2
> 
> and confirm that it works properly on sid.
> 
> Best regards, 
> 
> -- 
> Arnaud Degroote
> ISAE DMIA
> 
> 
-------------- next part --------------
diff -Nru morse-simulator-1.2.1/debian/changelog morse-simulator-1.2.1/debian/changelog
--- morse-simulator-1.2.1/debian/changelog	2014-07-14 15:09:04.000000000 +0200
+++ morse-simulator-1.2.1/debian/changelog	2014-12-19 21:20:44.000000000 +0100
@@ -1,3 +1,10 @@
+morse-simulator (1.2.1-1.1) unstable; urgency=medium
+
+  * Team upload.
+  * Allow running with Blender 2.72. (Closes: #771132)
+
+ -- Tobias Hansen <thansen at debian.org>  Fri, 19 Dec 2014 21:18:35 +0100
+
 morse-simulator (1.2.1-1) unstable; urgency=medium
 
   * New upstream release
diff -Nru morse-simulator-1.2.1/debian/patches/bump-max-blender-version.patch morse-simulator-1.2.1/debian/patches/bump-max-blender-version.patch
--- morse-simulator-1.2.1/debian/patches/bump-max-blender-version.patch	1970-01-01 01:00:00.000000000 +0100
+++ morse-simulator-1.2.1/debian/patches/bump-max-blender-version.patch	2014-12-19 21:18:01.000000000 +0100
@@ -0,0 +1,24 @@
+From 35c9b53d03b5df6c1c66e0d3265235092774c225 Mon Sep 17 00:00:00 2001
+From: Pierrick Koch <pierrick.koch at gmail.com>
+Date: Wed, 24 Sep 2014 14:07:53 +0200
+Subject: [PATCH] [bin] bump blender max version
+
+tested with:
+http://download.blender.org/release/Blender2.72/blender-2.72-RC1-linux-glibc211-x86_64.tar.bz2
+---
+ bin/morse.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/morse.in b/bin/morse.in
+index 022ece5..b28e01b 100755
+--- a/bin/morse.in
++++ b/bin/morse.in
+@@ -44,7 +44,7 @@ except ImportError as exn:
+ #Blender version must be egal or bigger than...
+ MIN_BLENDER_VERSION = "2.62"
+ #Blender version must be smaller than...
+-STRICT_MAX_BLENDER_VERSION = "2.72"
++STRICT_MAX_BLENDER_VERSION = "2.73"
+ 
+ #Unix-style path to the MORSE default scene and templates, within the prefix
+ DEFAULT_SCENE_PATH = "share/morse/data/morse_default.blend"
diff -Nru morse-simulator-1.2.1/debian/patches/drop-link_append.patch morse-simulator-1.2.1/debian/patches/drop-link_append.patch
--- morse-simulator-1.2.1/debian/patches/drop-link_append.patch	1970-01-01 01:00:00.000000000 +0100
+++ morse-simulator-1.2.1/debian/patches/drop-link_append.patch	2014-12-19 21:18:25.000000000 +0100
@@ -0,0 +1,64 @@
+From db937ea839121cd44762342c6833d4e8610a1911 Mon Sep 17 00:00:00 2001
+From: Pierrick Koch <pierrick.koch at gmail.com>
+Date: Mon, 15 Sep 2014 10:11:38 +0200
+Subject: [PATCH] [builder] link_append dropped in 2.71.6
+
+---
+ src/morse/builder/abstractcomponent.py | 12 ++++++++----
+ src/morse/builder/bpymorse.py          |  8 +++++++-
+ 2 files changed, 15 insertions(+), 5 deletions(-)
+
+--- a/src/morse/builder/abstractcomponent.py
++++ b/src/morse/builder/abstractcomponent.py
+@@ -633,19 +633,23 @@
+                              "or default path, typically $PREFIX/share/morse/data)."% (component, looked_dirs))
+                 raise FileNotFoundError("%s '%s' not found"%(self.__class__.__name__, component))
+ 
+-        if not objects: # link_append all objects from blend file
++        if not objects: # append all objects from blend file
+             objects = bpymorse.get_objects_in_blend(filepath)
+ 
+         if prefix: # filter (used by PassiveObject)
+             objects = [obj for obj in objects if obj.startswith(prefix)]
+ 
+-        # Format the objects list for link_append
++        # Format the objects list to append
+         objlist = [{'name':obj} for obj in objects]
+ 
+         bpymorse.deselect_all()
+         # Append the objects to the scene, and (auto)select them
+-        bpymorse.link_append(directory=filepath + '/Object/', link=False,
+-                             autoselect=True, files=objlist)
++        if bpymorse.version() >= (2, 71, 6):
++            bpymorse.append(directory=filepath + '/Object/',
++                            autoselect=True, files=objlist)
++        else:
++            bpymorse.link_append(directory=filepath + '/Object/', link=False,
++                                 autoselect=True, files=objlist)
+ 
+         return bpymorse.get_selected_objects()
+ 
+--- a/src/morse/builder/bpymorse.py
++++ b/src/morse/builder/bpymorse.py
+@@ -32,6 +32,8 @@
+ add_controller = empty_method
+ add_actuator = empty_method
+ link_append = empty_method
++link = empty_method # 2.71.6
++append = empty_method # 2.71.6
+ collada_import = empty_method
+ add_object = empty_method
+ add_empty = empty_method
+@@ -60,7 +62,11 @@
+     add_sensor = bpy.ops.logic.sensor_add
+     add_controller = bpy.ops.logic.controller_add
+     add_actuator = bpy.ops.logic.actuator_add
+-    link_append = bpy.ops.wm.link_append
++    if bpy.app.version >= (2, 71, 6):
++        link = bpy.ops.wm.link
++        append = bpy.ops.wm.append
++    else: # link_append dropped in 2.71.6
++        link_append = bpy.ops.wm.link_append
+     collada_import = bpy.ops.wm.collada_import
+     add_object = bpy.ops.object.add
+     if bpy.app.version >= (2, 65, 0):
diff -Nru morse-simulator-1.2.1/debian/patches/series morse-simulator-1.2.1/debian/patches/series
--- morse-simulator-1.2.1/debian/patches/series	2014-07-14 15:09:04.000000000 +0200
+++ morse-simulator-1.2.1/debian/patches/series	2014-12-19 21:18:01.000000000 +0100
@@ -1 +1,3 @@
 
+drop-link_append.patch
+bump-max-blender-version.patch


More information about the debian-science-maintainers mailing list