Subject: [bug#77396] [PATCH v2 1/2] least-authority: Preserve systemd LISTEN_* environment variables.

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 03 Apr 2025 19:47:46 +0900

Hi Ludovic,

Ludovic Courtès <[email-masked]> writes:

> Maxim Cournoyer <[email-masked]> skribis:
>
>> Otherwise, combining make-systemd-constructor with least-authority-wrapper
>> would not work correctly out of the box.
>>
>> * guix/least-authority.scm (%precious-variables): Rename to...
>> (%default-preserved-environment-variables): ... this, and export it.
>> Add "LISTEN_PID" "LISTEN_FDS" "LISTEN_FDNAMES" environment variables.
>> (least-authority-wrapper): Adjust accordingly.
>>
>> Change-Id: Idd259b15463920965f530e1917d76bf97def3b7b
>
> [...]
>
>> -(define %precious-variables
>> +(define %default-preserved-environment-variables
>>    ;; Environment variables preserved by the wrapper by default.
>> -  '("HOME" "USER" "LOGNAME" "DISPLAY" "XAUTHORITY" "TERM" "TZ" "PAGER"))
>> +  '("HOME" "USER" "LOGNAME" "DISPLAY" "XAUTHORITY" "TERM" "TZ" "PAGER"
>> +    "LISTEN_PID" "LISTEN_FDS" "LISTEN_FDNAMES")) ;for make-systemd-constructor
>
> I would not export this variable, but otherwise LGTM!

It aims to make extending the list easier.  Otherwise one has to peek
into the code, and copy the existing list to be consed to.

Perhaps you mean that you don't think this should be extensible?  And if
something important is missing we can simply add it like I've done for
the LISTEN_* variables here?

-- 
Thanks,
Maxim