From af7933ee4df1d62a6567510dc7e84a0cf13a09ef Mon Sep 17 00:00:00 2001 From: Brian Harring Date: Thu, 1 Sep 2011 14:50:25 -0700 Subject: [PATCH] add layout.conf awareness of thin-manifests For any repo that wants thin (just src_uri digests), they just need to add thin-manifests = true to their layout.conf. Again, this should only be used in repositories were the backing vcs provides checksums for the ebuild data. --- pym/portage/repository/config.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py index 9e308a8dc..17839d7b8 100644 --- a/pym/portage/repository/config.py +++ b/pym/portage/repository/config.py @@ -42,7 +42,7 @@ class RepoConfig(object): """Stores config of one repository""" __slots__ = ['aliases', 'eclass_overrides', 'eclass_locations', 'location', 'user_location', 'masters', 'main_repo', - 'missing_repo_name', 'name', 'priority', 'sync', 'format', 'load_manifest'] + 'missing_repo_name', 'name', 'priority', 'sync', 'format', 'thin_manifest'] def __init__(self, name, repo_opts): """Build a RepoConfig with options in repo_opts @@ -111,7 +111,11 @@ class RepoConfig(object): missing = False self.name = name self.missing_repo_name = missing - self.load_manifest = manifest.Manifest + self.thin_manifest = False + + def load_manifest(self, *args, **kwds): + kwds['thin'] = self.thin_manifest + return manifest.Manifest(*args, **kwds) def update(self, new_repo): """Update repository with options in another RepoConfig""" @@ -327,6 +331,9 @@ class RepoConfigLoader(object): aliases.extend(repo.aliases) repo.aliases = tuple(sorted(set(aliases))) + if layout_data.get('thin-manifests', '').lower() == 'true': + repo.thin_manifest = True + #Take aliases into account. new_prepos = {} for repo_name, repo in prepos.items(): -- 2.26.2