The fields in the source package metadata are:
Maintainer
(required)
The name and e-mail address of the package maintainer. This field must follow the syntax of the mailbox
symbol in RFC 5322 section 3.4.
Build-Depends
(optional)
A list of packages that must be installed before the package can be built.
See § 5.3 for the syntax of this field.
Variable substitutions are performed on the value of this field.
Homepage
(optional)
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.
The fields in the binary package metadata are:
Architecture
(required)
A list of architectures for which this package may be built. The value may be any one of the following:
all
to specify that all of the provided files are architecture-independent;any
to specify that at least some of the provided files are architecture-dependent; orA "wildcard" binary architecture string is one in which one or two components (called "wildcard components") is the string any
. It shall be considered to match any real binary architecture string for which the non-wildcard components are equal.
Platform
(required)
A list of platforms for which this package may be built. The value may be any one of the following:
all
to specify that all of the provided files are platform-independent;any
to specify that at least some of the provided files are platform-dependent; orSection
(optional, may be required in a future version of this Source Package Format)
The name of the section in the package archive into which this package is to be installed. Packages with a Section
field must provide only files related to the specified section. The value may be any one of the following:
boot
for packages containing only boot loaders, kernel images, and device firmware;dbg
for architecture-dependent packages containing only debugging symbols;dev
for platform-independent packages containing only utilities used to build other packages, such as distribution package build utilities, compilers, and utilities that configure compiler and linker flags;doc
for architecture-independent platform-independent packages containing only manual pages and other upstream documentation files;lib
for architecture-dependent packages containing only shared libraries and object files;libdev
for architecture-dependent packages containing only header files, unversioned library symbolic links used when linking, and configuration files and architecture-independent utilities that configure compiler and linker flags;locale
for architecture-independent platform-independent packages containing only locale files;share
for architecture-independent packages containing only data; andutil
for packages containing only executable files, such as utilities and binaries run by other programs.No packages may declare any relationships (via Depends
, Recommends
, etc.) with packages in sections dbg
, doc
, or locale
. Only packages in section boot
may declare relationships on other packages in the same section. Only binary packages in section dev
and source packages (via Build-Depends
) may declare relationships with packages in sections dev
and libdev
. These restrictions allow feed lists for sections boot
, dbg
, dev
, doc
, libdev
, and locale
to be excluded from systems that don't need the packages they contain. That is, only sections lib
, share
, and util
are available on all systems, and additionally sections dev
and libdev
are available when building packages.
All packages in section lib
must allow coinstallation of packages of the same name and different architectures. Specifically, all non-directory files must have architecture-qualified paths.
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)
A list of packages that must be installed and configured before the package may itself be configured.
See § 5.3 for the syntax of this field.
Variable substitutions are performed on the value of this field.
Recommends
(optional)
See § 5.3 for the syntax of this field.
Variable substitutions are performed on the value of this field.
Suggests
(optional)
See § 5.3 for the syntax of this field.
Variable substitutions are performed on the value of this field.
Pre-Depends
(optional)
See § 5.3 for the syntax of this field.
A list of packages that must be installed before the package may itself be installed.
Variable substitutions are performed on the value of this field.
Conflicts
(optional)
See § 5.3 for the syntax of this field.
Variable substitutions are performed on the value of this field.
Provides
(optional)
See § 5.3 for the syntax of this field.
Variable substitutions are performed on the value of this field.
Replaces
(optional)
See § 5.3 for the syntax of this field.
Variable substitutions are performed on the value of this field.
Description
(required)
A description of the binary package. This is a multiline field. The first line is a short synopsis, and all following lines are an extended description.
Variable substitutions are performed on the value of this field.
TODO