[csw-maintainers] .la discussion

Roger Håkansson hson at opencsw.org
Wed Feb 18 15:19:24 CET 2009


Philip Brown wrote:
> On Wed, Jan 28, 2009 at 11:25:46AM -0600, Chad Harp wrote:
>> Philip Brown wrote:
>>> "clean to outside":
>>>   make a list of all packages that have .la files, and graph em as
>>>   dependancies, and then start prodding the appropriate people
>>>   to repackage them starting at "leaf nodes" in the graph.
>>>
>>>   Note: It's no good just doing a one-time repackage. we need to make sure
>>>   that the maintainers build it "the next time" without .la files too.
>> Why not do both?  The "clean to us" would allow our maintainers to 
>> continue building their packages while we take care of the "clean to 
>> outside".
> 
> you kinda missed the point of "clean to outside".
> 
> If we are trying to remain "clean to outside", that means that "outside"
> people will be able to build easily on top of our published packages,
> without getting TOO messed up with .la missing linkages.
> 
> The only way that can happen, is if we rebuild packages in a deterministic
> manner, working from the "leaf nodes" inward.
> 
> If we just rm all the .la files, then we will effectively be clearing
> things for random package rebuilds, which will break the "clean to outside"
> paradigm".


Sorry for reviving an old discussion, but as a newbie maintainer I need 
to understand this...

What is the real problem with "cleaning the build-servers" (i.e 'rm
/opt/csw/lib/*.la')?

I understand that in a perfect world it would be best to rebuild "in a
deterministic manner", but the reality is that we already have some
packages have been rebuilt without .la-files which some other packages
depend on.

I've taken upon myself to rebuild a few number of packages(libexif,
librsvg, exiftools and imagemagick) and stumbled upon a bunch of
.la-files that are missing (and which are referenced in other
.la-files), even though I only have installed the dependency packages.

These are the ones missing on my build machine
libexpat.la
libfontconfig.la
libintl.la
libpopt.la
libxml2.la


Looking at the build farm, these are missing on build8s

/opt/csw/lib/libSDL.la
/opt/csw/lib/libcairo.la
/opt/csw/lib/libexpat.la
/opt/csw/lib/libfontconfig.la
/opt/csw/lib/libgd.la
/opt/csw/lib/libgpg-error.la
/opt/csw/lib/libpangocairo-1.0.la
/opt/csw/lib/libpopt.la
/opt/csw/lib/libpth.la
/opt/csw/lib/libsigc-1.2.la

This means that we already have a situation where the "clean to outside" 
approach is "half-dead".
And if we are to keep "clean to outside", all released packages, which 
currently have .la-files and where there are other packages depending on 
those, must keep being released without .la-files until all "leaf nodes" 
have been rebuilt without la.files.

So my final question is:

Am I to release packages with or without .la-files if there are packages 
depending on my packages and the "current" package have .la-files?
What real impact would it have if I delete all .la-files from 
/opt/csw/lib before I build my package (which I must do, or at least 
edit the .la-files and change from /opt/csw/lib/libXXX.la to '-lXXX', in 
order to build imagemagick due to several nonexistant .la-files) ?



More information about the maintainers mailing list