Package: debbindiff Version: 18 User: [email protected] Usertags: rebootstrap
>From a recent jenkins build: | https://jenkins.debian.net/job/rebootstrap_s390x_gcc49_nobiarch_debbindiff/18/console | Get:1 http://ftp.de.debian.org/debian/ sid/main gzip s390x 1.6-4 [111 kB] | Fetched 111 kB in 0s (1337 kB/s) | Traceback (most recent call last): | File "/usr/bin/debbindiff", line 120, in <module> | sys.exit(main()) | File "/usr/bin/debbindiff", line 106, in main | parsed_args.file1, parsed_args.file2) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/__init__.py", line 129, in compare_files | return comparator(path1, path2, source) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/utils.py", line 43, in with_fallback | inside_differences = original_function(path1, path2, source) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/deb.py", line 53, in compare_deb_files | in_path1, in_path2, source=name)) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/__init__.py", line 129, in compare_files | return comparator(path1, path2, source) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/utils.py", line 43, in with_fallback | inside_differences = original_function(path1, path2, source) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/xz.py", line 50, in compare_xz_files | source=[os.path.basename(new_path1), os.path.basename(new_path2)]) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/__init__.py", line 129, in compare_files | return comparator(path1, path2, source) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/utils.py", line 43, in with_fallback | inside_differences = original_function(path1, path2, source) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/tar.py", line 65, in compare_tar_files | source=name.decode('utf-8'))) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/__init__.py", line 129, in compare_files | return comparator(path1, path2, source) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/utils.py", line 43, in with_fallback | inside_differences = original_function(path1, path2, source) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/gzip.py", line 64, in compare_gzip_files | source=[os.path.basename(new_path1), os.path.basename(new_path2)])) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/__init__.py", line 129, in compare_files | return comparator(path1, path2, source) | File "/usr/lib/python2.7/dist-packages/debbindiff/comparators/text.py", line 29, in compare_text_files | file1 = codecs.open(path1, 'r', encoding=encoding) | File "/usr/lib/python2.7/codecs.py", line 887, in open | info = lookup(encoding) | TypeError: must be string, not list | rebootstrap-error: debbindiff terminated with abnormal exit code 2 In comparators.text, compare_text_files is defined as: | def compare_text_files(path1, path2, encoding, source=None): It is called at comparators/__init__.py:129 as: | return comparator(path1, path2, source) So it seems that the source variable there becomes the encoding parameter in compare_text_files, which seems strange at least. Now compare_text_files did have this signature from the very beginning and in a few places, it is called with that encoding explicitly. However it also shows up in the COMPARATORS list in comparators/__init__.py. The functions there are generally expected to be callable without the encoding parameter. Cc-ing Reiner Herrmann as he recently touched that code. Hope this helps in dissecting. Helmut -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

