all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: myglc2 <myglc2@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 0/6] Error reporting and hints for missing modules
Date: Fri, 10 Nov 2017 09:47:37 -0500	[thread overview]
Message-ID: <86shdmtcl2.fsf@gmail.com> (raw)
In-Reply-To: <87vaijgikt.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 10 Nov 2017 00:04:18 +0100")

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

On 11/10/2017 at 00:04 Ludovic Courtès writes:
>
> Thrilled by this idea, I pushed an unbound-variable handler that can
> provide hints, such as:
>
>   configuration.scm:88:19: zip: unbound variable
>   hint: Try adding `(use-modules (gnu packages compression))'.
>
> Feedback welcome!

I built and played with this.  If I follow some of the hints literally
they lead me astray. Here are some suggested hint rewording.

Note: You can reproduce the errors/hints below with the attached files.

HTH - George

HINT REWORDING SUGGESTIONS:

 *** test2: "NON EXISTANT PACKAGE MODULE (qemu) for qemu PACKAGE SPECIFIED"

The error messages ...

/root/ctest/test2:4:0: error: module (gnu packages qemu) not found
hint: Try adding `(use-package-modules virtualization)'.

... are followed literally in test2.fix, which does not fix the
problem because the stale and non-existant 'qemu' package module
reference also needs to be removed.

Maybe a better hint would be ...

hint: Remove the reference to the pachage module that was not 
hint: found and add `(use-package-modules virtualization)'.

 *** test3: 'NON EXISTANT (openssh) SERVICE MODULE specified'

This has the same conceptual problem as test2 above. 

The error messages ...

/root/ctest/test3:3:0: error: module (gnu services openssh) not found
hint: Try adding `(use-service-modules ssh)'.

... are followed literally in test3.fix, which does not fix the
problem because the non-existant 'openssh' service module
reference also needs to be removed.

Maybe a better hint would be ...

hint: Remove the reference to the service module that was not 
hint: found and add `(use-service-modules ssh)'.

 *** test4: "SERVICE MODULE (ssh) for openssh-service-type SERVICE MISSING"

A more helpful hint here ...

/root/ctest/test4:46:19: /root/ctest/test4:46:19: openssh-service-type: unbound variable
hint: Did you forget a `use-modules' form?

... would be ...

hint: Try adding `(use-service-modules ssh)'.

 ***
 
VERSION INFO:

74bea6a03 gnu: linux-libre: Update to 4.13.12.

make check failed as reported in bug#29245 but I don't think those
errors affect what I am seeing here.

TEST FILES:


[-- Attachment #2: test0.scm --]
[-- Type: application/octet-stream, Size: 1657 bytes --]

;;; GuixSD headless server
(use-modules (gnu))
(use-service-modules networking ssh)
(use-package-modules
 virtualization
 )
(operating-system
  (host-name "g1")
  (timezone "America/New_York")
  (locale "en_US.utf8")
  (kernel-arguments '("console=ttyS1,115200"))
  ;; RAID1 root using 1 NVMe SSD + 2 HDs
  (bootloader (grub-configuration (target "/dev/nvme0n1")
				  (terminal-outputs '(console))
				  (terminal-inputs '(serial console))
				  (serial-speed 115200)				  
				  ))
  (initrd (lambda (file-systems . rest) (apply base-initrd file-systems
					       #:extra-modules '("raid1")
					       rest)))
  (mapped-devices (list (mapped-device
			 (source '("/dev/nvme0n1p1" "/dev/sda1" "/dev/sdb1"))
			 (target "/dev/md3")
			 (type raid-device-mapping))))
  (file-systems (cons (file-system
			(title 'device)
			(device "/dev/md3")
			(mount-point "/")
			(type "ext4")
			(dependencies mapped-devices))
		      %base-file-systems))
  (swap-devices '("/dev/nvme0n1p2" ))
  (users (cons* (user-account (name "g1")
			      (group "users")
			      (supplementary-groups '("wheel" "kvm"))
			      (home-directory (string-append "/home/" name)))
		(user-account (name "admin")
			      (group "users")
			      (supplementary-groups '("wheel" "kvm"))
			      (home-directory (string-append "/home/" name)))
		%base-user-accounts))
  (packages (cons*
	     qemu
	     %base-packages))
  (services (cons* (dhcp-client-service)
		   (ntp-service)
		   (service openssh-service-type (openssh-configuration
						  (x11-forwarding? #t)))
		   (agetty-service (agetty-configuration (tty "ttyS1")
							 (baud-rate "115200")))
		   %base-services)))

[-- Attachment #3: try.sh --]
[-- Type: application/x-sh, Size: 1517 bytes --]

[-- Attachment #4: try.sh.log --]
[-- Type: application/octet-stream, Size: 3157 bytes --]

+ echo test0: 'CONFIRM BASE CASE WORKS'
test0: CONFIRM BASE CASE WORKS
+ guix system build test0.scm
/gnu/store/cbxq30y970hhcn8dyyi9imzs716lvnkj-system
+ echo

+ echo test1: 'PACKAGE MODULE for qemu PACKAGE (virtualization) IS NOT SPECIFIED'
test1: PACKAGE MODULE for qemu PACKAGE (virtualization) IS NOT SPECIFIED
+ sed /virtualization/d test0.scm
+ diff test0.scm test1
5d4
<  virtualization
+ guix system build test1
/root/ctest/test1:32:9: /root/ctest/test1:32:9: qemu: unbound variable
hint: Try adding `(use-modules (gnu packages virtualization))'.
+ echo

