unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#33078: Attempt to build my GuixSD system now fails
@ 2018-10-17 19:42 Mark H Weaver
  2018-10-17 19:51 ` Mark H Weaver
  2018-10-17 20:50 ` Marius Bakke
  0 siblings, 2 replies; 6+ messages in thread
From: Mark H Weaver @ 2018-10-17 19:42 UTC (permalink / raw)
  To: 33078

When I try to build my x86_64 GuixSD system, based on my system
configuration which I've not modified since May, it now fails:

--8<---------------cut here---------------start------------->8---
mhw@jojen ~$ guix system build /etc/config.scm
Backtrace:
In srfi/srfi-1.scm:
   592:17 19 (map1 (#<<service> type: #<service-type profile 2b09…> …))
In gnu/services.scm:
   778:26 18 (loop #<<service> type: #<service-type profile 2b09d20>…>)
In srfi/srfi-1.scm:
   592:17 17 (map1 (#<<service> type: #<service-type shepherd-roo…> …))
In gnu/services.scm:
   778:26 16 (loop #<<service> type: #<service-type shepherd-root 2b…>)
In srfi/srfi-1.scm:
   592:29 15 (map1 (#<<service> type: #<service-type file-systems…> …))
   592:29 14 (map1 (#<<service> type: #<service-type root-file-sy…> …))
   592:29 13 (map1 (#<<service> type: #<service-type user-process…> …))
   592:29 12 (map1 (#<<service> type: #<service-type host-name 2b…> …))
   592:17 11 (map1 (#<<service> type: #<service-type account 2b09…> …))
In gnu/services.scm:
   778:26 10 (loop #<<service> type: #<service-type account 2b09aa0>…>)
In srfi/srfi-1.scm:
   592:29  9 (map1 (#<<service> type: #<service-type guix 240fc30…> …))
   592:17  8 (map1 (#<<service> type: #<service-type dbus 240f910…> …))
In gnu/services.scm:
   779:26  7 (loop #<<service> type: #<service-type dbus 240f910> va…>)
In srfi/srfi-1.scm:
   592:29  6 (map1 (#<<service> type: #<service-type elogind 240f…> …))
   592:29  5 (map1 (#<<service> type: #<service-type polkit 240f8…> …))
   592:29  4 (map1 (#<<service> type: #<service-type colord 240f1…> …))
   592:29  3 (map1 (#<<service> type: #<service-type upower 240f2…> …))
   592:29  2 (map1 (#<<service> type: #<service-type udisks 240f1…> …))
   592:17  1 (map1 (#<<service> type: #<service-type wpa-supplica…> …))
In gnu/services/networking.scm:
   1076:9  0 (config->package _)

gnu/services/networking.scm:1076:9: In procedure config->package:
Throw to key `match-error' with args `("match" "no matching pattern" #<package wpa-supplicant@2.6 gnu/packages/admin.scm:1147 3246780>)'.
mhw@jojen ~$
--8<---------------cut here---------------end--------------->8---

Here's my system configuration:

--8<---------------cut here---------------start------------->8---
;; This is an operating system configuration template
;; for a "desktop" setup with GNOME and Xfce where the
;; root partition is encrypted with LUKS.

(use-modules (gnu) (gnu system nss) (srfi srfi-1) (guix packages))
(use-service-modules base desktop networking xorg dbus)
(use-package-modules certs gnome cryptsetup linux admin guile firmware xdisorg libusb suckless)

(define keymap
  (plain-file
   "keymap"
   "keymaps 0-255
keycode 42 = Shift
keycode 54 = Shift
keycode 29 = Control
keycode 58 = Control
keycode 56 = Alt
keycode 100 = Alt
alt shift keycode 1 = Meta_Escape
alt shift keycode 2 = Meta_exclam
alt shift keycode 3 = Meta_at
alt shift keycode 4 = Meta_numbersign
alt shift keycode 5 = Meta_dollar
alt shift keycode 6 = Meta_percent
alt shift keycode 7 = Meta_asciicircum
shift control keycode 7 = Control_asciicircum
control alt keycode 7 = Meta_Control_asciicircum
shift control alt keycode 7 = Meta_Control_asciicircum
alt shift keycode 8 = Meta_ampersand
alt shift keycode 9 = Meta_asterisk
alt shift keycode 10 = Meta_parenleft
alt shift keycode 11 = Meta_parenright
alt shift keycode 12 = Meta_underscore
shift control keycode 12 = Control_underscore
control alt keycode 12 = Meta_Control_underscore
shift control alt keycode 12 = Meta_Control_underscore
alt shift keycode 13 = Meta_plus
alt shift keycode 14 = Meta_Delete
alt shift keycode 15 = Meta_Tab
alt shift keycode 16 = Meta_Q
alt shift keycode 17 = Meta_W
alt shift keycode 18 = Meta_E
alt shift keycode 19 = Meta_R
alt shift keycode 20 = Meta_T
alt shift keycode 21 = Meta_Y
alt shift keycode 22 = Meta_U
alt shift keycode 23 = Meta_I
alt shift keycode 24 = Meta_O
alt shift keycode 25 = Meta_P
alt shift keycode 26 = Meta_braceleft
control alt keycode 26 = Meta_Escape
alt shift keycode 27 = Meta_braceright
control alt keycode 27 = Meta_Control_bracketright
alt shift keycode 28 = Meta_Control_m
alt shift keycode 29 = Meta_Control
alt shift keycode 30 = Meta_A
alt shift keycode 31 = Meta_S
alt shift keycode 32 = Meta_D
alt shift keycode 33 = Meta_F
alt shift keycode 34 = Meta_G
alt shift keycode 35 = Meta_H
alt shift keycode 36 = Meta_J
alt shift keycode 37 = Meta_K
alt shift keycode 38 = Meta_L
alt shift keycode 39 = Meta_colon
alt shift keycode 40 = Meta_quotedbl
alt shift keycode 41 = Meta_asciitilde
alt shift keycode 43 = Meta_bar
control alt keycode 43 = Meta_Control_backslash
alt shift keycode 44 = Meta_Z
alt shift keycode 45 = Meta_X
alt shift keycode 46 = Meta_C
alt shift keycode 47 = Meta_V
alt shift keycode 48 = Meta_B
alt shift keycode 49 = Meta_N
alt shift keycode 50 = Meta_M
alt shift keycode 51 = Meta_less
alt shift keycode 52 = Meta_greater
alt shift keycode 53 = Meta_question
alt shift keycode 57 = Meta_space
"))

(operating-system
  (host-name "jojen")
  (timezone "US/Eastern")
  (locale "en_US.utf8")

  (bootloader (bootloader-configuration
	       (bootloader grub-bootloader)
	       (target "/dev/sda")))

  (kernel linux-libre)

  ;;(firmware (list ath9k-htc-firmware))
  (firmware '())

  ;; Specify a mapped device for the encrypted root partition.
  ;; The UUID is that returned by 'cryptsetup luksUUID'.
  (mapped-devices
   (list (mapped-device
          (source (uuid "a56c53e7-b345-4e24-a17b-6cf158dbc7d3"))
          (target "jojen-root")
          (type luks-device-mapping))))

  (file-systems (cons* (file-system
                         ;; FIXME: reference by the file system label?
                         (device "/dev/mapper/jojen-root")
                         (mount-point "/")
                         (type "btrfs")
                         (dependencies mapped-devices))
                       %base-file-systems))

  (users (cons* (user-account
                 (name "mhw")
                 (uid 1000)
                 (group "mhw")
                 (supplementary-groups '("wheel" "users" "netdev"
                                         "audio" "video" "dialout"))
                 (home-directory "/home/mhw"))
                %base-user-accounts))

  (groups (cons* (user-group
                  (name "mhw")
                  (id 1000))
                 %base-groups))

  (setuid-programs
   (list (file-append shadow "/bin/passwd")
         (file-append inetutils "/bin/ping")))

  ;; This is where we specify system-wide packages.
  (packages (cons* nss-certs         ;for HTTPS access
                   gvfs              ;for user mounts
                   cryptsetup
                   btrfs-progs
                   wpa-supplicant
                   network-manager
                   network-manager-applet
                   (delete sudo %base-packages)))

  (services (cons* (console-keymap-service keymap)
                   ;;(xfce-desktop-service)
                   (gnome-desktop-service)
                   (service network-manager-service-type
                            (network-manager-configuration))
                   (service wpa-supplicant-service-type wpa-supplicant)

                   ;; Desktop services follow
                   (slim-service)
                   (screen-locker-service slock)
                   ;;(screen-locker-service xlockmore "xlock")
                   (simple-service 'mtp udev-service-type (list libmtp))
                   ;;(avahi-service)    ; I don't trust this
                   ;;(wicd-service)     ; using NetworkManager instead
                   (udisks-service)
                   (upower-service)
                   (colord-service)
                   ;;(geoclue-service)  ; I don't want this
                   (polkit-service)
                   (elogind-service)
                   (dbus-service)
                   ;;(ntp-service)      ; I don't trust this

                   (modify-services (remove (lambda (svc)
                                              (eq? (service-kind svc)
                                                   wicd-service-type))
                                            %base-services)
                     ;; This is for debugging
                     #;
                     (nscd-service-type config =>
                                        (nscd-configuration
                                          (inherit config)
                                          (debug-level 3)
                                          (log-file "/var/log/nscd.log")))
                     ;; I don't trust the build farm
                     (guix-service-type config =>
                                        (guix-configuration
                                          (inherit config)
                                          (use-substitutes? #f)
                                          (authorized-keys '())
                                          (substitute-urls '())
                                          (extra-options '("--gc-keep-derivations=yes"
                                                           "--gc-keep-outputs=yes")))))))

  ;; Allow resolution of '.local' host names with mDNS.
  ;;(name-service-switch %mdns-host-lookup-nss)  ; disabled for now
  )
--8<---------------cut here---------------end--------------->8---

       Mark

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

* bug#33078: Attempt to build my GuixSD system now fails
  2018-10-17 19:42 bug#33078: Attempt to build my GuixSD system now fails Mark H Weaver
@ 2018-10-17 19:51 ` Mark H Weaver
  2018-10-17 20:50 ` Marius Bakke
  1 sibling, 0 replies; 6+ messages in thread
From: Mark H Weaver @ 2018-10-17 19:51 UTC (permalink / raw)
  To: 33078

Mark H Weaver <mhw@netris.org> writes:
> When I try to build my x86_64 GuixSD system, based on my system
> configuration which I've not modified since May, it now fails:

Reverting commit acce0a474c1493ab18912bc46285248e4ccb0314 (services:
wpa-supplicant: Extend to support configuration parameters) seems to fix
the issue for me.  I guess my system configuration needs to be updated
to adapt to it, but it's not obvious what I need to do.

      Mark

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

* bug#33078: Attempt to build my GuixSD system now fails
  2018-10-17 19:42 bug#33078: Attempt to build my GuixSD system now fails Mark H Weaver
  2018-10-17 19:51 ` Mark H Weaver
@ 2018-10-17 20:50 ` Marius Bakke
  2018-10-17 21:49   ` Marius Bakke
  1 sibling, 1 reply; 6+ messages in thread
From: Marius Bakke @ 2018-10-17 20:50 UTC (permalink / raw)
  To: Mark H Weaver, 33078


[-- Attachment #1.1: Type: text/plain, Size: 1064 bytes --]

Mark H Weaver <mhw@netris.org> writes:

> When I try to build my x86_64 GuixSD system, based on my system
> configuration which I've not modified since May, it now fails:

[...]

> In gnu/services/networking.scm:
>    1076:9  0 (config->package _)
>
> gnu/services/networking.scm:1076:9: In procedure config->package:
> Throw to key `match-error' with args `("match" "no matching pattern" #<package wpa-supplicant@2.6 gnu/packages/admin.scm:1147 3246780>)'.

Whoops, sorry for this breakage!

> Here's my system configuration:

[...]

>   (services (cons* (console-keymap-service keymap)
>                    ;;(xfce-desktop-service)
>                    (gnome-desktop-service)
>                    (service network-manager-service-type
>                             (network-manager-configuration))
>                    (service wpa-supplicant-service-type wpa-supplicant)

To adapt to the new interface, this should be changed to:

(service wpa-supplicant-service-type)

...though it would be good to have backwards compatibility here.  WDYT
of this approach?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: Type: text/x-patch, Size: 1919 bytes --]

1 file changed, 15 insertions(+), 12 deletions(-)
gnu/services/networking.scm | 27 +++++++++++++++------------

modified   gnu/services/networking.scm
@@ -1072,19 +1072,22 @@ networking."))))
             (stop #~(make-kill-destructor)))))))
 
 (define wpa-supplicant-service-type
-  (let ((config->package
-         (match-lambda
-           (($ <wpa-supplicant-configuration> wpa-supplicant)
-            (list wpa-supplicant)))))
-    (service-type (name 'wpa-supplicant)
-                  (extensions
-                   (list (service-extension shepherd-root-service-type
-                                            wpa-supplicant-shepherd-service)
-                         (service-extension dbus-root-service-type config->package)
-                         (service-extension profile-service-type config->package)))
-                  (description "Run the WPA Supplicant daemon, a service that
+  (lambda* (#:optional wpa-supplicant-package)      ;deprecated
+    (let ((package
+           (if wpa-supplicant-package
+               wpa-supplicant-package
+               (match-lambda
+                 (($ <wpa-supplicant-configuration> wpa-supplicant)
+                  (list wpa-supplicant))))))
+      (service-type (name 'wpa-supplicant)
+                    (extensions
+                     (list (service-extension shepherd-root-service-type
+                                              wpa-supplicant-shepherd-service)
+                           (service-extension dbus-root-service-type package)
+                           (service-extension profile-service-type package)))
+                    (description "Run the WPA Supplicant daemon, a service that
 implements authentication, key negotiation and more for wireless networks.")
-                  (default-value (wpa-supplicant-configuration)))))
+                    (default-value (wpa-supplicant-configuration))))))
 
 \f
 ;;;

[back]

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

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

* bug#33078: Attempt to build my GuixSD system now fails
  2018-10-17 20:50 ` Marius Bakke
@ 2018-10-17 21:49   ` Marius Bakke
  2018-10-19 14:00     ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Marius Bakke @ 2018-10-17 21:49 UTC (permalink / raw)
  To: Mark H Weaver, 33078

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

Marius Bakke <mbakke@fastmail.com> writes:

> Mark H Weaver <mhw@netris.org> writes:
>
>>   (services (cons* (console-keymap-service keymap)
>>                    ;;(xfce-desktop-service)
>>                    (gnome-desktop-service)
>>                    (service network-manager-service-type
>>                             (network-manager-configuration))
>>                    (service wpa-supplicant-service-type wpa-supplicant)
>
> To adapt to the new interface, this should be changed to:
>
> (service wpa-supplicant-service-type)
>
> ...though it would be good to have backwards compatibility here.  WDYT
> of this approach?

[...]
  
>  (define wpa-supplicant-service-type
> -  (let ((config->package
> -         (match-lambda
> -           (($ <wpa-supplicant-configuration> wpa-supplicant)
> -            (list wpa-supplicant)))))
> -    (service-type (name 'wpa-supplicant)
> -                  (extensions
> -                   (list (service-extension shepherd-root-service-type
> -                                            wpa-supplicant-shepherd-service)
> -                         (service-extension dbus-root-service-type config->package)
> -                         (service-extension profile-service-type config->package)))
> -                  (description "Run the WPA Supplicant daemon, a service that
> +  (lambda* (#:optional wpa-supplicant-package)      ;deprecated
> +    (let ((package
> +           (if wpa-supplicant-package
> +               wpa-supplicant-package
> +               (match-lambda
> +                 (($ <wpa-supplicant-configuration> wpa-supplicant)
> +                  (list wpa-supplicant))))))

Derp, this obviously won't work.

I've tried various incarnations to match a package object in the
match-lambda with little success.  Suggestions?

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

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

* bug#33078: Attempt to build my GuixSD system now fails
  2018-10-17 21:49   ` Marius Bakke
@ 2018-10-19 14:00     ` Ludovic Courtès
  2018-11-07 21:41       ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2018-10-19 14:00 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 33078

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

Hello,

Marius Bakke <mbakke@fastmail.com> skribis:

> Marius Bakke <mbakke@fastmail.com> writes:
>
>> Mark H Weaver <mhw@netris.org> writes:
>>
>>>   (services (cons* (console-keymap-service keymap)
>>>                    ;;(xfce-desktop-service)
>>>                    (gnome-desktop-service)
>>>                    (service network-manager-service-type
>>>                             (network-manager-configuration))
>>>                    (service wpa-supplicant-service-type wpa-supplicant)
>>
>> To adapt to the new interface, this should be changed to:
>>
>> (service wpa-supplicant-service-type)
>>
>> ...though it would be good to have backwards compatibility here.  WDYT
>> of this approach?
>
> [...]
>   
>>  (define wpa-supplicant-service-type
>> -  (let ((config->package
>> -         (match-lambda
>> -           (($ <wpa-supplicant-configuration> wpa-supplicant)
>> -            (list wpa-supplicant)))))
>> -    (service-type (name 'wpa-supplicant)
>> -                  (extensions
>> -                   (list (service-extension shepherd-root-service-type
>> -                                            wpa-supplicant-shepherd-service)
>> -                         (service-extension dbus-root-service-type config->package)
>> -                         (service-extension profile-service-type config->package)))
>> -                  (description "Run the WPA Supplicant daemon, a service that
>> +  (lambda* (#:optional wpa-supplicant-package)      ;deprecated
>> +    (let ((package
>> +           (if wpa-supplicant-package
>> +               wpa-supplicant-package
>> +               (match-lambda
>> +                 (($ <wpa-supplicant-configuration> wpa-supplicant)
>> +                  (list wpa-supplicant))))))
>
> Derp, this obviously won't work.
>
> I've tried various incarnations to match a package object in the
> match-lambda with little success.  Suggestions?

‘wpa-supplicant-service-type’ must remain a <service-type> record, so
the above cannot work.

Maybe this?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 611 bytes --]

diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 61a0e975c..391c6ec59 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -1077,7 +1077,9 @@ networking."))))
   (let ((config->package
          (match-lambda
            (($ <wpa-supplicant-configuration> wpa-supplicant)
-            (list wpa-supplicant)))))
+            (list wpa-supplicant))
+           ((? package? package)
+            (list package)))))
     (service-type (name 'wpa-supplicant)
                   (extensions
                    (list (service-extension shepherd-root-service-type

[-- Attachment #3: Type: text/plain, Size: 18 bytes --]


HTH,
Ludo’.

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

* bug#33078: Attempt to build my GuixSD system now fails
  2018-10-19 14:00     ` Ludovic Courtès
@ 2018-11-07 21:41       ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2018-11-07 21:41 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 33078

Hey Marius,

Ping!  :-)

Ludo’.

ludo@gnu.org (Ludovic Courtès) skribis:

> Hello,
>
> Marius Bakke <mbakke@fastmail.com> skribis:
>
>> Marius Bakke <mbakke@fastmail.com> writes:
>>
>>> Mark H Weaver <mhw@netris.org> writes:
>>>
>>>>   (services (cons* (console-keymap-service keymap)
>>>>                    ;;(xfce-desktop-service)
>>>>                    (gnome-desktop-service)
>>>>                    (service network-manager-service-type
>>>>                             (network-manager-configuration))
>>>>                    (service wpa-supplicant-service-type wpa-supplicant)
>>>
>>> To adapt to the new interface, this should be changed to:
>>>
>>> (service wpa-supplicant-service-type)
>>>
>>> ...though it would be good to have backwards compatibility here.  WDYT
>>> of this approach?
>>
>> [...]
>>   
>>>  (define wpa-supplicant-service-type
>>> -  (let ((config->package
>>> -         (match-lambda
>>> -           (($ <wpa-supplicant-configuration> wpa-supplicant)
>>> -            (list wpa-supplicant)))))
>>> -    (service-type (name 'wpa-supplicant)
>>> -                  (extensions
>>> -                   (list (service-extension shepherd-root-service-type
>>> -                                            wpa-supplicant-shepherd-service)
>>> -                         (service-extension dbus-root-service-type config->package)
>>> -                         (service-extension profile-service-type config->package)))
>>> -                  (description "Run the WPA Supplicant daemon, a service that
>>> +  (lambda* (#:optional wpa-supplicant-package)      ;deprecated
>>> +    (let ((package
>>> +           (if wpa-supplicant-package
>>> +               wpa-supplicant-package
>>> +               (match-lambda
>>> +                 (($ <wpa-supplicant-configuration> wpa-supplicant)
>>> +                  (list wpa-supplicant))))))
>>
>> Derp, this obviously won't work.
>>
>> I've tried various incarnations to match a package object in the
>> match-lambda with little success.  Suggestions?
>
> ‘wpa-supplicant-service-type’ must remain a <service-type> record, so
> the above cannot work.
>
> Maybe this?
>
> diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
> index 61a0e975c..391c6ec59 100644
> --- a/gnu/services/networking.scm
> +++ b/gnu/services/networking.scm
> @@ -1077,7 +1077,9 @@ networking."))))
>    (let ((config->package
>           (match-lambda
>             (($ <wpa-supplicant-configuration> wpa-supplicant)
> -            (list wpa-supplicant)))))
> +            (list wpa-supplicant))
> +           ((? package? package)
> +            (list package)))))
>      (service-type (name 'wpa-supplicant)
>                    (extensions
>                     (list (service-extension shepherd-root-service-type
>
>
> HTH,
> Ludo’.

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

end of thread, other threads:[~2018-11-07 21:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-17 19:42 bug#33078: Attempt to build my GuixSD system now fails Mark H Weaver
2018-10-17 19:51 ` Mark H Weaver
2018-10-17 20:50 ` Marius Bakke
2018-10-17 21:49   ` Marius Bakke
2018-10-19 14:00     ` Ludovic Courtès
2018-11-07 21:41       ` 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).