[Bug 2091657] Re: systemd-localed requires read-only-etc hacks for /etc/vconsole.conf and /etc/locale.conf
James Henstridge
2091657 at bugs.launchpad.net
Wed Jan 8 09:01:23 UTC 2025
As far as a test plan goes, I think this can mostly be done using the
localectl tool that is already shipped in the base snap. This exercises
the same D-Bus API that higher level tools like ubuntu-desktop-init use.
As a command line tool, it could likely be used by a spread test.
To test system locale changes, it might look something like this:
1. On a pristine Ubuntu Core system, run "localectl status". Verify that
the system locale is set to the default (seems to be "C.UTF-8" based on
the current core24 snap).
2. Modify the system locale by running "localectl set-locale
LANG=en_AU.UTF-8". The command should complete without error.
3. Check that the locale has changed by running "localectl status".
4. Check that the locale has been saved to /etc/locale.conf
5. Reboot the system, and run "localectl status" again to check that the
change has persisted.
Testing the key map changes is a little more difficult, since the
relevant commands have been patched out of our localectl:
$ localectl set-keymap foo
Setting X11 and console keymaps is not supported in Debian.
It should still be possible to call the D-Bus API directly via "busctl
call", but it will be a bit more verbose. Longer term, it might be worth
looking at whether we can drop the patch that disables set-keymap.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2091657
Title:
systemd-localed requires read-only-etc hacks for /etc/vconsole.conf
and /etc/locale.conf
Status in systemd package in Ubuntu:
Invalid
Status in systemd source package in Noble:
Triaged
Bug description:
[Impact]
Ubuntu Core has a read-only /etc, but a writable partition in
/etc/writable. In some versions of Ubuntu, the systemd package ships a
patch to follow symlinks from /etc/ -> /etc/writable, e.g. for files
like /etc/locale.conf.
In Core24, this patch needs to be expanded for /etc/locale.conf and
/etc/vconsole.conf in systemd-localed.
[Test Plan]
TODO
[Where problems could occur]
This hack is designed to be a no-op in non-Ubuntu Core cases. I.e.,
when /etc/writable does not exist or does not have a link for the
given path in etc, the original path is used.
As is evident by the ever-expanding nature of this patch, this is not
a complete solution. It's possible that more cases will be found where
this hack needs to be applied.
[Other information]
This patch is not carried in supported releases newer than Noble.
While this patch is far from ideal, expanding this hack has become the
go-to for existing stable releases.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2091657/+subscriptions
More information about the foundations-bugs
mailing list