Next Previous Contents

8. SLP-format Package Management System Reference Implementation

Details regarding the SLPv5a reference implementation shall be included subsequent to release of the reference implementation. These details will provide a functional overview of the operation of the reference implementation's tools and libraries. Additional insight useful to other SLPv5a implementors shall also be included within this section.

8.1 Reference Implementation

Documentation

All functions and commands shall be documented in standard formats (man pages, info pages, HTML and/or SGML) and shall be written in English (en_US). Translations of these documents to non-English languages may be pursued at a later date. A copy of the latest version of the SLPv5a specification shall be included within the suite distribution.

Language Support

GNU gettext shall be used for support of non-English languages in program messages. English shall be the language used for all comments located in the sources for this suite. All variables shall be based on English language words.

Packaging

Sources shall be made available in .tar.bz2 and .tar.gz formats.

Software Version Indicators

Software version shall be indicated using the standard GNU scheme: major.minor.sub

License

The reference implementation suite shall be released under a mixed license; the library shall be released under the GNU Library General Public License (v2.1 or above) and the programs shall be released under the GNU General Public License (v2.0 or above).

8.2 SLP library

Library Implementation

Both shared and static libraries shall be provided by the reference implementation. Public functions provided by these libraries shall be documented in common documentation formats (man page, info page, HTML, SGML).

slp.conf

A config file, slp.conf, shall be used to define the minimal set of information required for SLP handling: distribution ID, distribution release index, SLP information database format and SLP information database location. The location of this config file is specified at compile-time, though may be overridden through the use of the SLP_CONF_LOCATION variable.

Dependency handling

This section of the document is pending merge from internal sources.

Version comparison

This section of the document is pending merge from internal sources.

Field population

This section of the document is pending merge from internal sources.

SLP Information Storage

SLPv5a package information shall be stored in a text repository located based on a distribution's governing filesystem standard. Distributions with filesystem standards based on FHS2.1 (File Hierarchy Standard 2.1) shall store package data in /var/state/slp. This repository will consist of two files for each package installed on the system: a file containing SHA1 sums of each file originating from the package and a binary copy of the SLPv5a header from the package.

The SHA1 sums file will be named based on the software name, software version and package revision in the format:

SoftwareName-SoftwareVersion-PackageRevision.sha1
 

The archived copy of the SLPv5a header shall be named based on the software name, software version and package revision in the format:

SoftwareName-SoftwareVersion-PackageRevision.slph
 

A config file, slp.conf (typically residing in /etc), shall govern the location and format of the SLP information database. It is the responsibility of those creating alternate SLP database schemes to provide a mechanism for converting data to-and-from this format (as this is the reference implementation).


Next Previous Contents