| # 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",), |
| } |
| } |
| } |