Subject: bug#30768: Gettext : test-copy-file-1.sh fail if --with-store-dir=/var/tmp/xxxxx/gnu/store

From: [email-masked] (Ludovic Courtès)
Date: Wed, 14 Mar 2018 10:33:51 +0100

Hello,

YOANN P <[email-masked]> skribis:

>>YOANN P <[email-masked]> skribis:

[...]

>>> Even if i was aware of it after reading Pjotrp notes, i've never found a 
>>> clear limit after my readings on the web. If Guix Team has an idea of 
>>> the store path limit lenght, it could be a great idea to add it to the docs 
>>> or did i missed it ?
>>
>>>From m4/guix.m4:
>>
>>--8<---------------cut here---------------start------------->8---
>>dnl 'BINPRM_BUF_SIZE' constant in Linux (we leave room for the trailing zero.)
>>dnl The Hurd has a limit of about a page (see exec/hashexec.c.)
>>m4_define([LINUX_HASH_BANG_LIMIT], 127)
>>
>>dnl Hardcoded 'sun_path' length in <sys/un.h>.
>>m4_define([SOCKET_FILE_NAME_LIMIT], 108)
>>--8<---------------cut here---------------end--------------->8---
>>
>
> Hum, i'm not sure this part of code answer my question :)
> Are we agreed than LINUX_HASH_BANG_LIMIT is the max number of char for a 
> shebang and SOCKET_FILE_NAME_LIMIT is only the limit for the socket file name ?

Yes.

> What i was asking is the maximum lenght for the store path regarding the fact 
> (if i am not wrong) than a shebang inside guix is compose like this :

The only limit here is PATH_MAX.

>>Are you in a situation where user namespaces are unavailable?  HPC?
>
> Not at all, i was just playing with Guix to see if it can fulfill my long desires to have 
> an easy unprivileged portable environment due to old habits to intervene into some 
> hostiles environments in my previous job.

Then I strongly recommend using it as documented, i.e., using /gnu/store
as the store and running guix-daemon as root.

You can’t really get around it:

  https://guix-hpc.bordeaux.inria.fr/blog/2017/09/reproducibility-and-root-privileges/

Thanks,
Ludo’.