term_width=80,
)
+# XXX disable because python 2.6 does not support tarfile with filter
+#
+#class InnerTarFile(tarfile.TarFile):
+# def __init__(self, *args, **kwargs):
+# # Force the pax format
+# kwargs["format"] = tarfile.PAX_FORMAT
+#
+# if kwargs.has_key("env"):
+# self.env = kwargs.pop("env")
+#
+# tarfile.TarFile.__init__(self, *args, **kwargs)
+#
+# def __filter_xattrs(self, tarinfo):
+# logging.debug("Adding file: %s" % tarinfo.name)
+#
+# filename = self.env.chrootPath(self.env.buildroot, tarinfo.name)
+#
+# # xattrs do only exists for regular files. If we don't have one,
+# # simply skip.
+# if os.path.isfile(filename):
+# for attr, value in xattr.get_all(filename):
+# tarinfo.pax_headers[attr] = value
+#
+# logging.debug(" xattr: %s=%s" % (attr, value))
+#
+# return tarinfo
+#
+# def add(self, *args, **kwargs):
+# # Add filter for xattrs if no other filter is set.
+# if not kwargs.has_key("filter") and len(args) < 5:
+# kwargs["filter"] = self.__filter_xattrs
+#
+# tarfile.TarFile.add(self, *args, **kwargs)
class InnerTarFile(tarfile.TarFile):
def __init__(self, *args, **kwargs):
- # Force the pax format
kwargs["format"] = tarfile.PAX_FORMAT
if kwargs.has_key("env"):
- self.env = kwargs.pop("env")
+ del kwargs["env"]
tarfile.TarFile.__init__(self, *args, **kwargs)
- def __filter_xattrs(self, tarinfo):
- logging.debug("Adding file: %s" % tarinfo.name)
-
- filename = self.env.chrootPath(self.env.buildroot, tarinfo.name)
-
- # xattrs do only exists for regular files. If we don't have one,
- # simply skip.
- if os.path.isfile(filename):
- for attr, value in xattr.get_all(filename):
- tarinfo.pax_headers[attr] = value
-
- logging.debug(" xattr: %s=%s" % (attr, value))
-
- return tarinfo
-
- def add(self, *args, **kwargs):
- # Add filter for xattrs if no other filter is set.
- if not kwargs.has_key("filter") and len(args) < 5:
- kwargs["filter"] = self.__filter_xattrs
-
- tarfile.TarFile.add(self, *args, **kwargs)
-
# XXX this is totally ugly and needs to be done right!
# Store meta information
self.info = {
"package_format" : PACKAGE_FORMAT,
+ "package_type" : "binary",
"package_uuid" : uuid.uuid4(),
"payload_comp" : None,
}