Brian Cameron wrote:
>
> Mark:
>
>> If these files are to become first class citizens, just like a .h 
>> file or a .so,
>
> Since the pkg-config interfaces are already Committed, I'd think they
> are already first-class citizens.
I stand corrected then.
>
>> should we at least have something describing them, and how to use them?
>
> Do you find the pkg-config manpage incomplete?
Nope, just not available to me.  I also missed it the first time I 
looked for it (I can't exactly grep on sac.eng).  I've just found that 
there's a spreadsheet of all cases available in the root that lists at 
least the case name.  I'm filing in the blanks now, and realizing the 
history gap I had was that pkg-config has been in use for a while, 
especially by the desktop team (and presumably others).  ".pc" files are 
as common as dandelions, and I'm just late to the party. 
>
>> Just like with jar files, it seems a bit short sited to just let 
>> these artifacts be delivered without any attempt to define  both 
>> production and consumption in view of stability.
>
> The external FOSS community seems to be managing them pretty well.  I
> have never heard of any problems, nor am I aware of any stability issues
> the Desktop team has encountered in the many years we have delivered
> the bulk of the .pc files you find on Solaris.  Do you have an example
> of a specific issue that you are concerned about?
Nope, just noted an admonishment somewhere on the pkg-config site about 
how the file format had changed.  I didn't note when, and I certainly 
have no idea about how much of an impact that might have been. 
>
>> In this particular case we've pretty much marked the whole shooting 
>> match as volatile, so it's probably moot, I admit.
>
> Really .pc files should probably be listed as Uncommitted.  Listing it
> as Volatile doesn't really make sense, and doesn't reflect how they are
> used.  The interfaces of a .pc file, the filename used for a given
> module, and the file location are not Volatile.
>
>> I don't want to get into a "not this case" position, so I'll only 
>> suggest to the team to slap a version number in the .pc file name 
>> (now and in the future) and conclude my comments on this case.
>
> This would be inappropriate.  Other modules refer to the .pc files by
> filename.  So, changing the filename would break any module which
> depends on this interface.
>
> If this library is intended to be parallel-installable, then a version
> number may be appropriate to include in the filename.  However, this
> change should be done at the source upstream, and not a change made by
> a specific distro.  Changing the filename breaks how it works.  As I
> say above, if you want to install multiple versions of the same .pc
> file, you do this by installing them to separate directories, not by
> changing the filename.
Fine, I see -- especially with Danek D. and Alan C. also chiming in 
elsewhere on this thread.  I'll withdraw the suggestion and my comments 
as this is clearly autotool+pkg-configuration fu I do not possess.  
Heck, after a recent trip down memory lane a few weeks ago with a small 
C project, I should probably just keep my nose out of anything that 
doesn't require dynamic typing or a virtual machine anyway.

I'm still struggling with the knowledge that the upstream plans to 
migrate to a new major version any moment now, and we /seem/ to be 
acting here as if this is some sort of evolving, non-standard interface 
and we've no plans of multi-version co-existence (volatile vs. 
uncommitted).  But the team's worked it out and I can live with that.  
At least as far as the .pc file versioning is concerned -- that's the 
upstream's problem anyway. 

Moving along, I've done my damage.

Reply via email to