[
https://issues.apache.org/jira/browse/MESOS-898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14625301#comment-14625301
]
Alex Clemmer commented on MESOS-898:
------------------------------------
[~vinodkone]: Yep, per [~tstclair]'s request, we are working through things in
GitHub before we put it into the RB. He took a week for vacation, and has
subsequently been very busy, which is why this issue resolution time has been
somewhat protracted -- but, considering Tim's expertise, I think it's
definitely worth taking a bit extra time (an a somewhat non-traditional review
process) to make sure he's good with what's going on here.
The current state is the first commit in this branch, if you'd like to have a
look: https://github.com/hausdorff/mesos/commits/cmake_rb (Do note that I
rebase this consistently to keep all the little changes in one review, so that
it's easy to comment on and stuff.)
I will post here when we're ready to push to RB.
Sorry again that this is taking longer than expected.
> Introduce CMake as an alternative build system.
> -----------------------------------------------
>
> Key: MESOS-898
> URL: https://issues.apache.org/jira/browse/MESOS-898
> Project: Mesos
> Issue Type: Epic
> Components: build
> Reporter: Timothy St. Clair
> Assignee: Alex Clemmer
> Labels: build
>
> This is a rather substantial undertaking, so I would want upstream
> debate+buy-in prior to full commitment. The basic premise is: upstream
> rebundles several of its dependencies in part to tightly control its stack.
> This is not out of the norm, but in order to be picked up by distribution
> channels it needs to built against system dependencies, and rebundling is
> strictly forbidden. Given that the mesos primary target platform are
> data-center distributions such as RHEL/CENTOS/SL it makes sense to still have
> bundling support for those who do not have dependencies in their channels
> "yet". This is where cmake can be win with it's uber macros
> (http://www.cmake.org/cmake/help/v2.8.8/cmake.html#module:ExternalProject).
> I do not know of any equivalent in the autotools world, other then to brew
> your own solution. I've done this type of work in the past, and completely
> transformed condor and would leverage a lot of the work that was done there.
> I currently have a tracking branch where I've started this work, but before I
> go off into the woods, it makes sense to have a debate in public.
> The primary benefits are:
> 1. Enable downstream channels to easily distro without carrying a large patch
> sets.
> 2. Still support existing "non-proper" distribution methods.
> 3. Harden / future proof dependent interfaces.
> Side Benefits:
> Audit current build mechanics.
> - Presently the language specific binding are not installed. (.py & .jar)
> - make -jX currently fails
> - optionally look in arm support.
> Costs:
> 1. Time
> 2. Potential temporary destabilization
> 3. Infrastructure around build+test may need to change.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)