diff --git a/support/scripts/check-uniq-files b/support/scripts/check-uniq-files index be808cce03..f110176274 100755 --- a/support/scripts/check-uniq-files +++ b/support/scripts/check-uniq-files @@ -26,16 +26,23 @@ def main(): return False file_to_pkg = defaultdict(list) - with open(args.packages_file_list[0], 'r') as pkg_file_list: - r = csv.reader(pkg_file_list, delimiter=',') - for row in r: - pkg = row[0] - file = row[1] + with open(args.packages_file_list[0], 'rb') as pkg_file_list: + for line in pkg_file_list.readlines(): + pkg, _, file = line.rstrip(b'\n').partition(b',') file_to_pkg[file].append(pkg) for file in file_to_pkg: if len(file_to_pkg[file]) > 1: - sys.stderr.write(warn.format(args.type, file, file_to_pkg[file])) + # If possible, try to decode the binary strings with + # the default user's locale + try: + sys.stderr.write(warn.format(args.type, file.decode(), + [p.decode() for p in file_to_pkg[file]])) + except UnicodeDecodeError: + # ... but fallback to just dumping them raw if they + # contain non-representable chars + sys.stderr.write(warn.format(args.type, file, + file_to_pkg[file])) if __name__ == "__main__":