← Back to team overview

desktop-packages team mailing list archive

[Bug 1511259] Re: Session child does not inherit all LC_* variables

 

** Description changed:

- In file session-child.c in function session_child_run() variable
- `locale_var_names` contains explicit list of locale environment
- variables to inherit. This list lacks of some LC_* variables: LC_PAPER,
- LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT and LC_IDENTIFICATION.
- As a result, these variables are not inherited by child session.
- Therefore, processes inside desktop session set these variables to the
- value of LANG, instead of appropriate values configured in
- /etc/locale.conf.
+ [Impact]
+ Not all system locale variables are passed to sessions.
  
- $ more /etc/locale.conf 
- LANG=en_US.UTF-8
- LC_CTYPE=pl_PL.UTF-8
- LC_NUMERIC=pl_PL.UTF-8
- LC_TIME=pl_PL.UTF-8
- LC_COLLATE=pl_PL.UTF-8
- LC_MONETARY=pl_PL.UTF-8
- LC_MESSAGES=en_US.UTF-8
- LC_PAPER=pl_PL.UTF-8
- LC_NAME=pl_PL.UTF-8
- LC_ADDRESS=pl_PL.UTF-8
- LC_TELEPHONE=pl_PL.UTF-8
- LC_MEASUREMENT=pl_PL.UTF-8
- LC_IDENTIFICATION=pl_PL.UTF-8
- LC_ALL=
+ [Test Case]
+ 1. Edit /etc/locale.conf and set LC_PAPER to a particular value
+ 2. Start LightDM
+ 3. Log into a session
  
- Inside desktop session:
+ Expected result:
+ LC_PAPER is set to the value in /etc/locale.conf
  
- $ locale
- LANG=en_US.utf8
- LC_CTYPE=pl_PL.UTF-8
- LC_NUMERIC=pl_PL.UTF-8
- LC_TIME=pl_PL.UTF-8
- LC_COLLATE=pl_PL.UTF-8
- LC_MONETARY=pl_PL.UTF-8
- LC_MESSAGES=en_US.UTF-8
- LC_PAPER="en_US.utf8"
- LC_NAME="en_US.utf8"
- LC_ADDRESS="en_US.utf8"
- LC_TELEPHONE="en_US.utf8"
- LC_MEASUREMENT="en_US.utf8"
- LC_IDENTIFICATION="en_US.utf8"
- LC_ALL=
+ Observed result:
+ LC_PAPER is not set.
  
- Notice wrong values of LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE,
- LC_MEASUREMENT and LC_IDENTIFICATION (en_US.utf8 instead pl_PL.UTF-8).
- 
- Fix:
- 
- Add LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT and
- LC_IDENTIFICATION  to the `locale_var_names` array in file session-
- child.c.
+ [Regression potential]
+ Low. We just added to an existing list of LC_* variables that are passed through to sessions.

** Changed in: lightdm (Ubuntu Vivid)
     Assignee: (unassigned) => Robert Ancell (robert-ancell)

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to lightdm in Ubuntu.
https://bugs.launchpad.net/bugs/1511259

Title:
  Session child does not inherit all LC_* variables

Status in Light Display Manager:
  Fix Committed
Status in Light Display Manager 1.10 series:
  Fix Committed
Status in Light Display Manager 1.14 series:
  Fix Released
Status in Light Display Manager 1.16 series:
  Fix Committed
Status in Light Display Manager 1.2 series:
  Won't Fix
Status in lightdm package in Ubuntu:
  Fix Committed
Status in lightdm source package in Vivid:
  In Progress

Bug description:
  [Impact]
  Not all system locale variables are passed to sessions.

  [Test Case]
  1. Edit /etc/locale.conf and set LC_PAPER to a particular value
  2. Start LightDM
  3. Log into a session

  Expected result:
  LC_PAPER is set to the value in /etc/locale.conf

  Observed result:
  LC_PAPER is not set.

  [Regression potential]
  Low. We just added to an existing list of LC_* variables that are passed through to sessions.

To manage notifications about this bug go to:
https://bugs.launchpad.net/lightdm/+bug/1511259/+subscriptions