next up previous contents index
Next: Scripts Up: Concise Spec File Reference Previous: Comments   Contents   Index

Subsections

The Preamble

Package Naming Tags

The name Tag

The name tag is used to define the name of the software being packaged.

Name: cdplayer

See also: Section [*], page [*]

The version Tag

The version tag defines the version of the software being packaged.

Version: 1.2

See also: Section [*], page [*]

The release Tag

The release tag can be thought of as the package's version.

Release: 5

See also: Section [*], page [*]

Descriptive Tags

The %description Tag

The %description tag is used to define an in-depth description of the packaged software. In the descriptive text, a space in the first column indicates that that line of text should be presented to user as-is, with no formatting done by RPM. Blank lines in the descriptive text denote paragraphs.

%description
 It slices!
 It dices!
 It's a CD player app that can't be beat.

By using the resonant frequency of the CD itself, it is able to simulate
20X oversampling.  This leads to sound quality that cannot be equaled with
more mundane software...

The %description tag can be made specific to a particular subpackage by adding the subpackage name, and optionally, the -n option:

%description bar

%description -n bar

The subpackage name and usage of the -n option must match those defined with the %package directive.

See also: Section [*], page [*]

The summary Tag

The summary tag is used to define a one-line description of the packaged software.

Summary: A CD player app that rocks!

See also: Section [*], page [*]

The copyright Tag

The copyright tag is used to define the copyright terms applicable to the software being packaged.

Copyright: GPL

See also: Section [*], page [*]

The distribution Tag

The distribution tag is used to define a group of packages, of which this package is a part.

Distribution: Doors '95

See also: Section [*], page [*]

The icon Tag

The icon tag is used to name a file containing an icon representing the packaged software. The file may be in either GIF or XPM format, although XPM is preferred. In either case, the background of the icon should be transparent.

Icon: foo.xpm

See also: Section [*], page [*]

The vendor Tag

The vendor tag is used to define the name of the entity that is responsible for packaging the software.

Vendor: White Socks Software, Inc.

See also: Section [*], page [*]

The url Tag

The url tag is used to define a Uniform Resource Locator that can be used to obtain additional information about the packaged software.

URL: http://www.gnomovision.com/cdplayer.html

See also: Section [*], page [*]

The group Tag

The group tag is used to group packages together by the types of functionality they provide.

Group: Applications/Editors

See also: Section [*], page [*]

The packager Tag

The packager tag is used to hold the name and contact information for the person or persons who built the package.

Packager: Fred Foonly <fred@gnomovision.com>

See also: Section [*], page [*]

Dependency Tags

The provides Tag

The provides tag is used to specify a ``virtual package'' that the packaged software makes available when it is installed.

Provides: module-info

See also: Section [*], page [*]

The requires Tag

The requires tag is used to alert RPM to the fact that the package needs to have certain capabilities available in order to operate properly.

Requires: playmidi

A version may be specified, following the package specification. The following comparison operators may be placed between the package and version:

<, >, =, >=, or <=

Requires: playmidi >= 2.3

If the Requires tag needs to perform a comparison against a serial numbered defined with the serial tag, then the proper format would be:

Requires: playmidi =S 4

See also: Section [*], page [*]

The serial Tag

The serial tag is used to define a serial number for a package. This is only necessary if RPM is unable to determine the ordering of a package's version numbers.

Serial: 4

See also: Section [*], page [*]

The conflicts Tag

The conflicts tag is used to alert RPM to the fact that the package is not compatible with other packages.

Conflicts: playmidi

A version may be specified, following the package specification. The following comparison operators may be placed between the package and version:

<, >, =, >=, or <=

Conflicts: playmidi >= 2.3

If the conflicts tag needs to perform a comparison against a serial numbered defined with the serial tag, then the proper format would be:

Conflicts: playmidi =S 4

See also: Section [*], page [*]

The autoreqprov Tag

The autoreqprov tag is used to control the automatic dependency processing performed when the package is being built. To disable automatic dependency processing, add the following line:

AutoReqProv: no

(The number 0 may be used instead of no) Although RPM defaults to performing automatic dependency processing, the effect of the autoreqprov tag can be reversed by changing no to yes. (The number 1 may be used instead of yes)

See also: Section [*], page [*]

Architecture- and Operating System-Specific Tags

The excludearch Tag

The excludearch tag is used to direct RPM to ensure that the package does not attempt to build on the excluded architecture(s).

ExcludeArch: sparc alpha

See also: Section [*], page [*]

The exclusivearch Tag

The exclusivearch tag is used to direct RPM to ensure the package is only built on the specified architecture(s).

ExclusiveArch: sparc alpha

See also: Section [*], page [*]

The excludeos Tag

The excludeos tag is used to direct RPM to ensure that the package does not attempt to build on the excluded operating system(s).

ExcludeOS: linux irix

See also: Section [*], page [*]

The exclusiveos Tag

The exclusiveos tag is used to denote which operating system(s) should only be be permitted to build the package.

ExclusiveOS: linux

See also: Section [*], page [*]

Directory-related Tags

The prefix Tag

The prefix tag is used to define part of the path RPM will use when installing the package's files. The prefix can be redefined by the user when the package is installed, thereby changing where the package is installed.

Prefix: /opt

See also: Section [*], page [*]

The buildroot Tag

The buildroot tag is used to define an alternate build root, where the software will be installed during the build process.

BuildRoot: /tmp/cdplayer

See also: Section [*], page [*]

Source and Patch Tags

The source Tag

The source tag is used to define the filename of the sources to be packaged. When there is more than one source tag in a spec file, each one must be numbered so they are unique, starting with the number 0. When there is only one tag, it does not need to be numbered.

By convention, the source filename is usually preceded by a URL pointing to the location of the original sources, but RPM does not require this.

Source0: ftp://ftp.gnomovision.com/pub/cdplayer-1.0.tgz
Source1: foo.tgz

See also: Section [*], page [*]

The nosource Tag

The nosource tag is used to alert RPM to the fact that one or more source files should be excluded from the source package file. The tag is followed by one or more numbers. The numbers correspond to the numbers following the source tags that are to be excluded from packaging.

NoSource: 0, 3

See also: Section [*], page [*]

The patch Tag

The patch tag is used to define the name of a patch file to be applied to the package's sources. When there is more than one patch tag in a spec file, each one must be numbered so they are unique, starting with the number 0. When there is only one tag, it does not need to be numbered.

Patch: cdp-0.33-fsstnd.patch

See also: Section [*], page [*]

The nopatch Tag

The nopatch tag is used to alert RPM to the fact that one or more patch files should be excluded from the source package file. The tag is followed by one or more numbers. The numbers correspond to the numbers following the patch tags that are to be excluded from packaging.

NoPatch: 2 3

See also: Section [*], page [*]


next up previous contents index
Next: Scripts Up: Concise Spec File Reference Previous: Comments   Contents   Index
converted to HTML by Tim Riker