unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#28765] [PATCH] config: Conditionally configure daemon offload script.
@ 2017-10-09 19:08 Eric Bavier
  2017-10-09 21:07 ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Eric Bavier @ 2017-10-09 19:08 UTC (permalink / raw)
  To: 28765

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

This prevents pre-inst-env from exporting NIX_BUILD_HOOK when guile-ssh is not available.

Eric Bavier, Scientific Libraries, Cray Inc.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-config-Conditionally-configure-daemon-offload-script.patch --]
[-- Type: text/x-patch; name="0001-config-Conditionally-configure-daemon-offload-script.patch", Size: 1024 bytes --]

From 984e324370c2c17d8d1a982adf2884112c9e64b7 Mon Sep 17 00:00:00 2001
From: Eric Bavier <bavier@cray.com>
Date: Mon, 9 Oct 2017 13:58:04 -0500
Subject: [PATCH] config: Conditionally configure daemon offload script.

* config-daemon.ac (nix/scripts/offload): Configure only if offloading enabled.
---
 config-daemon.ac | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/config-daemon.ac b/config-daemon.ac
index 42b5981..841e0ac 100644
--- a/config-daemon.ac
+++ b/config-daemon.ac
@@ -159,8 +159,10 @@ if test "x$guix_build_daemon" = "xyes"; then
     [chmod +x nix/scripts/substitute])
   AC_CONFIG_FILES([nix/scripts/guix-authenticate],
     [chmod +x nix/scripts/guix-authenticate])
-  AC_CONFIG_FILES([nix/scripts/offload],
-    [chmod +x nix/scripts/offload])
+  if test "x$guix_build_daemon_offload" = "xyes"; then
+    AC_CONFIG_FILES([nix/scripts/offload],
+      [chmod +x nix/scripts/offload])
+  fi
 fi
 
 AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"])
-- 
1.8.5.6


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

