Stop standalone addons magic
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 = …
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 |