Incorrect quoting of GUIX_LOCPATH environment variable in guix-daemon.service

  • Done
  • quality assurance status badge
Details
6 participants
  • Andreas Enge
  • Andréas Livet
  • David Loyall
  • Jack Hill
  • Ludovic Courtès
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Jack Hill
Severity
normal
J
J
Jack Hill wrote on 3 Jun 2019 20:24
(address . bug-guix@gnu.org)
alpine.DEB.2.20.1906031405590.5164@marsh.hcoop.net
Hi Guix,

Based on my experience setting up Guix on a CentOS 7 foreign distribution,
if quoted, the variable name in a systemd unit Environment definition
should be inside the quotes. I didn't not find definitive documentation
stating this, but all the examples show it this way. If the value is left
like

```
Environment=GUIX_LOCPATH='/path/to/profile/lib/locale'
```

the guix-daemon process is not able to find the right locale even when it
is installed.

Best,
Jack
J
J
J
Jack Hill wrote on 3 Jun 2019 20:42
[PATCH] etc: guix-daemon.service.in: fix GUIX_LOCPATH quoting
(address . 36074@debbugs.gnu.org)
alpine.DEB.2.20.1906031441301.5164@marsh.hcoop.net
etc/guix-daemon.service.in: Move the GUIX_LOCPATH environment varialbe name
inside the quotes are required in systemd unit files.
---
etc/guix-daemon.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in
index 7b20a91931..407cdd199c 100644
--- a/etc/guix-daemon.service.in
+++ b/etc/guix-daemon.service.in
@@ -7,7 +7,7 @@ Description=Build daemon for GNU Guix

[Service]
ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
-Environment=GUIX_LOCPATH='@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
+Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
RemainAfterExit=yes
StandardOutput=syslog
StandardError=syslog
--
2.21.0
R
R
Ricardo Wurmus wrote on 5 Jun 2019 11:55
Re: bug#36074: Incorrect quoting of GUIX_LOCPATH environment variable in guix-daemon.service
(name . Jack Hill)(address . jackhill@jackhill.us)(address . 36074-done@debbugs.gnu.org)
87r288cq6h.fsf@elephly.net
Hi Jack,

thank you for the bug report, the analysis, and the patch. I changed
the commit log and pushed it to the master branch with commit
579d17b70dac067f8194ede46513400b91ac136a.

Thanks!

--
Ricardo
Closed
L
L
Ludovic Courtès wrote on 5 Jun 2019 15:14
(name . Jack Hill)(address . jackhill@jackhill.us)(address . 36074@debbugs.gnu.org)
87zhmw2mzq.fsf@gnu.org
Hi,

Jack Hill <jackhill@jackhill.us> skribis:

Toggle quote (10 lines)
> Based on my experience setting up Guix on a CentOS 7 foreign
> distribution, if quoted, the variable name in a systemd unit
> Environment definition should be inside the quotes. I didn't not find
> definitive documentation stating this, but all the examples show it
> this way. If the value is left like
>
> ```
> Environment=GUIX_LOCPATH='/path/to/profile/lib/locale'
> ```

Good catch! Indeed,
shows examples with quotes “inside” and “outside”, but what we want here
is quotes outside.

Thanks,
Ludo’.
A
A
Andréas Livet wrote on 11 Jun 2019 16:32
Still got the issue in Xubuntu 18.4
(address . 36074@debbugs.gnu.org)
711e9c11-f91b-b0ff-ead9-f86e412a4ac8@livet.me
Hello,

I'm running guix under Xubuntu 18.04 and still got the issue after
modifying `/etc/systemd/system/guix-daemon.service` as stated in the patch.

After that I've done :

`systemctl restart guix-daemon`

`systemctl daemon-reload `

Should I done something else ?

I'm new to guix so sorry if it seems obvious.

Andréas
A
A
Andréas Livet wrote on 11 Jun 2019 16:38
Incorrect quoting of GUIX_LOCPATH environment variable in guix-daemon.service
(address . 36074@debbugs.gnu.org)
d6d1e28a-d6e5-02b4-3300-411dcec3c4b6@livet.me
Hello,

I'm running guix under Xubuntu 18.04 and still got the issue after
modifying `/etc/systemd/system/guix-daemon.service` as stated in the patch.

After that I've done :

`systemctl restart guix-daemon`

`systemctl daemon-reload `

Should I done something else ?

I'm new to guix so sorry if it seems obvious.

Andréas

PS : Sorry if this is a double post, though the email subject must be
exactly the same so I re-send my email.
D
D
David Loyall wrote on 12 Jun 2019 06:42
(address . 36074@debbugs.gnu.org)
CA+4fW6=uZQRT27JXmYxhWnp9Be38nLvZTGVXpM5Oc=X-so_k2w@mail.gmail.com
Andréas,

I'm not sure if you and I are having the same issue, but I found your
message after searching the web for information about the issue I was
facing.

I think this thread, which contains some links, provides a good
summary of the information available on the web for my issue:

That said, the solution I found was this:

Toggle quote (2 lines)
> I think the fix for this would be to clarify which package should be installed in **root's profile** when installing on a systemd foreign distro."

(Emphasis mine. The quote is from Jack Hill in

So, I did `sudo guix package -i glibc-utf8-locales` (I previously did
the same without sudo--no change.)

...Before that, I'd done the other things recommended in the
aforementioned summary post.

Please note that I'm only copying and pasting magical invocations; I
don't understand locales nor guix. I hope this message is helpful.

Cheers,
--sebboh
A
A
Andréas Livet wrote on 12 Jun 2019 09:01
(address . 36074@debbugs.gnu.org)
9f60fc4a-c7a8-c1b8-9acd-e44b37f305cd@livet.me
Thanks sebboh !

It fix the error. I've already read the thread on the mailing list but
didn't see that the package should be install as root !

I have now other problems with UTF-8 :

* I can't open file containing non ASCII characters with libreoffice

* I can't type non ASCII characters in zsh


Don't know if this is related to this bug or not. Will try to reboot to
see if it changes something.


Anyway, thanks for your help !

Andréas
Attachment: file
A
A
Andreas Enge wrote on 14 Jun 2019 19:17
(name . Andréas Livet)(address . andreas@livet.me)(address . 36074-done@debbugs.gnu.org)
20190614171701.GA2238@jurong
Closing the bug, since the problem seems to be solved; for the
follow-up, see bug#36180.

Andreas
Closed
?