[Qgis-developer] Re: GdalTools versions

Borys Jurgiel borysiasty at aster.pl
Sat Jun 5 05:40:35 EDT 2010


> > > However, if I install the experimental GdalTools (v.1.2.3) and
> > > I restart QGis as required, the plugin doesn't replace the one in
> > > trunk.
> > > 
> > > Is it the correct behaviour?
> > > If it is, maintaining the experimental one make no sense!
> > 
> > It should replace it. Otherwise there were no possibility to upgrade
> > plugins.
> > 
> > As you probably know, plugins bundled with qgis are installed in the
> > /usr/share/qgis/python/plugins (or similar), while plugins installed by
> > the installer go to ~/.qgis/python/plugins.
> > 
> > Now, plugins in the home directory *always* cover the ones in /usr (even
> > regardless of the version - if the instance in the home directory is
> > older, qgis only displays a warning message and suggest to uninstall
> > it).
> 
> I guess that the plugin_installer works well. The issue may be in
> python/utils.py in updateAvailablePlugins function:
> there are no tests to check if the local plugin is newer then the system
> one.

You're right. Martin, seems you've changed the behaviour when moving the code 
to utils.py and now the priority of plugins depends only on python paths 
order. 

Can we at least set fixed path order for 1.5?

> I wrote this code on the fly, so I'm not sure it's very good, but it seems
> to
> resolve this problem.
> 
> The installation works as expected: therefore I can replace the GdalTools
> in trunk with the experimental one.
> 
> Uninstalling the plugin the Raster menu is removed (because QGis unload it)
> but restarting QGis I can see again the Raster menu with GdalTools in
> trunk.
> 
> What do you think about?

I'd like to avoid any big changes while we're in the feature freeze, fix it as 
simply as possible and refactor it when the features are unfrozen :-) 

I don't like to introduce version comaprision at this moment, as it can bring 
more troubles than benefits. So any plugin installed in the user directory 
should cover the system one at this time.

Comparing version numbers isn't so easy, as we have no rigid rules for devs 
and you can meet even such comparision: 

"2.3-3beta7a" vs "Version 2.3.03.rc5"

:)

The method I wrote for plugin installer can cope with such cases:

/python/plugins/plugin_installer/version_compare.py

and we probably should move it to core and use when loading qgis.


> Uninstalling the plugin the Raster menu is removed (because QGis unload it)

Good point, the installer should try to load the bundled instance after 
uninstalling a plugin.


More information about the Qgis-developer mailing list