]> git.decadent.org.uk Git - dak.git/blobdiff - dak/import_users_from_passwd.py
Remove files that are (no longer) generated
[dak.git] / dak / import_users_from_passwd.py
index a9dacd349a99966f19af0d88faaccc1169abca50..ed121398fe43ece4320a65dc4d6a214c3d1c4835 100755 (executable)
@@ -30,6 +30,7 @@
 ################################################################################
 
 import pwd
+import grp
 import sys
 import re
 import apt_pkg
@@ -63,8 +64,8 @@ def main ():
         if not cnf.has_key("Import-Users-From-Passwd::Options::%s" % (i)):
             cnf["Import-Users-From-Passwd::Options::%s" % (i)] = ""
 
-    arguments = apt_pkg.ParseCommandLine(cnf.Cnf, Arguments, sys.argv)
-    Options = cnf.SubTree("Import-Users-From-Passwd::Options")
+    arguments = apt_pkg.parse_commandline(cnf.Cnf, Arguments, sys.argv)
+    Options = cnf.subtree("Import-Users-From-Passwd::Options")
 
     if Options["Help"]:
         usage()
@@ -73,15 +74,18 @@ def main ():
         usage(1)
 
     session = DBConn().session()
-    valid_gid = int(cnf.get("Import-Users-From-Passwd::ValidGID",""))
+    valid_gid = cnf.get("Import-Users-From-Passwd::ValidGID", "")
+    if valid_gid:
+        debiangrp = grp.getgrnam(valid_gid).gr_mem
+    else:
+        debiangrp = []
 
     passwd_unames = {}
     for entry in pwd.getpwall():
         uname = entry[0]
-        gid = entry[3]
-        if valid_gid and gid != valid_gid:
+        if uname not in debiangrp:
             if Options["Verbose"]:
-                print "Skipping %s (GID %s != Valid GID %s)." % (uname, gid, valid_gid)
+                print "Skipping %s (Not in group %s)." % (uname, valid_gid)
             continue
         passwd_unames[uname] = ""