Hi,

Let me prefix the message with the disclaimer that I am not much of an expert on building Java code...

On 06/12/2012 06:24 AM, Wido den Hollander wrote:
Hi,

I've been working the last couple of days on rebuilding the
Debian/Ubuntu build system and getting rid of WAF.

I think it got to a state where it's ready to be tested by other users.

The code can be found at Github [0] under my user "wido".

The goals I had were:
* Get rid of WAF
* Do everything with ANT

These are generic and should not be distribution dependent. I am not partial to any given build system, however, given that Ant is probably the predominant way to build Java code this make sense.

* Get the packages working under Debian as well
* Get the build dependencies in order

Seems it worked and my packages are now building like they are supposed
to. I haven't been able to find issues at the moment, while this will of
course need more testing.

For cloud-daemonize I've written a separate ANT task which uses
contrib-cpp [1]. For the Debian packages I've made the package
"ant-contrib-cpptasks" a build dependency.

This build code could be shared with the RPM build process as well, so
we might want to move some targets around or make them more generic.

I think that a great goal for CloudStack 4.0 would be to support:
- Ubuntu 10.04 LTS
- Ubuntu 12.04 LTS
- Debian 6 Squeeze

The packages will probably work on Ubuntu 11.X as well, but we should
probably target the LTS versions and anything else that works is great?

I'd like to get some feedback on this build system.

I have only taken a brief look at this, and again I am not an expert on creating descriptions for Ant. It appears to me that a lot of stuff is now tied to debian that maybe shouldn't be. For example, the class path setup should be generic, yet in https://github.com/wido/CloudStack/commit/ef7c561f022fb88babf2d914b0ac57d70c5dfb1e everything appears to be tied to debian.

One would think that from a perspective of a packager one would just have to run

ant SOME_ARGUMENTS build

and

ant SOME_ARGUMENTS install

The SOME_ARGUMENTS parts are then left up to the packager on each distribution.

I am probably missing something, sorry if my concerns are in left field.

Later,
Robert


--
Robert Schweikert                           MAY THE SOURCE BE WITH YOU
SUSE-IBM Software Integration Center                   LINUX
Tech Lead
rjsch...@suse.com
rschw...@ca.ibm.com
781-464-8147

Reply via email to