Comment 5 for bug 1611010

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Things aren't simple for this issue.

Looks like when apt prints out its StatusFd messages; it does so (quite rightly) following LC_NUMERIC when doing a straight sprintf(..., "...%.4f...", ...). Many other calls are wrapping decimal values in a call to to_string() to get around this.

The problem with this is that some other tools (debconf's debconf-apt-progress, python-apt) rely on the output being in C.UTF-8 (or some other similar format) to parse the output, and won't be able to parse output where the decimal separator is anything other than '.'. This happens in fr_FR.UTF-8 and es_ES.UTF-8 at least.

I can work around this in ubiquity by setting LC_NUMERIC; but it won't fix the underlying cause being that apt prints out the values that may or may not be parseable by other tools. Apt should be fixed (this appears to be a regression from xenial) or we'll need to modify debconf-apt-progress and python-apt to account for the changes.