+ echo test1.fix:
test1.fix:
+ sed '/virtualization/d 
/(use-package-modules/i(use-modules (gnu packages virtualization))' test0.scm
+ diff test0.scm test1.fix
3a4
> (use-modules (gnu packages virtualization))
5d5
<  virtualization
+ guix system build test1.fix
/gnu/store/cbxq30y970hhcn8dyyi9imzs716lvnkj-system
+ echo

+ echo test2: 'NON EXISTANT PACKAGE MODULE (qemu) for qemu PACKAGE SPECIFIED'
test2: NON EXISTANT PACKAGE MODULE (qemu) for qemu PACKAGE SPECIFIED
+ sed s/virtualization/qemu/ test0.scm
+ diff test0.scm test2
5c5
<  virtualization
---
>  qemu
+ guix system build test2
/root/ctest/test2:4:0: error: module (gnu packages qemu) not found
hint: Try adding `(use-package-modules virtualization)'.
+ echo

+ echo test2.fix
test2.fix
+ sed 's/virtualization/qemu/
/(use-package-modules/ i(use-package-modules virtualization)
' test0.scm
+ diff test0.scm test2.fix
3a4
> (use-package-modules virtualization)
5c6
<  virtualization
---
>  qemu
+ guix system build test2.fix
/root/ctest/test2.fix:5:0: error: module (gnu packages qemu) not found
hint: Try adding `(use-package-modules virtualization)'.
+ echo

+ echo test3: 'NON EXISTANT (openssh) SERVICE MODULE specified'
test3: NON EXISTANT (openssh) SERVICE MODULE specified
+ sed 's/(use-service-modules networking ssh)/(use-service-modules networking openssh)/' test0.scm
+ diff test0.scm test3
3c3
< (use-service-modules networking ssh)
---
> (use-service-modules networking openssh)
+ guix system build test3
/root/ctest/test3:3:0: error: module (gnu services openssh) not found
hint: Try adding `(use-service-modules ssh)'.
+ echo

+ echo test3.fix
test3.fix
+ sed 's/(use-service-modules networking ssh)/(use-service-modules networking openssh)/
/(use-service-modules/ i(use-service-modules ssh)
' test0.scm
+ diff test0.scm test3.fix
3c3,4
< (use-service-modules networking ssh)
---
> (use-service-modules ssh)
> (use-service-modules networking openssh)
+ guix system build test3.fix
/root/ctest/test3.fix:4:0: error: module (gnu services openssh) not found
hint: Try adding `(use-service-modules ssh)'.
+ echo

+ echo test4: 'SERVICE MODULE (ssh) for openssh-service-type SERVICE MISSING'
test4: SERVICE MODULE (ssh) for openssh-service-type SERVICE MISSING
+ sed 's/(use-service-modules networking ssh)/(use-service-modules networking)/' test0.scm
+ diff test0.scm test4
3c3
< (use-service-modules networking ssh)
---
> (use-service-modules networking)
+ guix system build test4
/root/ctest/test4:46:19: /root/ctest/test4:46:19: openssh-service-type: unbound variable
hint: Did you forget a `use-modules' form?
+ echo


  reply	other threads:[~2017-11-10 14:47 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-06 20:12 The usability of Guix configurations myglc2
2017-11-06 22:16 ` Leo Famulari
2017-11-06 23:26   ` bug#29072: " myglc2
2017-11-06 23:26   ` myglc2
2017-11-07  1:56   ` myglc2
2017-11-07 11:05     ` julien lepiller
2017-11-07 12:52       ` Hartmut Goebel
2017-11-07 13:13         ` julien lepiller
2017-11-07 14:11           ` myglc2
2017-11-07 14:52             ` julien lepiller
2017-11-07 15:59               ` myglc2
2017-11-07 16:25                 ` [PATCH] " julien lepiller
     [not found]                   ` <867ev2t13i.fsf@gmail.com>
2017-11-07 21:27                     ` Julien Lepiller
2017-11-07 22:56                       ` myglc2
2017-11-07 22:47                   ` Reporting module errors Ludovic Courtès
2017-11-08  1:26                     ` myglc2
2017-11-08 10:52                     ` Hartmut Goebel
2017-11-08 14:02                       ` Ludovic Courtès
2017-11-08 13:09                     ` [PATCH 0/6] Error reporting and hints for missing modules Ludovic Courtès
2017-11-08 13:09                       ` [PATCH 1/6] ui: Introduce (guix i18n) Ludovic Courtès
2017-11-08 13:09                       ` [PATCH 2/6] ui: Define and honor '&error-location' and '&fix-hint' conditions Ludovic Courtès
2017-11-08 13:09                       ` [PATCH 3/6] services: 'fold-service-types' honors its seed Ludovic Courtès
2017-11-08 13:09                       ` [PATCH 4/6] services: 'fold-service-types' includes (gnu services) Ludovic Courtès
2017-11-08 13:09                       ` [PATCH 5/6] services: Add 'lookup-service-types' Ludovic Courtès
2017-11-08 13:09                       ` [PATCH 6/6] gnu: Improve error reporting of the use-.*modules macros Ludovic Courtès
2017-11-11  2:02                         ` Chris Marusich
2017-11-11 13:56                           ` Ludovic Courtès
2017-11-11 17:00                             ` Chris Marusich
2017-11-08 15:33                       ` [PATCH 0/6] Error reporting and hints for missing modules julien lepiller
2017-11-08 17:42                         ` myglc2
2017-11-08 19:07                           ` myglc2
2017-11-08 21:42                             ` Ludovic Courtès
2017-11-09 23:04                             ` Ludovic Courtès
2017-11-10 14:47                               ` myglc2 [this message]
2017-11-10 23:01                                 ` Julien Lepiller
2017-11-11 22:00                                   ` Ludovic Courtès
2017-11-11 22:02                                 ` Ludovic Courtès
2017-11-14  1:12                                   ` myglc2
2017-11-30 10:44                                     ` Ludovic Courtès
2017-11-07 14:45           ` The usability of Guix configurations Hartmut Goebel
2017-11-07  1:56   ` bug#29072: " myglc2
2017-11-07  2:30   ` myglc2
2017-11-07  2:30   ` myglc2
2017-11-07  3:03     ` myglc2
2017-11-07  2:59   ` myglc2
2017-11-07 20:54   ` myglc2
2017-11-06 22:16 ` bug#29072: " Leo Famulari
2017-11-07 10:23 ` Ludovic Courtès
2017-11-08 19:40   ` myglc2
2017-11-07 10:23 ` bug#29072: " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86shdmtcl2.fsf@gmail.com \
    --to=myglc2@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.