[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#36544: 'set-paths' should exclude 'source' from consideration
From: |
Mark H Weaver |
Subject: |
bug#36544: 'set-paths' should exclude 'source' from consideration |
Date: |
Sun, 07 Jul 2019 19:26:12 -0400 |
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.
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.
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?
Also, does anyone know of other procedures that do something similiar?
Thanks,
Mark
- bug#36544: 'set-paths' should exclude 'source' from consideration,
Mark H Weaver <=