* [bug#33836] [PATCH 0/2] location in define-configuration
@ 2018-12-22 20:38 Oleg Pykhalov
2018-12-22 20:42 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
0 siblings, 1 reply; 13+ messages in thread
From: Oleg Pykhalov @ 2018-12-22 20:38 UTC (permalink / raw)
To: 33836
This patch series follow up Ludovic's suggestions in #33549 bug report to
implement a ‘location’ record field for ‘define-configuration’ procedure.
Oleg Pykhalov (2):
services: configuration: Add location.
services: zabbix-front-end: Show location in messages.
gnu/services/configuration.scm | 5 +++++
gnu/services/monitoring.scm | 26 +++++++++++++++++---------
2 files changed, 22 insertions(+), 9 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 1/2] services: configuration: Add location.
2018-12-22 20:38 [bug#33836] [PATCH 0/2] location in define-configuration Oleg Pykhalov
@ 2018-12-22 20:42 ` Oleg Pykhalov
2018-12-22 20:42 ` [bug#33836] [PATCH 2/2] services: zabbix-front-end: Show location in messages Oleg Pykhalov
2018-12-23 14:21 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
0 siblings, 2 replies; 13+ messages in thread
From: Oleg Pykhalov @ 2018-12-22 20:42 UTC (permalink / raw)
To: 33836
* gnu/services/configuration.scm (define-configuration): Add location.
---
gnu/services/configuration.scm | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index 707944cbe..9775f91ff 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -22,6 +22,7 @@
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix gexp)
+ #:use-module ((guix utils) #:select (source-properties->location))
#:autoload (texinfo) (texi-fragment->stexi)
#:autoload (texinfo serialize) (stexi->texi)
#:use-module (ice-9 match)
@@ -129,6 +130,10 @@
#,(id #'stem #'% #'stem)
#,(id #'stem #'make- #'stem)
#,(id #'stem #'stem #'?)
+ (location configuration-location
+ (default (and=> (current-source-location)
+ source-properties->location))
+ (innate))
(field field-getter (default def))
...)
(define #,(id #'stem #'stem #'-fields)
--
2.20.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 2/2] services: zabbix-front-end: Show location in messages.
2018-12-22 20:42 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
@ 2018-12-22 20:42 ` Oleg Pykhalov
2018-12-23 14:21 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
1 sibling, 0 replies; 13+ messages in thread
From: Oleg Pykhalov @ 2018-12-22 20:42 UTC (permalink / raw)
To: 33836
* gnu/services/monitoring.scm (zabbix-front-end-config): Show location in
messages.
---
gnu/services/monitoring.scm | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm
index 685641f11..90eda6561 100644
--- a/gnu/services/monitoring.scm
+++ b/gnu/services/monitoring.scm
@@ -29,6 +29,7 @@
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix records)
+ #:use-module (guix utils)
#:use-module ((guix ui) #:select (display-hint))
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
@@ -512,7 +513,7 @@ create it manually.")
(define zabbix-front-end-config
(match-lambda
(($ <zabbix-front-end-configuration>
- _ db-host db-port db-name db-user db-password db-secret-file
+ location _ db-host db-port db-name db-user db-password db-secret-file
zabbix-host zabbix-port)
(mixed-text-file "zabbix.conf.php"
"\
@@ -527,18 +528,25 @@ $DB['DATABASE'] = '" db-name "';
$DB['USER'] = '" db-user "';
$DB['PASSWORD'] = '" (if (string-null? db-password)
(if (string-null? db-secret-file)
- (raise (condition
- (&message
- (message "\
-you must provide either 'db-secret-file' or 'db-password'"))))
+ (raise (make-compound-condition
+ (condition
+ (&message
+ (message "\
+you must provide either 'db-secret-file' or 'db-password'")))
+ (condition
+ (&error-location (location location)))))
(string-trim-both
(with-input-from-file db-secret-file
read-string)))
(begin
- (display-hint "\
-Consider using @code{db-secret-file} instead of @code{db-password} and unset
-@code{db-password} for security in @code{zabbix-front-end-configuration}.")
- db-password)) "';
+ (display-hint (format #f
+ "~{~a: ~}Consider using
+@code{db-secret-file} instead of @code{db-password} and unset
+@code{db-password} for security in @code{zabbix-front-end-configuration}."
+ (list (location-file location)
+ (location-line location)
+ (location-column location))))
+db-password)) "';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
--
2.20.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 1/2] services: configuration: Add location.
2018-12-22 20:42 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
2018-12-22 20:42 ` [bug#33836] [PATCH 2/2] services: zabbix-front-end: Show location in messages Oleg Pykhalov
@ 2018-12-23 14:21 ` Oleg Pykhalov
2018-12-23 15:36 ` [bug#33836] [PATCH] services: zabbix-front-end: Show location in messages Oleg Pykhalov
2018-12-23 15:40 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
1 sibling, 2 replies; 13+ messages in thread
From: Oleg Pykhalov @ 2018-12-23 14:21 UTC (permalink / raw)
To: 33836
[-- Attachment #1: Type: text/plain, Size: 2501 bytes --]
Oleg Pykhalov <go.wigust@gmail.com> writes:
> * gnu/services/configuration.scm (define-configuration): Add location.
> ---
> gnu/services/configuration.scm | 5 +++++
> 1 file changed, 5 insertions(+)
[…]
After ‘make clean-go’, the ‘make’ command outputs in Guix Git repo:
--8<---------------cut here---------------start------------->8---
Backtrace:
In ice-9/boot-9.scm:
2994:20 19 (_)
2312:4 18 (save-module-excursion #<procedure a94f060 at ice-9/boo?>)
3014:26 17 (_)
In unknown file:
16 (primitive-load-path "gnu/tests/mail" #<procedure 129f2?>)
In ice-9/eval.scm:
626:19 15 (_ #<directory (gnu tests mail) 16e440a0>)
293:34 14 (_ #<directory (gnu tests mail) 16e440a0>)
163:9 13 (_ #<directory (gnu tests mail) 16e440a0>)
159:9 12 (_ #<directory (gnu tests mail) 16e440a0>)
293:34 11 (_ #<directory (gnu tests mail) 16e440a0>)
214:21 10 (_ #(#(#(#(#(#<directory (gnu tests mail?> ?) ?) ?) ?) ?))
217:50 9 (lp (#<procedure 1103f620 at ice-9/eval.scm:182:7 (e?> ?))
217:50 8 (lp (#<procedure 1103f600 at ice-9/eval.scm:182:7 (e?> ?))
217:50 7 (lp (#<procedure 1103f420 at ice-9/eval.scm:292:11 (?> ?))
217:50 6 (lp (#<procedure 1103f3e0 at ice-9/eval.scm:182:7 (e?> ?))
217:50 5 (lp (#<procedure 1103f3c0 at ice-9/eval.scm:182:7 (e?> ?))
217:50 4 (lp (#<procedure 1103f180 at ice-9/eval.scm:292:11 (?> ?))
217:33 3 (lp (#<procedure 1103f160 at ice-9/eval.scm:182:7 (e?> ?))
155:9 2 (_ #(#(#(#(#(#<directory (gnu tests mail?> ?) ?) ?) ?) ?))
619:8 1 (_ #(#(#(#(#(#(#<directory (gnu tests?> ?) ?) ?) ?) ?) ?))
In ice-9/boot-9.scm:
260:13 0 (for-each #<procedure 11123520 at ice-9/eval.scm:333:1?> ?)
ice-9/boot-9.scm:260:13: In procedure for-each:
Throw to key `srfi-34' with args `(#<condition %compound [message: "Invalid value for field location: #f"] 1106b3e0>)'.
Some deprecated features have been used. Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information. Set it to "no" to suppress
this message.
make[2]: *** [Makefile:5576: make-go] Error 1
make[2]: Leaving directory '/home/natsu/src/guix'
make[1]: *** [Makefile:4657: all-recursive] Error 1
make[1]: Leaving directory '/home/natsu/src/guix'
make: *** [Makefile:3273: all] Error 2
--8<---------------cut here---------------end--------------->8---
Also my GuixSD fails to build. Will try to fix ‘gnu/services/mail.scm’.
Oleg.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH] services: zabbix-front-end: Show location in messages.
2018-12-23 14:21 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
@ 2018-12-23 15:36 ` Oleg Pykhalov
2018-12-26 17:31 ` Ludovic Courtès
2018-12-23 15:40 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
1 sibling, 1 reply; 13+ messages in thread
From: Oleg Pykhalov @ 2018-12-23 15:36 UTC (permalink / raw)
To: 33836
* gnu/services/monitoring.scm (zabbix-front-end-config): Show location in
messages.
---
gnu/services/monitoring.scm | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm
index 685641f11..90eda6561 100644
--- a/gnu/services/monitoring.scm
+++ b/gnu/services/monitoring.scm
@@ -29,6 +29,7 @@
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix records)
+ #:use-module (guix utils)
#:use-module ((guix ui) #:select (display-hint))
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
@@ -512,7 +513,7 @@ create it manually.")
(define zabbix-front-end-config
(match-lambda
(($ <zabbix-front-end-configuration>
- _ db-host db-port db-name db-user db-password db-secret-file
+ location _ db-host db-port db-name db-user db-password db-secret-file
zabbix-host zabbix-port)
(mixed-text-file "zabbix.conf.php"
"\
@@ -527,18 +528,25 @@ $DB['DATABASE'] = '" db-name "';
$DB['USER'] = '" db-user "';
$DB['PASSWORD'] = '" (if (string-null? db-password)
(if (string-null? db-secret-file)
- (raise (condition
- (&message
- (message "\
-you must provide either 'db-secret-file' or 'db-password'"))))
+ (raise (make-compound-condition
+ (condition
+ (&message
+ (message "\
+you must provide either 'db-secret-file' or 'db-password'")))
+ (condition
+ (&error-location (location location)))))
(string-trim-both
(with-input-from-file db-secret-file
read-string)))
(begin
- (display-hint "\
-Consider using @code{db-secret-file} instead of @code{db-password} and unset
-@code{db-password} for security in @code{zabbix-front-end-configuration}.")
- db-password)) "';
+ (display-hint (format #f
+ "~{~a: ~}Consider using
+@code{db-secret-file} instead of @code{db-password} and unset
+@code{db-password} for security in @code{zabbix-front-end-configuration}."
+ (list (location-file location)
+ (location-line location)
+ (location-column location))))
+db-password)) "';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
--
2.20.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 1/2] services: configuration: Add location.
2018-12-23 14:21 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
2018-12-23 15:36 ` [bug#33836] [PATCH] services: zabbix-front-end: Show location in messages Oleg Pykhalov
@ 2018-12-23 15:40 ` Oleg Pykhalov
2018-12-26 17:30 ` Ludovic Courtès
1 sibling, 1 reply; 13+ messages in thread
From: Oleg Pykhalov @ 2018-12-23 15:40 UTC (permalink / raw)
To: 33836
* gnu/services/configuration.scm (define-configuration): Add location.
* gnu/services/mail.scm (namespace-configuration)[location]: Rename to
'mailbox-location'.
(uglify-field-name): Handle this.
* doc/guix.texi (Mail Services): Document this.
---
doc/guix.texi | 2 +-
gnu/services/configuration.scm | 5 +++++
gnu/services/mail.scm | 11 +++++++----
3 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index e254b3859..a6db2461d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -14665,7 +14665,7 @@ different for all namespaces. For example @samp{Public/}.
Defaults to @samp{""}.
@end deftypevr
-@deftypevr {@code{namespace-configuration} parameter} string location
+@deftypevr {@code{namespace-configuration} parameter} string mailbox-location
Physical location of the mailbox. This is in the same format as
mail_location, which is also the default for it.
Defaults to @samp{""}.
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index 707944cbe..9775f91ff 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -22,6 +22,7 @@
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix gexp)
+ #:use-module ((guix utils) #:select (source-properties->location))
#:autoload (texinfo) (texi-fragment->stexi)
#:autoload (texinfo serialize) (stexi->texi)
#:use-module (ice-9 match)
@@ -129,6 +130,10 @@
#,(id #'stem #'% #'stem)
#,(id #'stem #'make- #'stem)
#,(id #'stem #'stem #'?)
+ (location configuration-location
+ (default (and=> (current-source-location)
+ source-properties->location))
+ (innate))
(field field-getter (default def))
...)
(define #,(id #'stem #'stem #'-fields)
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index fcaedd038..a8121e5d1 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -75,9 +75,12 @@
(define (uglify-field-name field-name)
(let ((str (symbol->string field-name)))
- (string-join (string-split (if (string-suffix? "?" str)
- (substring str 0 (1- (string-length str)))
- str)
+ (string-join (string-split (cond
+ ((string-suffix? "?" str)
+ (substring str 0 (1- (string-length str))))
+ ((string=? str "mailbox-location")
+ "location")
+ (else str))
#\-)
"_")))
@@ -413,7 +416,7 @@ format.")
"Prefix required to access this namespace. This needs to be
different for all namespaces. For example @samp{Public/}.")
- (location
+ (mailbox-location
(string "")
"Physical location of the mailbox. This is in same format as
mail_location, which is also the default for it.")
--
2.20.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 1/2] services: configuration: Add location.
2018-12-23 15:40 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
@ 2018-12-26 17:30 ` Ludovic Courtès
2019-02-15 22:24 ` Ludovic Courtès
0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2018-12-26 17:30 UTC (permalink / raw)
To: Oleg Pykhalov; +Cc: 33836
Hello,
Oleg Pykhalov <go.wigust@gmail.com> skribis:
> * gnu/services/configuration.scm (define-configuration): Add location.
> * gnu/services/mail.scm (namespace-configuration)[location]: Rename to
> 'mailbox-location'.
> (uglify-field-name): Handle this.
> * doc/guix.texi (Mail Services): Document this.
Nice!
> --- a/gnu/services/configuration.scm
> +++ b/gnu/services/configuration.scm
> @@ -22,6 +22,7 @@
> #:use-module (guix packages)
> #:use-module (guix records)
> #:use-module (guix gexp)
> + #:use-module ((guix utils) #:select (source-properties->location))
> #:autoload (texinfo) (texi-fragment->stexi)
> #:autoload (texinfo serialize) (stexi->texi)
> #:use-module (ice-9 match)
> @@ -129,6 +130,10 @@
> #,(id #'stem #'% #'stem)
> #,(id #'stem #'make- #'stem)
> #,(id #'stem #'stem #'?)
> + (location configuration-location
> + (default (and=> (current-source-location)
> + source-properties->location))
> + (innate))
What about calling the field ‘%location’ instead? That would avoid the
collision with the other ‘location’ field and it should be fine because
it’s not a field we manually set anyway.
Also, instead of ‘configuration-location’, shouldn’t it be
(id #'stem #'-location)
? That will avoid ending up with one ‘configuration-location’ binding
for each record type.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH] services: zabbix-front-end: Show location in messages.
2018-12-23 15:36 ` [bug#33836] [PATCH] services: zabbix-front-end: Show location in messages Oleg Pykhalov
@ 2018-12-26 17:31 ` Ludovic Courtès
0 siblings, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2018-12-26 17:31 UTC (permalink / raw)
To: Oleg Pykhalov; +Cc: 33836
Oleg Pykhalov <go.wigust@gmail.com> skribis:
> * gnu/services/monitoring.scm (zabbix-front-end-config): Show location in
> messages.
[...]
> (define zabbix-front-end-config
> (match-lambda
> (($ <zabbix-front-end-configuration>
> - _ db-host db-port db-name db-user db-password db-secret-file
> + location _ db-host db-port db-name db-user db-password db-secret-file
> zabbix-host zabbix-port)
Could you instead use ‘match-record’ here? That way you could avoid
maching the ‘location’ field altogether.
Are there other users of ‘define-configuration’ that match raw records?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 1/2] services: configuration: Add location.
2018-12-26 17:30 ` Ludovic Courtès
@ 2019-02-15 22:24 ` Ludovic Courtès
2019-02-28 22:39 ` [bug#33836] [PATCH 0/2] Apply suggestions Oleg Pykhalov
0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2019-02-15 22:24 UTC (permalink / raw)
To: Oleg Pykhalov; +Cc: 33836
Hi Oleg,
A friendly ping! :-)
Ludo’.
Ludovic Courtès <ludo@gnu.org> skribis:
> Hello,
>
> Oleg Pykhalov <go.wigust@gmail.com> skribis:
>
>> * gnu/services/configuration.scm (define-configuration): Add location.
>> * gnu/services/mail.scm (namespace-configuration)[location]: Rename to
>> 'mailbox-location'.
>> (uglify-field-name): Handle this.
>> * doc/guix.texi (Mail Services): Document this.
>
> Nice!
>
>> --- a/gnu/services/configuration.scm
>> +++ b/gnu/services/configuration.scm
>> @@ -22,6 +22,7 @@
>> #:use-module (guix packages)
>> #:use-module (guix records)
>> #:use-module (guix gexp)
>> + #:use-module ((guix utils) #:select (source-properties->location))
>> #:autoload (texinfo) (texi-fragment->stexi)
>> #:autoload (texinfo serialize) (stexi->texi)
>> #:use-module (ice-9 match)
>> @@ -129,6 +130,10 @@
>> #,(id #'stem #'% #'stem)
>> #,(id #'stem #'make- #'stem)
>> #,(id #'stem #'stem #'?)
>> + (location configuration-location
>> + (default (and=> (current-source-location)
>> + source-properties->location))
>> + (innate))
>
> What about calling the field ‘%location’ instead? That would avoid the
> collision with the other ‘location’ field and it should be fine because
> it’s not a field we manually set anyway.
>
> Also, instead of ‘configuration-location’, shouldn’t it be
>
> (id #'stem #'-location)
>
> ? That will avoid ending up with one ‘configuration-location’ binding
> for each record type.
>
> Thanks,
> Ludo’.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 0/2] Apply suggestions.
2019-02-15 22:24 ` Ludovic Courtès
@ 2019-02-28 22:39 ` Oleg Pykhalov
2019-02-28 22:40 ` [bug#33836] [PATCH 1/2] services: configuration: Add '%location' Oleg Pykhalov
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Oleg Pykhalov @ 2019-02-28 22:39 UTC (permalink / raw)
To: 33836
Hello Ludovic,
Apologies for a big delay.
I applied all your suggestions and improved (I hope) text in error and hint.
Oleg Pykhalov (2):
services: configuration: Add '%location'.
services: zabbix-front-end: Show location in messages.
gnu/services/configuration.scm | 5 +++
gnu/services/monitoring.scm | 57 ++++++++++++++++++++--------------
2 files changed, 38 insertions(+), 24 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 1/2] services: configuration: Add '%location'.
2019-02-28 22:39 ` [bug#33836] [PATCH 0/2] Apply suggestions Oleg Pykhalov
@ 2019-02-28 22:40 ` Oleg Pykhalov
2019-02-28 22:40 ` [bug#33836] [PATCH 2/2] services: zabbix-front-end: Show location in messages Oleg Pykhalov
2019-03-10 17:21 ` [bug#33836] [PATCH 0/2] Apply suggestions Ludovic Courtès
2 siblings, 0 replies; 13+ messages in thread
From: Oleg Pykhalov @ 2019-02-28 22:40 UTC (permalink / raw)
To: 33836
* gnu/services/configuration.scm (define-configuration): Add '%location'.
---
gnu/services/configuration.scm | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index 707944cbe0..90f12a8d39 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -22,6 +22,7 @@
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix gexp)
+ #:use-module ((guix utils) #:select (source-properties->location))
#:autoload (texinfo) (texi-fragment->stexi)
#:autoload (texinfo serialize) (stexi->texi)
#:use-module (ice-9 match)
@@ -129,6 +130,10 @@
#,(id #'stem #'% #'stem)
#,(id #'stem #'make- #'stem)
#,(id #'stem #'stem #'?)
+ (%location #,(id #'stem #'-location)
+ (default (and=> (current-source-location)
+ source-properties->location))
+ (innate))
(field field-getter (default def))
...)
(define #,(id #'stem #'stem #'-fields)
--
2.20.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 2/2] services: zabbix-front-end: Show location in messages.
2019-02-28 22:39 ` [bug#33836] [PATCH 0/2] Apply suggestions Oleg Pykhalov
2019-02-28 22:40 ` [bug#33836] [PATCH 1/2] services: configuration: Add '%location' Oleg Pykhalov
@ 2019-02-28 22:40 ` Oleg Pykhalov
2019-03-10 17:21 ` [bug#33836] [PATCH 0/2] Apply suggestions Ludovic Courtès
2 siblings, 0 replies; 13+ messages in thread
From: Oleg Pykhalov @ 2019-02-28 22:40 UTC (permalink / raw)
To: 33836
* gnu/services/monitoring.scm (zabbix-front-end-config): Show location in
messages.
---
gnu/services/monitoring.scm | 57 +++++++++++++++++++++----------------
1 file changed, 33 insertions(+), 24 deletions(-)
diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm
index 685641f110..101222bf2e 100644
--- a/gnu/services/monitoring.scm
+++ b/gnu/services/monitoring.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
-;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,7 +29,8 @@
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix records)
- #:use-module ((guix ui) #:select (display-hint))
+ #:use-module (guix utils)
+ #:use-module ((guix ui) #:select (display-hint G_))
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (srfi srfi-26)
@@ -509,13 +510,12 @@ create it manually.")
(number 10051)
"Zabbix server port."))
-(define zabbix-front-end-config
- (match-lambda
- (($ <zabbix-front-end-configuration>
- _ db-host db-port db-name db-user db-password db-secret-file
- zabbix-host zabbix-port)
- (mixed-text-file "zabbix.conf.php"
- "\
+(define (zabbix-front-end-config config)
+ (match-record config <zabbix-front-end-configuration>
+ (%location db-host db-port db-name db-user db-password db-secret-file
+ zabbix-host zabbix-port)
+ (mixed-text-file "zabbix.conf.php"
+ "\
<?php
// Zabbix GUI configuration file.
global $DB;
@@ -525,20 +525,29 @@ $DB['SERVER'] = '" db-host "';
$DB['PORT'] = '" (number->string db-port) "';
$DB['DATABASE'] = '" db-name "';
$DB['USER'] = '" db-user "';
-$DB['PASSWORD'] = '" (if (string-null? db-password)
- (if (string-null? db-secret-file)
- (raise (condition
- (&message
- (message "\
-you must provide either 'db-secret-file' or 'db-password'"))))
- (string-trim-both
- (with-input-from-file db-secret-file
- read-string)))
- (begin
- (display-hint "\
-Consider using @code{db-secret-file} instead of @code{db-password} and unset
-@code{db-password} for security in @code{zabbix-front-end-configuration}.")
- db-password)) "';
+$DB['PASSWORD'] = '" (let ((file (location-file %location))
+ (line (location-line %location))
+ (column (location-column %location)))
+ (if (string-null? db-password)
+ (if (string-null? db-secret-file)
+ (raise (make-compound-condition
+ (condition
+ (&message
+ (message
+ (format #f "no '~A' or '~A' field in your '~A' record"
+ 'db-secret-file 'db-password
+ 'zabbix-front-end-configuration))))
+ (condition
+ (&error-location
+ (location %location)))))
+ (string-trim-both
+ (with-input-from-file db-secret-file
+ read-string)))
+ (begin
+ (display-hint (format #f (G_ "~a:~a:~a: ~a:
+Consider using @code{db-secret-file} instead of @code{db-password} for better
+security.") file line column 'zabbix-front-end-configuration))
+ db-password))) "';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
@@ -548,7 +557,7 @@ $ZBX_SERVER_PORT = '" (number->string zabbix-port) "';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
-"))))
+")))
(define %maintenance.inc.php
;; Empty php file to allow us move zabbix-frontend configs to ‘/etc/zabbix’
--
2.20.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#33836] [PATCH 0/2] Apply suggestions.
2019-02-28 22:39 ` [bug#33836] [PATCH 0/2] Apply suggestions Oleg Pykhalov
2019-02-28 22:40 ` [bug#33836] [PATCH 1/2] services: configuration: Add '%location' Oleg Pykhalov
2019-02-28 22:40 ` [bug#33836] [PATCH 2/2] services: zabbix-front-end: Show location in messages Oleg Pykhalov
@ 2019-03-10 17:21 ` Ludovic Courtès
2 siblings, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2019-03-10 17:21 UTC (permalink / raw)
To: Oleg Pykhalov; +Cc: 33836
Hi Oleg,
Oleg Pykhalov <go.wigust@gmail.com> skribis:
> Apologies for a big delay.
>
> I applied all your suggestions and improved (I hope) text in error and hint.
>
> Oleg Pykhalov (2):
> services: configuration: Add '%location'.
> services: zabbix-front-end: Show location in messages.
LGTM, thank you!
Ludo’.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-03-10 17:23 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-22 20:38 [bug#33836] [PATCH 0/2] location in define-configuration Oleg Pykhalov
2018-12-22 20:42 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
2018-12-22 20:42 ` [bug#33836] [PATCH 2/2] services: zabbix-front-end: Show location in messages Oleg Pykhalov
2018-12-23 14:21 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
2018-12-23 15:36 ` [bug#33836] [PATCH] services: zabbix-front-end: Show location in messages Oleg Pykhalov
2018-12-26 17:31 ` Ludovic Courtès
2018-12-23 15:40 ` [bug#33836] [PATCH 1/2] services: configuration: Add location Oleg Pykhalov
2018-12-26 17:30 ` Ludovic Courtès
2019-02-15 22:24 ` Ludovic Courtès
2019-02-28 22:39 ` [bug#33836] [PATCH 0/2] Apply suggestions Oleg Pykhalov
2019-02-28 22:40 ` [bug#33836] [PATCH 1/2] services: configuration: Add '%location' Oleg Pykhalov
2019-02-28 22:40 ` [bug#33836] [PATCH 2/2] services: zabbix-front-end: Show location in messages Oleg Pykhalov
2019-03-10 17:21 ` [bug#33836] [PATCH 0/2] Apply suggestions Ludovic Courtès
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).