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
|
||||
packages start to make use of build dependencies. Basically build
|
||||
|
@ -13,7 +13,7 @@ Simply use
|
||||
Buildroot: <dir>
|
||||
\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
|
||||
sections) as the environment variable RPM_BUILD_ROOT. You must
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
*/
|
||||
|
@ -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.
|
||||
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} \
|
||||
...
|
||||
\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
|
||||
\verbatim
|
||||
./configure --with-ldap ...
|
||||
|
@ -51,7 +51,7 @@ specifies
|
||||
release=3
|
||||
\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
|
||||
parser does not permit white space within a definition. Unspecified epoch
|
||||
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
|
||||
right most segment being the least significant. The alphabetical
|
||||
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
|
||||
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 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
|
||||
|
||||
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
|
||||
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
|
||||
dependency programs are shell scripts which can be duplicated and edited
|
||||
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
|
||||
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
|
||||
deiscovered dependencies are parsed exactly as if they were found after
|
||||
discovered dependencies are parsed exactly as if they were found after
|
||||
|
||||
\verbatim
|
||||
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
|
||||
dependency requirements on packages. A script written for an interpreter
|
||||
often requires language specfic modules to be installed in order to execute
|
||||
correctly. In order to automatically detect langiage specific modules, each
|
||||
often requires language specific modules to be installed in order to execute
|
||||
correctly. In order to automatically detect language specific modules, each
|
||||
interpreter may have its own find-provides and find-requires. To prevent
|
||||
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
|
||||
@ -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
|
||||
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
|
||||
Mail-Header >= 1.01
|
||||
@ -247,7 +247,7 @@ with appropriate per-interpreter hooks into
|
||||
/usr/lib/rpm/find-{provides,requires}
|
||||
\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
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
package creation and are specified in the specfile not in the binary
|
||||
package.
|
||||
|
@ -3,11 +3,11 @@
|
||||
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
|
||||
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
|
||||
is entirely forward and backward compatible, and will not require
|
||||
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:
|
||||
\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
|
||||
3 characters in length. A macro without an (opts) field is "simple" in that
|
||||
only recursive macro expansion is performed. A parameterized macro contains
|
||||
an (opts) field. The opts (i.e. string between parantheses) is passed
|
||||
exactly as is to getopts(3) for argc/argv processing at the beginning of
|
||||
an (opts) field. The opts (i.e. string between parentheses) is passed
|
||||
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
|
||||
following shell-like macros are available:
|
||||
|
||||
@ -167,7 +167,7 @@ This expands to:
|
||||
(echo -n "My arg is 5" ; sleep 5 ; echo done.)
|
||||
\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
|
||||
is invoked as "%mymacro 5". Invoking as "%{mymacro} 5" will not work
|
||||
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
|
||||
|
||||
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.
|
||||
\verbatim
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
\subsection relcateable_installing Installing Relocatable Packages
|
||||
\subsection relocatable_installing Installing Relocatable Packages
|
||||
|
||||
By default, RPM will install a relocatable package in the prefix
|
||||
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 ...
|
||||
\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
|
||||
|
||||
*/
|
||||
|
@ -64,7 +64,7 @@ Package signature verification is the same as previous releases:
|
||||
rpm -K <package>
|
||||
\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
|
||||
signatures are being checked. If any checks fail you'll see a
|
||||
"NOT OK" message, and you should be worried.
|
||||
|
@ -5,9 +5,9 @@ A few additions have been made to the spec file format.
|
||||
Name
|
||||
|
||||
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
|
||||
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
|
||||
the subpackages name(s). If you wish to change the name of a
|
||||
@ -61,7 +61,7 @@ might be changed to:
|
||||
\endverbatim
|
||||
|
||||
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
|
||||
lines without leading whitespace are considered a single paragraph
|
||||
and may be subject to formatting by glint or another RPM tool.
|
||||
@ -78,7 +78,7 @@ package contains).
|
||||
|
||||
\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,
|
||||
i386. The string 'noarch' is reserved for specifying that the
|
||||
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
|
||||
\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
|
||||
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:
|
||||
|
||||
\verbatim
|
||||
@ -202,7 +202,7 @@ you would add
|
||||
\endverbatim
|
||||
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
|
||||
\verbatim
|
||||
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
|
||||
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
|
||||
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
|
||||
not exist at all.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user