[Zope-CMF] GenericSetup: upgrade step ordering with newer setuptools

Maurits van Rees m.van.rees at zestsoftware.nl
Mon May 11 15:23:00 CEST 2015


Maurits van Rees schreef op 30-03-15 om 11:37:
> yuppie schreef op 26-03-15 om 13:32:
>> Hi Maurits,
>>
>> Maurits van Rees wrote:
>>> 1. In January yuppie did a fix on GenericSetup trunk (r130476), which
>>> deserves a release, as it fixes upgrade step sort order with setuptools
>>> 8 and higher.  Thank you, yuppie!
>>
>> my fix was just a quick and dirty solution relying on legacy code in
>> setuptools.
>>
>>> 2. But I just created a branch (maurits-versions-setuptools) with a
>>> minor fix for that fix, which deserves another pair of eyes.  It avoids
>>> a warning by pkg_resources.
>>
>> Your refactoring looks fine.
>>
>> The code is still a bit hard to read because we convert versions
>> backwards and forwards: UpgradeEntity.__init__ converts '*' to None and
>> other strings to tuples, but we no longer use None or tuples. We convert
>> them back to strings. Is there any third party code that depends on the
>> old format?
>
> There will be upgrade steps that have '*' as source of course.
>
> Looking at the code of a standard Plone 4.3 site plus a few add-ons, the
> GenericSetup normalize_version function is only used in
> Products/CMFPlone/browser/admin.py, which is where I first noticed the
> wrong sort order that we are trying to solve here.  normalize_version is
> used to show the Plone version of the database and the version of the
> software, and it compares them to see if any upgrades need to be done.
> It shows up just fine.  Tests for that part work fine too.
>
> I could rename the functions that I introduce in this change
> (version_matches_all and version_matches) to start with an underscore,
> to indicate that third party code should not rely on it.  It won't stop
> anyone, but seems good to me.  Done on that branch.

Can my branch be merged to trunk?  And could we get a release please?  I 
would appreciate it.

Thanks,


-- 
Maurits van Rees: http://maurits.vanrees.org/
Zest Software: http://zestsoftware.nl



More information about the Zope-CMF mailing list