diff --git a/installsystems/repository.py b/installsystems/repository.py index a578d352195e0ec8254cc1ff8a5eb9abc9ef3eb8..7c1bc864b3c1f93ccd039c058055f56fb0837c10 100644 --- a/installsystems/repository.py +++ b/installsystems/repository.py @@ -451,7 +451,19 @@ class RepositoryManager(object): ''' Register a repository from its config ''' - debug("Registering repository %s (%s)" % (config.path, config.name)) + # if path is local, no needs to create a cache + if istools.isfile(config.path): + debug("Registering direct repository %s (%s)" % (config.path, config.name)) + self.repos.append(Repository(config)) + else: + debug("Registering cached repository %s (%s)" % (config.path, config.name)) + self.repos.append(self._cachify(config)) + + + def _cachify(self, config): + ''' + Return a config of a cached repository from an orignal config file + ''' # find destination file and load last info if config.name is None or self.cache_path is None: # this is a forced temporary repository or without name repo @@ -477,7 +489,7 @@ class RepositoryManager(object): timeout=self.timeout) os.utime(filedest, (rlast, rlast)) config.dbpath = filedest - self.repos.append(Repository(config)) + return Repository(config) def get(self, name, version=None): '''