예제 #1
0
    def setup(self):
        repository = mock.Mock()
        repository.root_dir = 'root-dir'

        root_bind = mock.Mock()
        root_bind.move_to_root = mock.Mock(
            return_value=['root-moved-arguments'])
        repository.root_bind = root_bind

        repository.runtime_config = mock.Mock(return_value={
            'yum_args': ['-c', 'yum.conf', '-y'],
            'command_env': ['env']
        })
        self.manager = PackageManagerYum(repository)
예제 #2
0
    def __new__(self, repository, package_manager, custom_args=None):
        from ..logger import log

        if package_manager == 'zypper':
            manager = PackageManagerZypper(repository, custom_args)
        elif package_manager == 'yum':
            manager = PackageManagerYum(repository, custom_args)
        elif package_manager == 'dnf':
            manager = PackageManagerDnf(repository, custom_args)
        elif package_manager == 'apt-get':
            manager = PackageManagerApt(repository, custom_args)
        else:
            raise KiwiPackageManagerSetupError(
                'Support for package manager %s not implemented' %
                package_manager)

        log.info('Using package manager backend: %s', package_manager)
        return manager