Building Candlepin in Brew using Mead

Adam Young ayoung at redhat.com
Fri May 28 17:38:27 UTC 2010


On 05/28/2010 01:10 PM, Jesus M. Rodriguez wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> 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?
>    
Basically, mead is going to be a blessed way of running Brew, that will 
use a  "known good" set of binary Jars files for mavenized builds.  
Thus, the end prodcut won't be Fedora ready, but will be good for 
getting RH products based on Maven out the door in a supportable 
format.  THis is primarily to help the JBoss folks

>    
>> 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.
>    
localbuild is for the full Fedora approach.  So, in order to close the 
loop there, you need to be able to build completely using the JPackage 
repository.  Ideally, the localbuild setup would end up in the buildr 
rpm, with values that would come from the Spec file ie

buildr --jpackage compile

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

I think so.  Emma downloads from a different repo definition, and that 
would violate both the mead and the jpackage approaches.
>    
>> 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?
>    
mead is a modification to brew so that it knows about maven.  Thus, 
mead  would  need to be modified to know about buildr, although it would 
use much common code for both build systems.


> - -- 
> jesus m. rodriguez          | jesusr at redhat.com
> principal software engineer | irc: zeus
> red hat systems management  | 919.754.4413 (w)
> rhce # 805008586930012      | 919.623.0080 (c)
> +---------------------------------------------+
> |   "Those who cannot remember the past       |
> |    are condemned to repeat it."             |
> |                        -- George Santayana  |
> +---------------------------------------------+
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAkv/+O0ACgkQvJZ57YntiYOjcgCdEe5efy7AFwPUYwI1jIQFL0BF
> 7DkAni713DQq7ni25907JXYp/CbVr7p0
> =vC1p
> -----END PGP SIGNATURE-----
>    




More information about the candlepin mailing list