repodb: Fix use of compressed local repositories
This fixes a serious regression in 2.3. Repo index files are also cached when it is compressed. Parse the cached xml file if the uri of compressed index file is given as the repo address.
This commit is contained in:
+10
-7
@@ -151,14 +151,17 @@ class RepoDB(lazydb.LazyDB):
|
||||
|
||||
def get_repo_doc(self, repo_name):
|
||||
repo = self.get_repo(repo_name)
|
||||
if repo.indexuri.is_remote_file():
|
||||
index = os.path.basename(repo.indexuri.get_uri())
|
||||
index_path = pisi.util.join_path(ctx.config.index_dir(), repo_name, index)
|
||||
else:
|
||||
index_path = repo.indexuri.get_uri()
|
||||
|
||||
if index_path.endswith("bz2"):
|
||||
index_path = pisi.util.remove_suffix(".bz2", index_path)
|
||||
index_path = repo.indexuri.get_uri()
|
||||
|
||||
#FIXME Local index files should also be cached.
|
||||
if index_path.endswith("bz2") or repo.indexuri.is_remote_file():
|
||||
index = os.path.basename(index_path)
|
||||
index_path = pisi.util.join_path(ctx.config.index_dir(),
|
||||
repo_name, index)
|
||||
|
||||
if index_path.endswith("bz2"):
|
||||
index_path = pisi.util.remove_suffix(".bz2", index_path)
|
||||
|
||||
if not os.path.exists(index_path):
|
||||
ctx.ui.warning(_("%s repository needs to be updated") % repo_name)
|
||||
|
||||
Reference in New Issue
Block a user