From cb44dbe27f3366f7c019d2f2e26b8e9579fa265f Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Mon, 13 Aug 2012 22:19:11 -0400 Subject: Finish moving SPF 2.0 into a book. Omitted (at least temporarily) are "Packaging Recommendations" and "Example Files". --- (limited to 'specs/spf-2.0/metadata.mdwn') diff --git a/specs/spf-2.0/metadata.mdwn b/specs/spf-2.0/metadata.mdwn new file mode 100644 index 0000000..f5b08bd --- /dev/null +++ b/specs/spf-2.0/metadata.mdwn @@ -0,0 +1,110 @@ +Control Files [control] +======================= + +TODO + + +Change Log [changelog] +====================== + +Changes made to the source package should be explained in the file `changelog`. + +Each new package revision must be documented with an entry of the following +format: + + package (version) distributions + [zero or more blank lines] + * change details + [zero or more blank lines] + * more change details + more detailed change details + [zero or more blank lines] + -- maintainer date + +`package` is the source package name. Source package names may only consist of +lowercase Latin letters, digits, plus and minus signs, and periods. Names must +be at least two characters long and must start with either a letter or a digit. +(A regular expression for this is `[a-z0-9][a-z0-9+.-]+`.) + +`version` is the source package version. See $[sectlink][src-ver] for the +syntax of source package version identifiers. + +`distributions` is a list of distributions into which the package should be +installed when uploaded to the package archive. The list consists of one or +more distribution names, separated by spaces. + +`maintainer` is the name and e-mail address of the package maintainer. This +field must follow the syntax of the `mailbox` symbol of RFC 5322 section 3.4. + +`date` is the date of packaging. This field must follow the syntax of the +`date-time` symbol of RFC 5322 section 3.3. + + +Platform Configuration File Lists [platconf] +============================================ + +Platform-specific configuration files used by the source package at build time +shall be listed in the `platconf` file. Platform-specific configuration files +used by the binary package(s) at run time shall be listed in the +`.pkg/platconf` file. + +Source packages with a `platconf` file, a `.pkg/platconf` file, or both +shall list in their build-time dependencies a package (real or virtual) that +provides the listed platform-specific configuration files. + +Each configuration file must be described with an entry of the following format: + + source destination + +`source` is the path to the file, relative to the platform configuration +directory -- either `/usr/share/config/PLATFORM/PACKAGE-VERSION` or +`/usr/share/config/PLATFORM/PACKAGE`, where `PLATFORM` is the architecture +string denoting an application platform, `PACKAGE` is the name of the +configurable source package, and `VERSION` is the upstream version of the +configurable source package. + +`destination` is the path (file or directory) to which the file should be +copied. For a file used at build time, it is a path relative to the package +building work area. For a file used at run time, it is an absolute path in the +user's filesystem hierarchy. + + +Source Package Version Identifier [src-ver] +=========================================== + +In general, the syntax of source package version identifiers is: + + [+sip][-][+-] + +`` is the version of the original upstream package or the native +package. It may only consist of lowercase Latin letters, digits, periods, and +tildes. It must be at least one character long. (A regular expression for this +is `[0-9a-z.~]+`.) + +If the upstream source archive needs to be repacked with certain changes for +compliance with the Software Inclusion Policy, the string `+sip` must be +appended to ``. `` is a number that should be incremented on +each repack while `` remains constant. It should be reset to `1` for +the first repack of a new upstream source archive. It must be a string of one +or more digits, the first of which must be greater than or equal to `1`. (A +regular expression for this is `[1-9][0-9]*`.) + +`` is the version of the distribution packaging. It is optional and +should be omitted for native packages. It should be incremented on each +revision of packaging while `` and `` remain constant. It +should be reset to `1` for the first revision of packaging for a new upstream +package version or source archive repack. It must be a string of one or more +digits, the first of which must be greater than or equal to `1`. (A regular +expression for this is `[1-9][0-9]*`.) + +If the package is to be installed into a distribution other than `trunk`, the +string `+-` must be appended to the end of the version +identifier. `` is the distribution into which the package is to be +installed, may only consist of lowercase Latin letters and digits, and must be +at least one character long. (A regular expression for this is `[a-z0-9]+`.) +`` is a number that should be incremented on each upload to `` +while ``, ``, and `` remain constant. It should be +reset to `1` for the first upload to `` of a new upstream package version, +source archive repack, or distribution packaging revision. It must be a string +of one or more digits, the first of which must be greater than or equal to `1`. +(A regular expression for this is `[1-9][0-9]*`.) -- cgit v0.9.1