Spec current metadata syntax
Submitted by Dan Nicholson
Assigned to Dan Nicholson
pkg-config has a de-facto metadata syntax that it's held to for years now. This is well understood by people, but what exactly pkg-config will accept is not well documented. Furthermore, there are ways the metadata could be improved to add functionality, but changing the behavior would be really harmful since older versions wouldn't know how to cope with it. Here's a plan to deal with that:
A new optional field is added that declares what version of the pkg-config metadata syntax it uses. In the absence of this field, version 1 is assumed. My suggestion for the name is SpecVersion.
The currently accepted metadata is specified as version 1 so that .pc file writers know exactly pkg-config or any other program handling .pc files know what to write.
Release pkg-config-1.0 that covers version 1 of the metadata specification. After that, the metadata can be changed by bumping the spec version. .pc file writers can then opt-in to the newer syntax in a controlled way.
Michał Górny submitted a spec a while ago on the mailing list.
This document goes far beyond specifying the .pc metadata syntax. In particular, it specs the implementation details of the pkg-config program, which I don't think we want to get into. Still, it provides a solid starting point for a spec.