summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Harring <ferringb@gmail.com>2011-09-01 14:50:25 -0700
committerZac Medico <zmedico@gentoo.org>2011-09-12 14:23:10 -0700
commitaf7933ee4df1d62a6567510dc7e84a0cf13a09ef (patch)
tree1f266696a778ea69ec0e655f0079a5c5ba7b388b
parent69613e420d5be52e413c7c60e571710c2597f58d (diff)
downloadportage-af7933ee4df1d62a6567510dc7e84a0cf13a09ef.tar.gz
portage-af7933ee4df1d62a6567510dc7e84a0cf13a09ef.tar.bz2
portage-af7933ee4df1d62a6567510dc7e84a0cf13a09ef.zip
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.
-rw-r--r--pym/portage/repository/config.py11
1 files 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():