Building Candlepin in Brew using Mead

Mike Bonnet mikeb at redhat.com
Fri May 28 17:49:39 UTC 2010


On 05/28/2010 01:10 PM, Jesus M. Rodriguez wrote:
> On 05/13/2010 05:58 PM, Adam Young wrote:
>> Mike Bonnet was good enough to spend a couple of hours with me getting 
>> me up to speed on what he is doing with Mead.  The short of it is that 
>> he has a middle grouind between mavne repository fetching and JPackage 
>> for building Maven based projects.
> 
>> In order to take advantage of it, we have one of two choices.
> 
>> 1.  Move Candlepin over to maven
>> 2.  Help him get Mead able to use buildr.
> 
>> Note that this would produce a usable build without having to use all of 
>> the MySpec RPMS I built.  We could selectively use them if we desire.
> 
> Mike and/or Adam, so how does this actually work? Are there writeups
> on MEAD? How is it different from a regular rpm build?

The best write-up on MEAD at a high level is in a proposal to use it in
Fedora (note this hasn't really been discussed with a wide audience yet):

http://fedoraproject.org/wiki/KojiMavenSupport

>> I like option 2, although I might not be able to see it through.  In 
>> order to do this, we have to close the loop on buildr doing local 
>> repository builds.  As I can see it this means modifying the -r  
>> localbuild option such that, once the localbuild script has modified the 
>> remote and local repository values, they can no longer be modified by 
>> the buildfile.  I think I can make this happen, I'll let you know.  It 
>> might take an additional patch to buildr.
> 
> Adam, is there anything left to do with localbuild? I see there's
> one in the candlepin repo.
> 
>> We also need to hack the emma code inside of buildr to not try and 
>> download emma from a remote repository.
> 
> Adam, is this change still necessary?
> 
>> Once that is done, Mike needs to provide an extension to the command 
>> line interface to brew: something like brew-buildr, and then modify how 
>> that calls brew such that it knows to do a buildr -r localbuild type 
>> build.  The localbuild file will be something that he controls as part 
>> of the mead/brew system, and that will manage the repos used to build 
>> candlepin.
> 
> So why does there need to be a brew-buildr? Doesn't the specfile
> control what build command gets called?

The top-level entry-point to a MEAD build is a Maven pom.xml file.
buildr has a different entry point, so MEAD would need to be modified to
understand and use that.

Note that buildr support is *way* down on my priority list, and I
haven't even discussed with the rest of RCM is buildr is a tool we
want/need to support directly in Brew/MEAD.  The better alternative in
my view is getting Candlepin to use Maven instead of buildr.



More information about the candlepin mailing list