]> git.ipfire.org Git - pakfire.git/commitdiff
Remove username guessing from outside the chroot.
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 29 Aug 2011 09:38:16 +0000 (11:38 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 29 Aug 2011 09:38:16 +0000 (11:38 +0200)
pakfire/builder.py
pakfire/packages/packager.py

index 1cc433caa1282cd33a940a0e4428c6f4efe34f09..28c6fb1398d5a868b0afc5c9af4740bfebab5460 100644 (file)
@@ -229,52 +229,6 @@ class BuildEnviron(object):
 
                                self.copyout(file_in, file_out)
 
-       def get_pwuid(self, uid):
-               users = {}
-
-               f = open(self.chrootPath("/etc/passwd"))
-               for line in f.readlines():
-                       m = re.match(r"^([a-z][a-z0-9_\-]{,30}):x:(\d+):(\d+):(.*):(.*)$", line)
-                       if not m:
-                               continue
-
-                       item = {
-                               "name"  : m.group(1),
-                               "uid"   : int(m.group(2)),
-                               "gid"   : int(m.group(3)),
-                               "home"  : m.group(4),
-                               "shell" : m.group(5),
-                       }
-
-                       assert not users.has_key(item["uid"])
-                       users[item["uid"]] = item
-
-               f.close()
-
-               return users.get(uid, None)
-
-       def get_grgid(self, gid):
-               groups = {}
-
-               f = open(self.chrootPath("/etc/group"))
-               for line in f.readlines():
-                       m = re.match(r"^([a-z][a-z0-9_\-]{,30}):x:(\d+):(.*)$", line)
-                       if not m:
-                               continue
-
-                       item = {
-                               "name"  : m.group(1),
-                               "gid"   : int(m.group(2)),
-                       }
-
-                       # XXX re-enable later
-                       #assert not groups.has_key(item["gid"])
-                       groups[item["gid"]] = item
-
-               f.close()
-
-               return groups.get(gid, None)
-
        def extract(self, requires=None, build_deps=True):
                """
                        Gets a dependency set and extracts all packages
index eeb44684d3b7503afacc94462cb77f5531ecc477..ba8017edb3abadf43d850bce47dbb241d386ebc5 100644 (file)
@@ -132,36 +132,13 @@ class Packager(object):
                datafile = InnerTarFile(datafile)
 
                for m in datafile.getmembers():
-                       # XXX need to check what to do with UID/GID
-                       logging.info("  %s %-8s %-8s %s %6s %s" % \
+                       logging.debug("  %s %-8s %-8s %s %6s %s" % \
                                (tarfile.filemode(m.mode), m.uname, m.gname,
                                "%d-%02d-%02d %02d:%02d:%02d" % time.localtime(m.mtime)[:6],
                                util.format_size(m.size), m.name))
-               
-                       info = m.get_info(tarfile.ENCODING, "strict")
-
-                       # Update uname.
-                       if hasattr(self, "builder"):
-                               pwuid = self.builder.get_pwuid(info["uid"])
-                               if not pwuid:
-                                       logging.warning("UID '%d' not found. Using root.")
-                                       info["uname"] = "root"
-                               else:
-                                       info["uname"] = pwuid["name"]
-
-                               # Update gname.
-                               grgid = self.builder.get_grgid(info["gid"])
-                               if not grgid:
-                                       logging.warning("GID '%d' not found. Using root.")
-                                       info["gname"] = "root"
-                               else:
-                                       info["gname"] = grgid["name"]
-                       else:
-                               # Files in the source packages always belong to root.
-                               info["uname"] = info["gname"] = "root"
 
                        f.write("%(name)-40s %(type)1s %(size)-10d %(uname)-10s %(gname)-10s %(mode)-6d %(mtime)-12d" \
-                               % info)
+                               % m.get_info(tarfile.ENCODING, "strict"))
 
                        # Calculate SHA512 hash of regular files.
                        if m.isreg():