Comment 0 for bug 1907850

Revision history for this message
Julian Andres Klode (juliank) wrote :

[Impact]
In bug 1161743 we discovered that if a system is configured with multiple locales, only the locales of the user who generated the apt-cache will be available for translated descriptions.

[Test case]

# apt install locales-all # get the locale
# export LANG=sv_SE.UTF-8
# locale
LANG=sv_SE.UTF-8
LANGUAGE=
LC_CTYPE="sv_SE.UTF-8"
LC_NUMERIC="sv_SE.UTF-8"
LC_TIME="sv_SE.UTF-8"
LC_COLLATE="sv_SE.UTF-8"
LC_MONETARY="sv_SE.UTF-8"
LC_MESSAGES="sv_SE.UTF-8"
LC_PAPER="sv_SE.UTF-8"
LC_NAME="sv_SE.UTF-8"
LC_ADDRESS="sv_SE.UTF-8"
LC_TELEPHONE="sv_SE.UTF-8"
LC_MEASUREMENT="sv_SE.UTF-8"
LC_IDENTIFICATION="sv_SE.UTF-8"
LC_ALL=
# apt update
# apt-cache show tasksel | grep Desc
Description-sv: tool for selecting tasks for installation on Debian systems
Description-md5: cbbb747708986d11ea77c80b9b038fec
# apt-cache showpkg tasksel
Package: tasksel
Versions:
3.34ubuntu16 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_groovy_main_binary-amd64_Packages)
 Description Language:
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_groovy_main_binary-amd64_Packages
                  MD5: cbbb747708986d11ea77c80b9b038fec
 Description Language: sv
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_groovy_main_i18n_Translation-sv
                  MD5: cbbb747708986d11ea77c80b9b038fec
 Description Language: en
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_groovy_main_i18n_Translation-en
                  MD5: cbbb747708986d11ea77c80b9b038fec
[...]

So far so good, but now assume the root user actually has C configured as locale, and e.g. runs apt-cache show (or apt-daily.service does an update):

root@g:~# rm /var/cache/apt/*.bin
root@g:~# LANG=C apt-cache show tasksel
[...]
Description-en: tool for selecting tasks for installation on Debian systems
 This package provides 'tasksel', a simple interface for users who
 want to configure their system to perform a specific task.

root@g:~# apt-cache showpkg tasksel
Package: tasksel
Versions:
3.34ubuntu16 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_groovy_main_binary-amd64_Packages)
 Description Language:
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_groovy_main_binary-amd64_Packages
                  MD5: cbbb747708986d11ea77c80b9b038fec
 Description Language: en
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_groovy_main_i18n_Translation-en
                  MD5: cbbb747708986d11ea77c80b9b038fec

This should show the sv locale as well given that it's still around, but it only generated the cache with the english language description in here.

[Where problems could occur]
Unknown so far, we've not investigated the cause or solution yet.

[Other Info]
N/A