filter-output fails on Stretch with "UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 51: ordinal not in range(128)"
After fixing !274 (merged) filter-output is now able to run for stretch-backports. Unfortunately if there are umlauts or other special characters in the output, filter-output will fail with e.g.:
https://salsa.debian.org/mariadb-team/mariadb-10.5/-/jobs/1021222
Traceback (most recent call last):
1295 File "/usr/local/bin/filter-output", line 41, in <module>
1296 output_file.write(line)
1297UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 51: ordinal not in range(128)
(The changelog entry has my name "Otto Kekäläinen" and dpkg-buidpackage tries to print it out)
I am able to reproduce this running filter-output in a Docker container manually:
docker run -it -v ${PWD}:/build -w /build debian:stretch bash
# apt update && apt install -y python3
# curl https://salsa.debian.org/mariadb-team/mariadb-10.5/-/jobs/1021218/artifacts/raw/debian/output/mariadb-10.5_10.5.5-1+salsaci_amd64.build -o input.log
# cat input.log | images/scripts/filter-output
dpkg-buildpackage: info: source package mariadb-10.5
dpkg-buildpackage: info: source version 1:10.5.5-1+salsaci
dpkg-buildpackage: info: source distribution UNRELEASED
Traceback (most recent call last):
File "images/scripts/filter-output", line 41, in <module>
output_file.write(line)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 51: ordinal not in range(128)
It works after installing any utf-8 compatible locales:
# apt install -y locales
# echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
root@d5b25003a028:/build# locale-gen
Generating locales (this might take a while)...
en_US.UTF-8... done
Generation complete.
# export LC_ALL=en_US.UTF-8
# cat input.log | images/scripts/filter-output
dpkg-buildpackage: info: source package mariadb-10.5
dpkg-buildpackage: info: source version 1:10.5.5-1+salsaci
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by Otto Kekäläinen <otto@debian.org>
dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying disable-test-disks.patch
dpkg-source: info: applying innodb_simulate_comp_test_speedup.patch
dpkg-source: info: applying mips-groonga-atomic.patch
...