On Tue, Apr 19, 2005 at 11:25:51PM -0700, Ted Gould wrote:
We've talked about before, and Aaron and I have recently talked about it, should we package extensions? I'd like put some ideas and questions forward so that people can rip them apart and we'll end up with something good :)
I'm of similar mind; you listed a good pro/con consideration, and I agree it looks most sensible to break them out separately from the core.
I think, that there is compelling reasons to start a new package for extensions, which brings the next points: how should it work?
-- Granularity. Should each extension be it's own package? Should they be grouped by functionality (input/output/effect)? Should they be grouped by common dependencies (inkscape-extensions-{python,perl,pstoedit})
From a project organizational point of view, making each extension be
its own package has a benefit in that each extension author can take complete ownership of the whole thing. If we have a combined package, then we'd need to have someone act as 'integrator' of other people's extensions.
The flip side of that argument is that having someone act as an integrator of multiple extensions into one package allows establishment of some quality control checking, and may reduce the quantity of effort required of the extension developer.
A compromise between the two would be to set things up such that extensions could either be individually packaged, or grouped into and distributed as collections. That way, we gain the benefits of both approaches.
-- Versioning. I'm kinda thinking that we should just do <inkscape major>.<inkscape minor>.<extension release> That way extensions could be released independent of Inkscape, but still, you know what version of Inkscape they are tied to.
Hmm, this part I'm not so sure about. Ideally, there should not be such strong dependency between an extension and a particular version of Inkscape that we'd need to number them that way. If our extension interfaces are changing that much from release to release, then it could get messy. ;-)
Also, if we need dependency checking, wouldn't that be best to do in the packaging system? (rpm, autoconf, Makefile.PL, etc.)?
Bryce