[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#36544: 'set-paths' should exclude 'source' from consideration
From: |
Ludovic Courtès |
Subject: |
bug#36544: 'set-paths' should exclude 'source' from consideration |
Date: |
Thu, 11 Jul 2019 23:24:55 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Hello,
Mark H Weaver <address@hidden> skribis:
> The 'set-paths' phase in (guix build gnu-build-system) currently
> includes 'source' in the set of candidates for inclusion in the
> search-path variables.
Oh, that was certainly not intended.
> First of all, I think it's undesirable to include subdirectories of the
> source directory in these search paths. However, if you think it's
> desirable, there's another problem: it's fragile. It depends on:
>
> (1) whether the source is a tarball or an unpacked checkout, and
> (2) whether the subdirectories specified in the search-paths
> (e.g. 'include') are within the top source directory.
>
> Currently, if you change the 'source' field of a package from a tarball
> to an (unpacked) VCS checkout, there *might* be additional components
> added to the environment variables, depending on the source tree layout.
>
> For example, this causes our 'linux-libre' package to fail to build if
> you substitute its 'source' field for a git checkout, as Chris Webber
> discovered here:
>
> https://lists.gnu.org/archive/html/help-guix/2019-07/msg00058.html
> https://lists.gnu.org/archive/html/help-guix/2019-07/msg00062.html
>
> Also, if any package depends on the current behavior, it will break if
> its 'source' is changed from a VCS checkout to a release tarball.
Indeed, that’s terrible. I suppose we were just lucky not to hit such
issues before!
> To avoid this unexpected sensitivity on the source origin method, I
> suggest that we explicitly exclude 'source' from consideration within
> the 'set-paths' phase. What do you think?
I agree. We should do that in the next ‘core-updates’.
Ludo’.