On 9/1/2019 4:19 PM, Pierre Labastie via blfs-support wrote:
On 25/08/2019 20:09, DJ Lucas via blfs-support wrote:

On 8/23/2019 7:56 PM, Ken Moffat via blfs-support wrote:
On Fri, Aug 23, 2019 at 09:39:41PM +0200, Pierre Labastie via blfs-support 
wrote:
Will try using obconf in lxde.

Pierre
Hi Pierre,

not sure if https://issues.guix.info/issue/35118 might help for gdm.

Some of the details look to be very specific to guix, but in patch 2
localed is extracted from systemd and an xkeyboard patch is added.

But all the wiring-up seems to be specific to how guix do things.
Well, that seems like an interesting approach, and was fairly easy to do (took
me about 20m...less time than it took for me to write this email in fact), but
the Guix solution just uses "GUIX_XKB_*" environment variables. I hacked up a
patch to elogind to mimic what Guix did if you want to fiddle with it and see.
It does introduce a hard dependency on xkb-common. I renamed the workaround
environment variables without the GUIX_ prefix. I haven't done any testing
other than verifying that it builds and installs correctly (into DESTDIR, so
at least no linking issues with elogind). The additional source files in the
locale directory were taken directly from systemd-241. The variables that need
to make their way into GDM's environment are
XKB_{LAYOUT,MODEL,VARIANT,OPTIONS} (without configured /etc/vconsole.conf
anyway), so it's a lot of systemd cruft left for just a simple workaround, but
if it works, I could put a bit more time into it. Despite comment #6 in the
above thread, it really wouldn't be _that_ difficult to decouple from elogind,
but elogind would require a couple of small changes already in the patch below
(or the handful of reintroduced functions added directly to the targets or a
tiny libelocaled, but I'd much rather get these back into elogind and just
depend on it).

http://www.linuxfromscratch.org/~dj/elogind-241.3-add_localed-1.patch

I've found one issue with this patch: the
/usr/share/dbus-1/system-services/org.freedesktop.locale1.service file contains:
---------
[D-BUS Service]
Name=org.freedesktop.locale1
Exec=/bin/false
User=root
SystemdService=dbus-org.freedesktop.locale1.service
--------
But this is wrong, since there is no systemd to launch the service. So it has
to be changed to:
--------
[D-BUS Service]
Name=org.freedesktop.locale1
Exec=/lib/elogind/systemd-localed
User=root
--------
Note that the approach should be to have a ...service.in file containing:
--------
[D-BUS Service]
Name=org.freedesktop.locale1
Exec=@rootlibexecdir@/systemd-localed
User=root
--------
and to modify the meson.build file accordingly (as it has been done for
org.freedesktop.login1.service)...

But still there is something missing.

Pierre
I'll try and get a look at it in a day or so. I'm building the released version of 9.0 right now. This was just a quick patch to follow what Guix did. I'm not sure how they actually use it given the results you've seen. You currently have far more insight to this than I. If Gnome Shell is what determines the locale, then I'm more inclined to strip out localed and just pull it in via dconf, and then get that upstreamed. The Gnome devs are pretty good about this IME, save for the GDM distcheck ck issue, as long as you use their workflow at gitlab.

--DJ

--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to