Subject: Re: bug#75762: [shepherd] Confusion about relative file names

From: Dariqq <[email-masked]>
Date: Wed, 5 Feb 2025 11:42:58 +0000

Hi Ludo,

On 05.02.25 11:21, Ludovic Courtès wrote:
> Hi Dariqq,
> 
> Dariqq <[email-masked]> skribis:
> 
>> Was reading through the shepherd manual and it seems to contain
>> contradictory information regarding relative file names:
>>
>> In Chapter 3 ('herd' and 'shepherd') the manual reads
>>
>>> Since herd passes its current working directory to ‘shepherd’, you can pass relative file names without trouble.
>>
>> Chapter 3.2 (Invoking 'herd')
>>
>>> If you pass a file name as an ARG, it will be passed as-is to the Shepherd, thus if it is not an absolute name, it is local to the current working directory of ‘shepherd’, not to herd.
>>
>> So which one is it or is there something I am missing here?
> 
> The situation actually depends on the action you’re running.
> 
> Starting from 1a8d686b7fa617d9b1df33858957a240b7e11787, shepherd no
> longer changes directory to the client’s directory.  So now it’s up to
> its action to interpret file names as it wants.  We should update the
> manual accordingly.
> 
> Did you have a specific action in mind though?
> 
I was prototyping a user daemon via 'herd load root' before I was ready 
to commit it to my home-environment and was a bit surprised that I had 
to use the full path resp. a path relative to $HOME. This would be 
consistent with the info in section 3.2 but not what I would expect.

> Ludo’.