GNU bug report logs -
#25762
trailing slash breaks “guix package”
Previous Next
Reported by: Ricardo Wurmus <rekado <at> elephly.net>
Date: Thu, 16 Feb 2017 17:43:02 UTC
Severity: important
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 20 Jul 2017 15:31:13 +0200
with message-id <87y3rjutem.fsf <at> gnu.org>
and subject line Re: bug#25772: [PATCH] guix package: Remove trailing slash from profile path.
has caused the debbugs.gnu.org bug report #25762,
regarding trailing slash breaks “guix package”
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
25762: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25762
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Here’s a confusing error:
--8<---------------cut here---------------start------------->8---
$ guix package -p $HOME/.guix-profile/ -l
Backtrace:
In ice-9/boot-9.scm:
160: 13 [catch #t #<catch-closure 15d20c0> ...]
In unknown file:
?: 12 [apply-smob/1 #<catch-closure 15d20c0>]
In ice-9/boot-9.scm:
66: 11 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
432: 10 [eval # #]
In ice-9/boot-9.scm:
2404: 9 [save-module-excursion #<procedure 15f5900 at ice-9/boot-9.scm:4051:3 ()>]
4056: 8 [#<procedure 15f5900 at ice-9/boot-9.scm:4051:3 ()>]
1727: 7 [%start-stack load-stack ...]
1732: 6 [#<procedure 1609b70 ()>]
In unknown file:
?: 5 [primitive-load "/gnu/store/i3a6hwy46p0hzwiwvpaykl9w84vgpz2p-guix-0.12.0-4.d9da/bin/.guix-real"]
In guix/ui.scm:
1228: 4 [run-guix-command package "-p" "/home/rekado/.guix-profile/" "-l"]
In ice-9/boot-9.scm:
160: 3 [catch srfi-34 #<procedure 20e3040 at guix/ui.scm:432:2 ()> ...]
160: 2 [catch system-error ...]
In guix/scripts/package.scm:
885: 1 [#<procedure 20e3060 at guix/scripts/package.scm:884:4 ()>]
688: 0 [process-query (# # # # ...)]
guix/scripts/package.scm:688:14: In procedure process-query:
guix/scripts/package.scm:688:14: In procedure car: Wrong type argument in position 1 (expecting pair): ()
--8<---------------cut here---------------end--------------->8---
This works fine, though:
$ guix package -p $HOME/.guix-profile -l
The only difference is the trailing slash of the argument to “-p”. Guix
should handle this case gracefully, e.g. by stripping the trailing
slash.
--
Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
https://elephly.net
[Message part 3 (message/rfc822, inline)]
Hello!
Alex Kost <alezost <at> gmail.com> skribis:
> Ricardo Wurmus (2017-02-17 23:38 +0100) wrote:
>
> [...]
>>> (let* ((profiles (match (filter-map (match-lambda
>>> - (('profile . p) p)
>>> - (_ #f))
>>> + (('profile . p)
>>> + (readlink (string-trim-right p #\/)))
>>> + (_ #f))
>>> opts)
>>> (() (list %current-profile))
>>> (lst lst)))
>>
>> I don’t know if this is the right place for this change or if this
>> should be further upstream.
>
> I think it is not the right place: you modify only 'process-query'
> procedure, but there is also 'process-actions', so the following command
> will still fail:
>
> guix package -p /tmp/test-profile/ -i hello
>
> while the following succeeds:
>
> guix package -p /tmp/test-profile -i hello
>
> So I would rather modify 'canonicalize-profile' procedure in that
> module. I think it will be a general solution for --profile option.
Indeed. I pushed something along these lines as
edbe07cd67d6050d94fe8ac1af15ab15e857b61d, and a related fix as
561f4e450078a06c707d3dcda2cf0e7d6eb5ebae.
Thanks!
Ludo’.
This bug report was last modified 7 years and 310 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.