diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-06-13 12:31:02 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-06-13 23:57:44 +0200 |
commit | fb3927486ac163d11e3af7ca7c4fffcc4be06809 (patch) | |
tree | 1c688e159efa8a10afae7abb0bfc09beae5d46fa | |
parent | bd02e50a02ceed914135dba1e69e4457e489cf86 (diff) |
describe: 'current-channel-entries' ignores non-channel profile entries.
Fixes <https://bugs.gnu.org/48778>.
A side effect of c47f3fc13562d82edfd2d47342574154c452843a is that
(@ (guix describe) current-profile) provides the correct answer when the
'guix' package is installed in a profile. Consequently, the 'guix'
package installed in /run/current-system/profile (for instance) would
end up loading all the .scm files in that directory.
* guix/describe.scm (current-channel-entries): Remove ENTRY if it lacks
the 'source' property.
-rw-r--r-- | guix/describe.scm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/guix/describe.scm b/guix/describe.scm index 711b7b4290..65cd79094b 100644 --- a/guix/describe.scm +++ b/guix/describe.scm @@ -115,7 +115,11 @@ lives in, or the empty list if this is not applicable." "Return manifest entries corresponding to extra channels--i.e., not the 'guix' channel." (remove (lambda (entry) - (string=? (manifest-entry-name entry) "guix")) + (or (string=? (manifest-entry-name entry) "guix") + + ;; If ENTRY lacks the 'source' property, it's not an entry + ;; from 'guix pull'. See <https://bugs.gnu.org/48778>. + (not (assq 'source (manifest-entry-properties entry))))) (current-profile-entries)))) (define current-channels |