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

Re: [E-devel] Debian packages for e_modules

On Sun, Jul 16, 2006 at 08:02:39PM +0200, N-Mi wrote:
> 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

Quite obvious that this doesn't improve the situation much :)

> 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

Better, and it wouldn't conflict with the current setup.
> 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).
If you're already working on it, I wouldn't mind to help testing the
files and finally commit them.

The only problem left right now is that for some reason I couldn't yet
manage to have the modules installed in the correct place. Currently the
Makefile tries to install them to 

$(dpkg-architecture -qDEB_BUILD_GNU_SYSTEM)-$(dpkg-architecture -qDEB_BUILD_GNU_CPU)

whereas they should be in something like

cd calendar
$(make -p --makefile=Makefile 2> /dev/null| grep -e MODULE_ARCH\  | sort | uniq | sed -e s/MODULE_ARCH\ \=\ //g)

E.g. in linux-gnu-i486 instead of linux-gnu-i686

The same happens to engage, btw. I didn't dig into it for too long, but
maybe someone already knows what's going on?