From 91fe34fb1cad20cdf7393cae601ebffdfd0df070 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 10 Mar 2011 18:52:51 +0100 Subject: [PATCH] Add support for old xattr module api. --- pakfire/packages/file.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/pakfire/packages/file.py b/pakfire/packages/file.py index 81b816aa5..fe666b73e 100644 --- a/pakfire/packages/file.py +++ b/pakfire/packages/file.py @@ -28,7 +28,17 @@ class InnerTarFile(tarfile.TarFile): tarinfo = self.gettarinfo(name, arcname) if tarinfo.isreg(): - attrs = xattr.get_all(name) + attrs = [] + + # Use new modules code... + if hasattr(xattr, "get_all"): + attrs = xattr.get_all(name) + + # ...or use the deprecated API. + else: + for attr in xattr.listxattr(name): + val = xattr.getxattr(name, attr) + attrs.append((attr, val)) for attr, val in attrs: # Skip all attrs that are not supported (e.g. selinux). @@ -68,7 +78,11 @@ class InnerTarFile(tarfile.TarFile): continue logging.debug("Restoring xattr %s=%s to %s" % (attr, val, target)) - xattr.set(target, attr, val) + if hasattr(xattr, "set"): + xattr.set(target, attr, val) + + else: + xattr.setxattr(target, attr, val) class FilePackage(Package): -- 2.39.5