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