Depending on external libraries

Egbert Eich release-wranglers@freedesktop.org
Thu Mar 11 12:24:16 PST 2004


Keith Packard writes:
 > 
 > Around 17 o'clock on Mar 10, "Kendall Bennett" wrote:
 > 
 > > But for some poor schmo who loves X and just wants to get his feet wet
 > > building the latest code from X.org or whatever, it can be a really serious
 > > problem if the code won't build or even work if that developer has outdated
 > > libraries.
 > 
 > The correct solution here is a meta build-tool like jhbuild which ensures 
 > that the correct dependent versions of each service is built by fetching 
 > bits directly from upstream during the build process.

This may be a feasable way, also I find the idea to have a tool that
automagically pulls sources of SW from the internet without me explicitely
saying so a little bit scary.

 > 
 > We've got that working for the modular build and it's really quite usable; 
 > far better than accidentally installing ancient stale garbage into your 
 > system and wondering why your fonts are completely screwed up.

This only happens because the monolithic build has the wrong
'convenience default', namely to use the libs in extra/ unless
explicitely told not to.

 > 
 > If you accept that we plan to move to the modular environment for the 
 > majority of development, then starting now by eliminating pieces which can 
 > easily be built independently will only help make that migration easier 
 > and less painful.

Well, for this to work painlessly and the way it is intended the 
autotooled build system needs some polishing.

 > 
 > Whether we should create a jhbuild configuration for the monolithic tree 
 > and its dependencies is another issue; it would be trivial and perhaps 
 > would help poor schmos...

If we employ a notion of 'external' and 'internal' dependencies
('internal' means dependencies which we have control over),
document the external ones well and keep the internal ones simple
jhbuild may be a huge overhead. Most people probably want to get
'everything' that we provide internally for bootstrapping and just
updated pieces to fix problems. 

Egbert.




More information about the release-wranglers mailing list