Spec File Reference
Tags
Name:
is used to define the name of the software being packaged.Version:
defines the version of the software being packaged.Release:
can be thought of as the package’s version.%description
describe the packages intended use.Summary:
is used to define a one-line description of the packaged software.Copyright:
is used to define the copyright terms applicable to the software being packaged.Distribution:
is used to define a group of packages, of which this package is a part.Icon:
is used to name a file containing an icon representing the packaged software.Vendor:
is used to define the name of the entity that is responsible for packaging the software.URL:
is used to define a URL that can be used to obtain additional information about the packaged software.Group:
is used to group packages together by the types of functionality they provide.Packager:
is used to hold the name and contact information for the person or persons who built the package.Requires:
is used to alert RPM to the fact that the package needs to have certain capabilities available in order to operate properly.Serial:
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.Conflicts:
is used to alert RPM to the fact that the package is not compatible with other packages.AutoReqProv:
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
ExcludeArch:
is used to direct RPM to ensure that the package does not attempt to build on the excluded architecture(s).ExclusiveArch:
is used to direct RPM to ensure the package is only built on the specified architecture(s).ExcludeOs:
is used to direct RPM to ensure that the package does not attempt to build on the excluded operating system(s).ExclusiveOs:
is used to denote which operating system(s) should only be be permitted to build the package.Prefix:
is used to define part of the path RPM will use when installing the package’s files.BuildArch:
is used to define the architecture of the intended install target.BuildRoot:
is used to define an alternate build root, where the software will be installed during the build process.Source:
is used to define the filename of the sources to be packaged.NoSource:
is used to alert RPM to the fact that one or more source files should be excluded from the source package file.Patch:
is used to define the name of a patch file to be applied to the package’s sources.NoPatch:
is used to alert RPM to the fact that one or more patch files should be excluded from the source package file.%files
list indicates to RPM which files on the build system are to be packaged.
Scripts
%prep
is executed first during an rpm build (creating an rpm).%build
is the second scriptlet executed during an rpm build.%install
does whatever is necessary to actually install the newly built software.%clean
as the name implies, is used to clean up the software’s build directory tree.%pre
executes just before the package is to be installed.%post
executes after the package has been installed.%preun
executes just before the package is to be erased.%postun
executes after the package has been erased.%verifyscript
executes whenever the installed package is verified by RPM’s verification command.
Macros
%setup
is used to unpack the original sources, in preparation for the build.%patch
as its name implies, is used to apply patches to the unpacked sources.
File-related Directives
%doc
flags the filename(s) that follow, as being documentation.%config
is used to flag the specified file as being a configuration file.%attr
permits finer control over three key file attributes: mode, uid, gid%verify
can control which of 9 file attributes are to be checked when an RPM verification is done.%docdir
is used to add a directory to the list of directories that will contain documentation.%dir
RPM will package only the directory itself.%package
is used to permit the creation of more than one package per spec file and can appear at any point in the spec file.
Conditionals
%ifarch
is used to begin a section of the spec file that is architecture-specific.%ifnarch
is used in a similar fashion to%ifarch
, except that the logic is reversed.%ifos
is used to control RPM’s spec file processing based on the build system’s operating system.%ifnos
is the logical complement to%ifos
%else
is placed between a%if
conditional of some persuasion, and a%endif
.%endif
is used to end a conditional block of spec file statements.
转载于:https://my.oschina.net/u/158589/blog/76553
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110329.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...