diff options
Diffstat (limited to 'py')
| -rwxr-xr-x | py/mock.py | 4 | ||||
| -rw-r--r-- | py/mock/plugins/root_cache.py | 12 |
2 files changed, 12 insertions, 4 deletions
@@ -248,7 +248,9 @@ def setup_default_config_opts(config_opts, unprivUid): 'root_cache_enable': True, 'root_cache_opts': { 'max_age_days': 15, - 'dir': "%(cache_topdir)s/%(root)s/root_cache/"}, + 'dir': "%(cache_topdir)s/%(root)s/root_cache/", + 'compress_program': 'gzip', + 'extension': '.gz'}, 'bind_mount_enable': True, 'bind_mount_opts': {'dirs': [ # specify like this: diff --git a/py/mock/plugins/root_cache.py b/py/mock/plugins/root_cache.py index f69f28f..8756c01 100644 --- a/py/mock/plugins/root_cache.py +++ b/py/mock/plugins/root_cache.py @@ -28,8 +28,14 @@ class RootCache(object): self.rootObj = rootObj self.root_cache_opts = conf self.rootSharedCachePath = self.root_cache_opts['dir'] % self.root_cache_opts - self.rootCacheFile = os.path.join(self.rootSharedCachePath, "cache.tar.gz") + self.rootCacheFile = os.path.join(self.rootSharedCachePath, "cache.tar") self.rootCacheLock = None + self.compressProgram = self.root_cache_opts['compress_program'] + if self.compressProgram: + self.compressArgs = ['--use-compress-program', self.compressProgram] + self.rootCacheFile = self.rootCacheFile + self.root_cache_opts['extension'] + else: + self.compressArgs = [] self.state = rootObj.state rootObj.rootCacheObj = self rootObj.addHook("preinit", self._rootCachePreInitHook) @@ -85,7 +91,7 @@ class RootCache(object): self.state("unpacking root cache") self._rootCacheLock() mock.util.do( - ["tar", "xzf", self.rootCacheFile, "-C", self.rootObj.makeChrootPath()], + ["tar"] + self.compressArgs + ["-xf", self.rootCacheFile, "-C", self.rootObj.makeChrootPath()], shell=False ) self._rootCacheUnlock() @@ -105,7 +111,7 @@ class RootCache(object): if self.rootObj.chrootWasCleaned: self.state("creating cache") mock.util.do( - ["tar", "czf", self.rootCacheFile, + ["tar"] + self.compressArgs + ["-cf", self.rootCacheFile, "-C", self.rootObj.makeChrootPath(), "."], shell=False ) |
