GNU bug report logs - #36544
'set-paths' should exclude 'source' from consideration

Previous Next

Package: guix;

Reported by: Mark H Weaver <mhw <at> netris.org>

Date: Sun, 7 Jul 2019 23:27:02 UTC

Severity: normal

Done: Marius Bakke <marius <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 36544 in the body.
You can then email your comments to 36544 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#36544; Package guix. (Sun, 07 Jul 2019 23:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mark H Weaver <mhw <at> netris.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 07 Jul 2019 23:27:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: bug-guix <at> gnu.org
Subject: '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




Information forwarded to bug-guix <at> gnu.org:
bug#36544; Package guix. (Thu, 11 Jul 2019 21:26:02 GMT) Full text and rfc822 format available.

Message #8 received at 36544 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Mark H Weaver <mhw <at> netris.org>
Cc: 36544 <at> debbugs.gnu.org
Subject: Re: bug#36544: 'set-paths' should exclude 'source' from consideration
Date: Thu, 11 Jul 2019 23:24:55 +0200
Hello,

Mark H Weaver <mhw <at> netris.org> 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’.




Information forwarded to bug-guix <at> gnu.org:
bug#36544; Package guix. (Mon, 01 Jun 2020 04:52:02 GMT) Full text and rfc822 format available.

Message #11 received at 36544 <at> debbugs.gnu.org (full text, mbox):

From: Aiko Kyle <aikokyle <at> gmail.com>
To: 36544 <at> debbugs.gnu.org
Subject: Re: bug#36544: 'set-paths' should exclude 'source' from consideration
Date: Sun, 31 May 2020 22:51:22 -0600
> > 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’.

I recently ran into this bug myself and was surprised that there 
would be a difference between building from a tarball and a git 
checkout. It seems the fix should be fairly straight forward so 
are there any plans to implement it?

Thanks,
Aiko




Information forwarded to bug-guix <at> gnu.org:
bug#36544; Package guix. (Sun, 13 Dec 2020 19:32:02 GMT) Full text and rfc822 format available.

Message #14 received at 36544 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Mark H Weaver <mhw <at> netris.org>, 36544 <at> debbugs.gnu.org
Subject: Re: bug#36544: 'set-paths' should exclude 'source' from consideration
Date: Sun, 13 Dec 2020 14:30:51 -0500
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.




Reply sent to Marius Bakke <marius <at> gnu.org>:
You have taken responsibility. (Sun, 13 Dec 2020 19:37:01 GMT) Full text and rfc822 format available.

Notification sent to Mark H Weaver <mhw <at> netris.org>:
bug acknowledged by developer. (Sun, 13 Dec 2020 19:37:01 GMT) Full text and rfc822 format available.

Message #19 received at 36544-done <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <marius <at> gnu.org>
To: Leo Famulari <leo <at> famulari.name>, Ludovic Courtès
 <ludo <at> gnu.org>
Cc: 36544-done <at> debbugs.gnu.org
Subject: Re: bug#36544: 'set-paths' should exclude 'source' from consideration
Date: Sun, 13 Dec 2020 20:35:51 +0100
[Message part 1 (text/plain, inline)]
Leo Famulari <leo <at> famulari.name> 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.
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 11 Jan 2021 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 76 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.