RPMCACHE(8)

NAME
rpmcache - Cache RPM Package Headers

SYNOPSIS

rpmcache [ PACKAGE_NAME ... ]

DESCRIPTION

rpmcache walks a file tree, possibly remotely using FTP, filtering paths using glob(7) expressions, reading rpm package headers. The latest (i.e. comparing package epoch/version/release for identical package names and using the build time as a tie breaker) package headers, if they are unique, are cached in an rpm database. The rpm database cache can be used to provide suggested paths to packages that resolve unknown dependencies.

There are no rpmcache specific options, only common rpm options. See the rpmcache usage message for what is currently implemented.

The file tree path to be searched is configured using rpm macros. The final path is the concatenation of 5 individual elements. Here are the macro names used to configure rpmcache, in the same order that they will be concatenated to build the file tree path that will be walked:

%_bhpath
    The "path" level contains the leading part of the file tree path (or URL) for the file tree to be walked. No glob(7) expressions, here, please.

%_bhcoll
    The "collection" level contains a string (or glob(7) expression) to match sub-directories of %_bhpath.

%_bhN
    The "name" level contains a string (or glob(7) expression) to match sub-directories of %_bhcoll. The PACKAGE_NAME arguments are used to construct a glob(7) expression that will match any of specific package names within the Red Hat build system, and are almost certainly not of use to anyone outside of Red Hat.

%_bhVR
    The "version-release" level contains a string (or glob(7) expression) to match sub-directories of %_bhN.

%_bhA
    The "arch" level contains a string (or glob(7) expression) to match sub-directories of %_bhVR.

The location of the cache database is also configured using an rpm macro:

%_cache_dbpath
    The location of the cache database. The default value is /var/spool/up2date/cache.

The cache database is identical in format to an rpm database, and can be used with rpm from the command line. For example, to use the cache database to provide suggestions for packages that provide dependencies needed by a package install, the following macro should be configured in either /etc/rpm/macros or ~/.rpmmacros:

%_solve_dbpath
    The location of the database that is used to provide suggested dependency resolutions.

  Example (minimal) configuration for a Red Hat beehive tree:

%_cache_dbpath  /var/spool/up2date/cache
%_solve_dbpath  %{_cache_dbpath}
%_bhpath        file://localhost/mnt/rpm/beehive/comps/dist
%_bhcoll        7.3
%_bhN           @(basesystem|bash|filesystem|glibc-common|glibc|ldconfig|libtermcap|mktemp|setup|termcap)
%_bhVR          *
%_bhA           @(i[3456]86|noarch)

  Example (minimal) configuration for a Red Hat FTP tree:

%_cache_dbpath  /var/spool/up2date/cache
%_solve_dbpath  %{_cache_dbpath}
%_bhpath        ftp://localhost/mnt/dist
%_bhcoll        @(7.3|7.2|7.1|7.0|6.2|6.1|6.0|5.2|5.1|5.0)
%_bhN           @(%{_arch})
%_bhVR          *
%_bhA           @(i[3456]86|noarch)

BUGS

Yup. Please file bug reports and RFE's against the rpm-devel package using bugzilla: http://bugzilla.redhat.com/ <URL:http://bugzilla.redhat.com/>

SEE ALSO
rpm(8), glob(7), http://rpm5.org/ <URL:http://rpm5.org/>

AUTHORS
Jeff Johnson <jbj@jbj.org>