On Fri, Apr 18, 2025 at 9:57 PM Mathias Gibbens <gib...@debian.org> wrote:
>   For background on this particular part of the build, when I was
> working on LXD packaging the TZ and HOME environment variables were set
> to help make the build reproducible[0]. Later with Incus, I must have
> noticed something in another of the manpages that was including the
> build-environment HOME, so I set the override on all the generation
> commands[1].
>
>   When the `incus` binary starts it does try to create a configuration
> file under ~/.config/incus/; based on the error it seems that the
> homedir is "/build/", and that it's read-only?

Your [1] commit in particular looks wrong. When Santiago mentioned
Debian Policy, I think he was referring to § 4.9 "In particular, the
required targets must not attempt to write into HOME." [2] But your
commit explicitly rewrites HOME as ~ which is HOME. I'm guessing if
you revert the commit, it might fix Santiago's issue.

I believe that the HOME issue Santiago discovered is more important
than reproducibility. The HOME issue is a "must" but reproduciblity in
§ 4.15 [3] is a "should". Files should not be embedding the
build directory (if that was what is happening) and some work may need
to be done upstream to fix that if you want to make the build
reproducible.

[1] -- 
https://salsa.debian.org/go-team/packages/incus/-/commit/0e9d324dadea33eeae6682786c1beff5764a33da
[2] 
https://www.debian.org/doc/debian-policy/ch-source.html#main-building-script-debian-rules
[3] https://www.debian.org/doc/debian-policy/ch-source.html#reproducibility

Thank you,
Jeremy Bícha

Reply via email to