aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2023-04-21 21:09:05 +0200
committerFabian Groffen <grobian@gentoo.org>2023-04-21 21:09:05 +0200
commite322a78cbfd6d51aefe26425dff1cb99c3d307bc (patch)
tree62ee5b2ce4a6785325f11e3a7c39ca7ad8228b69
parentmain: support NO_COLOR environment variable (diff)
downloadportage-utils-e322a78cbfd6d51aefe26425dff1cb99c3d307bc.tar.gz
portage-utils-e322a78cbfd6d51aefe26425dff1cb99c3d307bc.tar.bz2
portage-utils-e322a78cbfd6d51aefe26425dff1cb99c3d307bc.zip
libq/tree: add commetns on file checks (research for bug #898194)
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-rw-r--r--libq/tree.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libq/tree.c b/libq/tree.c
index f308c8d..1922b7d 100644
--- a/libq/tree.c
+++ b/libq/tree.c
@@ -1109,8 +1109,17 @@ tree_pkg_read(tree_pkg_ctx *pkg_ctx)
if (ctx->cachetype == CACHE_METADATA_MD5) {
ret = tree_read_file_md5(pkg_ctx);
+ /* md5-cache, is sort of documented in egencache man-page
+ * key-points are that an md5 is provided for the ebuild itself,
+ * and if it includes eclasses, the md5s for each eclass. These
+ * are available as _md5_ and _eclasses_ keys. The latter uses
+ * tab-separation of form <eclass-name>\t<md5>\t... */
} else if (ctx->cachetype == CACHE_METADATA_PMS) {
ret = tree_read_file_pms(pkg_ctx);
+ /* PMS implies to do an mtime and existence check (the cache may
+ * contain extra stuff) but since this form of metadata in fact
+ * is extinct, because these checks are insufficient and
+ * impossible on e.g. a git-based tree. */
} else if (ctx->cachetype == CACHE_EBUILD) {
ret = tree_read_file_ebuild(pkg_ctx);
} else if (ctx->cachetype == CACHE_BINPKGS) {