From 219f64a7f9b2840747f4077c304f141c8afede77 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Wed, 18 Jan 2012 22:10:48 -0500 Subject: Specify the control file fields. --- 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. -- cgit v0.9.1