← Back to team overview

openerp-community team mailing list archive

Package manager for OpenERP modules

 

Hello all,

 The need for a package manager for OpenERP modules has been an outstanding
issue.
 And frankly it's not an easy problem to address, with problems ranging
from module reliability to version numbering.

 Despite that, in recent time significant steps forward have been taken.

 Last August, Vu Minh Thu released assertive.io[1], proving that Pyhton's
package manager, pip, could be used to handle OpenERP modules.
 Thu provides module packages for trunk at assertive.io at took in hand the
task to publish stable version modules in PyPi (such as this[2]).
 The packaging is made using the openerpdist tool
(https://github.com/noteed/openerpdist), built in Haskell, and uses a
"daily build" principle, so that package version numbers are indexed to the
build day (they are bumped each new day).

 Coincidentally, this is problem that also has puzzled me for a long time.
 I'll spare you from my attempts at it, long story short story, Thu's work
pointed me that pip/setuptools was the way to go.
 So, a few days ago I released openerpapps.info[3], also proposing a
packaging and distribution solution for OpenERP modules.

 Regarding my project, I can give some more details on it's goals and
decisions  made:

 * Package version numbers are based in VCS revision numbers (version
numbers in __openerp__.py manifests are not reliable). Git and hg support
is on the roadmap; these probably will use timestamps as revision numbers.
 * A module only has a new package built if any of it's files is changed.
 * The package build tool (https://github.com/dreispt/pipo) is also built
in Python. It also aims to wrap pip and virtualenv to favor user
friendliness.
 * The website is independent from PyPi, and supports multiple
"distribution channels". This means that it can correctly support several
"universes" (official or ocb; community reviewed, non reviewed, etc.) and
"series" (6.1, 7.0, 7.saas, 8). Compatibility with PyPi's assertive.io
packages is simple to achieve, but I'm not sure it it should be done.
 * Several "universes" can be picked and mixed as sources in each
installation. Integrator can also use the tooling to provide their own
additional or replacement indexes for customers.

 My ideas on this  don't stop here, but I think that's more than enough to
start a discussion.
 So, I invite you all to test drive both solutions and share your thoughts:

 Does this address relevant issues for you?
 What do you think of the current solutions?
 What do you think should be right direction to follow?

 Regards
 Daniel Reis


Ligações:
---------
[1] <a href="http://assertive.io/blog/0-openerp-packages";> http://assertive.io/blog/0-openerp-packages</a> [2] <a href="https://pypi.python.org/pypi/openerp-sale/7.0.406";> https://pypi.python.org/pypi/openerp-sale/7.0.406</a>
[3] <a href="http://openerpapps.info/";> http://openerpapps.info/</a>

Follow ups