[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