Subject: bug#36544: closed (Re: bug#36544: 'set-paths' should exclude 'source' from consideration)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 13 Dec 2020 19:37:01 +0000

Your bug report

#36544: 'set-paths' should exclude 'source' from consideration

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
36544: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=36544
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#36544: 'set-paths' should exclude 'source' from consideration
From: Marius Bakke <[email-masked]>
To: Leo Famulari <[email-masked]>, Ludovic Courtès<[email-masked]>
Cc: [email-masked]
Date: Sun, 13 Dec 2020 20:35:51 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Leo Famulari <[email-masked]> skriver:

> On Thu, Jul 11, 2019 at 11:24:55PM +0200, Ludovic Courtès wrote:
>> > 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’.
>
> Now is a good time to make this change.

This was fixed in 968f541c36c28c413f696558505f902d0a133d58.

Subject: 'set-paths' should exclude 'source' from consideration
From: Mark H Weaver <[email-masked]>
To: [email-masked]
Date: Sun, 07 Jul 2019 19:26:12 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

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