unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#36544: 'set-paths' should exclude 'source' from consideration
@ 2019-07-07 23:26 Mark H Weaver
  2019-07-11 21:24 ` Ludovic Courtès
  2020-06-01  4:51 ` Aiko Kyle
  0 siblings, 2 replies; 5+ messages in thread
From: Mark H Weaver @ 2019-07-07 23:26 UTC (permalink / raw)
  To: 36544

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#36544: 'set-paths' should exclude 'source' from consideration
  2019-07-07 23:26 bug#36544: 'set-paths' should exclude 'source' from consideration Mark H Weaver
@ 2019-07-11 21:24 ` Ludovic Courtès
  2020-12-13 19:30   ` Leo Famulari
  2020-06-01  4:51 ` Aiko Kyle
  1 sibling, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2019-07-11 21:24 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 36544

Hello,

Mark H Weaver <mhw@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’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#36544: 'set-paths' should exclude 'source' from consideration
  2019-07-07 23:26 bug#36544: 'set-paths' should exclude 'source' from consideration Mark H Weaver
  2019-07-11 21:24 ` Ludovic Courtès
@ 2020-06-01  4:51 ` Aiko Kyle
  1 sibling, 0 replies; 5+ messages in thread
From: Aiko Kyle @ 2020-06-01  4:51 UTC (permalink / raw)
  To: 36544

> > 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




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#36544: 'set-paths' should exclude 'source' from consideration
  2019-07-11 21:24 ` Ludovic Courtès
@ 2020-12-13 19:30   ` Leo Famulari
  2020-12-13 19:35     ` Marius Bakke
  0 siblings, 1 reply; 5+ messages in thread
From: Leo Famulari @ 2020-12-13 19:30 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 36544

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.




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#36544: 'set-paths' should exclude 'source' from consideration
  2020-12-13 19:30   ` Leo Famulari
@ 2020-12-13 19:35     ` Marius Bakke
  0 siblings, 0 replies; 5+ messages in thread
From: Marius Bakke @ 2020-12-13 19:35 UTC (permalink / raw)
  To: Leo Famulari, Ludovic Courtès; +Cc: 36544-done

[-- Attachment #1: Type: text/plain, Size: 491 bytes --]

Leo Famulari <leo@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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 507 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-12-13 19:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-07 23:26 bug#36544: 'set-paths' should exclude 'source' from consideration Mark H Weaver
2019-07-11 21:24 ` Ludovic Courtès
2020-12-13 19:30   ` Leo Famulari
2020-12-13 19:35     ` Marius Bakke
2020-06-01  4:51 ` Aiko Kyle

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).