summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-01-18 22:10:48 (EST)
committer P. J. McDermott <pjm@nac.net>2012-01-18 22:10:48 (EST)
commit9607e1b0ede9888ea99f9d9bd2937c464ad131c0 (patch)
tree27ffb7c2d0a3f15c7a40f35e3de66c90a2ac09de
parent2172a7f5440c7b7a5ca1713b5a9ae86bd05e2713 (diff)
Specify the control file fields.
-rw-r--r--source-package-format-1.0.txt68
1 files changed, 58 insertions, 10 deletions
diff --git a/source-package-format-1.0.txt b/source-package-format-1.0.txt
index f688270..aa12f98 100644
--- a/source-package-format-1.0.txt
+++ b/source-package-format-1.0.txt
@@ -22,8 +22,8 @@ to change. Comments and revisions are welcome.
TODO
----
-
- - Design a way to support package configurations.
+ * Finish describing binary package control fields.
+ * Describe the control file format.
BACKGROUND
@@ -117,19 +117,67 @@ and metadata related to binary packages are organized into directories.
Package sources (for native packages).
+CONTROL FILE FORMAT
+===================
+
+See documentation on Debian packaging.
+
+
BINARY PACKAGE METADATA
=======================
-Refer to documentation for dpkg and opkg.
+The fields in the binary package metadata are:
+ * Package (required)
+ The name of the binary package. Binary 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.
+ * Architecture (required)
+ The names of the architectures for which this package is built. The list of
+ names may consist of values selected from the following:
+ - A four-tuple binary architecture name to specify that the package can be
+ built for the binary architecture and any application platform.
+ - An application platform architecture name to specify that the package
+ can be built for the application platform and its associated binary
+ architecture.
+ Alternatively, the list may consist solely of one of the following values:
+ - The string "all" to specify that the package can be built on any binary
+ architecture and any application platform and can then be installed on
+ binary architectures and/or application platforms other than those on
+ which it is built.
+ - The string "any" to specify that the package cen be built for any binary
+ architecture and any application platform.
+ * Essential (optional)
+ A flag to indicate whether the package is essential for the functioning of a
+ system on which it is installed. If this field is set to "yes", opkg will
+ refuse to remove the package except when upgrading it. If this field is set
+ to any other value or is omitted, the package may be removed by a user.
+ * Depends (optional)
+ * Recommends (optional)
+ * Suggests (optional)
+ * Pre-Depends (optional)
+ * Conflicts (optional)
+ * Provides (optional)
+ * Replaces (optional)
+ * Description (required)
SOURCE PACKAGE METADATA
=======================
-The format of the source package metadata is to be determined. It should
-resemble either Debian package control file syntax or OpenBricks package
-metadata file (shell script) syntax.
-
-Metadata will include information necessary to maintain the source package and
-build the binary package(s). Fields will include the upstream source, build
-dependencies, and maintainer contact information.
+The fields in the source package metadata are:
+ * Source (required)
+ The name of the source package. 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.
+ * Maintainer (required)
+ The name and e-mail address of the package maintainer. This field must
+ follow the syntax of the "mailbox" symbol in RFC 822 section 6.1.
+ * Build-Depends (optional)
+ A list of packages that must be installed before the package can be built.
+ * Homepage
+ The URL of the Web site for the package. Accessible at this site should be
+ origin source code and documentation and/or information. Though the
+ information in this field is machine-usable, the URL must not be surrounded
+ by angle brackets or any other characters.