From: Zac Medico Date: Sun, 18 Aug 2013 06:51:45 +0000 (-0700) Subject: archive-conf: fix for python3, bug #481518 X-Git-Tag: v2.2.1~13 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=ddd1bc384629571d52d5c5f59a5446debaeae01a;p=portage.git archive-conf: fix for python3, bug #481518 --- diff --git a/bin/archive-conf b/bin/archive-conf index f8efcb9be..2c34588c9 100755 --- a/bin/archive-conf +++ b/bin/archive-conf @@ -21,34 +21,12 @@ portage._internal_caller = True import portage.dispatch_conf from portage import os +from portage.checksum import perform_md5 FIND_EXTANT_CONTENTS = "find %s -name CONTENTS" MANDATORY_OPTS = [ 'archive-dir' ] -try: - import fchksum - def perform_checksum(filename): return fchksum.fmd5t(filename) -except ImportError: - import md5 - def md5_to_hex(md5sum): - hexform = "" - for ix in range(len(md5sum)): - hexform = hexform + "%02x" % ord(md5sum[ix]) - return hexform.lower() - - def perform_checksum(filename): - f = open(filename, 'rb') - blocksize=32768 - data = f.read(blocksize) - size = 0 - checksum = md5.new() - while data: - checksum.update(data) - size = size + len(data) - data = f.read(blocksize) - return (md5_to_hex(checksum.digest()), size) - def archive_conf(): args = [] content_files = [] @@ -84,7 +62,7 @@ def archive_conf(): for conf in args: if items[1] == conf: stored = items[2].lower() - real = perform_checksum(conf)[0].lower() + real = perform_md5(conf).lower() if stored == real: md5_match_hash[conf] = conf todo_cnt -= 1