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