How to integrate this with skeletons

Skeletons represent a dependency, but not the software (or the package) itself. Skeletons are used to:

Skeletons root names are the same as the specfiles, but without the software version number and the package number. It's an unversioned root name Example: @gtk.org/gtk

Skeletons have a Test section, which should set SOFTWARE_VERSIONS and must set INTERFACE_VERSIONS

SOFTWARE_VERSIONS

This is a space separated list of versions of the software, if detectable.

INTERFACE_VERSIONS

This is a space separated list of the interfaces of the software

The reason there can be more than one is so skeletons can detect parallel installs. If no versions were detected, these variables should not be changed from their initial values.

Example

                    
[Meta]
RootName: @xiph.org/libvorbis
DisplayName: Vorbis audio codec
ShortName: libvorbis
Skeleton-Author: Hongli Lai <h.lai@chello.nl>
Skeleton-Version: 1

[Notes]
This skeleton does not set SOFTWARE_VERSIONS
Interface versions start at 0.

[Test]
INTERFACE_VERSIONS=`testForLib -i libvorbis.so`

The format is very similar to the specfile format. Some metadata is provided, and then a few sections most of which are optional. The Test section is required, but by relying on the API functions provided can be made extremely simple. In this case, the testForLib function is used. The -i switch to testForLib() simply makes it output interface versions as opposed to the A.B.C triples normally given.

The Notes section is a freeform text area. It's not used or parsed by autopackage, and should be used to describe quirks of how the skeleton works to the package developer. Most skeletons should follow a standard interface, however there is some leeway in how this is implemented - for instance there are no hard guarantees of how interface versions are allocated short of them being A.B pairs. It's typical for skeletons to not set SOFTWARE_VERSIONS for instance, especially in the case of simple libraries where the interface version is the software version. If that is true then it should be noted here.