Cuirass fails building (some) packages from a custom-packages input

DoneSubmitted by Mathieu Othacehe.
Details
2 participants
  • Ludovic Courtès
  • Mathieu Othacehe
Owner
unassigned
Severity
normal
M
M
Mathieu Othacehe wrote on 1 Nov 2020 20:53
(name . david larsson)(address . david.larsson@selfhosted.xyz)(address . 44370@debbugs.gnu.org)
87eelclupf.fsf@gnu.org
Hello David,
Toggle quote (6 lines)> ice-9/boot-9.scm:1667:16: In procedure raise-exception:> ERROR:> 1. &evaluation-error:> name: "my-pkgs"> id:
Thanks for the bug report. Could you please send the associated logtrace in /var/log/cuirass/evaluations/xxx.gz?
Mathieu
M
M
Mathieu Othacehe wrote on 2 Nov 2020 10:46
(name . david larsson)(address . david.larsson@selfhosted.xyz)(address . 44370-done@debbugs.gnu.org)
87o8kgay6s.fsf@gnu.org
Hello David,
Toggle quote (2 lines)> error: specifications->manifest: unbound variable
This error is caused by the evaluation of "packages/manifest.scm" thatmisses some includes.
Toggle quote (22 lines)> guix/inferior.scm:247:2: ERROR:> 1. &inferior-exception:> arguments: (quit 1)> inferior: #<<inferior> pid: pipe socket: #<input-output: string> 7f1b3d1dabd0> close: #<procedure close-pipe (p)> version: (0 1 1) > packages: #<promise #<procedure 7f1b3d1de940 at guix/inferior.scm:162:32 ()>>> table: #<promise #<procedure 7f1b46b3a780 at guix/inferior.scm:163:32 ()>>>> stack: ((#f ("ice-9/boot-9.scm" 1763 13)) (raise-exception> ("ice-9/boot-9.scm" 1666 16)) (raise-exception ("ice-9/boot-9.scm" 1668 > 16)) (map1 ("srfi/srfi-1.scm" 585 17)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1> ("srfi/srfi-1.scm" 585 29)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1> ("srfi/srfi-1.scm" 585 29)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1> ("srfi/srfi-1.scm" 585 29)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1> ("srfi/srfi-1.scm" 585 29)) (#f ("gnu/ci.scm" 552 38)) (map1> ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) > (hydra-jobs ("gnu/ci.scm" 516 4)) (#f ("ice-9/eval.scm" 158 9)) (#f> ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" > 1735 10)) (call-with-prompt ("ice-9/boot-9.scm" 717 2)) (dynamic-wind> ("ice-9/boot-9.scm" 141 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 92 21)) > (with-exception-handler ("ice-9/boot-9.scm" 1735 10)) (with-exception-handler> ("ice-9/boot-9.scm" 1730 15)) (#f ("guix/repl.scm" 119 7)))
That one is caused by packages with "#f" licenses. I've pushed7c02eb6c8d7d050ecb8f3082c4a754ad32211403 to ignore package licenses.
Thanks,
Mathieu
Closed
L
L
Ludovic Courtès wrote on 2 Nov 2020 18:20
(name . david larsson)(address . david.larsson@selfhosted.xyz)
878sbjisl9.fsf@gnu.org
Hi Mathieu,
Seems to me that 7c02eb6c8d7d050ecb8f3082c4a754ad32211403 +44daec7fa4ae97a3c4490adf461322ec9f7a780a are not quite correct sincethey can let lists through (for packages where ‘license’ is a list of<license> objects).
Now, in Guix proper, the ‘license’ field should always be either a<license> or a list of <license> records. The original code would“enforce” that (by failing hard if a package doesn’t follow the rule:-)), which I think is good.
Now, why is David’s use case influenced by the way (gnu ci) handleslicenses?
Thanks,Ludo’.
M
M
Mathieu Othacehe wrote on 2 Nov 2020 19:04
(name . Ludovic Courtès)(address . ludo@gnu.org)
87y2jjab4h.fsf@gnu.org
Hey Ludo,
Toggle quote (5 lines)> Now, in Guix proper, the ‘license’ field should always be either a> <license> or a list of <license> records. The original code would> “enforce” that (by failing hard if a package doesn’t follow the rule> :-)), which I think is good.
You are right, missed that.
Toggle quote (3 lines)> Now, why is David’s use case influenced by the way (gnu ci) handles> licenses?
David has some custom packages with the license set to "#f", causing thefollowing backtrace:
Toggle snippet (23 lines)guix/inferior.scm:247:2: ERROR: 1. &inferior-exception: arguments: (quit 1) inferior: #<<inferior> pid: pipe socket: #<input-output: string 7f1b3d1dabd0> close: #<procedure close-pipe (p)> version: (0 1 1) packages: #<promise #<procedure 7f1b3d1de940 at guix/inferior.scm:162:32 ()>>table: #<promise #<procedure 7f1b46b3a780 at guix/inferior.scm:163:32 ()>>> stack: ((#f ("ice-9/boot-9.scm" 1763 13)) (raise-exception ("ice-9/boot-9.scm" 1666 16)) (raise-exception ("ice-9/boot-9.scm" 1668 16)) (map1 ("srfi/srfi-1.scm" 585 17)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1("srfi/srfi-1.scm" 585 29)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1("srfi/srfi-1.scm" 585 29)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1("srfi/srfi-1.scm" 585 29)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1("srfi/srfi-1.scm" 585 29)) (#f ("gnu/ci.scm" 552 38)) (map1("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (hydra-jobs ("gnu/ci.scm" 516 4)) (#f ("ice-9/eval.scm" 158 9)) (#f("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" 1735 10)) (call-with-prompt ("ice-9/boot-9.scm" 717 2)) (dynamic-wind("ice-9/boot-9.scm" 141 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 92 21)) (with-exception-handler ("ice-9/boot-9.scm" 1735 10)) (with-exception-handler("ice-9/boot-9.scm" 1730 15)) (#f ("guix/repl.scm" 119 7)))
As the alist fields such as "description", "long-description","license", "home-page", "maintainers" are ignored by Cuirass anyway,what would you think of removing them?
This should allow custom packages to be built by Cuirass even if theyare not fully defined.
Thanks,
Mathieu
L
L
Ludovic Courtès wrote on 3 Nov 2020 10:25
(name . Mathieu Othacehe)(address . othacehe@gnu.org)
878sbihjwt.fsf@gnu.org
Hi Mathieu,
Mathieu Othacehe <othacehe@gnu.org> skribis:
Toggle quote (35 lines)>> Now, why is David’s use case influenced by the way (gnu ci) handles>> licenses?>> David has some custom packages with the license set to "#f", causing the> following backtrace:>> guix/inferior.scm:247:2: ERROR:> 1. &inferior-exception:> arguments: (quit 1)> inferior: #<<inferior> pid: pipe socket: #<input-output: string> 7f1b3d1dabd0> close: #<procedure close-pipe (p)> version: (0 1 1) > packages: #<promise #<procedure 7f1b3d1de940 at guix/inferior.scm:162:32 ()>>> table: #<promise #<procedure 7f1b46b3a780 at guix/inferior.scm:163:32 ()>>>> stack: ((#f ("ice-9/boot-9.scm" 1763 13)) (raise-exception> ("ice-9/boot-9.scm" 1666 16)) (raise-exception ("ice-9/boot-9.scm" 1668 > 16)) (map1 ("srfi/srfi-1.scm" 585 17)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1> ("srfi/srfi-1.scm" 585 29)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1> ("srfi/srfi-1.scm" 585 29)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1> ("srfi/srfi-1.scm" 585 29)) (map1 ("srfi/srfi-1.scm" 585 29)) (map1> ("srfi/srfi-1.scm" 585 29)) (#f ("gnu/ci.scm" 552 38)) (map1> ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) > (hydra-jobs ("gnu/ci.scm" 516 4)) (#f ("ice-9/eval.scm" 158 9)) (#f> ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" > 1735 10)) (call-with-prompt ("ice-9/boot-9.scm" 717 2)) (dynamic-wind> ("ice-9/boot-9.scm" 141 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 92 21)) > (with-exception-handler ("ice-9/boot-9.scm" 1735 10)) (with-exception-handler> ("ice-9/boot-9.scm" 1730 15)) (#f ("guix/repl.scm" 119 7)))>> As the alist fields such as "description", "long-description",> "license", "home-page", "maintainers" are ignored by Cuirass anyway,> what would you think of removing them?>> This should allow custom packages to be built by Cuirass even if they> are not fully defined.
Yes, I agree it would be nice to allow for that, but I think (gnu ci) ismaybe not the right place. As I see it, (gnu ci) is meant to be usedfor the packages that live in (gnu packages …).
Perhaps we could provide a more generic (guix ci jobs) module that wouldconvert packages and manifests to the alists that Cuirass expects,without imposing much policy?
In fact, thinking about it, it might make sense for Cuirass to interpretits inputs as channels so that it can do the directly build channelssimilar to what ‘gnu-system.scm’ currently does.
Thanks,Ludo’.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 44370@debbugs.gnu.org