Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006276opensim[REGION] OpenSim Corepublic2012-09-06 07:242012-11-13 19:28
ReporterSignpostMarv 
Assigned To 
PriorityhighSeverityblockReproducibilityalways
Statuspatch includedResolutionopen 
PlatformOSOS Version
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0006276: Region modules cannot specify a version of OpenSim that they require.
DescriptionBecause the OpenSim version in the mono addins file hasn't been updated since 2008, region modules cannot specify a required version of OpenSim.

Attached patch fixes the issue, highlighting two additional areas that need to be updated for version numbers (only one of which is required for addins)
TagsNo tags attached.
Git Revision or version number
Run ModeStandalone (1 Region) , Standalone (Multiple Regions) , Grid (1 Region per Sim) , Grid (Multiple Regions per Sim)
Physics EngineBasicPhysics
Script Engine
Environment.NET / Windows32, .NET / Windows64
Mono VersionNone
Viewer
Attached Filespatch file icon OpenSim.Addin-version-fix.patch [^] (1,578 bytes) 2012-09-06 07:24 [Show Content]
patch file icon OpenSim.Addin-version-fix-master.patch [^] (4,682 bytes) 2012-09-07 08:00 [Show Content]
patch file icon OpenSim.Addin-version-fix-0.7.4.1.patch [^] (4,684 bytes) 2012-09-07 08:00 [Show Content]
patch file icon assembly-info.patch [^] (6,699 bytes) 2012-11-13 10:50 [Show Content]

- Relationships

-  Notes
(0022529)
SignpostMarv (reporter)
2012-09-07 08:08

Added patches to allow plugins to target both master (current version number in master is 0.7.5) and the latest release 0.7.4.

These new patches include code that will leave debug messages in the console/log to inform users that plugins will not be loaded when incompatible, which is preferable to the "silent" behaviour of the previous patch.

The OpenSim.Addin-version-fix-0.7.4.1.patch uses "0.7.4.1" as the version number as retroactively saying "0.7.4" would require updating the git tags etc. and would just be a pita.

Due to the AddinDependency attribute version property being treated as the minimum version number required, a developer can choose to specify 0.7.4 rather than 0.7.4.1 (since there is no other functional change between 0.7.4 and the hypothetical 0.7.4.1).

As with the previous patch, all existing core and third-party modules will not be affected by the change.
(0023114)
Diva (administrator)
2012-11-13 16:05

I see that there are three different places to put a version number:

1) in prebuild.xml
  <Solution activeConfig="Debug" name="OpenSim" path="./" version="0.5.0-$Rev$">

2) in OpenSim.addin.xml
<Addin id="OpenSim" isroot="true" version="0.5">

3) in AssemblyInfo.cs
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Any idea as to the relation/interference between these 3 version concepts?
(0023115)
Diva (administrator)
2012-11-13 16:12
edited on: 2012-11-13 16:14

hmm, I have a feeling we can get rid of OpenSim.addin.xml too, and add that info in AssemblyVersion.cs for OpenSim.exe

http://www.mono-project.com/Introduction_to_Mono.Addins [^]

(0023116)
Diva (administrator)
2012-11-13 16:33

More info about best practices:
http://stackoverflow.com/questions/3768261/best-practices-guidance-for-maintaining-assembly-version-numbers [^]

The second answer is particularly good; I think it's better than the first.
(0023117)
Diva (administrator)
2012-11-13 16:55

If I understand this correctly, the mono addins version has nothing to do with the .net assembly version.

In our case, the version of the OpenSim addin might change if the interface of any of the extension points (say, IRegionModuleBase) would change. Since this will likely not change in the foreseeable future, the OpenSim addin version should be constant in the foreseeable future. (as it has been)

On the other hand, .NET assemblies are ruthless wrt their public interfaces. We should change the assembly version everytime we change the public interface of a dll. I'm not sure what version number they have currently... In any case, it seems that these numbers are just informative, as the assembly loader of .net seems to perform interface checks anyway.
(0023118)
Diva (administrator)
2012-11-13 17:15

Interesting... I'm using ildasm.exe to look at the assemblies we have, and I see all sorts of assembly version numbers. Here are a few:

OpenSim.Framework.dll: 0:6:5:17793 (no idea where this comes from, looks like a build task was doing something automatically at some point)
OpenSim.Region.ClientStack.dll: 0:0:0:0
OpenSim.Region.Framework.dll: 0:0:0:0
OpenSim.Region.CoreModules.dll: 1:0:0:0 (no doubt because of the AssemblyInfo I added today)
OpenSim.Region.ScriptEngine.XEngine.dll: 0:0:0:0
OpenSim.Services.AssetService.dll: 0:0:0:0
(0023119)
Diva (administrator)
2012-11-13 17:24

omg. search the source tree for AssemblyVersion and everything is explained...
yeah, we need to fix this...
(0023120)
Diva (administrator)
2012-11-13 19:28

Committed new AssemblyVersion numbers for the dlls that had them.
7861090a17960ce359794dc8cee29741bbb6aa14

- Issue History
Date Modified Username Field Change
2012-09-06 07:24 SignpostMarv New Issue
2012-09-06 07:24 SignpostMarv File Added: OpenSim.Addin-version-fix.patch
2012-09-06 07:24 SignpostMarv Status new => patch included
2012-09-07 08:00 SignpostMarv File Added: OpenSim.Addin-version-fix-master.patch
2012-09-07 08:00 SignpostMarv File Added: OpenSim.Addin-version-fix-0.7.4.1.patch
2012-09-07 08:08 SignpostMarv Note Added: 0022529
2012-11-13 10:50 SignpostMarv File Added: assembly-info.patch
2012-11-13 16:05 Diva Note Added: 0023114
2012-11-13 16:12 Diva Note Added: 0023115
2012-11-13 16:14 Diva Note Edited: 0023115 View Revisions
2012-11-13 16:33 Diva Note Added: 0023116
2012-11-13 16:55 Diva Note Added: 0023117
2012-11-13 17:15 Diva Note Added: 0023118
2012-11-13 17:24 Diva Note Added: 0023119
2012-11-13 19:28 Diva Note Added: 0023120


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker