# Copyright © 2015-2016 Nick Bowler # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY of FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see from portage.sync.config_checks import CheckSyncConfig class CheckSquashConfig(CheckSyncConfig): def __init__(self, repo, logger): CheckSyncConfig.__init__(self, repo, logger) self.checks.append('set_defaults') def set_defaults(self): opts = self.repo.module_specific_options if not 'squash-cache-location' in opts: opts['squash-cache-location'] = "/var/cache/portage" if not 'squash-compression' in opts: opts['squash-compression'] = "gzip" if not 'squash-extra-opts' in opts: opts['squash-extra-opts'] = "-e distfiles -e packages -e local" module_spec = { 'name': 'squashmirror', 'description': __doc__, 'provides': { 'squashmirror-module': { 'name': 'squashmirror', 'sourcefile': 'squashmirror', 'description': __doc__, 'class': 'SquashMirror', 'validate_config': CheckSquashConfig, 'module_specific_options': ( 'squash-cache-location', 'squash-compression', 'squash-extra-opts', ), } } }