[bug#77001,v2,7/8] services: kerberos: Fix order of definitions.

Message ID 0933aa1105d60f052915f78a2b5ae5e50966de41.1742401473.git.~@wolfsden.cz
State New
Headers
Series [bug#77001,v2,1/8] services: krb5-realm: Delete trailing whitespace. |

Commit Message

Tomas Volf March 19, 2025, 4:24 p.m. UTC
  Generating the configuration file would error out with error stating:

    Wrong type to apply: #<syntax-transformer krb5-realm?>

Moving the procedures below the respective define-configuration fixes that.

* gnu/services/kerberos.scm (realm-list?, serialize-realm-list): Move below
define-configuration for krb5-realm.

Change-Id: I6a520a92cdc3c42d3916cdf33d427dadc531e7d1
---
 gnu/services/kerberos.scm | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)
  

Patch

diff --git a/gnu/services/kerberos.scm b/gnu/services/kerberos.scm
index de85b43223..fcb0ac1ab4 100644
--- a/gnu/services/kerberos.scm
+++ b/gnu/services/kerberos.scm
@@ -170,23 +170,6 @@  (define (serialize-free-form-fields field-name val)
 
 (define non-negative-integer/unset? (predicate/unset non-negative-integer?))
 
-(define (realm-list? val)
-  (and (list? val)
-       (and-map (lambda (x) (krb5-realm? x)) val)))
-
-(define (serialize-realm-list field-name val)
-  (format #t "\n[~a]\n" field-name)
-  (for-each (lambda (realm)
-              (format #t "\n~a = {\n" (krb5-realm-name realm))
-              (for-each (lambda (field)
-                          (unless (eq? 'name (configuration-field-name field))
-                            ((configuration-field-serializer field)
-                             (configuration-field-name field)
-                             ((configuration-field-getter field)
-                              realm)))) krb5-realm-fields)
-
-              (format #t "}\n")) val))
-
 
 
 ;; For a more detailed explanation of these fields see man 5 krb5.conf
@@ -246,6 +229,23 @@  (define-configuration krb5-realm
    "Used when the V4 realm name and the V5 realm name are not the same, but
 still share the same principal names and passwords."))
 
+(define (realm-list? val)
+  (and (list? val)
+       (and-map (lambda (x) (krb5-realm? x)) val)))
+
+(define (serialize-realm-list field-name val)
+  (format #t "\n[~a]\n" field-name)
+  (for-each (lambda (realm)
+              (format #t "\n~a = {\n" (krb5-realm-name realm))
+              (for-each (lambda (field)
+                          (unless (eq? 'name (configuration-field-name field))
+                            ((configuration-field-serializer field)
+                             (configuration-field-name field)
+                             ((configuration-field-getter field)
+                              realm)))) krb5-realm-fields)
+
+              (format #t "}\n")) val))
+
 
 
 ;; For a more detailed explanation of these fields see man 5 krb5.conf