示例#1
0
    def setup_repositories(self):
        """
            set up repositories for software installation and return a
            package manager for performing software installation tasks
        """
        repository_sections = self.xml_state.get_repository_sections()
        package_manager = self.xml_state.get_package_manager()
        repo = Repository(self.root_bind, package_manager)
        for xml_repo in repository_sections:
            repo_type = xml_repo.get_type()
            repo_source = xml_repo.get_source().get_path()
            repo_alias = xml_repo.get_alias()
            repo_priority = xml_repo.get_priority()
            log.info('Setting up repository %s', repo_source)
            log.info('--> Type: %s', repo_type)
            if repo_priority:
                log.info('--> Priority: %s', repo_priority)

            uri = Uri(repo_source, repo_type)
            repo_source_translated = uri.translate()
            log.info('--> Translated: %s', repo_source_translated)
            if not uri.is_remote():
                self.root_bind.mount_shared_directory(repo_source_translated)
            if not repo_alias:
                repo_alias = uri.alias()
            log.info('--> Alias: %s', repo_alias)

            repo.add_repo(repo_alias, repo_source_translated, repo_type,
                          repo_priority)
            self.uri_list.append(uri)
        repo.cleanup_unused_repos()
        return PackageManager(repo, package_manager)
示例#2
0
文件: system.py 项目: k0da/kiwi-1
    def setup_repositories(self):
        """
            set up repositories for software installation and return a
            package manager for performing software installation tasks
        """
        repository_sections = self.xml_state.get_repository_sections()
        package_manager = self.xml_state.get_package_manager()
        repo = Repository(
            self.root_bind, package_manager
        )
        for xml_repo in repository_sections:
            repo_type = xml_repo.get_type()
            repo_source = xml_repo.get_source().get_path()
            repo_alias = xml_repo.get_alias()
            repo_priority = xml_repo.get_priority()
            log.info('Setting up repository %s', repo_source)
            log.info('--> Type: %s', repo_type)
            if repo_priority:
                log.info('--> Priority: %s', repo_priority)

            uri = Uri(repo_source, repo_type)
            repo_source_translated = uri.translate()
            log.info('--> Translated: %s', repo_source_translated)
            if not uri.is_remote():
                self.root_bind.mount_shared_directory(repo_source_translated)
            if not repo_alias:
                repo_alias = uri.alias()
            log.info('--> Alias: %s', repo_alias)

            repo.add_repo(
                repo_alias, repo_source_translated, repo_type, repo_priority
            )
            self.uri_list.append(uri)
        repo.cleanup_unused_repos()
        return PackageManager(
            repo, package_manager
        )