]> git.donarmstrong.com Git - dak.git/blobdiff - daklib/checks.py
Merge remote-tracking branch 'algernon/h/check/hashcheck' into merge
[dak.git] / daklib / checks.py
index 5be0d966da863d129535a2a5c87aa7f9ecbb1fbc..38975e1eb542ba51b4dfa3d43c94e45c10f72f33 100644 (file)
@@ -162,7 +162,7 @@ class HashesCheck(Check):
         changes = upload.changes
         for f in changes.files.itervalues():
             f.check(upload.directory)
-            source = changes.source
+        source = changes.source
         if source is not None:
             for f in source.files.itervalues():
                 f.check(upload.directory)
@@ -405,6 +405,7 @@ class ACLCheck(Check):
         acl_per_source = session.query(ACLPerSource).filter_by(acl=acl, fingerprint=upload.fingerprint, source=source_name).first()
         if acl.allow_per_source:
             # XXX: Drop DMUA part here and switch to new implementation.
+            # XXX: Send warning mail once users can set the new DMUA flag
             dmua_status, dmua_reason = self._check_dmua(upload)
             if not dmua_status:
                 return False, dmua_reason
@@ -594,7 +595,7 @@ class LintianCheck(Check):
         except yaml.YAMLError as msg:
             raise Exception('Could not read lintian tags file {0}, YAML error: {1}'.format(tagfile, msg))
 
-        fd, temp_filename = utils.temp_filename()
+        fd, temp_filename = utils.temp_filename(mode=0o644)
         temptagfile = os.fdopen(fd, 'w')
         for tags in lintiantags.itervalues():
             for tag in tags:
@@ -603,8 +604,10 @@ class LintianCheck(Check):
 
         changespath = os.path.join(upload.directory, changes.filename)
         try:
-            # FIXME: no shell
-            cmd = "lintian --show-overrides --tags-from-file {0} {1}".format(temp_filename, changespath)
+            if cnf.unprivgroup:
+                cmd = "sudo -H -u {0} -- /usr/bin/lintian --show-overrides --tags-from-file {1} {2}".format(cnf.unprivgroup, temp_filename, changespath)
+            else:
+                cmd = "/usr/bin/lintian --show-overrides --tags-from-file {0} {1}".format(temp_filename, changespath)
             result, output = commands.getstatusoutput(cmd)
         finally:
             os.unlink(temp_filename)