]> git.ipfire.org Git - pakfire.git/commitdiff
Disable support for xattrs in packages.
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 6 Mar 2011 16:37:40 +0000 (17:37 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 6 Mar 2011 16:37:40 +0000 (17:37 +0100)
I need to reimplement this in an other way because python 2.6 does
not support tarfile.add with filter argument.

pakfire/packages/packager.py

index 8fe64524d332713c26b1dfa666c44033c0f14e08..153a5b627f14afad22e0d3b0ba6ce8ab05b32f71 100644 (file)
@@ -149,39 +149,49 @@ class Extractor(object):
                        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!
 
@@ -198,6 +208,7 @@ class Packager(object):
                # Store meta information
                self.info = {
                        "package_format" : PACKAGE_FORMAT,
+                       "package_type" : "binary",
                        "package_uuid" : uuid.uuid4(),
                        "payload_comp" : None,
                }