cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Frank Zhang <Frank.Zh...@citrix.com>
Subject RE: Debian/Ubuntu build system based on ANT
Date Wed, 13 Jun 2012 17:26:09 GMT
I still have some concerns about using ant.
As we are removing those apache incompatible jars from source code, there build process would
break as those jars are compilation dependencies.
Speaking for Ant(not maven), how other projects handle this? Do we need to put those jar to
somewhere and pull it before compiling? Then we are doing what maven did.

> 
> Hi,
> 
> On 06/12/2012 10:31 PM, David Nalley wrote:
> > Inline reply
> >
> > On Tue, Jun 12, 2012 at 6:24 AM, Wido den Hollander<wido@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
> >
> > 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 didn't see that :) But that's great. Since those scripts like "agent-runner"
> need an update anyway.
> 
> >
> >>
> >> 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)
> 
> Oh, that's what I did. If you take a look at the "rules" file:
> https://github.com/wido/CloudStack/blob/c6d673e97d906d0a3fb1c8459a80f
> ee2008f0909/debian/rules
> 
> You simply run "dpkg-buildpackage" in the directory of your GIT repo and
> dpkg will then call Ant and run all the needed targets,
> 
> Ant will put all the files in place and dpkg then takes over, packages all the
> stuff into deb files.
> 
> It's not that Ant is generating the deb files, I just prepare all for packaging,
> like replacing tokens in them.
> 
> >
> > 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.
> 
> Same should work for RPM, it should just invoke Ant and run the needed
> targets.
> 
> Wido
> 
> >
> > Thoughts?
> >
> > --David


Mime
View raw message