Re: should we remove autotools from master?

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

 



On 23-8-2016 20:24, Sage Weil wrote:
> 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...

As to dumping autotools: +1

For this specific PR, I'm pretty sure that in future when building
FreeBSD packages, I'd like directions instead of trying to figure out
all the {deb,rpm} stuff.

--WjW

>>>>> -----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



[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