예제 #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

        self.command_env = {
            'HOME': '/home/ms',
            'ZYPP_CONF': 'root-dir/my/zypp.conf'
        }
        repository.runtime_config = mock.MagicMock(
            return_value={
                'zypper_args': ['--reposd-dir', 'root-dir/my/repos'],
                'command_env': self.command_env
            })
        self.manager = PackageManagerZypper(repository)

        self.chroot_zypper_args = self.manager.root_bind.move_to_root(
            self.manager.zypper_args)
        self.chroot_command_env = self.manager.command_env
        self.chroot_command_env['ZYPP_CONF'] = \
            self.manager.root_bind.move_to_root(
                [self.manager.command_env['ZYPP_CONF']]
            )[0]
예제 #2
0
    def __new__(self, repository, package_manager, custom_args=None):
        if package_manager == 'zypper':
            manager = PackageManagerZypper(repository, custom_args)
        elif package_manager == 'dnf' or package_manager == 'yum':
            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
예제 #3
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={
                'zypper_args': ['--reposd-dir', 'root-dir/my/repos'],
                'command_env': ['env']
            })
        self.manager = PackageManagerZypper(repository)
예제 #4
0
    def setup(self):
        repository = mock.Mock()
        repository.root_dir = 'root-dir'

        self.command_env = {
            'HOME': '/home/ms',
            'ZYPP_CONF': 'root-dir/my/zypp.conf'
        }
        repository.runtime_config = mock.MagicMock(
            return_value={
                'zypper_args': ['--reposd-dir', 'root-dir/my/repos'],
                'command_env': self.command_env
            })
        self.manager = PackageManagerZypper(repository)

        self.chroot_zypper_args = Path.move_to_root('root-dir',
                                                    self.manager.zypper_args)
        self.chroot_command_env = self.manager.command_env
        zypp_conf = self.manager.command_env['ZYPP_CONF']
        self.chroot_command_env['ZYPP_CONF'] = \
            Path.move_to_root('root-dir', [zypp_conf])[0]