提交 6244fb61 编写于 作者: M Mark Hymers

let's store the known_hashes information centrally

Signed-off-by: NMark Hymers <mhy@debian.org>
上级 1e0cd14a
......@@ -929,33 +929,25 @@ def check_hashes ():
check_hash(".changes", files, "md5sum", apt_pkg.md5sum)
check_hash(".dsc", dsc_files, "md5sum", apt_pkg.md5sum)
# (hashname, function, originate)
# If originate is true, we have to calculate it because
# the changes file version is too early for it to be
# included
hashes = [("sha1", apt_pkg.sha1sum, False),
("sha256", apt_pkg.sha256sum, False)]
if format <= (1,8):
hashes["sha1"] = True
hashes["sha256"] = True
for x in changes:
if x.startswith("checksum-"):
h = x.split("-",1)[1]
if h not in dict(hashes):
if h not in dict(utils.known_hashes):
reject("Unsupported checksum field in .changes" % (h))
for x in dsc:
if x.startswith("checksum-"):
h = x.split("-",1)[1]
if h not in dict(hashes):
if h not in dict(utils.known_hashes):
reject("Unsupported checksum field in .dsc" % (h))
for h,f,o in hashes:
# We have to calculate the hash if we have an earlier changes version than
# the hash appears in rather than require it exist in the changes file
# I hate backwards compatibility
for h,f,v in utils.known_hashes:
try:
fs = utils.build_file_list(changes, 0, "checksums-%s" % h, h)
if o:
if format < v:
create_hash(fs, h, f, files)
else:
check_hash(".changes %s" % (h), fs, h, f, files)
......@@ -970,7 +962,7 @@ def check_hashes ():
try:
fs = utils.build_file_list(dsc, 1, "checksums-%s" % h, h)
if o:
if format < v:
create_hash(fs, h, f, dsc_files)
else:
check_hash(".dsc %s" % (h), fs, h, f, dsc_files)
......
......@@ -55,6 +55,10 @@ default_apt_config = "/etc/dak/apt.conf"
alias_cache = None
key_uid_email_cache = {}
# (hashname, function, earliest_changes_version)
known_hashes = [("sha1", apt_pkg.sha1sum, (1, 8)),
("sha256", apt_pkg.sha256sum, (1, 8))]
################################################################################
def open_file(filename, mode='r'):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册