> Inline reply > > On Tue, Jun 12, 2012 at 6:24 AM, Wido den Hollander <w...@widodh.nl> > 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 > > GREAT goal IMO! > > > * Do everything with ANT
+1 > > I think this is potentially ok - more later. > > > * Get the packages working under Debian as well > > Another great goal! > > > 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. > > cloud-daemonize should go away IIRC - Frank? Edison? Isn't that all > deprecated - can't we just purge it all? I personally think it should be removed, Apache already has good tool for java deamonizing > > > > > 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. > > > > Thanks! > > > > Wido > > So perhaps I misunderstand - but here is what I'd personally like to see: > > ant build-all compiles everything - as it does now. > > We add a target something like: > > ant deploy-rpm > or > ant deploy-deb > > This copies the compiled binaries built in build-all to the right locations > for > those platforms - BUT also allows overriding those > settings in a config file or command line option. (this becomes the > equivalent of make followed by make install) This should be easy as java program inherently receives properties from command line and Ant which is java program as well > > I am not necessarily opposed to building all of this with ant - it might make > life > easy for nightly builds or testing - but I also want to make sure that I can > still > sanely do it by calling rpmbuild or dpkg. These goals are not opposite. We can have small ant targets: 1. ant build-all: build all jars and scripts 2. ant install-all: install bits to target folders RPM spec file use above two targets for building RPM, they are fairly enough 3. ant build-rpm: prepare tar.gz for rpm build as well as automate rpm build process Then you are free to call rpmbuild as long as you have cloudstack-xxx.tar.gz in hands, or call ant build-rpm if you want everything automate > > Thoughts? > > --David