'guix refresh' does not work for packages with multiple URIs (python-cram is one example)

DoneSubmitted by Sergei Trofimovich.
Details
2 participants
  • Ludovic Courtès
  • Sergei Trofimovich
Owner
unassigned
Severity
normal
S
S
Sergei Trofimovich wrote on 6 Feb 2017 10:19
(address . bug-guix@gnu.org)
20170206090220.5d01b14e@sf
[had to corrupt URIs to get past spam filter]
Noticed by accident when ran 'guix refresh' (global refreh).
Full quick reproducer is [1].
The trigger seems to be '(uri (list' nesting:
gnu/packages/python.scm:(define-public python-cram (package (name "python-cram") (version "0.7") (home-page "https://...") (source (origin (method url-fetch) (uri (list (string-append home-page "cram-" version ".tar.gz") (pypi-uri "cram" version))) (sha256 (base32 "0bvz6fwdi55rkrz3f50zsy35gvvwhlppki2yml5bj5ffy9d499vx"))))
A few issues here:- in [1] it does not tell which package it is.- in full 'guix refresh' run the first error aborts whole process. would be nice to have a mode which proceeds even in face of errors
[1]: ~/dev/git/guix $ ./pre-inst-env guix refresh python-cram;;; note: source file /home/slyfox/dev/git/guix/guix/import/pypi.scm;;; newer than compiled /home/slyfox/dev/git/guix/guix/import/pypi.goBacktrace:In ice-9/boot-9.scm: 66: 19 [call-with-prompt prompt0 ...]In ice-9/eval.scm: 432: 18 [eval # #]In ice-9/boot-9.scm:2404: 17 [save-module-excursion #<procedure 1fd5900 at ice-9/boot-9.scm:4051:3 ()>]4056: 16 [#<procedure 1fd5900 at ice-9/boot-9.scm:4051:3 ()>]1727: 15 [%start-stack load-stack ...]1732: 14 [#<procedure 1fe8bd0 ()>]In unknown file: ?: 13 [primitive-load "/home/slyfox/dev/git/guix/scripts/guix"]In guix/ui.scm:1228: 12 [run-guix-command refresh "python-cram"]In ice-9/boot-9.scm: 160: 11 [catch srfi-34 #<procedure 59c8100 at guix/ui.scm:432:2 ()> ...] 160: 10 [catch system-error ...]In guix/scripts/refresh.scm: 442: 9 [#<procedure 4bf00f0 at guix/scripts/refresh.scm:441:4 ()>] 462: 8 [#<procedure 3082c60 at guix/scripts/refresh.scm:442:6 ()>]In srfi/srfi-1.scm: 616: 7 [for-each #<procedure 479d8d0 at guix/scripts/refresh.scm:462:22 (t-1378592)> ...]In guix/scripts/refresh.scm: 288: 6 [check-for-package-update # # # ...]In ice-9/boot-9.scm: 160: 5 [catch srfi-34 #<procedure 5c24300 at ice-9/eval.scm:416:20 ()> ...]In ice-9/eval.scm: 411: 4 [eval # #] 387: 3 [eval # #] 387: 2 [eval # #]In guix/utils.scm: 569: 1 [file-sans-extension #]In unknown file: ?: 0 [string-rindex # #\. #<undefined> ...]
ERROR: In procedure string-rindex:ERROR: In procedure string-index-right: Wrong type argument in position 1 (expecting string): ("https://..." "https://...")
--
Sergei
-----BEGIN PGP SIGNATURE-----
iEYEARECAAYFAliYP7wACgkQcaHudmEf86o37gCfTeq3P9TdzZJTlMC6nJoesoOKwyYAnRyw0D3wt5GYeRiGfXsXQZT+0wV4=KPdb-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 8 Feb 2017 16:18
(name . Sergei Trofimovich)(address . slyfox@inbox.ru)(address . 25635@debbugs.gnu.org)
87vaskogn7.fsf@gnu.org
Hi Sergei,
Sergei Trofimovich <slyfox@inbox.ru> skribis:
Toggle quote (41 lines)> [1]: ~/dev/git/guix $ ./pre-inst-env guix refresh python-cram> ;;; note: source file /home/slyfox/dev/git/guix/guix/import/pypi.scm> ;;; newer than compiled /home/slyfox/dev/git/guix/guix/import/pypi.go> Backtrace:> In ice-9/boot-9.scm:> 66: 19 [call-with-prompt prompt0 ...]> In ice-9/eval.scm:> 432: 18 [eval # #]> In ice-9/boot-9.scm:> 2404: 17 [save-module-excursion #<procedure 1fd5900 at ice-9/boot-9.scm:4051:3 ()>]> 4056: 16 [#<procedure 1fd5900 at ice-9/boot-9.scm:4051:3 ()>]> 1727: 15 [%start-stack load-stack ...]> 1732: 14 [#<procedure 1fe8bd0 ()>]> In unknown file:> ?: 13 [primitive-load "/home/slyfox/dev/git/guix/scripts/guix"]> In guix/ui.scm:> 1228: 12 [run-guix-command refresh "python-cram"]> In ice-9/boot-9.scm:> 160: 11 [catch srfi-34 #<procedure 59c8100 at guix/ui.scm:432:2 ()> ...]> 160: 10 [catch system-error ...]> In guix/scripts/refresh.scm:> 442: 9 [#<procedure 4bf00f0 at guix/scripts/refresh.scm:441:4 ()>]> 462: 8 [#<procedure 3082c60 at guix/scripts/refresh.scm:442:6 ()>]> In srfi/srfi-1.scm:> 616: 7 [for-each #<procedure 479d8d0 at guix/scripts/refresh.scm:462:22 (t-1378592)> ...]> In guix/scripts/refresh.scm:> 288: 6 [check-for-package-update # # # ...]> In ice-9/boot-9.scm:> 160: 5 [catch srfi-34 #<procedure 5c24300 at ice-9/eval.scm:416:20 ()> ...]> In ice-9/eval.scm:> 411: 4 [eval # #]> 387: 3 [eval # #]> 387: 2 [eval # #]> In guix/utils.scm:> 569: 1 [file-sans-extension #]> In unknown file:> ?: 0 [string-rindex # #\. #<undefined> ...]>> ERROR: In procedure string-rindex:> ERROR: In procedure string-index-right: Wrong type argument in position 1 (expecting string): ("https://..." "https://...")
Fixed in 4eaac4b722b180b433b75127a30b871aaf9f0913, thanks!
Ludo’.
L
L
Ludovic Courtès wrote on 8 Feb 2017 16:18
control message for bug #25635
(address . control@debbugs.gnu.org)
87tw84ogmp.fsf@gnu.org
tags 25635 fixedclose 25635
?
Your comment

This issue is archived.

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