Re: should we remove autotools from master?

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

 



On Tue, 23 Aug 2016, Alfredo Deza wrote:
> On Tue, Aug 23, 2016 at 11:21 AM, Sage Weil <sweil@xxxxxxxxxx> wrote:
> > On Tue, 23 Aug 2016, Avner Ben Hanoch wrote:
> >> For removing autotools support, I think that we should first announce
> >> that autotools will not be supported starting <some-future-day> and till
> >> then support both of them in parallel and response to questions about
> >> it.
> >
> > I think we're basically proposing some-future-day as now.
> >
> >> Also, we first need to make sure that we have comprehensive instructions
> >> for using cmake. Notice, that many developers are not familiar with
> >> cmake; hence, there might be need for extra explanations.
> >>
> >> For example, I tried now the instructions in https://github.com/ceph/ceph/blob/master/README.md
> >>       ./do_cmake.sh
> >>       cd build
> >>       make
> >> and I got the error:
> >>       make: *** No targets specified and no makefile found.  Stop.
> >>
> >> Probably, because of the explanation "This assumes you make your build
> >> dir a subdirectory of the ceph.git checkout. If you put it elsewhere,
> >> just replace .. above with a correct path to the checkout." However, if
> >> you are not familiar with cmake, then this explanation does not tell you
> >> how to recover from the error.
> >
> > The do_cmake.sh script is doing 'mkdir build', so assuming you actually
> > ran it from the git checkout (i.e., ./do_cmake.sh) then this should be the
> > case.  Is that actually what caused the error?
> >
> > I agree that step 0 is to make README.md complete for cmake.  Perhaps
> > step 1 is to remove autotools instructions too.
> >
> >> Also, I am not sure it is clear to all developers how to combine above
> >> instructions with options that you could provide to ./configure script.
> >
> > There is no more ./configure :).  There are a new set of options you can
> > pass cmake that are referenced here in README.md:
> >
> >         https://github.com/ceph/ceph/blob/master/README.md#cmake-options
> >
> >> Hence, I think removing autotools support should not be immediate
> >
> > Please help us identify any (other) documentation gaps so we can get past
> > this.  I thought README.md was in good shape...
> 
> Nothing in there helped when trying to build binaries in the CI
> scripts. I had to look at
> https://github.com/ceph/autobuild-ceph/blob/master/build-ceph-rpm.sh#L56-L58
> to try to make it work.
> 
> Of course, this might not help anyone else, since it might not be
> common to run `make-dist` ?

Ah, good point.  This PR

	https://github.com/ceph/ceph/pull/10829

replaces the incomplete/wrong package build directions with make-dist 
instructions.

Should we document how to build a proper rpm or deb here, or should we try 
to pull what autobuilder and/or ceph-build are doing into scripts in 
ceph.git, and replace the (broken?) make-debs.sh with make-{deb,rpm} and 
ensure they work?  I think it depends on if anything in what you build is 
likely to require changes outside of the ceph tree...

sage


> 
> >
> > sage
> >
> >
> >> Avner
> >>
> >> > -----Original Message-----
> >> > From: Loic Dachary
> >> >
> >> >
> >> > On 23/08/2016 15:58, Sage Weil wrote:
> >> > > Should we remove the autotools stuff from master?
> >> > >
> >> > > Yes:
> >> > > - It won't be maintained
> >> > > - It sucks
> >> > > - It confuses people and they use it by mistake
> >> > > - We'll find any build scripts etc that haven't been converted sooner
> >> > > rather than later
> >> > >
> >> > > No:
> >> > > - Other architectures might rely on it
> >> > > - It's possible some build scripts haven't been convert yet
> >> > >
> >> > > I'm thinking yes?
> >> >
> >> > I vote yes. The build scripts I know about are either converted or broken
> >> > because autotools no longer works :-)
> >> >
> 
> Yes from me too. We do have the build scripts kind of messed up
> already for master in Jenkins:
> 
> https://github.com/ceph/ceph-build/commit/40b94af494dbb07440bf90f5b6695ecf2839b392
> 
> We still need to support both because we still need to cut releases
> for branches that do not support it though.
> 
> >> > Cheers
> >> >
> >> > > sage
> >> > >
> >> > >
> >> > > On Tue, 23 Aug 2016, Nathan Cutler wrote:
> >> > >
> >> > >>> That's a different make-deb(s).sh
> >> > >>
> >> > >> Allow me to qualify that statement. This thread seems to be about
> >> > >>
> >> > >> https://github.com/ceph/ceph/blob/master/make-debs.sh
> >> > >>
> >> > >> while the "make-deb.sh" I am working on is
> >> > >>
> >> > >> https://github.com/ceph/ceph-qa-suite/blob/master/tasks/buildpackages
> >> > >> /make-deb.sh
> >> > >>
> >> > >> which is used with the teuthology-openstack backend. However, I see
> >> > >> the two scripts are similar.
> >> > >>
> >> > >> In general, although the autotools stuff is still there in master, it
> >> > >> is not maintained and should not be expected to work (or continue to
> >> > >> work). All build infrastructure targeting master should be converted to
> >> > cmake.
> >> > >>
> >> > >> Nathan
> >> > >> --
> >> > >> 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
> >> > >>
> >> > >>
> >> > > --
> >> > > 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
> >> > >
> >> >
> >> > --
> >> > Loïc Dachary, Artisan Logiciel Libre
> >>
> >>
> --
> 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