* [bug#28765] [PATCH] config: Conditionally configure daemon offload script.
  2017-10-09 19:08 [bug#28765] [PATCH] config: Conditionally configure daemon offload script Eric Bavier
@ 2017-10-09 21:07 ` Ludovic Courtès
  2017-10-10  0:08   ` Eric Bavier
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-10-09 21:07 UTC (permalink / raw)
  To: Eric Bavier; +Cc: 28765

Eric Bavier <bavier@cray.com> skribis:

> From 984e324370c2c17d8d1a982adf2884112c9e64b7 Mon Sep 17 00:00:00 2001
> From: Eric Bavier <bavier@cray.com>
> Date: Mon, 9 Oct 2017 13:58:04 -0500
> Subject: [PATCH] config: Conditionally configure daemon offload script.
                   ^
Nitpick: rather “build:”, which is for all things build-related.

> * config-daemon.ac (nix/scripts/offload): Configure only if offloading enabled.

It LGTM, but is it helpful?  guix-daemon does not invoke ‘guix offload’
when it’s missing, as can be seen in guix-daemon.cc:

  #ifdef HAVE_DAEMON_OFFLOAD_HOOK
        /* Use our build hook for distributed builds by default.  */
  …

Thanks,
Ludo’.

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

* [bug#28765] [PATCH] config: Conditionally configure daemon offload script.
  2017-10-09 21:07 ` Ludovic Courtès
@ 2017-10-10  0:08   ` Eric Bavier
  2017-10-10  6:49     ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Eric Bavier @ 2017-10-10  0:08 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Eric Bavier, 28765

On Mon, 09 Oct 2017 23:07:10 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> Eric Bavier <bavier@cray.com> skribis:
> 
> > From 984e324370c2c17d8d1a982adf2884112c9e64b7 Mon Sep 17 00:00:00 2001
> > From: Eric Bavier <bavier@cray.com>
> > Date: Mon, 9 Oct 2017 13:58:04 -0500
> > Subject: [PATCH] config: Conditionally configure daemon offload script.  
>                    ^
> Nitpick: rather “build:”, which is for all things build-related.
> 
> > * config-daemon.ac (nix/scripts/offload): Configure only if offloading enabled.  
> 
> It LGTM, but is it helpful?  guix-daemon does not invoke ‘guix offload’
> when it’s missing, as can be seen in guix-daemon.cc:
> 
>   #ifdef HAVE_DAEMON_OFFLOAD_HOOK
>         /* Use our build hook for distributed builds by default.  */
>   …

Or maybe something like this would be preferable, to avoid exporting
NIX_BUILD_HOOK if Guix has been configured to disable the daemon
offload hook?

--- a/build-aux/pre-inst-env.in
+++ b/build-aux/pre-inst-env.in
@@ -50,13 +50,9 @@ NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate'
 export NIX_ROOT_FINDER NIX_SUBSTITUTERS NIX_LIBEXEC_DIR
 
 NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
-if [ -x "$NIX_BUILD_HOOK" ]
-then
-    export NIX_BUILD_HOOK
-else
-    # No offloading support.
-    unset NIX_BUILD_HOOK
-fi
+@BUILD_DAEMON_OFFLOAD_TRUE@export NIX_BUILD_HOOK
+@BUILD_DAEMON_OFFLOAD_FALSE@# No offloading support.
+@BUILD_DAEMON_OFFLOAD_FALSE@unset NIX_BUILD_HOOK
 
 # The 'guix-register' program.
 GUIX_REGISTER="$abs_top_builddir/guix-register"

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

* [bug#28765] [PATCH] config: Conditionally configure daemon offload script.
  2017-10-10  0:08   ` Eric Bavier
@ 2017-10-10  6:49     ` Ludovic Courtès
  2017-10-10 13:00       ` Eric Bavier
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-10-10  6:49 UTC (permalink / raw)
  To: Eric Bavier; +Cc: Eric Bavier, 28765

Hello,

Eric Bavier <ericbavier@centurylink.net> skribis:

> On Mon, 09 Oct 2017 23:07:10 +0200
> ludo@gnu.org (Ludovic Courtès) wrote:
>
>> Eric Bavier <bavier@cray.com> skribis:
>> 
>> > From 984e324370c2c17d8d1a982adf2884112c9e64b7 Mon Sep 17 00:00:00 2001
>> > From: Eric Bavier <bavier@cray.com>
>> > Date: Mon, 9 Oct 2017 13:58:04 -0500
>> > Subject: [PATCH] config: Conditionally configure daemon offload script.  
>>                    ^
>> Nitpick: rather “build:”, which is for all things build-related.
>> 
>> > * config-daemon.ac (nix/scripts/offload): Configure only if offloading enabled.  
>> 
>> It LGTM, but is it helpful?  guix-daemon does not invoke ‘guix offload’
>> when it’s missing, as can be seen in guix-daemon.cc:
>> 
>>   #ifdef HAVE_DAEMON_OFFLOAD_HOOK
>>         /* Use our build hook for distributed builds by default.  */
>>   …
>
> Or maybe something like this would be preferable, to avoid exporting
> NIX_BUILD_HOOK if Guix has been configured to disable the daemon
> offload hook?
>
> --- a/build-aux/pre-inst-env.in
> +++ b/build-aux/pre-inst-env.in
> @@ -50,13 +50,9 @@ NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate'
>  export NIX_ROOT_FINDER NIX_SUBSTITUTERS NIX_LIBEXEC_DIR
>  
>  NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
> -if [ -x "$NIX_BUILD_HOOK" ]
> -then
> -    export NIX_BUILD_HOOK
> -else
> -    # No offloading support.
> -    unset NIX_BUILD_HOOK
> -fi
> +@BUILD_DAEMON_OFFLOAD_TRUE@export NIX_BUILD_HOOK
> +@BUILD_DAEMON_OFFLOAD_FALSE@# No offloading support.
> +@BUILD_DAEMON_OFFLOAD_FALSE@unset NIX_BUILD_HOOK

It’s nicer (you’re welcome to push this change!), but it’s equivalent to
what’s already here, no?

Is there a problem that we are trying to solve in the first place, or is
it more about making things nicer?

Thank you,
Ludo’.

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

* [bug#28765] [PATCH] config: Conditionally configure daemon offload script.
  2017-10-10  6:49     ` Ludovic Courtès
@ 2017-10-10 13:00       ` Eric Bavier
  2017-10-10 14:17         ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Eric Bavier @ 2017-10-10 13:00 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Eric Bavier, 28765

On Tue, 10 Oct 2017 08:49:49 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> Hello,
> 
> Eric Bavier <ericbavier@centurylink.net> skribis:
> 
> > On Mon, 09 Oct 2017 23:07:10 +0200
> > ludo@gnu.org (Ludovic Courtès) wrote:
> >  
> >> Eric Bavier <bavier@cray.com> skribis:
> >>   
> >> > From 984e324370c2c17d8d1a982adf2884112c9e64b7 Mon Sep 17 00:00:00 2001
> >> > From: Eric Bavier <bavier@cray.com>
> >> > Date: Mon, 9 Oct 2017 13:58:04 -0500
> >> > Subject: [PATCH] config: Conditionally configure daemon offload script.    
> >>                    ^
> >> Nitpick: rather “build:”, which is for all things build-related.
> >>   
> >> > * config-daemon.ac (nix/scripts/offload): Configure only if offloading enabled.    
> >> 
> >> It LGTM, but is it helpful?  guix-daemon does not invoke ‘guix offload’
> >> when it’s missing, as can be seen in guix-daemon.cc:
> >> 
> >>   #ifdef HAVE_DAEMON_OFFLOAD_HOOK
> >>         /* Use our build hook for distributed builds by default.  */
> >>   …  
> >
> > Or maybe something like this would be preferable, to avoid exporting
> > NIX_BUILD_HOOK if Guix has been configured to disable the daemon
> > offload hook?
> >
> > --- a/build-aux/pre-inst-env.in
> > +++ b/build-aux/pre-inst-env.in
> > @@ -50,13 +50,9 @@ NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate'
> >  export NIX_ROOT_FINDER NIX_SUBSTITUTERS NIX_LIBEXEC_DIR
> >  
> >  NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
> > -if [ -x "$NIX_BUILD_HOOK" ]
> > -then
> > -    export NIX_BUILD_HOOK
> > -else
> > -    # No offloading support.
> > -    unset NIX_BUILD_HOOK
> > -fi
> > +@BUILD_DAEMON_OFFLOAD_TRUE@export NIX_BUILD_HOOK
> > +@BUILD_DAEMON_OFFLOAD_FALSE@# No offloading support.
> > +@BUILD_DAEMON_OFFLOAD_FALSE@unset NIX_BUILD_HOOK  
> 
> It’s nicer (you’re welcome to push this change!), but it’s equivalent to
> what’s already here, no?

It's not quite equivalent.  The current situation would end up always
exporting NIX_BUILD_HOOK because it is always generated by
config.status.
> 
> Is there a problem that we are trying to solve in the first place, or is
> it more about making things nicer?

The problem is libstore/build.cc executing NIX_BUILD_HOOK even if the
daemon offload hook is disabled, i.e. when guile-ssh is missing.

Make sense?

`~Eric

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

* [bug#28765] [PATCH] config: Conditionally configure daemon offload script.
  2017-10-10 13:00       ` Eric Bavier
@ 2017-10-10 14:17         ` Ludovic Courtès
  2017-10-11  4:18           ` bug#28765: " Eric Bavier
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-10-10 14:17 UTC (permalink / raw)
  To: Eric Bavier; +Cc: Eric Bavier, 28765

Eric Bavier <ericbavier@centurylink.net> skribis:

> On Tue, 10 Oct 2017 08:49:49 +0200
> ludo@gnu.org (Ludovic Courtès) wrote:
>
>> Hello,
>> 
>> Eric Bavier <ericbavier@centurylink.net> skribis:
>> 
>> > On Mon, 09 Oct 2017 23:07:10 +0200
>> > ludo@gnu.org (Ludovic Courtès) wrote:
>> >  
>> >> Eric Bavier <bavier@cray.com> skribis:
>> >>   
>> >> > From 984e324370c2c17d8d1a982adf2884112c9e64b7 Mon Sep 17 00:00:00 2001
>> >> > From: Eric Bavier <bavier@cray.com>
>> >> > Date: Mon, 9 Oct 2017 13:58:04 -0500
>> >> > Subject: [PATCH] config: Conditionally configure daemon offload script.    
>> >>                    ^
>> >> Nitpick: rather “build:”, which is for all things build-related.
>> >>   
>> >> > * config-daemon.ac (nix/scripts/offload): Configure only if offloading enabled.    
>> >> 
>> >> It LGTM, but is it helpful?  guix-daemon does not invoke ‘guix offload’
>> >> when it’s missing, as can be seen in guix-daemon.cc:
>> >> 
>> >>   #ifdef HAVE_DAEMON_OFFLOAD_HOOK
>> >>         /* Use our build hook for distributed builds by default.  */
>> >>   …  
>> >
>> > Or maybe something like this would be preferable, to avoid exporting
>> > NIX_BUILD_HOOK if Guix has been configured to disable the daemon
>> > offload hook?
>> >
>> > --- a/build-aux/pre-inst-env.in
>> > +++ b/build-aux/pre-inst-env.in
>> > @@ -50,13 +50,9 @@ NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate'
>> >  export NIX_ROOT_FINDER NIX_SUBSTITUTERS NIX_LIBEXEC_DIR
>> >  
>> >  NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
>> > -if [ -x "$NIX_BUILD_HOOK" ]
>> > -then
>> > -    export NIX_BUILD_HOOK
>> > -else
>> > -    # No offloading support.
>> > -    unset NIX_BUILD_HOOK
>> > -fi
>> > +@BUILD_DAEMON_OFFLOAD_TRUE@export NIX_BUILD_HOOK
>> > +@BUILD_DAEMON_OFFLOAD_FALSE@# No offloading support.
>> > +@BUILD_DAEMON_OFFLOAD_FALSE@unset NIX_BUILD_HOOK  
>> 
>> It’s nicer (you’re welcome to push this change!), but it’s equivalent to
>> what’s already here, no?
>
> It's not quite equivalent.  The current situation would end up always
> exporting NIX_BUILD_HOOK because it is always generated by
> config.status.

Oooh, got it.

>> Is there a problem that we are trying to solve in the first place, or is
>> it more about making things nicer?
>
> The problem is libstore/build.cc executing NIX_BUILD_HOOK even if the
> daemon offload hook is disabled, i.e. when guile-ssh is missing.
>
> Make sense?

Yes, definitely.

Then you can definitely commit the pre-inst-env.in patch; the
config-daemon.ac patch can’t hurt either.

Thank you!

Ludo’.

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

* bug#28765: [PATCH] config: Conditionally configure daemon offload script.
  2017-10-10 14:17         ` Ludovic Courtès
@ 2017-10-11  4:18           ` Eric Bavier
  0 siblings, 0 replies; 7+ messages in thread
From: Eric Bavier @ 2017-10-11  4:18 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 28765-done

On Tue, 10 Oct 2017 16:17:46 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> Eric Bavier <ericbavier@centurylink.net> skribis:
> 
> > On Tue, 10 Oct 2017 08:49:49 +0200
> > ludo@gnu.org (Ludovic Courtès) wrote:
> >  
> >> Hello,
> >> 
> >> Eric Bavier <ericbavier@centurylink.net> skribis:
> >>   
> >> > On Mon, 09 Oct 2017 23:07:10 +0200
> >> > ludo@gnu.org (Ludovic Courtès) wrote:
> >> >    
> >> >> Eric Bavier <bavier@cray.com> skribis:
> >> >>     
> >> >> > From 984e324370c2c17d8d1a982adf2884112c9e64b7 Mon Sep 17 00:00:00 2001
> >> >> > From: Eric Bavier <bavier@cray.com>
> >> >> > Date: Mon, 9 Oct 2017 13:58:04 -0500
> >> >> > Subject: [PATCH] config: Conditionally configure daemon offload script.      
> >> >>                    ^
> >> >> Nitpick: rather “build:”, which is for all things build-related.
> >> >>     
> >> >> > * config-daemon.ac (nix/scripts/offload): Configure only if offloading enabled.      
> >> >> 
> >> >> It LGTM, but is it helpful?  guix-daemon does not invoke ‘guix offload’
> >> >> when it’s missing, as can be seen in guix-daemon.cc:
> >> >> 
> >> >>   #ifdef HAVE_DAEMON_OFFLOAD_HOOK
> >> >>         /* Use our build hook for distributed builds by default.  */
> >> >>   …    
> >> >
> >> > Or maybe something like this would be preferable, to avoid exporting
> >> > NIX_BUILD_HOOK if Guix has been configured to disable the daemon
> >> > offload hook?
> >> >
> >> > --- a/build-aux/pre-inst-env.in
> >> > +++ b/build-aux/pre-inst-env.in
> >> > @@ -50,13 +50,9 @@ NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate'
> >> >  export NIX_ROOT_FINDER NIX_SUBSTITUTERS NIX_LIBEXEC_DIR
> >> >  
> >> >  NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
> >> > -if [ -x "$NIX_BUILD_HOOK" ]
> >> > -then
> >> > -    export NIX_BUILD_HOOK
> >> > -else
> >> > -    # No offloading support.
> >> > -    unset NIX_BUILD_HOOK
> >> > -fi
> >> > +@BUILD_DAEMON_OFFLOAD_TRUE@export NIX_BUILD_HOOK
> >> > +@BUILD_DAEMON_OFFLOAD_FALSE@# No offloading support.
> >> > +@BUILD_DAEMON_OFFLOAD_FALSE@unset NIX_BUILD_HOOK    
> >> 
> >> It’s nicer (you’re welcome to push this change!), but it’s equivalent to
> >> what’s already here, no?  
> >
> > It's not quite equivalent.  The current situation would end up always
> > exporting NIX_BUILD_HOOK because it is always generated by
> > config.status.  
> 
> Oooh, got it.
> 
> >> Is there a problem that we are trying to solve in the first place, or is
> >> it more about making things nicer?  
> >
> > The problem is libstore/build.cc executing NIX_BUILD_HOOK even if the
> > daemon offload hook is disabled, i.e. when guile-ssh is missing.
> >
> > Make sense?  
> 
> Yes, definitely.
> 
> Then you can definitely commit the pre-inst-env.in patch; the
> config-daemon.ac patch can’t hurt either.

pre-inst-env patch pushed as 7740228e3523e3e0e4c007eb1f1b224575d16574

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

end of thread, other threads:[~2017-10-11  4:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-09 19:08 [bug#28765] [PATCH] config: Conditionally configure daemon offload script Eric Bavier
2017-10-09 21:07 ` Ludovic Courtès
2017-10-10  0:08   ` Eric Bavier
2017-10-10  6:49     ` Ludovic Courtès
2017-10-10 13:00       ` Eric Bavier
2017-10-10 14:17         ` Ludovic Courtès
2017-10-11  4:18           ` bug#28765: " Eric Bavier

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