incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edison Su <Edison...@citrix.com>
Subject RE: RPM build is fixed, sort of...
Date Fri, 07 Sep 2012 05:37:40 GMT


> -----Original Message-----
> From: Rohit Yadav
> Sent: Thursday, September 06, 2012 10:06 PM
> To: Edison Su
> Cc: cloudstack-dev@incubator.apache.org
> Subject: Re: RPM build is fixed, sort of...
> 
> 
> On 07-Sep-2012, at 5:42 AM, Edison Su <Edison.su@citrix.com> wrote:
> 
> >
> >
> >> -----Original Message-----
> >> From: Rohit Yadav
> >> Sent: Thursday, September 06, 2012 2:48 AM
> >> To: cloudstack-dev@incubator.apache.org
> >> Cc: Edison Su
> >> Subject: Re: RPM build is fixed, sort of...
> >>
> >>
> >> On 06-Sep-2012, at 3:06 PM, Hugo Trippaers
> >> <HTrippaers@schubergphilis.com> wrote:
> >>
> >>> Hey Edison,
> >>>
> >>> That should be easy to do once the build is "mavenized". I'm
> starting
> >> to seriously dislike waf already, so would be happy to see it go.
> >>
> >> What technical difficulties are you facing with waf? Let's not take
> >> decision based on one's preference.
> >>
> >> If we decide to get rid of war, then I can try to write cmake based
> >> packaging scripts that package debs and rpm.
> >> (I package/release debs/rpm for VideoLAN's VLMC,
> >> https://github.com/bhaisaab/cmakeqt)
> >
> > Yah, basically, we just need a tool for "make install", waf can do it,
> but the current waf script has some many dead code(people trying to do
> everything in waf).
> > We can either cleanup waf, or use maven to package the whole thing.
> To me, both are ok.
> > BTW, will you want to help us on the build system?
> 
> Yes, I'm trying and reading Maven by Sonatype, will post a patch as
> soon as I get something working.
> Meanwhile it would be great if we can have waf again.

As long as you can get waf clean enough, you know, just implement the "make install" functionality,
then I think waf can stay there:)
Just my 2$ though.

