doc/manual: various spelling corrections (jbj)
This commit is contained in:
parent
6fab850d5e
commit
f3ae56f2c7
@ -1,4 +1,4 @@
|
|||||||
/*! \page builddpendencies Generating buiild dependencies automatically
|
/*! \page builddependencies Generating build dependencies automatically
|
||||||
|
|
||||||
As we start updating packages for the next Red Hat distro, I'd like to see
|
As we start updating packages for the next Red Hat distro, I'd like to see
|
||||||
packages start to make use of build dependencies. Basically build
|
packages start to make use of build dependencies. Basically build
|
||||||
|
@ -13,7 +13,7 @@ Simply use
|
|||||||
Buildroot: <dir>
|
Buildroot: <dir>
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
in your spec file. The acutal buildroot used by RPM during the
|
in your spec file. The actual buildroot used by RPM during the
|
||||||
build will be available to you (and your %prep, %build, and %install
|
build will be available to you (and your %prep, %build, and %install
|
||||||
sections) as the environment variable RPM_BUILD_ROOT. You must
|
sections) as the environment variable RPM_BUILD_ROOT. You must
|
||||||
make sure that the files for the package are installed into the
|
make sure that the files for the package are installed into the
|
||||||
@ -86,7 +86,7 @@ and specified
|
|||||||
|
|
||||||
we would end up with the directory /usr/lib/perl5/site_perl being
|
we would end up with the directory /usr/lib/perl5/site_perl being
|
||||||
owned by the library package. This directory is in fact used by ALL
|
owned by the library package. This directory is in fact used by ALL
|
||||||
perl libriares and should be owned by the package for perl not any of
|
perl libraries and should be owned by the package for perl not any of
|
||||||
its libraries. It is important that the %files command specifies all
|
its libraries. It is important that the %files command specifies all
|
||||||
the known directories explicitly. So this would be preferable:
|
the known directories explicitly. So this would be preferable:
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ package is removed, RPM will try to remove each of the perl-MD5 files and
|
|||||||
then try to remove the dir itself. If there's still files in the
|
then try to remove the dir itself. If there's still files in the
|
||||||
site_perl directory (e.g. from other packages) then the Unix rmdir(2)
|
site_perl directory (e.g. from other packages) then the Unix rmdir(2)
|
||||||
will fail and you will get a non-zero return code from RPM. If the
|
will fail and you will get a non-zero return code from RPM. If the
|
||||||
rmdir succeds then you will no longer have a site_perl directory on
|
rmdir succeeds then you will no longer have a site_perl directory on
|
||||||
your machine even though this directory was created when Perl was
|
your machine even though this directory was created when Perl was
|
||||||
installed.
|
installed.
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ Explicit use of %files can help make the packager aware of potential
|
|||||||
problems before they happen. When you try to install a package which
|
problems before they happen. When you try to install a package which
|
||||||
contains file names already used by other packages on the system then
|
contains file names already used by other packages on the system then
|
||||||
RPM will warn you of the problem and give a fatal error. This error can
|
RPM will warn you of the problem and give a fatal error. This error can
|
||||||
be overriden with --force and the installed file will be replaced by the
|
be overridden with --force and the installed file will be replaced by the
|
||||||
new file and when the new package is removed the file will be removed as well.
|
new file and when the new package is removed the file will be removed as well.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/*! \page conditionalbulds Passing conditional parameters into a rpm build
|
/*! \page conditionalbuilds Passing conditional parameters into a rpm build
|
||||||
|
|
||||||
Source code is often built with optional features enabled or disabled.
|
Source code is often built with optional features enabled or disabled.
|
||||||
When source code is packaged using rpm, the various features can be
|
When source code is packaged using rpm, the various features can be
|
||||||
@ -48,7 +48,7 @@ So the spec file should be written
|
|||||||
%{?_with_ldap} \
|
%{?_with_ldap} \
|
||||||
...
|
...
|
||||||
\endverbatim
|
\endverbatim
|
||||||
so that, if "--with ldap" was used as a build option, then confgure
|
so that, if "--with ldap" was used as a build option, then configure
|
||||||
will be invoked (after macro expansion) as
|
will be invoked (after macro expansion) as
|
||||||
\verbatim
|
\verbatim
|
||||||
./configure --with-ldap ...
|
./configure --with-ldap ...
|
||||||
|
@ -51,7 +51,7 @@ specifies
|
|||||||
release=3
|
release=3
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
The epoch (if present) is a monotonically inceasing integer, neither the
|
The epoch (if present) is a monotonically increasing integer, neither the
|
||||||
version or the release can contain the '-' hyphen character, and the dependency
|
version or the release can contain the '-' hyphen character, and the dependency
|
||||||
parser does not permit white space within a definition. Unspecified epoch
|
parser does not permit white space within a definition. Unspecified epoch
|
||||||
and releases are assumed to be zero, and are interpreted as "providing all"
|
and releases are assumed to be zero, and are interpreted as "providing all"
|
||||||
@ -78,10 +78,10 @@ strcmp(3). First, the boundaries of the segments are found using
|
|||||||
isdigit(3)/isalpha(3). Each segment is then compared in order with the
|
isdigit(3)/isalpha(3). Each segment is then compared in order with the
|
||||||
right most segment being the least significant. The alphabetical
|
right most segment being the least significant. The alphabetical
|
||||||
portions are compared using a lexical graphical ascii ordering, the
|
portions are compared using a lexical graphical ascii ordering, the
|
||||||
digit segments strip leading zeroes's and compare the strlen before
|
digit segments strip leading zeroes and compare the strlen before
|
||||||
doing a strcmp. If both numerical strings are equal, the longer string
|
doing a strcmp. If both numerical strings are equal, the longer string
|
||||||
is larger. Notice that the algorithm has no knowledge of decimal fractions,
|
is larger. Notice that the algorithm has no knowledge of decimal fractions,
|
||||||
and perl-5.6 is "older" than perl-5.00503 because the number 6 si less than
|
and perl-5.6 is "older" than perl-5.00503 because the number 6 is less than
|
||||||
the number 503.
|
the number 503.
|
||||||
|
|
||||||
The concept of "newer" used by rpm to determine when a package should be
|
The concept of "newer" used by rpm to determine when a package should be
|
||||||
@ -172,9 +172,9 @@ to eliminate the need for most packages to use explicit Requires: lines.
|
|||||||
\subsection dependencies_custom Custom Automatic Dependency
|
\subsection dependencies_custom Custom Automatic Dependency
|
||||||
|
|
||||||
The automatic dependency programs are found via macro expansion. Thus
|
The automatic dependency programs are found via macro expansion. Thus
|
||||||
sites can very the amount of dependnecy processing that are performed
|
sites can very the amount of dependency processing that are performed
|
||||||
locally, by changing the executable/script which is run. Dependency
|
locally, by changing the executable/script which is run. Dependency
|
||||||
processing can even be changed on a per-package basis if the macros's are
|
processing can even be changed on a per-package basis if the macros are
|
||||||
defined in the spec file. To allow for maximum configurability the
|
defined in the spec file. To allow for maximum configurability the
|
||||||
dependency programs are shell scripts which can be duplicated and edited
|
dependency programs are shell scripts which can be duplicated and edited
|
||||||
for site specific needs.
|
for site specific needs.
|
||||||
@ -183,7 +183,7 @@ The macros: %__find_provides, %__find_prereq, %__find_requires,
|
|||||||
%__find_conflicts, %__find_obsoletes, if they exist, are expanded to
|
%__find_conflicts, %__find_obsoletes, if they exist, are expanded to
|
||||||
the name of a program to exec. For each package, the program receives
|
the name of a program to exec. For each package, the program receives
|
||||||
the glob'ed %files manifest on stdin and returns dependencies on stdout. The
|
the glob'ed %files manifest on stdin and returns dependencies on stdout. The
|
||||||
deiscovered dependencies are parsed exactly as if they were found after
|
discovered dependencies are parsed exactly as if they were found after
|
||||||
|
|
||||||
\verbatim
|
\verbatim
|
||||||
Provides:
|
Provides:
|
||||||
@ -210,11 +210,11 @@ which can be overridden (or even undefined) within a spec file.
|
|||||||
|
|
||||||
Modules for interpreted languages like perl and tcl impose additional
|
Modules for interpreted languages like perl and tcl impose additional
|
||||||
dependency requirements on packages. A script written for an interpreter
|
dependency requirements on packages. A script written for an interpreter
|
||||||
often requires language specfic modules to be installed in order to execute
|
often requires language specific modules to be installed in order to execute
|
||||||
correctly. In order to automatically detect langiage specific modules, each
|
correctly. In order to automatically detect language specific modules, each
|
||||||
interpreter may have its own find-provides and find-requires. To prevent
|
interpreter may have its own find-provides and find-requires. To prevent
|
||||||
module name collisions between interpreters, module names are enclosed within
|
module name collisions between interpreters, module names are enclosed within
|
||||||
parentheses and a conventional interpreter specific identifier is pre-pended:
|
parentheses and a conventional interpreter specific identifier is prepended:
|
||||||
|
|
||||||
|
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -225,7 +225,7 @@ parentheses and a conventional interpreter specific identifier is pre-pended:
|
|||||||
|
|
||||||
|
|
||||||
The output of a per-interpreter find-requires (notice in this example the
|
The output of a per-interpreter find-requires (notice in this example the
|
||||||
first requirement is a package and the rest are langague specific modules)
|
first requirement is a package and the rest are language specific modules)
|
||||||
|
|
||||||
\verbatim
|
\verbatim
|
||||||
Mail-Header >= 1.01
|
Mail-Header >= 1.01
|
||||||
@ -247,7 +247,7 @@ with appropriate per-interpreter hooks into
|
|||||||
/usr/lib/rpm/find-{provides,requires}
|
/usr/lib/rpm/find-{provides,requires}
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
@todo per-interpreter dependency generators are not located in subdiretories.
|
@todo per-interpreter dependency generators are not located in subdirectories.
|
||||||
|
|
||||||
Notice that shell dependencies will require that all %post et al scriptlets
|
Notice that shell dependencies will require that all %post et al scriptlets
|
||||||
be processed by the find-requires. Since a shell script depends on all the
|
be processed by the find-requires. Since a shell script depends on all the
|
||||||
@ -318,7 +318,7 @@ all, nor generate an error message.
|
|||||||
\subsection dependencies_branching Branching Version
|
\subsection dependencies_branching Branching Version
|
||||||
|
|
||||||
It is quite common to need to branch a set of sources in version
|
It is quite common to need to branch a set of sources in version
|
||||||
control. It is not so obvious how those branches should be repesented
|
control. It is not so obvious how those branches should be represented
|
||||||
in the package version numbers. Here is one solution.
|
in the package version numbers. Here is one solution.
|
||||||
|
|
||||||
You have a bag of features that are injected into a package in a
|
You have a bag of features that are injected into a package in a
|
||||||
@ -356,7 +356,7 @@ Another alternative scheme might be:
|
|||||||
|
|
||||||
\subsection dependencies_build Build dependencies
|
\subsection dependencies_build Build dependencies
|
||||||
|
|
||||||
The following dependencies are availible at build time. These are
|
The following dependencies are available at build time. These are
|
||||||
similar to the install time version but these apply only during
|
similar to the install time version but these apply only during
|
||||||
package creation and are specified in the specfile not in the binary
|
package creation and are specified in the specfile not in the binary
|
||||||
package.
|
package.
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
The header data structure has changed in rpm-4.0.[12] to preserve the
|
The header data structure has changed in rpm-4.0.[12] to preserve the
|
||||||
original header from a package. The goal is to keep the original
|
original header from a package. The goal is to keep the original
|
||||||
header intact so that metadata can be verified separately from the
|
header intact so that metadata can be verified separately from the
|
||||||
payload by the RHN up2date client and by the rpm commmand line verify
|
payload by the RHN up2date client and by the rpm command line verify
|
||||||
mode using signatures saved in the rpm database. I believe the change
|
mode using signatures saved in the rpm database. I believe the change
|
||||||
is entirely forward and backward compatible, and will not require
|
is entirely forward and backward compatible, and will not require
|
||||||
any artifacts like changing the version number of packaging or
|
any artifacts like changing the version number of packaging or
|
||||||
adding an "rpmlib(...)" tracking dependendency. We'll see ...
|
adding an "rpmlib(...)" tracking dependency. We'll see ...
|
||||||
|
|
||||||
Here's a short description of the change. An rpm header has three sections:
|
Here's a short description of the change. An rpm header has three sections:
|
||||||
\verbatim
|
\verbatim
|
||||||
|
@ -22,8 +22,8 @@ All whitespace surrounding <body> is removed. Name may be composed
|
|||||||
of alphanumeric characters, and the character `_' and must be at least
|
of alphanumeric characters, and the character `_' and must be at least
|
||||||
3 characters in length. A macro without an (opts) field is "simple" in that
|
3 characters in length. A macro without an (opts) field is "simple" in that
|
||||||
only recursive macro expansion is performed. A parameterized macro contains
|
only recursive macro expansion is performed. A parameterized macro contains
|
||||||
an (opts) field. The opts (i.e. string between parantheses) is passed
|
an (opts) field. The opts (i.e. string between parentheses) is passed
|
||||||
exactly as is to getopts(3) for argc/argv processing at the beginning of
|
exactly as is to getopt(3) for argc/argv processing at the beginning of
|
||||||
a macro invocation. While a parameterized macro is being expanded, the
|
a macro invocation. While a parameterized macro is being expanded, the
|
||||||
following shell-like macros are available:
|
following shell-like macros are available:
|
||||||
|
|
||||||
@ -167,7 +167,7 @@ This expands to:
|
|||||||
(echo -n "My arg is 5" ; sleep 5 ; echo done.)
|
(echo -n "My arg is 5" ; sleep 5 ; echo done.)
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
This will cause all occurances of %1 in the macro definition to be
|
This will cause all occurrences of %1 in the macro definition to be
|
||||||
replaced by the first argument to the macro, but only if the macro
|
replaced by the first argument to the macro, but only if the macro
|
||||||
is invoked as "%mymacro 5". Invoking as "%{mymacro} 5" will not work
|
is invoked as "%mymacro 5". Invoking as "%{mymacro} 5" will not work
|
||||||
as desired in this case.
|
as desired in this case.
|
||||||
|
@ -189,7 +189,7 @@ to determine which of the releases is considered by rpm to be more fresh.)
|
|||||||
|
|
||||||
\subsection queryformat_example Example: Viewing the Verify Flags
|
\subsection queryformat_example Example: Viewing the Verify Flags
|
||||||
|
|
||||||
The follwing example query is run against dev becuase I know %verify
|
The following example query is run against dev because I know %verify
|
||||||
is used there.
|
is used there.
|
||||||
\verbatim
|
\verbatim
|
||||||
rpm -q --qf '[%{filenames} %{fileverifyflags}\n]' dev
|
rpm -q --qf '[%{filenames} %{fileverifyflags}\n]' dev
|
||||||
|
@ -6,7 +6,7 @@ may distribute their software to install in "/opt" but you'd like
|
|||||||
it to install in "/usr/opt". If the vendor were distributing a
|
it to install in "/usr/opt". If the vendor were distributing a
|
||||||
relocatable RPM package, it would be easy.
|
relocatable RPM package, it would be easy.
|
||||||
|
|
||||||
\subsection relcateable_building Building a Relocatable Package
|
\subsection relocatable_building Building a Relocatable Package
|
||||||
|
|
||||||
Not all software can be "relocatable". Before continuing you should
|
Not all software can be "relocatable". Before continuing you should
|
||||||
think about how the program works, what files it accesses, what other
|
think about how the program works, what files it accesses, what other
|
||||||
@ -35,7 +35,7 @@ into the spec file so that the /usr and /etc directories may be
|
|||||||
relocated separately when this package is installed.
|
relocated separately when this package is installed.
|
||||||
|
|
||||||
|
|
||||||
\subsection relcateable_installing Installing Relocatable Packages
|
\subsection relocatable_installing Installing Relocatable Packages
|
||||||
|
|
||||||
By default, RPM will install a relocatable package in the prefix
|
By default, RPM will install a relocatable package in the prefix
|
||||||
directory listed in the spec file. You can override this on the
|
directory listed in the spec file. You can override this on the
|
||||||
@ -51,7 +51,7 @@ separately by using syntax like:
|
|||||||
rpm ... --relocate /opt=/usr/opt --relocate /etc=/usr/etc ...
|
rpm ... --relocate /opt=/usr/opt --relocate /etc=/usr/etc ...
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
If any of the Prefixs are not being relocated they can be skipped on
|
If any of the Prefixes is not being relocated they can be skipped on
|
||||||
the command line
|
the command line
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@ -64,7 +64,7 @@ Package signature verification is the same as previous releases:
|
|||||||
rpm -K <package>
|
rpm -K <package>
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
RPM will verify evey signature in the package, which may include
|
RPM will verify every signature in the package, which may include
|
||||||
more than one PGP signature. The output indicates what types of
|
more than one PGP signature. The output indicates what types of
|
||||||
signatures are being checked. If any checks fail you'll see a
|
signatures are being checked. If any checks fail you'll see a
|
||||||
"NOT OK" message, and you should be worried.
|
"NOT OK" message, and you should be worried.
|
||||||
|
@ -5,9 +5,9 @@ A few additions have been made to the spec file format.
|
|||||||
Name
|
Name
|
||||||
|
|
||||||
The Name tag contains the proper name of the package. Names must not
|
The Name tag contains the proper name of the package. Names must not
|
||||||
include whitespace and may include a hyphan '-' (unlike version and release
|
include whitespace and may include a hyphen '-' (unlike version and release
|
||||||
tags). Names should not include any numeric operators ('<', '>','=') as
|
tags). Names should not include any numeric operators ('<', '>','=') as
|
||||||
future versions of rpm may need to reserve charcters other than '-'.
|
future versions of rpm may need to reserve characters other than '-'.
|
||||||
|
|
||||||
By default subpackages are named by prepending `<main package>-' to
|
By default subpackages are named by prepending `<main package>-' to
|
||||||
the subpackages name(s). If you wish to change the name of a
|
the subpackages name(s). If you wish to change the name of a
|
||||||
@ -61,7 +61,7 @@ might be changed to:
|
|||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
The description is free form text, but there are two things to note.
|
The description is free form text, but there are two things to note.
|
||||||
The first regards reformating. Lines that begin with white space
|
The first regards reformatting. Lines that begin with white space
|
||||||
are considered "pre-formatted" and will be left alone. Adjacent
|
are considered "pre-formatted" and will be left alone. Adjacent
|
||||||
lines without leading whitespace are considered a single paragraph
|
lines without leading whitespace are considered a single paragraph
|
||||||
and may be subject to formatting by glint or another RPM tool.
|
and may be subject to formatting by glint or another RPM tool.
|
||||||
@ -78,7 +78,7 @@ package contains).
|
|||||||
|
|
||||||
\subsection specfile_buildarchitectures BuildArchitectures: Tag
|
\subsection specfile_buildarchitectures BuildArchitectures: Tag
|
||||||
|
|
||||||
This tag specifies the arctecture which the resulting binary package
|
This tag specifies the architecture which the resulting binary package
|
||||||
will run on. Typically this is a CPU architecture like sparc,
|
will run on. Typically this is a CPU architecture like sparc,
|
||||||
i386. The string 'noarch' is reserved for specifying that the
|
i386. The string 'noarch' is reserved for specifying that the
|
||||||
resulting binary package is platform independent. Typical platform
|
resulting binary package is platform independent. Typical platform
|
||||||
@ -108,11 +108,11 @@ script so that false problems are not displayed during package verification.
|
|||||||
%verify(not size md5 mtime) %{prefix}/bin/javaswarm
|
%verify(not size md5 mtime) %{prefix}/bin/javaswarm
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
\subsection specfile_globbing Shell Gobbing of %files Section
|
\subsection specfile_globbing Shell Globbing of %files Section
|
||||||
|
|
||||||
The usual rules for shell globbing apply. Most special characters can
|
The usual rules for shell globbing apply. Most special characters can
|
||||||
be escaped by prefixing them with a '\'. Spaces are used to separate
|
be escaped by prefixing them with a '\'. Spaces are used to separate
|
||||||
file names and so must be escaped by enclsing the file name with quotes.
|
file names and so must be escaped by enclosing the file name with quotes.
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -202,7 +202,7 @@ you would add
|
|||||||
\endverbatim
|
\endverbatim
|
||||||
to your spec file.
|
to your spec file.
|
||||||
|
|
||||||
If your package was like dump and could not be built w/o a specific vesion of
|
If your package was like dump and could not be built w/o a specific version of
|
||||||
the libraries to access an ext2 file system, you could express this as
|
the libraries to access an ext2 file system, you could express this as
|
||||||
\verbatim
|
\verbatim
|
||||||
BuildRequires: e2fsprofs-devel = 1.17-1
|
BuildRequires: e2fsprofs-devel = 1.17-1
|
||||||
|
@ -13,7 +13,7 @@ Say the package "mymailer" needs an /etc/mymailer/mailer symlink which points
|
|||||||
to the mail transport agent to use. If sendmail is installed, the link should
|
to the mail transport agent to use. If sendmail is installed, the link should
|
||||||
point to /usr/bin/sendmail, but it vmail is installed, the link should
|
point to /usr/bin/sendmail, but it vmail is installed, the link should
|
||||||
instead point to /usr/bin/vmail. If both packages are present, we don't care
|
instead point to /usr/bin/vmail. If both packages are present, we don't care
|
||||||
where the link points (realisticaly, sendmail and vmail should conflict
|
where the link points (realistically, sendmail and vmail should conflict
|
||||||
with one another), while if neither package is installed the link should
|
with one another), while if neither package is installed the link should
|
||||||
not exist at all.
|
not exist at all.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user