[Rpm-metadata] createrepo/__init__.py createrepo/merge.py createrepo/readMetadata.py genpkgmetadata.py
valentina at osuosl.org
valentina at osuosl.org
Fri Nov 4 11:02:46 UTC 2016
createrepo/__init__.py | 16 ++++++++--------
createrepo/merge.py | 1 +
createrepo/readMetadata.py | 8 +++++++-
genpkgmetadata.py | 8 ++++++++
4 files changed, 24 insertions(+), 9 deletions(-)
New commits:
commit 364dfa5bff153b8bed83232268d650720508c470
Author: Valentina Mukhamedzhanova <vmukhame at redhat.com>
Date: Fri Nov 4 11:32:45 2016 +0100
Fix temporary files cleanup. Based on patches by Miroslav Suchy and Mike McLean.
diff --git a/createrepo/__init__.py b/createrepo/__init__.py
index 517ea04..9e89afc 100644
--- a/createrepo/__init__.py
+++ b/createrepo/__init__.py
@@ -1475,19 +1475,19 @@ class MetaDataGenerator:
msg = _('Could not restore old non-metadata file: %s -> %s') % (oldfile, finalfile)
msg += _('Error was %s') % e
raise MDError, msg
+ self._write_out_read_pkgs_list()
+
+ def cleanup(self):
self._cleanup_tmp_repodata_dir()
- self._cleanup_update_tmp_dir()
- self._write_out_read_pkgs_list()
+ self._cleanup_update_tmp_dir()
def _cleanup_update_tmp_dir(self):
- if not self.conf.update:
- return
-
- shutil.rmtree(self.oldData._repo.basecachedir, ignore_errors=True)
- shutil.rmtree(self.oldData._repo.base_persistdir, ignore_errors=True)
-
+ if self.conf.update:
+ self.oldData.cleanup()
+
+
def _write_out_read_pkgs_list(self):
# write out the read_pkgs_list file with self.read_pkgs
if self.conf.read_pkgs_list:
diff --git a/createrepo/merge.py b/createrepo/merge.py
index 7f03c6a..a9f2139 100644
--- a/createrepo/merge.py
+++ b/createrepo/merge.py
@@ -147,3 +147,4 @@ class RepoMergeBase:
mdgen.doPkgMetadata()
mdgen.doRepoMetadata()
mdgen.doFinalMove()
+ mdgen.cleanup()
diff --git a/createrepo/readMetadata.py b/createrepo/readMetadata.py
index ad70895..ff93c2b 100644
--- a/createrepo/readMetadata.py
+++ b/createrepo/readMetadata.py
@@ -16,6 +16,7 @@
# Copyright 2006 Red Hat
import os
+import shutil
import stat
from utils import errorprint, _
@@ -120,7 +121,11 @@ class MetadataIndex(object):
return po
return None
-
+ def cleanup(self):
+ """Delete temporary files in /var/tmp."""
+ shutil.rmtree(self._repo.basecachedir, ignore_errors=True)
+ shutil.rmtree(self._repo.base_persistdir, ignore_errors=True)
+
if __name__ == "__main__":
cwd = os.getcwd()
@@ -133,4 +138,5 @@ if __name__ == "__main__":
print po.xml_dump_primary_metadata()
print po.xml_dump_filelists_metadata()
print po.xml_dump_other_metadata()
+ idx.cleanup()
diff --git a/genpkgmetadata.py b/genpkgmetadata.py
index a684038..8d901d0 100755
--- a/genpkgmetadata.py
+++ b/genpkgmetadata.py
@@ -268,6 +268,7 @@ def main(args):
print ('start time: %0.3f' % (time.time() - start_st))
mid_st = time.time()
+ mdgen = None
try:
if conf.split:
mdgen = createrepo.SplitMetaDataGenerator(config_obj=conf,
@@ -296,6 +297,10 @@ def main(args):
mdgen.doFinalMove()
if conf.profile:
print ('fm time: %0.3f' % (time.time() - fm_st))
+ cl_st = time.time()
+ mdgen.cleanup()
+ if conf.profile:
+ print ('cl time: %0.3f' % (time.time() - cl_st))
except MDError, errormsg:
@@ -308,6 +313,9 @@ def main(args):
os.rmdir(tmp)
sys.exit(1)
+ finally:
+ if mdgen:
+ mdgen.cleanup()
if __name__ == "__main__":
if len(sys.argv) > 1:
More information about the Rpm-metadata
mailing list