Next: The INDEX file, Up: Creating Packages
The DESCRIPTION file contains various information about the
package, such as it's name, author, and version. This file has a very
simple format
# are comments.
NameOfOption: ValueOfOption.
The following is a simple example of a DESCRIPTION file
Name: The name of my package
Version: 1.0.0
Date: 2007-18-04
Author: The name (and possibly email) of the package author.
Maintainer: The name (and possibly email) of the current
package maintainer.
Title: The title of the package
Description: A short description of the package. If this
description gets too long for one line it can continue
on the next by adding a space to the beginning of the
following lines.
License: GPL version 3 or later
The package manager currently recognizes the following keywords
NameVersionDateAuthorMaintainerTitleDescriptionCategoriesINDEX file is
given this is mandatory).
ProblemsUrlAutoloadyes, true or on, then Octave will
automatically load the package when starting. Otherwise the package
must be manually loaded with the pkg load command. This default
behavior can be overridden when the package is installed.
DependsDepends: package (>= 1.0.0)
Possible operators are <, <=, ==, >= or
>. If the part of the dependency in () is missing, any
version of the package is acceptable. Multiple dependencies can be
defined either as a comma separated list or on separate Depends
lines.
LicenseCOPYING is mandatory.
SystemRequirementsDepends keyword.
BuildRequiresDepends keyword. Note that in general, packaging systems such
as rpm or deb and autoprobe the install dependencies
from the build dependencies, and therefore the often a
BuildRequires dependency removes the need for a
SystemRequirements dependency.
The developer is free to add additional arguments to the
DESCRIPTION file for their own purposes. One further detail to
aid the packager is that the SystemRequirements and
BuildRequires keywords can have distribution dependent section,
and the automatic build process will use these. An example of the
format of this is
BuildRequires: libtermcap-devel [Mandriva] libtermcap2-devel
where the first package name will be used as a default and if the RPMs are built on a Mandriva distribution, then the second package name will be used instead.