[Fedora-packaging] Pre-review Gudelines

Fernando Nasser fnasser at redhat.com
Fri May 8 23:32:40 UTC 2009


Toshio Kuratomi wrote:
> Deepak Bhole wrote:
>   
>> * Toshio Kuratomi <a.badger at gmail.com> [2009-05-08 18:45]:
>>     
>>> So from the discussion we had on IRC, I added a note that maven2 itself
>>> will need to bootstrap itself with binaries from its tarball.  But I
>>> looked on the maven2 website and saw that they suggest bootstrapping
>>> with ant and then rebuilding with the newly built maven2:
>>>
>>> http://maven.apache.org/guides/development/guide-building-m2.html
>>>
>>> Is there some reason that those instructions don't work now?
>>>
>>>       
>> We could use the ant build, but it offers no real advantage. The ant build 
>> still downloads the jars that we package in the tarball. There is no way
>> around those dependencies. While using ant may knock off a
>> very small subset of jars from the bootstrap tarball, it will vastly
>> increase maintenance as we would have to set it up so that each version
>> of each dependency is acquired from a local source.
>>
>>     
> Actually, it shouldn't.  The koji buildroot shouldn't have network
> access so it will just fail.
>
> What's in the jars that are being used to bootstrap?  It sounds as
> though it's not just maven itself?
>   
Toshio, Maven itself doesn't do anything, it just call things in a 
certain order than can be configured if you can't just use the default.
Everything is done by plugins, each with its independent lifecycle.  A 
small set comes with maven but others are extenal.  To build anything 
one needs many of those plugins, to build maven fully, most of them, so 
the set of packages in Deepak's list. 

You cannot build maven in full without all of those, and those packages 
do not build fully without a full maven and to make things worse these 
packages cannot be built without several of the others (and yes, there 
are circular dependencies).  We go building thought that list 3 times!

This is simple for the Apache folks as their build just grab binaries 
from the main maven repository and versions evolve daily by using 
SNAPSHOT releases, they never encounter the need to build using only a 
previous release set.  At the end of it day they move their latest stuff 
closer to the next release, incrementally (yes, a change in a plugin 
breaks others that have to adjust).

Regards,
Fernando





More information about the Fedora-packaging mailing list