commit:     f9adb7bfa495cd46f01bb2c9b72ceea9b603b888
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 13:12:21 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun  4 00:02:27 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f9adb7bf

metadata-cache.tex: Document the md5-dict cache format

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 metadata-cache.tex | 36 ++++++++++++++++++++++++++++++------
 pms.bib            | 11 +++++++++++
 2 files changed, 41 insertions(+), 6 deletions(-)

diff --git a/metadata-cache.tex b/metadata-cache.tex
index d69ecdd..9ff7086 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -3,16 +3,19 @@
 
 \section{Directory Contents}
 
-The \t{metadata/cache} directory, if it exists, contains directories whose 
names are the same as
-categories in the repository. Each subdirectory may optionally contain one 
file per package version
-in that category, named \t{<package>-<version>}, in the format described below.
+The \t{metadata/cache} or \t{metadata/md5-cache} directories, if either of 
them exists, contain
+directories whose names are the same as categories in the repository. Each 
subdirectory may
+optionally contain one file per package version in that category, named 
\t{<package>-<version>},
+in one of the formats described below.
 
 The metadata cache may be incomplete or non-existent, and may contain 
additional bogus entries.
 
-\section{Cache File Format}
+\section{Legacy Cache File Format}
+\label{sec:legacy-cache}
 
-Each cache file contains the textual values of various metadata keys, one per 
line, in the following
-order. Other lines may be present following these; their meanings are not 
defined here.
+The legacy cache file format is used in the \t{metadata/cache} directory. Each 
cache file contains
+the textual values of various metadata keys, one per line, in the following 
order. Other lines may
+be present following these; their meanings are not defined here.
 
 \begin{compactenum}
 \item Build-time dependencies (\t{DEPEND})
@@ -47,6 +50,27 @@ Any future EAPI that uses this cache format will continue to 
place the EAPI valu
 such a concept makes sense for that EAPI, and will place a value that is 
clearly not a supported
 EAPI on line~15 if it does~not.
 
+\section{md5-dict Cache File Format}
+
+The ``md5-dict'' cache file format is used in the \t{metadata/md5-cache} 
directory. Each cache file
+contains \t{<key>=<value>} pairs, one per line, in arbitrary order. The keys 
are the same as those
+listed in section~\ref{sec:legacy-cache} except the \t{INHERITED} key. In 
addition, keys \t{_md5_}
+and \t{_eclasses_} contain values as defined below.
+
+\begin{description}
+\item[_md5_] The MD5 checksum of the ebuild for the package version.
+
+\item[_eclasses_] A list of \i{name-checksum} pairs for all eclasses directly 
or indirectly
+inherited by the ebuild, in arbitrary order, where \i{name} is the eclass name 
and \i{checksum}
+is the MD5 checksum of the eclass. Pairs are separated from each other by 
single tab characters,
+as are \i{name} and \i{checksum} in each pair.
+\end{description}
+
+All MD5 checksums are computed and formatted as described in 
RFC~1321~\cite{rfc1321}.
+
+Other keys may be present; their meanings are not defined here. Lines with an 
empty value can be
+omitted.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/pms.bib b/pms.bib
index bef07c1..ac60c44 100644
--- a/pms.bib
+++ b/pms.bib
@@ -52,3 +52,14 @@
     month = Oct,
     url = {https://www.gentoo.org/glep/glep-0074.html}
 }
+
+@techreport{rfc1321,
+    author = {Ronald L. Rivest},
+    title = {The {MD5} message-digest algorithm},
+    type = {RFC},
+    number = 1321,
+    institution = {RFC Editor},
+    year = 1992,
+    month = Apr,
+    url = {https://www.rfc-editor.org/rfc/rfc1321}
+}

Reply via email to