Patchwork GUIX_LOCPATH in daemon unit file

login
register
mail settings
Submitter Thomas Danckaert
Date July 6, 2016, 7:51 a.m.
Message ID <20160706.095103.2037769423207614861.post@thomasdanckaert.be>
Download mbox | patch
Permalink /patch/13666/
State New
Headers show

Comments

Thomas Danckaert - July 6, 2016, 7:51 a.m.
Hi Guix,

using Guix on Ubuntu, I kept seeing messages “substitute: warning: 
failed to install locale: Invalid argument” (though apart from this 
warning, everything seemed to work normally).

 From a previous thread on this mailing list, I learnt that the 
 problem is that the daemon doesn't have GUIX_LOCPATH set correctly, 
 but I didn't know how to fix
this. #guix explained to me that, for systemd users, this can be done 
by adding "Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale" 
to the [Service] section of the guix-daemon.service file. (and 
probably also installing the necessary locales for root, which I'd 
already done).

Should this environment setting be added to the default 
guix-daemon.service, or could this break something for other 
users/distributions (I'm not sure systems other than Ubuntu have this 
problem?).

Thomas
Ricardo Wurmus - July 7, 2016, 9:31 a.m.
Hi Thomas,

> using Guix on Ubuntu, I kept seeing messages “substitute: warning: 
> failed to install locale: Invalid argument” (though apart from this 
> warning, everything seemed to work normally).
>
>  From a previous thread on this mailing list, I learnt that the 
>  problem is that the daemon doesn't have GUIX_LOCPATH set correctly, 
>  but I didn't know how to fix
> this. #guix explained to me that, for systemd users, this can be done 
> by adding "Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale" 
> to the [Service] section of the guix-daemon.service file. (and 
> probably also installing the necessary locales for root, which I'd 
> already done).
>
> Should this environment setting be added to the default 
> guix-daemon.service, or could this break something for other 
> users/distributions (I'm not sure systems other than Ubuntu have this 
> problem?).

I think GUIX_LOCPATH should be set automatically.  There are no ill
effects of having it set when the directory doesn’t exist AFAIK.  Also,
only Guix honours GUIX_LOCPATH (hence the name), so it shouldn’t screw
up the behaviour of other applications.

This is a problem on all systems where Guix is used as a package
manager.

What do others think?  If it’s okay and my rationalisations above are
not mistaken I’d like to accept this change.

~~ Ricardo
Daniel Pimentel - July 7, 2016, 11:26 a.m.
> I think GUIX_LOCPATH should be set automatically.

I agree with Ricardo. When I start with Guix/GuixSD I have some problems 
with it.

Thanks,
Daniel Pimentel - July 7, 2016, 11:30 a.m.
I think GUIX_LOCPATH should be set automatically.

I agree with Ricardo. When I started with Guix/GuixSD I had some 
problems with it.

Thanks,
Ludovic Courtès - July 11, 2016, 10:02 a.m.
Hello,

Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:

> Hi Thomas,
>
>> using Guix on Ubuntu, I kept seeing messages “substitute: warning: 
>> failed to install locale: Invalid argument” (though apart from this 
>> warning, everything seemed to work normally).
>>
>>  From a previous thread on this mailing list, I learnt that the 
>>  problem is that the daemon doesn't have GUIX_LOCPATH set correctly, 
>>  but I didn't know how to fix
>> this. #guix explained to me that, for systemd users, this can be done 
>> by adding "Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale" 
>> to the [Service] section of the guix-daemon.service file. (and 
>> probably also installing the necessary locales for root, which I'd 
>> already done).
>>
>> Should this environment setting be added to the default 
>> guix-daemon.service, or could this break something for other 
>> users/distributions (I'm not sure systems other than Ubuntu have this 
>> problem?).
>
> I think GUIX_LOCPATH should be set automatically.  There are no ill
> effects of having it set when the directory doesn’t exist AFAIK.  Also,
> only Guix honours GUIX_LOCPATH (hence the name), so it shouldn’t screw
> up the behaviour of other applications.
>
> This is a problem on all systems where Guix is used as a package
> manager.
>
> What do others think?  If it’s okay and my rationalisations above are
> not mistaken I’d like to accept this change.

I agree, please push.

Besides, I wonder if we should add ‘glibc-utf8-locales’ to the binary
tarball.  It would add a few MiBs to the tarball, and would only “work”
for people who use one of the few locales it provides; OTOH, that’s
already an improvement for these users.

Thoughts?

Thanks!

Ludo’.
sbaugh@catern.com - July 17, 2016, 11:08 p.m.
I think including glibc-utf8-locales in the binary tarball is a good
idea, it eases usability and doesn't really have any downsides. (if a
really minimal tarball is needed for some purpose, that can be built
separately)
Ricardo Wurmus - July 18, 2016, 5:33 a.m.
Ludovic Courtès <ludo@gnu.org> writes:

> Hello,
>
> Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
>
>> Hi Thomas,
>>
>>> using Guix on Ubuntu, I kept seeing messages “substitute: warning: 
>>> failed to install locale: Invalid argument” (though apart from this 
>>> warning, everything seemed to work normally).
>>>
>>>  From a previous thread on this mailing list, I learnt that the 
>>>  problem is that the daemon doesn't have GUIX_LOCPATH set correctly, 
>>>  but I didn't know how to fix
>>> this. #guix explained to me that, for systemd users, this can be done 
>>> by adding "Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale" 
>>> to the [Service] section of the guix-daemon.service file. (and 
>>> probably also installing the necessary locales for root, which I'd 
>>> already done).
>>>
>>> Should this environment setting be added to the default 
>>> guix-daemon.service, or could this break something for other 
>>> users/distributions (I'm not sure systems other than Ubuntu have this 
>>> problem?).
>>
>> I think GUIX_LOCPATH should be set automatically.  There are no ill
>> effects of having it set when the directory doesn’t exist AFAIK.  Also,
>> only Guix honours GUIX_LOCPATH (hence the name), so it shouldn’t screw
>> up the behaviour of other applications.
>>
>> This is a problem on all systems where Guix is used as a package
>> manager.
>>
>> What do others think?  If it’s okay and my rationalisations above are
>> not mistaken I’d like to accept this change.
>
> I agree, please push.

Done in master.  (Sorry for the delay.)

~~ Ricardo

Patch

--- a/guix-daemon.service	2016-07-06 09:48:39.787090703 +0200
+++ b/guix-daemon.service	2016-07-06 09:33:29.503141220 +0200
@@ -7,6 +7,7 @@ 
 
 [Service]
 ExecStart=/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin/guix-daemon --build-users-group=guixbuild
+Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale
 RemainAfterExit=yes
 StandardOutput=syslog
 StandardError=syslog