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:
Fatih Aşıcı
2010-05-30 19:41:24 +00:00
parent 129e2f2591
commit 62403a40c4
+10 -7
View File
@@ -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)