PrintMPKFile - print the contents of Vesta-2 MultiPKFiles
PrintMPKFile [ -verbose ] [ -html [directory] ] [ -url-patterns mpkfile-pattern pkfile-pattern cfp-group-pattern entry-pattern ] file ...2
PrintMPKFile prints the contents of Vesta-2 MultiPKFile(s) file. A MultiPKFile is a file written by the Vesta-2 cache server; it contains persistent cache entries. If file is a relative pathname, it is interpreted relative to the cache server's directory of stable cache entries as specified by the Vesta configuration file.
A MultiPKFile is a collection of PKFiles. A PKFile is a collection of cache entries with the same primary key. Within a PKFile, the cache entries are grouped by a secondary key, namely, the combined fingerprint of the values of the entry's common names. See MultiPKFile(5) for a complete description of the MultiPKFile file format.
By default, a consice representation of the named MultiPKFiles are written. This concise representation does not include the contents of the cache entries themselves; only the number of cache entries with particular primary and secondary keys are printed. If -verbose is specified, then the complete contents of the named MultiPKFiles are printed.
If -html is specified, a collection of HTML files representing the complete contents of the named MultiPKFiles are generated.
When generating HTML, the output filenames are based on uniquely identifying information for each component. This makes it possible to generate HTML from multiple MultiPKFiles is a single directory. Specifically the filenames generated are as follows:
- The top-level HTML file for each MultiPKFile. The name includes the four-digit hexadecimal primary key prefix which uniquely identifies this MultiPKFile. Example:mpkfile_2692.html
- An HTML file is generated for each PKFile. The name includes the 128-bit primary key in hexadecimal. Example:pkfile_269213d607e78eff_df0df13ff2a2b0c4.html
- An HTML file is generated for each common fingerprint group. The name includes both the 128-bit primary key and the 128-bit common fingerprint in hexadecimal. Example:pkfile_269213d607e78eff_df0df13ff2a2b0c4_cfp_e644e8f54221bbb7_f534801e81349752.html
- An HTML file is generated for each individual cache entry. The name includes the entry's cache index in decimal. Example:ci_134897.html
Each HTML file includes a set of links down to all the lower-level HTML files, and up to the enclosing HTML files.
The HTML output includes some additional information not present in the text output that may help in understanding the contents of the cache. Specifically:
- In each CFP group HTML file, a table is printed showing which secondary names are different between the current CFP group and the other CFP groups within the same PKFile.
- In each CFP group HTML file, the set of uncommon secondary dependencies that are common between all entries in the CFP group are printed.
- In cache entry files, derived files are turned into file:// links into the repository's storage pool where applicable.
Also, some information that's included in the text output but is primarily of interest when debugging the cache server is not included in the HTML output, including:
- File offsets
- The bit vectors representing the sets of common and uncommon names (commonNms and unFVs)
- The fingerprints of the secondary dependencies recorded for each entry
- The name index map (imap)
The -url-patterns option makes it possible to customize the inter-page hyper-links. This facilitates using a CGI gateway to PrintMPKFile.
Without the -url-patterns option, the inter-page links are simple relative file links. As long as the generated HTML files are kept in a single directory, the links will work. In other words, the default patterns are:
The URL pattern replacements are described below.
PrintMPKFile recognizes the following command-line options:
- When producing text output, causes the complete contents of the named MultiPKFiles to be printed. When producing HTML output, causes the name of each generated HTML file to be printed.
- -html [directory]
- Generates HTML files representing the contents of the named MultiPKFiles, rather than text output. The optional directory argument controls where the generated HTML files are written. (The default is to write them in the current working directory.)
- -url-patterns mpkfile-pattern pkfile-pattern cfp-group-pattern entry-pattern
- This option has no effect unless -html is also used.
With this option, the inter-page hyper-links can be customized. This makes it possible to use a CGI gateway to PrintMPKFile. The patterns include the following replacements:
- The 4-digit hexadecimal primary key prefix
- The 128-bit primary key in hexadecimal, with '_' between the two 64-bit words
- The names epoch as a decimal integer
- The 128-bit common fingerprint in hexadecimal, with '_' between the two 64-bit words
- The cache index in decimal
- A literal '%'
Like most Vesta-2 applications, PrintMPKFile reads site-specific configuration information from a Vesta-2 configuration file named vesta.cfg. It first looks for this file in the current directory; if none is found there, it looks in your home directory.
The configuration file is divided into a number of sections, denoted in the file by [SectionName]. The variables used by PrintMPKFile are in the section denoted by [CacheServer]. Here are the relevant variables and their meanings; the types of the variables are shown in parentheses:
- MetaDataRoot (string)
- The pathname of the directory in which the Vesta system's metadata is stored. If this variable is undefined, the current directory is used. Other configuration variables are interpreted relative to this path.
- MetaDataDir (string)
- The directory (relative to the MetaDataRoot) in which the cache server's metadata is stored.
- SCacheDir (string)
- The directory (relative to the MetaDataRoot/MetaDataDir) in which the cache server stores cache entries.
EraseCache(1), PrintCacheVal(1), ShowCache(1), VCache(1), VCacheStats(1), MultiPKFile(5)
This page was generated automatically by mtex software.
Allan Heydon (firstname.lastname@example.org)Last modified on Fri Nov 14 11:05:16 EST 2003 by email@example.com modified on Thu May 29 15:33:32 PDT 1997 by heydon