################################################################################
-import daklib.database, daklib.logging
+from daklib import database
+from daklib import utils
import sys, os, re
import apt_pkg, pg, ldap, email.Utils
Cnf = None
Options = None
projectB = None
-Logger = None
################################################################################
keys[key]["uid"] = uid
if id != None: continue
- id = daklib.database.get_or_set_uid_id(uid)
+ id = database.get_or_set_uid_id(uid)
byuid[id] = (uid, name)
byname[uid] = (id, name)
keys[x]["uid"] = format % "invalid-uid"
else:
uid = format % keys[x]["email"]
- id = daklib.database.get_or_set_uid_id(uid)
+ id = database.get_or_set_uid_id(uid)
byuid[id] = (uid, keys[x]["name"])
byname[uid] = (id, keys[x]["name"])
keys[x]["uid"] = uid
if any_invalid:
uid = format % "invalid-uid"
- id = daklib.database.get_or_set_uid_id(uid)
+ id = database.get_or_set_uid_id(uid)
byuid[id] = (uid, "ungeneratable user id")
byname[uid] = (id, "ungeneratable user id")
return (byname, byuid)
-h, --help show this help and exit.
-L, --import-ldap-users generate uid entries for keyring from LDAP
-U, --generate-users FMT generate uid entries from keyring as FMT"""
+ -D, --debian-maintainer mark generated uids as debian-maintainers
sys.exit(exit_code)
def main():
global Cnf, projectB, Options
- Cnf = daklib.utils.get_conf()
+ Cnf = utils.get_conf()
Arguments = [('h',"help","Import-Keyring::Options::Help"),
('L',"import-ldap-users","Import-Keyring::Options::Import-Ldap-Users"),
('U',"generate-users","Import-Keyring::Options::Generate-Users", "HasArg"),
- ]
+ ('D',"debian-maintainer","Import-Keyring::Options::Debian-Maintainer"),
+ ]
for i in [ "help", "report-changes", "generate-users", "import-ldap-users" ]:
if not Cnf.has_key("Import-Keyring::Options::%s" % (i)):
### Initialise
projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
- daklib.database.init(Cnf, projectB)
+ database.init(Cnf, projectB)
projectB.query("BEGIN WORK")
keyringname = keyring_names[0]
keyring = Keyring(keyringname)
- keyring_id = daklib.database.get_or_set_keyring_id(
+ keyring_id = database.get_or_set_keyring_id(
keyringname.split("/")[-1])
### Generate new uid entries if they're needed (from LDAP or the keyring)
# For the keys in this keyring, add/update any fingerprints that've
# changed.
+ # Determine if we need to set the DM flag
+ is_dm = "no"
+ if Cnf("Import-Keyring::Options::Debian-Maintainer"):
+ is_dm = "yes"
+
for f in fpr:
newuid = fpr[f][0]
newuiduid = db_uid_byid.get(newuid, [None])[0]
if oldfid == -1:
changes.append((newuiduid, "Added key: %s" % (f)))
if newuid:
- projectB.query("INSERT INTO fingerprint (fingerprint, uid, keyring) VALUES ('%s', %d, %d)" % (f, newuid, keyring_id))
+ projectB.query("INSERT INTO fingerprint (fingerprint, uid, keyring, debian_maintainer) VALUES ('%s', %d, %d, %s)" % (f, newuid, keyring_id, is_dm))
else:
- projectB.query("INSERT INTO fingerprint (fingerprint, keyring) VALUES ('%s', %d)" % (f, keyring_id))
+ projectB.query("INSERT INTO fingerprint (fingerprint, keyring) VALUES ('%s', %d, %s)" % (f, keyring_id, is_dm))
else:
if newuid and olduid != newuid:
if olduid != -1: