l...@gnu.org (Ludovic Courtès) skribis:

> l...@gnu.org (Ludovic Courtès) skribis:
>
>> John Darrington <j...@darrington.wattle.id.au> skribis:
>>
>>> It has come to my attention that guix packages (at least those with gnu 
>>> build system)
>>> default their statedirs to directories under /nix/store/.  Recall that the 
>>> statedirs (ie: 
>>> sharedstatedir localstatedir and runstatedir) are for installing data files 
>>> *which the programs
>>> modify while they run* [1].   Obviously a program cannot modify anything 
>>> under /nix/store
>>> I think we need to update the default configure flags.
>>
>> Yes.  We actually have a number of local modifications:
>>
>>   $ grep -e --localstatedir gnu/packages/*.scm | wc -l
>>   5
>>
>> I think we should change gnu-build-system.scm to pass
>> --localstatedir=/var, unless ‘configure-flags’ specify another setting.
>>
>> I’ll do that in ‘core-updates’.
>
> Done in 65529e49ff5b9052544271b1b7923feed4312849.

I was overconfident: the patch broke everything, because
Automake-generated makefiles typically try to mkdir $localstatedir:

  http://hydra.gnu.org/eval/45514

So I just reverted it, and I think we’re stuck with the status quo until
someone has a better idea.

For the longer term, we could submit an Automake patch such that it
doesn’t insist on creating $localstatedir et al.

Ludo’.

Reply via email to