GNU bug report logs - #25762
trailing slash breaks “guix package”

Previous Next

Package: guix;

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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 25762 in the body.
You can then email your comments to 25762 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#25762; Package guix. (Thu, 16 Feb 2017 17:43:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <rekado <at> elephly.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Thu, 16 Feb 2017 17:43:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: "'bug-guix\@gnu.org'" <bug-guix <at> gnu.org>
Subject: trailing slash breaks “guix package”
Date: Thu, 16 Feb 2017 18:41:40 +0100
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





Severity set to 'important' from 'normal' Request was from ludo <at> gnu.org (Ludovic Courtès) to control <at> debbugs.gnu.org. (Sat, 11 Mar 2017 13:51:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#25762; Package guix. (Fri, 17 Mar 2017 18:43:02 GMT) Full text and rfc822 format available.

Message #10 received at 25762 <at> debbugs.gnu.org (full text, mbox):

From: Joshua Branson <bransoj <at> hotmail.com>
To: "25762 <at> debbugs.gnu.org" <25762 <at> debbugs.gnu.org>
Subject: trailing slash breaks "guix package"
Date: Fri, 17 Mar 2017 18:42:37 +0000
I can confirm this error.  I’m dual booting guixSD on a macbook 7,1.  

guix —version

20170317.18

Joshua

Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Thu, 20 Jul 2017 13:32:02 GMT) Full text and rfc822 format available.

Notification sent to Ricardo Wurmus <rekado <at> elephly.net>:
bug acknowledged by developer. (Thu, 20 Jul 2017 13:32:02 GMT) Full text and rfc822 format available.

Message #15 received at 25762-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Alex Kost <alezost <at> gmail.com>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 25772-done <at> debbugs.gnu.org,
 25762-done <at> debbugs.gnu.org
Subject: Re: bug#25772: [PATCH] guix package: Remove trailing slash from
 profile path.
Date: Thu, 20 Jul 2017 15:31:13 +0200
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’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 18 Aug 2017 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 256 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.