From 2c0fa8fe68fc38202fe54079d66f6eb8dfed2518 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Thu, 2 Apr 2009 19:05:54 +0200 Subject: [PATCH] entropy.client.interfaces.methods.quickpkg_handler: apply the same fix of entropy.spm.quickpkg, properly store username and group bits inside the tar file when possible. --- libraries/entropy/client/interfaces/methods.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libraries/entropy/client/interfaces/methods.py b/libraries/entropy/client/interfaces/methods.py index 11ab13750..f40c66d85 100644 --- a/libraries/entropy/client/interfaces/methods.py +++ b/libraries/entropy/client/interfaces/methods.py @@ -1356,8 +1356,18 @@ class Misc: path = os.path.realpath(path) tarinfo = tar.gettarinfo(path, arcname) - tarinfo.uname = id_strings.setdefault(tarinfo.uid, str(tarinfo.uid)) - tarinfo.gname = id_strings.setdefault(tarinfo.gid, str(tarinfo.gid)) + + uid = tarinfo.uid + gid = tarinfo.gid + user = self.entropyTools.get_user_from_uid(uid) + group = self.entropyTools.get_group_from_gid(gid) + if user == None: + user = str(uid) + if group == None: + group = str(gid) + + tarinfo.uname = id_strings.setdefault(tarinfo.uid, user) + tarinfo.gname = id_strings.setdefault(tarinfo.gid, group) if stat.S_ISREG(exist.st_mode): tarinfo.type = tarfile.REGTYPE