head 1.1;
branch 1.1.1;
access ;
symbols MAXIMUM_RPM_1_0:1.1.1.1 VENDOR:1.1.1;
locks ; strict;
comment @# @;
1.1
date 2001.08.28.12.07.09; author rse; state Exp;
branches 1.1.1.1;
next ;
1.1.1.1
date 2001.08.28.12.07.09; author rse; state Exp;
branches ;
next ;
desc
@@
1.1
log
@Initial revision
@
text
@
- ...
package[fnsymbol{footnote}]
- See Appendix [*] on page
[*] for complete details on the contents of a .rpm
file.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... package.[fnsymbol{footnote}]
- For more information on RPM's
signature checking capability, refer to section [*] on page
[*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... file.[fnsymbol{footnote}]
- We'll discuss MD5 checksums in
greater detail in section [*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
RPM![fnsymbol{footnote}]
- Are you interested in what exactly ``the right thing'' means?
Turn to page [*] and read section [*]
for more details.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... contents.[fnsymbol{footnote}]
- We'll get more into
this aspect of RPM in chapter [*] when we discuss
rpm -V, specifically section [*] on page [*]
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... goose.[fnsymbol{footnote}]
- You'll have to do that yourself!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... installed.[fnsymbol{footnote}]
- For more
information on erasing packages with rpm -e, see chapter
[*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... force[fnsymbol{footnote}]
- No pun intended.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... files.[fnsymbol{footnote}]
- For more information on rpmrc
files, refer to Appendix [*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... out:[fnsymbol{footnote}]
- We discuss RPM's query commands in chapter [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... disk.[fnsymbol{footnote}]
- It's possible to use RPM's
query command to see if a package has pre- or post-install scripts. See
section [*] on page [*] for more
information.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... CLASS="textit"><path>.[fnsymbol{footnote}]
- For more information on
rpmrc file entries, see Appendix [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
entry.[fnsymbol{footnote}]
- The use of rpmrc files is described in Appendix
[*]
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... entry.[fnsymbol{footnote}]
- The use
of rpmrc files is described in Appendix [*]
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... entries.[fnsymbol{footnote}]
- If you are
porting RPM, you'll find more on arch_compat in section
[*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... entries.[fnsymbol{footnote}]
- If you are
porting RPM, you'll find more on os_compat in section
[*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... CLASS="textit"><path>.[fnsymbol{footnote}]
- For more information on
rpmrc file entries, see Appendix [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
erase.[fnsymbol{footnote}]
- See chapter [*] on page [*] for more
information on rpm -q.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... file.1
- Actually, there's a one in [IMAGE png] chance
a change will go undetected, but for all practical purposes, it's as close
to perfect as we can get.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... modified.2
- Or, as some
sticklers for detail may note, it may have been modified, and subsequently
those modifications were undone.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... file.3
- For more information on RPM's
use of URLs, please see section [*] on page
[*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
force4
- Pun intended.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... answer.1
- On most Linux systems,
the file command can be used to obtain similar information. See
Appendix [*] for details on how to add this capability to
your system's file command.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... package.2
- Note to software packagers: Choose your build machine
names wisely! A silly or offensive name might be embarrassing...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... value.3
- For more information on
rpmrc file entries, please refer to Appendix [*] on
page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
verification.4
- For more information on package verification, please
see section [*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
instructions.5
- RPM uses printf to do
- -queryformat formatting. Therefore, you can use any of the
printf format modifiers discussed in the printf(3) man
page.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... CLASS="textit"><path>.6
- For more information on
rpmrc file entries, see Appendix [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
too.7
- Did you see this example and say to yourself, ``Hey, they
could've used the -g option to query for that group directly''? If you
did, you've been paying attention. This is a more general way of searching
the RPM database for information: we just happened to search by group in
this example.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... provides.1
- Actually, the price is fairly low.
For a completely RPM-based Linux distribution, it would be unusual to have
a database over 5MB in size.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... checksum.2
- From a strictly theoretical standpoint,
this is not entirely true. Using the lingo of cryptologists, it is
believed to be ``computationally infeasible'' to find two messages that
produce the same MD5 checksum.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...-v:3
- Failure messages will always be displayed.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... CLASS="textit"><path>.4
- For more information on
rpmrc file entries, see Appendix [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...%verify5
- See page [*] for details on
%verify
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... file.1
- For more information
on rpmrc files, rpmrc file entries, and how to use them,
please see Appendix [*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
offices.2
- Red Hat Software's public key is also available from
their website, at http://www.redhat.com/redhat/contact.html. The
RPM sources also contain the key, and are available from their FTP site at
ftp://ftp.redhat.com/pub/redhat/code/rpm.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... blocks.1
- Note that the size displayed by
cpio is the size of the cpio archive and not the package
file.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...cdplayer.1
- In reality, this
software is a mercilessly hacked version of cdp, which was written
by Sariel Har-Peled. The software was hacked to provide a simple example
package, and in no way represents the fine work done by Sariel on
cdp.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...tar.2
- For more information on the environment variables
used in the build-time scripts, please refer to section
[*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... testing.3
- Like we said, it's a fairy
tale!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
build.1
- As we mentioned in chapter [*], if the
original sources need to be modified, the modifications should be kept as a
separate set of patches. However, during development, it makes more sense
to not generate patches every time a change to the original source is made.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... section2
- Or the %clean
section, it doesn't matter -- the end result is the same.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... is:3
- It should be noted that the package was built
substantially later than November of 1995!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... export.1
- There is also an
``international'' version that may be used in non-US countries. See
Appendix [*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
option2
- Described in section [*] on page
[*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... suffice.3
- Keep in mind that this command in a %clean
script can wreak havoc if used with a build root of, say, /.
Section [*] on page [*] discusses
this in more detail.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
1.4
- Or it will be 1, once the package is completely installed.
Remember, the number is based on the number of packages installed
after the current package's install or erase has completed.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... tags:5
- Yes, the source tags should
include a URL pointing to the sources.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... installed.6
- This is not entirely the case when a relocatable
package is being built. For more information on relocatable packages, see
chapter [*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... those.7
- RPM will automatically exclude file attributes
from verification if it doesn't make sense for the type of file. In our
example, getting the MD5 checksum of a device file is an example of such a
situation.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... installed.1
- As long as the requiring
and the providing packages are installed using the same invocation
of RPM, the dependency checking will succeed. For example, the command
rpm -ivh *.rpm will properly check for dependencies, even if the
requiring package ends up being installed before the providing
package.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
installation.1
- Hey, we said it was hypothetical!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... path.2
- For more information on the %docdir
directive, please see section [*] on page
[*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
does.3
- Install and erase-time scripts have an environment variable,
RPM_INSTALL_PREFIX, that can be used to write scripts that are
able to act appropriately if the package is relocated. See section
[*] on page [*] for more
information.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... install.1
- Keep in
mind that the build root can be overridden at build-time using the
- -buildroot option or the buildroot rpmrc file
entry. See chapter [*] on page [*] for
more details.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... PGP.1
- The list of possible signature types can be found in
the RPM sources, specifically signature.h in RPM's lib
subdirectory.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... file.1
- Hey, we said it was a simple
example!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
be.2
- This is the advantage to making up an example. A more
real-world spec file would undoubtedly have more interesting scripts.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
packages.3
- Five, if you count the source package.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
distribute.4
- Yes, the author found out about this hard way!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
hardware.1
- This is a somewhat simplistic view of the matter, as
it's common for incompatibilities to crop up between two different
implementations of the same operating system on different architectures.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
flawlessly.1
- Well, eventually it did!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
build.2
- Of course, if the process of installing the software
changed some necessary config files, they would have to be redone, but in
this case it didn't happen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
lead.1
- Please refer to section [*] on page
[*] for a discussion on identifying RPM package
files with the file command.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
header.2
- The header is discussed in section
[*] on page [*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
architecture.3
- It should be noted that the architecture used
internally by RPM is actually stored in the header. This value is
strictly for file(1)'s use.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... entry.1
- The buildostranslate
rpmrc file entry is discussed on page
[*].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... N/A1
- Since there is no modifier to display the
file states in human-readable form, it will be necessary to manually
interpret the flag values, based on the RPMFILE_STATE_xxx
#defines contained in rpmlib.h. This file is part of
the rpm-devel package and is also present in the RPM source
package.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... N/A2
- Since there is no modifier to display the
verification flags in human-readable form, it will be necessary to manually
interpret the flag values, based on the RPMVERIFY_xxx
#defines contained in rpmlib.h. This file is part of
the rpm-devel package and is also present in the RPM source
package.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... below:1
- An up-to-date copy of the list of
mirror sites is always available on ftp.redhat.com, in the file
MIRRORS.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
good.2
- If your goal is to install RPM on one of these systems, it
might be a good idea to copy the appropriate binary package. That way,
once you have RPM running, you can reinstall it with the - -force
option to ensure that RPM is properly installed and configured.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... like1
- When we
say that keys are numbers, we aren't lying even though the example
key doesn't look like a number. It has been processed so that it can be
concisely displayed using only printable characters.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... them2
- Or at least
that it didn't make it to you unchanged.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... version3
- Note
that there are no commercial restrictions regarding PGP in countries other
than the U.S. and Canada.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
@
1.1.1.1
log
@Import book 'Maximum RPM' by Ed Bailey, version 1.0
@
text
@@