Re: ceph build changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 28 Jun 2016, Alfredo Deza wrote:
> On Mon, Jun 27, 2016 at 6:05 PM, Sage Weil <sweil@xxxxxxxxxx> wrote:
> > Hey Alfredo,
> >
> > Just a heads up that the changes to gitbuilder to enable cmake were pretty
> > minimal.  It basically comes down to using the make-dist script to
> > generate the tarball instead of running ./autogen.sh, ./configure, and
> > then 'make dist' just to get the tarball.  Here's what we changed:
> >
> >         https://github.com/ceph/autobuild-ceph/commit/eccdc8f61273e97710203eaae55a2c4258b64087
> >
> > It's slightly annoying because older branches won't have make-dist, but
> > newer branches will, and it has to do a build both ways.  Not too crazy,
> > though.
> 
> Thanks for the heads up.
> 
> The changes look straightforward but I am concerned on how to make
> them work for a release. I could just copy/pasta them
> into the build script but it is very easy (and has happened before) to
> get out of sync if the gitbuilder script gets modifications.
> 
> To get a tarball, you are right in what we call:
> 
> * install-deps.sh (if it exists)
> * autogen.sh
> * configure
> 
> 
> See: https://github.com/ceph/ceph-build/blob/master/ceph-setup/build/build#L30-L58
> 
> Is it not possible to get these changes within the source tree? Having
> a single place where to call them is a huge win.

Well, moving to make-dist is doing exactly that.  What I didn't 
consider is just backporting the latest make-dist to the branches we 
care about (just jewel and hammer, probably) so we don't need the 
conditional at all.  Now that you mention it though I rather like that 
approach!

> > The other change was that we have a new environment variable for passing
> > down cmake optons that parallels the old CEPH_EXTRA_CONFIGURE_ARGS:
> >
> >         https://github.com/ceph/autobuild-ceph/commit/71d02e8b2c9bd3533c44b3bf0408681ed7890248
> >
> > I'm guessing we don't need that for a proper release, but in case we do,
> > the script should just set both.
> 
> Passing options via environment variables sounds reasonable, it is
> nice that it got implemented.
> 
> >
> > Anyway, with those changes, the final step is to change debian/rules and
> > ceph.spec.in in ceph.git itself to build using cmake instead of autotools,
> > but as long as the source tarball is coming from make-dist the ceph-build
> > stuff doesn't need to know or care about that--it's all hidden by rpmbuild
> > and dpkg-buildpackage/pbuilder.
> 
> So, we do call `make dist` and `make dist-bzip2`, but then again,
> porting the changes in build-ceph-native.sh is what
> worries me.

One thing with make-dist is that it only generates a .bz2.  We can easily  
make it generate the whole gamut (.gz, .xz) too.  Whatever it needs to do 
to simplify callers...

> > As soon as the deb and rpm changes are working when built by the
> > gitbuilders (basically there with debs, rpms up next) I think we should do
> > a dev release through the new jenkins pipeline to demonstrate that the
> > whole thing works.  Maybe the week after next?
> 
> We can do that or even try "throwaway" builds before. Shouldn't be a
> problem to try it out.

Okay.  We need to fix the rpm builds (generate ceph.spec) first, but soon!

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux