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’.