[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: configurable guile backtrace in builder
From: |
Maxim Cournoyer |
Subject: |
Re: configurable guile backtrace in builder |
Date: |
Wed, 08 Feb 2023 11:09:57 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hello,
Ludovic Courtès <ludo@gnu.org> writes:
> Hi Maxim,
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>
> [...]
>
>>> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>>>
>>>> Side topic: I wonder if (with some changes to the daemon -- perhaps in
>>>> DerivationGoal::startBuilder) in nix/libstore/build.cc we could leak the
>>>> COLUMNS variable to be able to control the Guile builder backtrace
>>>> width.
>>>
>>> As a rule of thumb, I think we should keep the build environment
>>> unchanged forever—no changes to the set of environment variables and
>>> files/directories present in the build environment.
>>>
>>> It’s important because the whole reproducibile-by-construction approach
>>> depends on that.
>>
>> I understand it can be risky to change anything on the builder side for
>> reproducibility.
>
> It’s not that it’s risky, it’s something we should never do; it’s crucial.
Okay.
>> Would you have an idea of the angle this problem should be approached
>> from, where the goal is to have a configurable Guile backtrace width
>> in the builder?
>
> How about passing #:env-vars '(("COLUMNS" . "200")) to
> ‘gexp->derivation’ (in the build system), or adding a phase that sets
> that environment variable?
That sounds like a reasonable solution to me! It's pretty "fixed" while
I would have preferred a user-configurable value, but it's better than
the current situation, so I'd say let's go for it on core-updates!
--
Thanks,
Maxim