[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[E-devel] Debian packages for e_modules



Hello,

I'd like to make a suggestion on how debian packages for e_modules should be built.

At present, the problem is that all modules are built at once, and package generation for all modules fails when ONE module fails to build. Additionaly, autoconf/automake process is very long (I think it's most of the time of the whole building process), and it's a waste of time to re-run autoconf/automake for all modules although we want to re-compile one module (a few days ago I've spent a whole afternoon compiling emodules again and again, because of outdated debian/control files).

I see 2 ways to optimize modules building process :
1) to have only one ./configure which make the checks for all modules
2) to have one "debian/" directory for each module

Pro/cons for solution 1 :
 + running only once autoconf/automake saves a LOT of time
- if a module fails to build, it block all other modules (as this is the case right now) - when E17 (and E18, E19, ...) will rule the world, this solution may be unmaintainable for 42^2 modules

Pro/cons for solution 2 :
+ no matter if a module fails to build, we can build packages for all other modules. + we can have different maintainers for packages, and changes to one module package don't affect others.
 + scalable for 42^42 modules
 - still need to run autconf/automake for each module


IMHO, solution 2 is easier to maintain, so I've made a package for one module (bling) and tested it and it seems to work very well. All I had to do was a few modifications to configure.in and Makefile.am, and add a debian/ directory with files taken from the global debian/ directory used at present, with little changes.

Here is the modified e_modules "bling" directory (this is a first draft and can be improved) :
http://nmi2.free.fr/e17/bling.tar.gz

Modifying other modules should be very easy (although it's my first time making debian packages), and it should be possible to have a emodules-all dummy package (haven't tried yet).


Any comments are welcome :)


N-Mi.