* bug#25831: Expose http_proxy setting on GuixSD
@ 2017-02-21 17:19 Leo Famulari
2017-02-21 18:17 ` Mathieu Lirzin
0 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2017-02-21 17:19 UTC (permalink / raw)
To: 25831
----- Forwarded message from ng0 <contact.ng0@cryptolab.net> -----
Date: Tue, 21 Feb 2017 09:43:35 +0000
From: ng0 <contact.ng0@cryptolab.net>
To: Leo Famulari <leo@famulari.name>
Cc: help-guix@gnu.org
Subject: Re: Proxy documentation is not clear
On 17-02-20 22:32:40, Leo Famulari wrote:
> On Sun, Feb 19, 2017 at 05:06:23PM +0000, ng0 wrote:
> > Substitutes are downloaded over HTTP or HTTPS. The http_proxy
> > environment variable can be set in the environment of guix-daemon and
> > is honored for downloads of substitutes. Note that the value of
> > http_proxy in the environment where guix build, guix package, and
> > other client commands are run has absolutely no effect.
> >
> > None of these pages provides any example or further explanation on how
> > this could be achieved, for example to make Guix use a socks5 proxy
> > systemwide. I know how this can be achieved with iptables etc, but it
> > would be better if the documentation is fixed. I have no idea how in
> > this case as the documentation is not clear.
>
> It depends on how you start the daemon. For systemd, you can set the
> environment variable from the service file. I'm not sure how to pass
> this variable to the daemon on GuixSD.
Exactly, for systemd I would have been able to find it out, but I wonder
how to achieve this in GuixSD.
----- End forwarded message -----
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#25831: Expose http_proxy setting on GuixSD
2017-02-21 17:19 bug#25831: Expose http_proxy setting on GuixSD Leo Famulari
@ 2017-02-21 18:17 ` Mathieu Lirzin
2017-02-21 20:26 ` Leo Famulari
0 siblings, 1 reply; 10+ messages in thread
From: Mathieu Lirzin @ 2017-02-21 18:17 UTC (permalink / raw)
To: Leo Famulari; +Cc: 25831
Hello,
Leo Famulari <leo@famulari.name> writes:
> From: ng0 <contact.ng0@cryptolab.net>
> Subject: Re: Proxy documentation is not clear
> To: Leo Famulari <leo@famulari.name>
> Cc: help-guix@gnu.org
> Date: Tue, 21 Feb 2017 09:43:35 +0000 (8 hours, 8 minutes, 14 seconds ago)
>
> On 17-02-20 22:32:40, Leo Famulari wrote:
>> On Sun, Feb 19, 2017 at 05:06:23PM +0000, ng0 wrote:
>> > Substitutes are downloaded over HTTP or HTTPS. The http_proxy
>> > environment variable can be set in the environment of guix-daemon and
>> > is honored for downloads of substitutes. Note that the value of
>> > http_proxy in the environment where guix build, guix package, and
>> > other client commands are run has absolutely no effect.
>> >
>> > None of these pages provides any example or further explanation on how
>> > this could be achieved, for example to make Guix use a socks5 proxy
>> > systemwide. I know how this can be achieved with iptables etc, but it
>> > would be better if the documentation is fixed. I have no idea how in
>> > this case as the documentation is not clear.
>>
>> It depends on how you start the daemon. For systemd, you can set the
>> environment variable from the service file. I'm not sure how to pass
>> this variable to the daemon on GuixSD.
>
> Exactly, for systemd I would have been able to find it out, but I wonder
> how to achieve this in GuixSD.
>
> ----------
>
Not sure if this is an appropriate answer, but to customize the guix daemon
service field like described in the example here:
https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#System-Services
you would have to patch "gnu/services/base.scm" by adding a field to the
'guix-configuration' that would be then be passed to the
'#:environment-variables' option of 'make-forkexec-constructor' in
'guix-shepherd-service'.
HTH.
--
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#25831: Expose http_proxy setting on GuixSD
2017-02-21 18:17 ` Mathieu Lirzin
@ 2017-02-21 20:26 ` Leo Famulari
2017-02-22 9:51 ` Mathieu Lirzin
0 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2017-02-21 20:26 UTC (permalink / raw)
To: Mathieu Lirzin; +Cc: 25831
[-- Attachment #1: Type: text/plain, Size: 789 bytes --]
On Tue, Feb 21, 2017 at 07:17:03PM +0100, Mathieu Lirzin wrote:
> Not sure if this is an appropriate answer, but to customize the guix daemon
> service field like described in the example here:
>
> https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#System-Services
>
> you would have to patch "gnu/services/base.scm" by adding a field to the
> 'guix-configuration' that would be then be passed to the
> '#:environment-variables' option of 'make-forkexec-constructor' in
> 'guix-shepherd-service'.
Thank you, that helped a lot!
What do the two of you think of the attached patch?
Using the attached OS declaration, I verified that the http_proxy
environment variable is set in the guix-daemon's environment, but I
don't have a proxy to test with.
[-- Attachment #2: 0001-services-guix-Support-using-an-HTTP-proxy.patch --]
[-- Type: text/plain, Size: 3025 bytes --]
From 1e6e95ea5b43231d09279b9e54f5c581462486f6 Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Tue, 21 Feb 2017 14:57:02 -0500
Subject: [PATCH] services: guix: Support using an HTTP proxy.
* gnu/services/base.scm (<guix-configuration>)[http-proxy]: New field.
(guix-shepherd-service): Use 'http-proxy' in #:environment-variables.
* doc/guix.texi ...
---
doc/guix.texi | 4 ++++
gnu/services/base.scm | 13 +++++++++----
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 6cdb5e592..19a31c659 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8611,6 +8611,10 @@ are written.
@item @code{lsof} (default: @var{lsof})
The lsof package to use.
+@item @code{http-proxy} (default: @code{#f})
+The HTTP proxy used for downloading fixed-output derivations and
+substitutes.
+
@end table
@end deftp
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 57601eab8..352a90be7 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
@@ -1114,7 +1114,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(log-file guix-configuration-log-file ;string
(default "/var/log/guix-daemon.log"))
(lsof guix-configuration-lsof ;<package>
- (default lsof)))
+ (default lsof))
+ (http-proxy guix-http-proxy ;string
+ (default #f)))
(define %default-guix-configuration
(guix-configuration))
@@ -1125,7 +1127,7 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(($ <guix-configuration> guix build-group build-accounts
authorize-key? keys
use-substitutes? substitute-urls extra-options
- log-file lsof)
+ log-file lsof http-proxy)
(list (shepherd-service
(documentation "Run the Guix daemon.")
(provision '(guix-daemon))
@@ -1142,7 +1144,10 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
;; Add 'lsof' (for the GC) to the daemon's $PATH.
#:environment-variables
- (list (string-append "PATH=" #$lsof "/bin"))
+ (list (string-append "PATH=" #$lsof "/bin")
+ #$@(if http-proxy
+ #~((string-append"http_proxy=" #$http-proxy))
+ #~()))
#:log-file #$log-file))
(stop #~(make-kill-destructor)))))))
--
2.11.1
[-- Attachment #3: os-config-bare-bones.scm --]
[-- Type: text/plain, Size: 1895 bytes --]
;; This is an operating system configuration template
;; for a "bare bones" setup, with no X11 display server.
(use-modules (gnu))
(use-service-modules networking ssh)
(use-package-modules admin)
(operating-system
(host-name "komputilo")
(timezone "Europe/Berlin")
(locale "en_US.utf8")
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
;; the label of the target root file system.
(bootloader (grub-configuration (device "/dev/sdX")))
(file-systems (cons (file-system
(device "my-root")
(title 'label)
(mount-point "/")
(type "ext4"))
%base-file-systems))
;; This is where user accounts are specified. The "root"
;; account is implicit, and is initially created with the
;; empty password.
(users (cons (user-account
(name "alice")
(comment "Bob's sister")
(group "users")
;; Adding the account to the "wheel" group
;; makes it a sudoer. Adding it to "audio"
;; and "video" allows the user to play sound
;; and access the webcam.
(supplementary-groups '("wheel"
"audio" "video"))
(home-directory "/home/alice"))
%base-user-accounts))
;; Globally-installed packages.
(packages (cons* tcpdump htop %base-packages))
;; Add services to the baseline: a DHCP client and
;; an SSH server.
(services (cons* (dhcp-client-service)
(modify-services %base-services
(guix-service-type config =>
(guix-configuration
(inherit config)
(http-proxy "http://example.com")))))))
^ permalink raw reply related [flat|nested] 10+ messages in thread
* bug#25831: Expose http_proxy setting on GuixSD
2017-02-21 20:26 ` Leo Famulari
@ 2017-02-22 9:51 ` Mathieu Lirzin
2017-02-22 19:22 ` Leo Famulari
0 siblings, 1 reply; 10+ messages in thread
From: Mathieu Lirzin @ 2017-02-22 9:51 UTC (permalink / raw)
To: Leo Famulari; +Cc: 25831
Hi,
Leo Famulari <leo@famulari.name> writes:
> On Tue, Feb 21, 2017 at 07:17:03PM +0100, Mathieu Lirzin wrote:
>> Not sure if this is an appropriate answer, but to customize the guix daemon
>> service field like described in the example here:
>>
>> https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#System-Services
>>
>> you would have to patch "gnu/services/base.scm" by adding a field to the
>> 'guix-configuration' that would be then be passed to the
>> '#:environment-variables' option of 'make-forkexec-constructor' in
>> 'guix-shepherd-service'.
>
> Thank you, that helped a lot!
>
> What do the two of you think of the attached patch?
>
> Using the attached OS declaration, I verified that the http_proxy
> environment variable is set in the guix-daemon's environment, but I
> don't have a proxy to test with.
>
> From 1e6e95ea5b43231d09279b9e54f5c581462486f6 Mon Sep 17 00:00:00 2001
> From: Leo Famulari <leo@famulari.name>
> Date: Tue, 21 Feb 2017 14:57:02 -0500
> Subject: [PATCH] services: guix: Support using an HTTP proxy.
>
> * gnu/services/base.scm (<guix-configuration>)[http-proxy]: New field.
> (guix-shepherd-service): Use 'http-proxy' in #:environment-variables.
> * doc/guix.texi ...
> ---
> doc/guix.texi | 4 ++++
> gnu/services/base.scm | 13 +++++++++----
> 2 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 6cdb5e592..19a31c659 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -8611,6 +8611,10 @@ are written.
> @item @code{lsof} (default: @var{lsof})
> The lsof package to use.
>
> +@item @code{http-proxy} (default: @code{#f})
> +The HTTP proxy used for downloading fixed-output derivations and
> +substitutes.
> +
I don't know much about HTTP proxying but when reading
'in-band-download' in "guix/download.scm" I see a line like this:
#:leaked-env-vars '("http_proxy" "https_proxy")
which makes me think that maybe we should add an https_proxy toggle in
'guix-configuration' too?
However I see that 'open-connection-for-uri' in "guix/download.scm"
ignores "https_proxy" with a comment from 2015:
;; For HTTPS URIs, honor 'https_proxy', not 'http_proxy'.
;; FIXME: Proxying is not supported for https.
Do you have any idea if this could be easily fixed?
> @end table
> @end deftp
>
> diff --git a/gnu/services/base.scm b/gnu/services/base.scm
> index 57601eab8..352a90be7 100644
> --- a/gnu/services/base.scm
> +++ b/gnu/services/base.scm
> @@ -3,7 +3,7 @@
> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
> ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
> -;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
> +;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
> ;;; Copyright © 2016 David Craven <david@craven.ch>
> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
> ;;;
> @@ -1114,7 +1114,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
> (log-file guix-configuration-log-file ;string
> (default "/var/log/guix-daemon.log"))
> (lsof guix-configuration-lsof ;<package>
> - (default lsof)))
> + (default lsof))
> + (http-proxy guix-http-proxy ;string
> + (default #f)))
'#f' is not a string. So either specify ';string | #f' or make the
default value '""'.
>
> (define %default-guix-configuration
> (guix-configuration))
> @@ -1125,7 +1127,7 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
> (($ <guix-configuration> guix build-group build-accounts
> authorize-key? keys
> use-substitutes? substitute-urls extra-options
> - log-file lsof)
> + log-file lsof http-proxy)
> (list (shepherd-service
> (documentation "Run the Guix daemon.")
> (provision '(guix-daemon))
> @@ -1142,7 +1144,10 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
>
> ;; Add 'lsof' (for the GC) to the daemon's $PATH.
> #:environment-variables
> - (list (string-append "PATH=" #$lsof "/bin"))
> + (list (string-append "PATH=" #$lsof "/bin")
> + #$@(if http-proxy
> + #~((string-append"http_proxy=" #$http-proxy))
> + #~()))
I think it would be more readable like this:
#$@(if http-proxy
(list (string-append "http_proxy=" http-proxy))
'())
or if '""' is the default value:
#$@(if (string-null? http-proxy)
'()
(list (string-append "http_proxy=" http-proxy)))
Thanks.
--
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#25831: Expose http_proxy setting on GuixSD
2017-02-22 9:51 ` Mathieu Lirzin
@ 2017-02-22 19:22 ` Leo Famulari
2017-02-22 20:15 ` Mathieu Lirzin
0 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2017-02-22 19:22 UTC (permalink / raw)
To: Mathieu Lirzin; +Cc: 25831
[-- Attachment #1: Type: text/plain, Size: 1158 bytes --]
On Wed, Feb 22, 2017 at 10:51:47AM +0100, Mathieu Lirzin wrote:
> I don't know much about HTTP proxying but when reading
> 'in-band-download' in "guix/download.scm" I see a line like this:
>
> #:leaked-env-vars '("http_proxy" "https_proxy")
>
> which makes me think that maybe we should add an https_proxy toggle in
> 'guix-configuration' too?
>
> However I see that 'open-connection-for-uri' in "guix/download.scm"
> ignores "https_proxy" with a comment from 2015:
>
> ;; For HTTPS URIs, honor 'https_proxy', not 'http_proxy'.
> ;; FIXME: Proxying is not supported for https.
That's from 'guix/build/download.scm'.
> Do you have any idea if this could be easily fixed?
I don't know. I guess that it would be required to have a TLS client
(gnutls-guile) and a certificate store available, but I'm not sure how
to implement it, or what exactly is missing.
> I think it would be more readable like this:
>
> #$@(if http-proxy
> (list (string-append "http_proxy=" http-proxy))
> '())
I think this form of the conditional is a little easier to read than the
other one, so I've used it in my updated patch, which is attached.
[-- Attachment #2: 0001-services-guix-Support-using-an-HTTP-proxy.patch --]
[-- Type: text/plain, Size: 3077 bytes --]
From ae8fd98c4a8f985ba835bfeab7f008c594508b2d Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Tue, 21 Feb 2017 14:57:02 -0500
Subject: [PATCH] services: guix: Support using an HTTP proxy.
* gnu/services/base.scm (<guix-configuration>)[http-proxy]: New field.
(guix-shepherd-service): Use 'http-proxy' in #:environment-variables.
* doc/guix.texi (Base Services)[guix-configuration]: Document it.
---
doc/guix.texi | 4 ++++
gnu/services/base.scm | 13 +++++++++----
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 6cdb5e592..19a31c659 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8611,6 +8611,10 @@ are written.
@item @code{lsof} (default: @var{lsof})
The lsof package to use.
+@item @code{http-proxy} (default: @code{#f})
+The HTTP proxy used for downloading fixed-output derivations and
+substitutes.
+
@end table
@end deftp
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 57601eab8..20eb19930 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
@@ -1114,7 +1114,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(log-file guix-configuration-log-file ;string
(default "/var/log/guix-daemon.log"))
(lsof guix-configuration-lsof ;<package>
- (default lsof)))
+ (default lsof))
+ (http-proxy guix-http-proxy ;string | #f
+ (default #f)))
(define %default-guix-configuration
(guix-configuration))
@@ -1125,7 +1127,7 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(($ <guix-configuration> guix build-group build-accounts
authorize-key? keys
use-substitutes? substitute-urls extra-options
- log-file lsof)
+ log-file lsof http-proxy)
(list (shepherd-service
(documentation "Run the Guix daemon.")
(provision '(guix-daemon))
@@ -1142,7 +1144,10 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
;; Add 'lsof' (for the GC) to the daemon's $PATH.
#:environment-variables
- (list (string-append "PATH=" #$lsof "/bin"))
+ (list (string-append "PATH=" #$lsof "/bin")
+ #$@(if http-proxy
+ (list (string-append "http_proxy=" http-proxy))
+ '()))
#:log-file #$log-file))
(stop #~(make-kill-destructor)))))))
--
2.11.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* bug#25831: Expose http_proxy setting on GuixSD
2017-02-22 19:22 ` Leo Famulari
@ 2017-02-22 20:15 ` Mathieu Lirzin
2017-02-22 20:26 ` Leo Famulari
0 siblings, 1 reply; 10+ messages in thread
From: Mathieu Lirzin @ 2017-02-22 20:15 UTC (permalink / raw)
To: Leo Famulari; +Cc: 25831
Leo Famulari <leo@famulari.name> writes:
> On Wed, Feb 22, 2017 at 10:51:47AM +0100, Mathieu Lirzin wrote:
>> I don't know much about HTTP proxying but when reading
>> 'in-band-download' in "guix/download.scm" I see a line like this:
>>
>> #:leaked-env-vars '("http_proxy" "https_proxy")
>>
>> which makes me think that maybe we should add an https_proxy toggle in
>> 'guix-configuration' too?
>>
>> However I see that 'open-connection-for-uri' in "guix/download.scm"
>> ignores "https_proxy" with a comment from 2015:
>>
>> ;; For HTTPS URIs, honor 'https_proxy', not 'http_proxy'.
>> ;; FIXME: Proxying is not supported for https.
>
> That's from 'guix/build/download.scm'.
Oops sorry about that.
>> Do you have any idea if this could be easily fixed?
>
> I don't know. I guess that it would be required to have a TLS client
> (gnutls-guile) and a certificate store available, but I'm not sure how
> to implement it, or what exactly is missing.
OK, hopefully Ludo will be able to bring more context about the code he
wrote.
>> I think it would be more readable like this:
>>
>> #$@(if http-proxy
>> (list (string-append "http_proxy=" http-proxy))
>> '())
>
> I think this form of the conditional is a little easier to read than the
> other one, so I've used it in my updated patch, which is attached.
>
> From ae8fd98c4a8f985ba835bfeab7f008c594508b2d Mon Sep 17 00:00:00 2001
> From: Leo Famulari <leo@famulari.name>
> Date: Tue, 21 Feb 2017 14:57:02 -0500
> Subject: [PATCH] services: guix: Support using an HTTP proxy.
>
> * gnu/services/base.scm (<guix-configuration>)[http-proxy]: New field.
> (guix-shepherd-service): Use 'http-proxy' in #:environment-variables.
> * doc/guix.texi (Base Services)[guix-configuration]: Document it.
> ---
> doc/guix.texi | 4 ++++
> gnu/services/base.scm | 13 +++++++++----
> 2 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 6cdb5e592..19a31c659 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -8611,6 +8611,10 @@ are written.
> @item @code{lsof} (default: @var{lsof})
> The lsof package to use.
>
> +@item @code{http-proxy} (default: @code{#f})
> +The HTTP proxy used for downloading fixed-output derivations and
> +substitutes.
> +
> @end table
> @end deftp
>
> diff --git a/gnu/services/base.scm b/gnu/services/base.scm
> index 57601eab8..20eb19930 100644
> --- a/gnu/services/base.scm
> +++ b/gnu/services/base.scm
> @@ -3,7 +3,7 @@
> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
> ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
> -;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
> +;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
> ;;; Copyright © 2016 David Craven <david@craven.ch>
> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
> ;;;
> @@ -1114,7 +1114,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
> (log-file guix-configuration-log-file ;string
> (default "/var/log/guix-daemon.log"))
> (lsof guix-configuration-lsof ;<package>
> - (default lsof)))
> + (default lsof))
> + (http-proxy guix-http-proxy ;string | #f
> + (default #f)))
>
> (define %default-guix-configuration
> (guix-configuration))
> @@ -1125,7 +1127,7 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
> (($ <guix-configuration> guix build-group build-accounts
> authorize-key? keys
> use-substitutes? substitute-urls extra-options
> - log-file lsof)
> + log-file lsof http-proxy)
> (list (shepherd-service
> (documentation "Run the Guix daemon.")
> (provision '(guix-daemon))
> @@ -1142,7 +1144,10 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
>
> ;; Add 'lsof' (for the GC) to the daemon's $PATH.
> #:environment-variables
> - (list (string-append "PATH=" #$lsof "/bin"))
> + (list (string-append "PATH=" #$lsof "/bin")
> + #$@(if http-proxy
> + (list (string-append "http_proxy=" http-proxy))
> + '()))
^^
missin two spaces in THEN and ELSE part ;)
> #:log-file #$log-file))
> (stop #~(make-kill-destructor)))))))
Otherwise, LGTM.
Thanks.
--
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#25831: Expose http_proxy setting on GuixSD
2017-02-22 20:15 ` Mathieu Lirzin
@ 2017-02-22 20:26 ` Leo Famulari
2017-02-23 16:20 ` ng0
0 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2017-02-22 20:26 UTC (permalink / raw)
To: Mathieu Lirzin; +Cc: 25831-done
On Wed, Feb 22, 2017 at 09:15:12PM +0100, Mathieu Lirzin wrote:
> Leo Famulari <leo@famulari.name> writes:
> > + (list (string-append "PATH=" #$lsof "/bin")
> > + #$@(if http-proxy
> > + (list (string-append "http_proxy=" http-proxy))
> > + '()))
> ^^
> missin two spaces in THEN and ELSE part ;)
I'm still learning what looks right :)
> Otherwise, LGTM.
Thanks for your advice and review!
I pushed the change as 93d32da9f8bba815b1effe6358904b5e1f9c73ff.
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#25831: Expose http_proxy setting on GuixSD
2017-02-22 20:26 ` Leo Famulari
@ 2017-02-23 16:20 ` ng0
2017-02-23 17:05 ` Leo Famulari
0 siblings, 1 reply; 10+ messages in thread
From: ng0 @ 2017-02-23 16:20 UTC (permalink / raw)
To: Leo Famulari; +Cc: 25831-done
On 17-02-22 15:26:31, Leo Famulari wrote:
> On Wed, Feb 22, 2017 at 09:15:12PM +0100, Mathieu Lirzin wrote:
> > Leo Famulari <leo@famulari.name> writes:
> > > + (list (string-append "PATH=" #$lsof "/bin")
> > > + #$@(if http-proxy
> > > + (list (string-append "http_proxy=" http-proxy))
> > > + '()))
> > ^^
> > missin two spaces in THEN and ELSE part ;)
>
> I'm still learning what looks right :)
>
> > Otherwise, LGTM.
>
> Thanks for your advice and review!
>
> I pushed the change as 93d32da9f8bba815b1effe6358904b5e1f9c73ff.
Thanks!
I was hoping this change (added 127.0.0.1:9050) in a test config would
pick up the .onion of bayfront I have in there, but it didn't happen. In
the comments you mentioned https_proxy is at some point favored over
http_proxy, so currently my only option is firewall rules then (which I
will need anyway).
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#25831: Expose http_proxy setting on GuixSD
2017-02-23 16:20 ` ng0
@ 2017-02-23 17:05 ` Leo Famulari
2017-02-23 17:50 ` ng0
0 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2017-02-23 17:05 UTC (permalink / raw)
To: Mathieu Lirzin, 25831-done
On Thu, Feb 23, 2017 at 04:20:38PM +0000, ng0 wrote:
> Thanks!
> I was hoping this change (added 127.0.0.1:9050) in a test config would
> pick up the .onion of bayfront I have in there, but it didn't happen.
Does it work on a system besides GuixSD?
> In the comments you mentioned https_proxy is at some point favored
> over http_proxy, so currently my only option is firewall rules then
> (which I will need anyway).
I'm not sure which comment you are referring to. For now, https_proxy is
not supported, but I would like it to be implemented as soon as
possible.
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#25831: Expose http_proxy setting on GuixSD
2017-02-23 17:05 ` Leo Famulari
@ 2017-02-23 17:50 ` ng0
0 siblings, 0 replies; 10+ messages in thread
From: ng0 @ 2017-02-23 17:50 UTC (permalink / raw)
To: Leo Famulari; +Cc: 25831-done
On 17-02-23 12:05:45, Leo Famulari wrote:
> On Thu, Feb 23, 2017 at 04:20:38PM +0000, ng0 wrote:
> > Thanks!
> > I was hoping this change (added 127.0.0.1:9050) in a test config would
> > pick up the .onion of bayfront I have in there, but it didn't happen.
>
> Does it work on a system besides GuixSD?
I will report once I have the option to test it. This can take some
time.
> > In the comments you mentioned https_proxy is at some point favored
> > over http_proxy, so currently my only option is firewall rules then
> > (which I will need anyway).
>
> I'm not sure which comment you are referring to. For now, https_proxy is
> not supported, but I would like it to be implemented as soon as
> possible.
>
>
Sorry, not you but the COMMENT / FIXME / XXX in guix-download.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-02-23 17:49 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-21 17:19 bug#25831: Expose http_proxy setting on GuixSD Leo Famulari
2017-02-21 18:17 ` Mathieu Lirzin
2017-02-21 20:26 ` Leo Famulari
2017-02-22 9:51 ` Mathieu Lirzin
2017-02-22 19:22 ` Leo Famulari
2017-02-22 20:15 ` Mathieu Lirzin
2017-02-22 20:26 ` Leo Famulari
2017-02-23 16:20 ` ng0
2017-02-23 17:05 ` Leo Famulari
2017-02-23 17:50 ` ng0
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).