X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fchecks.py;h=25cbb8f0ad6a493e90ba5b89366b0e54addebff7;hb=56c0f386e8da9aaac70dcb60a5eb1ef9a9e38877;hp=6a95049f4d93377795cf83d0c9b6c272024c9cc9;hpb=df6e3e5f79788962ecb9f2d283ef640c6fef0301;p=dak.git diff --git a/daklib/checks.py b/daklib/checks.py index 6a95049f..25cbb8f0 100644 --- a/daklib/checks.py +++ b/daklib/checks.py @@ -595,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: @@ -604,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.unpribgroup: + 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)