From fc09b8ece859044e60d2980d45da667a0aaa06c0 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Fri, 17 Oct 2014 16:24:02 -0400 Subject: [PATCH] Switch the tar appender to use the first entry's information, not the last --- util/tarfileappender.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/util/tarfileappender.py b/util/tarfileappender.py index 200956c9a..68cf1f0c6 100644 --- a/util/tarfileappender.py +++ b/util/tarfileappender.py @@ -13,7 +13,7 @@ class TarfileAppender(TarLayerFormat): super(TarfileAppender, self).__init__(self._get_tar_iterator) self.entries = entries self.base_tar_file = base_tar_file - self.last_info = None + self.first_info = None def get_stream(self): return GzipWrap(self.get_generator()) @@ -22,7 +22,8 @@ class TarfileAppender(TarLayerFormat): pass def check_tar_info(self, tar_info): - self.last_info = tar_info + if not self.first_info: + self.first_info = tar_info return True def _get_tar_iterator(self): @@ -33,10 +34,10 @@ class TarfileAppender(TarLayerFormat): # its data. def add_entry(arch, dir_path, contents=None): info = tarfile.TarInfo(dir_path) - info.uid = self.last_info.uid - info.gid = self.last_info.gid - info.mode = self.last_info.mode - info.mtime = self.last_info.mtime + info.uid = self.first_info.uid + info.gid = self.first_info.gid + info.mode = self.first_info.mode + info.mtime = self.first_info.mtime info.type = tarfile.REGTYPE if contents else tarfile.DIRTYPE