from daklib.regexes import html_escaping, re_html_escaping, re_version, re_spacestrip, \
re_contrib, re_nonfree, re_localhost, re_newlinespace, \
re_package, re_doc_directory
from daklib.regexes import html_escaping, re_html_escaping, re_version, re_spacestrip, \
re_contrib, re_nonfree, re_localhost, re_newlinespace, \
re_package, re_doc_directory
package_relations = {} #: Store relations of packages for later output
# default is to not output html.
package_relations = {} #: Store relations of packages for later output
# default is to not output html.
if bodyelement:
return """<thead>
<tr><th colspan="2" class="title" onclick="toggle('%(bodyelement)s', 'table-row-group', 'table-row-group')">%(title)s <span class="toggle-msg">(click to toggle)</span></th></tr>
if bodyelement:
return """<thead>
<tr><th colspan="2" class="title" onclick="toggle('%(bodyelement)s', 'table-row-group', 'table-row-group')">%(title)s <span class="toggle-msg">(click to toggle)</span></th></tr>
- if control.has_key("Depends"):
- depends_str = control.Find("Depends")
+ if "Pre-Depends" in control:
+ predepends_str = control["Pre-Depends"]
+ predepends = split_depends(predepends_str)
+
+ if "Depends" in control:
+ depends_str = control["Depends"]
- return (control, control_keys, section, depends, recommends, arch, maintainer)
+ return (control, control_keys, section, predepends, depends, recommends, arch, maintainer)
return foldable_output("Package relations", "relations", to_print)
def output_deb_info(suite, filename, packagename, session = None):
return foldable_output("Package relations", "relations", to_print)
def output_deb_info(suite, filename, packagename, session = None):
- (control, control_keys, section, depends, recommends, arch, maintainer) = read_control(filename)
+ (control, control_keys, section, predepends, depends, recommends, arch, maintainer) = read_control(filename)
if not package_relations.has_key(packagename):
package_relations[packagename] = {}
for key in control_keys :
if not package_relations.has_key(packagename):
package_relations[packagename] = {}
for key in control_keys :
field_value = create_depends_string(suite, depends, session)
package_relations[packagename][key] = field_value
elif key == 'Recommends':
field_value = create_depends_string(suite, depends, session)
package_relations[packagename][key] = field_value
elif key == 'Recommends':
desc = re_newlinespace.sub('\n ', desc)
field_value = escape_if_needed(desc)
else:
desc = re_newlinespace.sub('\n ', desc)
field_value = escape_if_needed(desc)
else:
o = os.popen("%s %s" % (command, filename))
if escaped:
return escaped_text(o.read())
o = os.popen("%s %s" % (command, filename))
if escaped:
return escaped_text(o.read())
- return do_command("lintian --show-overrides --color html", filename, 1)
- else:
- return do_command("lintian --show-overrides --color always", filename, 1)
+ color = 'html'
+
+ cmd.extend(['lintian', '--show-overrides', '--color', color])
+
+ return do_command(' '.join(cmd), filename, escaped=True)
res += formatted_text( "NOTE: Copyright is the same as %s.\n\n" % \
(printed.copyrights[copyrightmd5]))
else:
res += formatted_text( "NOTE: Copyright is the same as %s.\n\n" % \
(printed.copyrights[copyrightmd5]))
else:
if errno.errorcode[e.errno] != 'EACCES':
res += "%s: couldn't remove tmp dir %s for source tree." % (dsc_filename, tempdir)
return res
def check_dsc (suite, dsc_filename, session = None):
if errno.errorcode[e.errno] != 'EACCES':
res += "%s: couldn't remove tmp dir %s for source tree." % (dsc_filename, tempdir)
return res
def check_dsc (suite, dsc_filename, session = None):
- (dsc) = read_changes_or_dsc(suite, dsc_filename, session)
+ dsc = read_changes_or_dsc(suite, dsc_filename, session)
+ dsc_basename = os.path.basename(dsc_filename)
return foldable_output(dsc_filename, "dsc", dsc, norow=True) + \
"\n" + \
return foldable_output(dsc_filename, "dsc", dsc, norow=True) + \
"\n" + \
"source-readmesource", get_readme_source(dsc_filename))
def check_deb (suite, deb_filename, session = None):
"source-readmesource", get_readme_source(dsc_filename))
def check_deb (suite, deb_filename, session = None):
result += foldable_output("copyright of %s" % (filename),
"binary-%s-copyright"%packagename, get_copyright(deb_filename)) + "\n"
result += foldable_output("copyright of %s" % (filename),
"binary-%s-copyright"%packagename, get_copyright(deb_filename)) + "\n"
return result
# Read a file, strip the signature and return the modified contents as
# a string.
def strip_pgp_signature (filename):
return result
# Read a file, strip the signature and return the modified contents as
# a string.
def strip_pgp_signature (filename):
- inputfile = utils.open_file (filename)
- contents = ""
- inside_signature = 0
- skip_next = 0
- for line in inputfile.readlines():
- if line[:-1] == "":
- continue
- if inside_signature:
- continue
- if skip_next:
- skip_next = 0
- continue
- if line.startswith("-----BEGIN PGP SIGNED MESSAGE"):
- skip_next = 1
- continue
- if line.startswith("-----BEGIN PGP SIGNATURE"):
- inside_signature = 1
- continue
- if line.startswith("-----END PGP SIGNATURE"):
- inside_signature = 0
- continue
- contents += line
- inputfile.close()
- return contents
+ with utils.open_file(filename) as f:
+ data = f.read()
+ signedfile = SignedFile(data, keyrings=(), require_signature=False)
+ return signedfile.contents
if not Cnf.has_key("Examine-Package::Options::%s" % (i)):
Cnf["Examine-Package::Options::%s" % (i)] = ""
if not Cnf.has_key("Examine-Package::Options::%s" % (i)):
Cnf["Examine-Package::Options::%s" % (i)] = ""
- args = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv)
- Options = Cnf.SubTree("Examine-Package::Options")
+ args = apt_pkg.parse_commandline(Cnf,Arguments,sys.argv)
+ Options = Cnf.subtree("Examine-Package::Options")