> 
> Regards,
> Rohit
> 
> 
> >
> >>
> >> Rohit
> >>
> >>>
> >>> Cheers,
> >>>
> >>> Hugo
> >>>
> >>> Sent from my iPhone
> >>>
> >>> On 6 sep. 2012, at 10:22, "Edison Su" <Edison.su@citrix.com> wrote:
> >>>
> >>>> I just thought about how to get rid of waf, and how to package
> >> artifacts build by maven. I don't want to hack on the waf stuff,
> which
> >> gets easy thing done but to complicated.
> >>>> If war build by maven contains all the files needed by packager,
> >> then we probably just unzip the war, then call rpmbuild to build rpm.
> >>>> Does war contain files under agent/distro? Or maybe write another
> >> assembly plugin to package all these system level configuration
> files?
> >>>>
> >>>> Sent from my iPhone
> >>>>
> >>>> On Sep 5, 2012, at 11:37 PM, "Hugo Trippaers"
> >> <HTrippaers@schubergphilis.com> wrote:
> >>>>
> >>>>> Yeah, I know ;-).  I'm doing builds and deployments for all
> >> software in our company. It's not that bad once you get to know it,
> but
> >> maven expects you to do things the maven way.
> >>>>>
> >>>>> As for building packages, maven is designed to take care of all
> >> dependency problems directly. In the maven world the build would
> >> produce an artifact that would be packaged later on. So in our case
> the
> >> artifact would be a war file with all code for the server (including
> ui
> >> components) and several jar files with for example the agent and
> >> console-proxy. Currently our package system is designed to collect
> all
> >> loose jars itself and put it into a package. The "maven" way would
> be
> >> to take the war file and deploy that file.
> >>>>>
> >>>>> If you build using the "mvn -P client" command, you will find the
> >> war file in "client/target/cloud-client-ui-4.0.0-SNAPSHOT.war". If
> you
> >> look inside that file it should contain everything needed to run the
> >> webapplication for the server (awsapi has a similar file).
> Technically
> >> you should be able to drop that webapplication in any java web
> >> container and run the UI without having to worry about dependencies.
> >>>>>
> >>>>> I haven't checked all the libs yet, but with maven we can define
> >> which libs are required for various stages; compiling, testing,
> runtime,
> >> and a special for provided. This controls if a lib is added to the
> >> compile classpath, the runtime classpath or the test classpath.
> >> Provided means we need it for compilation but we expect that it is
> >> present when we install the application. Good examples of provided
> is
> >> the servlet api, you need it for compilation, but it is present on
> all
> >> web application containers.
> >>>>>
> >>>>> Back to your original question, how about packaging the war file
> >> directly? Or having rpm install unpack the war and add it to the rpm,
> >> would that safe you work to check the rpms?
> >>>>>
> >>>>> Cheers,
> >>>>>
> >>>>> Hugo
> >>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Edison Su [mailto:Edison.su@citrix.com]
> >>>>>> Sent: Wednesday, September 05, 2012 11:52 PM
> >>>>>> To: Hugo Trippaers
> >>>>>> Cc: cloudstack-dev@incubator.apache.org
> >>>>>> Subject: RE: RPM build is fixed, sort of...
> >>>>>>
> >>>>>> I can understand why build engineer doesn't like maven from
my
> >> yesterday's
> >>>>>> experience.
> >>>>>> Maven automatically downloads a bunch of jars for you, that's
> good
> >> for
> >>>>>> developer, but a nightmare for build engineer. How can I find
> out
> >> which jar I
> >>>>>> should put into RPM/DEB?
> >>>>>> I need to manually test one by one.
> >>>>>>
> >>>>>>> -----Original Message-----
> >>>>>>> From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> >>>>>>> Sent: Wednesday, September 05, 2012 1:52 PM
> >>>>>>> To: Edison Su
> >>>>>>> Cc: cloudstack-dev@incubator.apache.org
> >>>>>>> Subject: Re: RPM build is fixed, sort of...
> >>>>>>>
> >>>>>>> That's maven. A snapshot dependency will get a build version
> >> number
> >>>>>>> depending on the time it was built. Only release versions
have
> a
> >> fixed
> >>>>>>> version number.
> >>>>>>>
> >>>>>>> Maven it self will automagically take this into account
when
> >> building
> >>>>>>> classpaths, but for external tools it is a bit trickier.
> >>>>>>>
> >>>>>>> Cheers,
> >>>>>>>
> >>>>>>> Hugo
> >>>>>>>
> >>>>>>> Sent from my iPhone
> >>>>>>>
> >>>>>>> On 5 sep. 2012, at 19:00, "Edison Su" <Edison.su@citrix.com>
> >> wrote:
> >>>>>>>
> >>>>>>>> When I "mvn install" under deps folder, I got:
> >>>>>>>> [INFO] Copying xapi-5.6.100-1-SNAPSHOT.jar to /root/incubator-
> >>>>>>> cloudstack/deps/xapi-5.6.100-1-20120825.123319-1.jar
> >>>>>>>>
> >>>>>>>> Anybody knows why this happened?
> >>>>>>>>
> >>>>>>>>> -----Original Message-----
> >>>>>>>>> From: Marcus Sorensen [mailto:shadowsor@gmail.com]
> >>>>>>>>> Sent: Wednesday, September 05, 2012 9:36 AM
> >>>>>>>>> To: cloudstack-dev@incubator.apache.org
> >>>>>>>>> Cc: Hugo Trippaers
> >>>>>>>>> Subject: Re: RPM build is fixed, sort of...
> >>>>>>>>>
> >>>>>>>>> I'm getting xapi-5.6.100-1-SNAPSHOT.jar from a fresh
pull of
> >> the
> >>>>>>>>> 4.0 repo, then following the install-non-oss.sh
instructions
> >>>>>>>>>
> >>>>>>>>> On Wed, Sep 5, 2012 at 10:09 AM, Edison Su
> >> <Edison.su@citrix.com>
> >>>>>>> wrote:
> >>>>>>>>>> What the name of the jar for xapi under deps
folder on your
> >>>>>>>>> environment?
> >>>>>>>>>>
> >>>>>>>>>> Sent from my iPhone
> >>>>>>>>>>
> >>>>>>>>>> On Sep 5, 2012, at 12:20 AM, "Hugo Trippaers"
> >>>>>>>>> <HTrippaers@schubergphilis.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Hey Edison,
> >>>>>>>>>>>
> >>>>>>>>>>> I still get an error when building rpms
with your changes:
> >>>>>>>>>>>
> >>>>>>>>>>> Processing files: cloud-utils-4.0.0-0.1.el6.maven.x86_64
> >>>>>>>>>>> Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.kvoZ6x
> >>>>>>>>>>> + umask 022
> >>>>>>>>>>> + cd /home/spark/git-workdir/incubator-
> >>>>>>>>> cloudstack/artifacts/rpmbuild/BUILD
> >>>>>>>>>>> + cd cloud-4.0.0
> >>>>>>>>>>> + DOCDIR=/home/spark/git-workdir/incubator-
> >>>>>>>>> cloudstack/artifacts/rpmbuild/BUILDROOT/cloud-4.0.0-
> >>>>>>>>> 0.1.el6.maven.x86_64/usr/share/doc/cloud-utils-4.0.0
> >>>>>>>>>>> + export DOCDIR
> >>>>>>>>>>> + rm -rf /home/spark/git-workdir/incubator-
> >>>>>>>>> cloudstack/artifacts/rpmbuild/BUILDROOT/cloud-4.0.0-
> >>>>>>>>> 0.1.el6.maven.x86_64/usr/share/doc/cloud-utils-4.0.0
> >>>>>>>>>>> + /bin/mkdir -p /home/spark/git-workdir/incubator-
> >>>>>>>>> cloudstack/artifacts/rpmbuild/BUILDROOT/cloud-4.0.0-
> >>>>>>>>> 0.1.el6.maven.x86_64/usr/share/doc/cloud-utils-4.0.0
> >>>>>>>>>>> + cp -pr README.html /home/spark/git-workdir/incubator-
> >>>>>>>>> cloudstack/artifacts/rpmbuild/BUILDROOT/cloud-4.0.0-
> >>>>>>>>> 0.1.el6.maven.x86_64/usr/share/doc/cloud-utils-4.0.0
> >>>>>>>>>>> + cp -pr debian/copyright /home/spark/git-
> workdir/incubator-
> >>>>>>>>> cloudstack/artifacts/rpmbuild/BUILDROOT/cloud-4.0.0-
> >>>>>>>>> 0.1.el6.maven.x86_64/usr/share/doc/cloud-utils-4.0.0
> >>>>>>>>>>> + exit 0
> >>>>>>>>>>> Requires(rpmlib): rpmlib(CompressedFileNames)
<= 3.0.4-1
> >>>>>>>>> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> >>>>>>>>> rpmlib(VersionedDependencies) <= 3.0.3-1
> >>>>>>>>>>> Requires: /usr/bin/env
> >>>>>>>>>>> Obsoletes: vmops-utils < 4.0.0-0.1.el6.maven
Processing
> files:
> >>>>>>>>>>> cloud-client-ui-4.0.0-0.1.el6.maven.x86_64
> >>>>>>>>>>> Requires(interp): /bin/sh
> >>>>>>>>>>> Requires(rpmlib): rpmlib(CompressedFileNames)
<= 3.0.4-1
> >>>>>>>>> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> >>>>>>>>> rpmlib(VersionedDependencies) <= 3.0.3-1
> >>>>>>>>>>> Requires(pre): /bin/sh
> >>>>>>>>>>> Obsoletes: vmops-client-ui < 4.0.0-0.1.el6.maven
Processing
> >>>>>>>>>>> files: cloud-server-4.0.0-0.1.el6.maven.x86_64
> >>>>>>>>>>> Provides: config(cloud-server) = 4.0.0-0.1.el6.maven
> >>>>>>>>>>> Requires(rpmlib): rpmlib(CompressedFileNames)
<= 3.0.4-1
> >>>>>>>>> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> >>>>>>>>> rpmlib(VersionedDependencies) <= 3.0.3-1
> >>>>>>>>>>> Obsoletes: vmops-server < 4.0.0-0.1.el6.maven
Processing
> >> files:
> >>>>>>>>>>> cloud-agent-scripts-4.0.0-0.1.el6.maven.x86_64
> >>>>>>>>>>> Processing files: cloud-python-4.0.0-0.1.el6.maven.x86_64
> >>>>>>>>>>> Requires(rpmlib): rpmlib(CompressedFileNames)
<= 3.0.4-1
> >>>>>>>>> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> >>>>>>>>>>> Requires: /bin/bash /usr/bin/python python(abi)
= 2.6
> >> Processing
> >>>>>>>>>>> files: cloud-deps-4.0.0-0.1.el6.maven.x86_64
> >>>>>>>>>>> error: File not found: /home/spark/git-workdir/incubator-
> >>>>>>>>> cloudstack/artifacts/rpmbuild/BUILDROOT/cloud-4.0.0-
> >>>>>>>>> 0.1.el6.maven.x86_64/usr/share/java/xapi-5.6.100-1-
> >> 20120825.123319-
> >>>>>>>>> 1.jar
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> RPM build errors:
> >>>>>>>>>>> File not found: /home/spark/git-workdir/incubator-
> >>>>>>>>> cloudstack/artifacts/rpmbuild/BUILDROOT/cloud-4.0.0-
> >>>>>>>>> 0.1.el6.maven.x86_64/usr/share/java/xapi-5.6.100-1-
> >> 20120825.123319-
> >>>>>>>>> 1.jar
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> Cheers,
> >>>>>>>>>>>
> >>>>>>>>>>> Hugo
> >>>>>>>>>>>
> >>>>>>>>>>>> -----Original Message-----
> >>>>>>>>>>>> From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> >>>>>>>>>>>> Sent: Wednesday, September 05, 2012
8:24 AM
> >>>>>>>>>>>> To: 'Edison Su'; cloudstack-dev@incubator.apache.org
> >>>>>>>>>>>> Subject: RE: RPM build is fixed, sort
of...
> >>>>>>>>>>>>
> >>>>>>>>>>>> Hey Edison,
> >>>>>>>>>>>>
> >>>>>>>>>>>> No problem, I'll leave it to you then.
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> Cheers,
> >>>>>>>>>>>>
> >>>>>>>>>>>> Hugo
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>> -----Original Message-----
> >>>>>>>>>>>>> From: Edison Su [mailto:Edison.su@citrix.com]
> >>>>>>>>>>>>> Sent: Wednesday, September 05, 2012
6:42 AM
> >>>>>>>>>>>>> To: cloudstack-dev@incubator.apache.org
> >>>>>>>>>>>>> Cc: Hugo Trippaers
> >>>>>>>>>>>>> Subject: RPM build is fixed, sort
of...
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Hi Hugo,
> >>>>>>>>>>>>> I reverted three of your
> >>>>>>>>>>>>> patches(1f207506daa1874421b01ad8ea733e6bc8b8ce60/
> >>>>>>>>>>>>> 79004fc7bc5f24f8bf9c75f7a0b0fef01042db13/
> >>>>>>>>>>>>> a4f1971e80f2aaf86017ddc989513eefb04265fa),
I don't know
> how
> >>>>>> to
> >>>>>>> get
> >>>>>>>>>>>>> waf+maven work, but I know how to
get ant work right now.
> >>>>>>>>>>>>> Still need to use "maven install"
to download all the
> deps.
> >>>>>>> "waf
> >>>>>>>>>>>>> rpm" works right now, but may still
have other issues
> >> during
> >>>>>>>>>>>>> the
> >>>>>>>>> rpm
> >>>>>>>>>>>>> install. Seems jasper related jars
are not included in
> the
> >>>>>>>>>>>>> classpath.conf, so you may not login
into UI.
> >


Mime
View raw message