Package: debbindiff
Version: 18
User: helm...@debian.org
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

_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to