Stop standalone addons magic

Bug #1214832 reported by Georges Racinet
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenERP buildout recipe
New
Undecided
Unassigned

Bug Description

A "standalone" addon is an addon versionned as a single VCS repository.
Because OpenERP's configuration allows to register directories containing addons, the recipe currently detects that situation and creates an intermediate directory with the same name.

In practice, this has been a bad idea

- there is lots of spaggheti code to make this work, that needs to be maintained. The latest occurrence of that has been the need to adapt the detection logic for OpenERP 5

- it creates situations in which a change of structure in upstream makes the buildout impossible to upgrade. This is a very bad thing for automated deployments and for distributed continuous integration (buildbot). An operator would have to go to all impacted systems to clean then up if a standalone addon repo becomes a repo containing addons (seen recently with web_dynatree)

- it is plain ridiculous in case there are lots of standalone addons.

All of this could be much better done with a trailing inline option in the addons specification.

addons = …
                   hg http://hg.example/cool-addon-1 cool-addons/addon-1 standalone

The recipe would create any intermediate directory if needed, and if the 'standalone' option is present, it would register the parent directory in OpenERP's 'addons-path' configuration directive
Of course, that option would be incompatible with the 'subdir' option

Upgrade scenarios (repo becoming standalone and vice-versa) can be handled by comparison with .installed.cfg in a sane and predictable way, the only border case would be upgrade from anterior versions of the recipe itself.

Comments and suggestions welcome, as alway.s

Changed in anybox.recipe.openerp:
milestone: none → 1.8
Changed in anybox.recipe.openerp:
milestone: 1.8 → 1.9.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.