summaryrefslogtreecommitdiffstats
path: root/specs/spf-2.0/metadata.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'specs/spf-2.0/metadata.mdwn')
-rw-r--r--specs/spf-2.0/metadata.mdwn110
1 files changed, 110 insertions, 0 deletions
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
+`<binpkg>.pkg/platconf` file.
+
+Source packages with a `platconf` file, a `<binpkg>.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:
+
+ <pkgver>[+sip<siprev>][-<pkgrev>][+<dist>-<distrev>]
+
+`<pkgver>` 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<siprev>` must be
+appended to `<pkgver>`. `<siprev>` is a number that should be incremented on
+each repack while `<pkgver>` 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]*`.)
+
+`<pkgrev>` 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 `<pkgver>` and `<siprev>` 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 `+<dist>-<distrev>` must be appended to the end of the version
+identifier. `<dist>` 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]+`.)
+`<distrev>` is a number that should be incremented on each upload to `<dist>`
+while `<pkgver>`, `<siprev>`, and `<pkgrev>` remain constant. It should be
+reset to `1` for the first upload to `<dist>` 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]*`.)