blob: 8025a29079dab859a1d8328fe432241207786298 [file] [log] [blame]
# Copyright 2014-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
doc = """CVS plug-in module for portage.
Performs a cvs up on repositories."""
__doc__ = doc[:]
from portage.localization import _
from portage.sync.config_checks import CheckSyncConfig
from portage.util import writemsg_level
class CheckCVSConfig(CheckSyncConfig):
def __init__(self, repo, logger):
CheckSyncConfig.__init__(self, repo, logger)
self.checks.append('check_cvs_repo')
def check_cvs_repo(self):
if self.repo.module_specific_options.get('sync-cvs-repo') is None:
writemsg_level("!!! %s\n" %
_("Repository '%s' has sync-type=cvs, but is missing sync-cvs-repo attribute")
% self.repo.name, level=self.logger.ERROR, noiselevel=-1)
module_spec = {
'name': 'cvs',
'description': doc,
'provides':{
'cvs-module': {
'name': "cvs",
'sourcefile': "cvs",
'class': "CVSSync",
'description': doc,
'functions': ['sync', 'new', 'exists'],
'func_desc': {
'sync': 'Performs a cvs up on the repository',
'new': 'Creates the new repository at the specified location',
'exists': 'Returns a boolean of whether the specified dir ' +
'exists and is a valid CVS repository',
},
'validate_config': CheckCVSConfig,
'module_specific_options': ("sync-cvs-repo",),
}
}
}