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)
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 )