all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Mathieu Othacehe <othacehe@gnu.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 46031@debbugs.gnu.org, Jonathan Brielmaier <jonathan.brielmaier@web.de>
Subject: [bug#46031] services: cuirass: Add "simple-cuirass-services".
Date: Tue, 23 Feb 2021 14:30:06 +0100	[thread overview]
Message-ID: <875z2ilxnl.fsf@gnu.org> (raw)
In-Reply-To: <87v9aj5dyl.fsf@gnu.org> ("Ludovic Courtès"'s message of "Tue, 23 Feb 2021 10:29:54 +0100")

[-- Attachment #1: Type: text/plain, Size: 393 bytes --]


Hey,

> I guess the first step would be to provide an a ‘package-channel(s)’
> procedure that does like ‘package-provenance’, but returns a list of
> channels.

Seems fine to me. Here's an implementation attached. If it works for
you, the next step will be to make the "cuirass-jobs" procedure of
"gnu-system.scm" operate on channels I guess.

WDYT?

Thanks,

Mathieu

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-describe-Add-package-channels.patch --]
[-- Type: text/x-diff, Size: 1780 bytes --]

From d44dcd5d153ba0a4627c205f24a0741384f3d301 Mon Sep 17 00:00:00 2001
From: Mathieu Othacehe <othacehe@gnu.org>
Date: Tue, 23 Feb 2021 14:24:39 +0100
Subject: [PATCH] describe: Add package-channels.

* guix/describe.scm (package-channels): New procedure.
---
 guix/describe.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/guix/describe.scm b/guix/describe.scm
index 03569b1db4..65e5772856 100644
--- a/guix/describe.scm
+++ b/guix/describe.scm
@@ -33,6 +33,7 @@
             package-path-entries
 
             package-provenance
+            package-channels
             manifest-entry-with-provenance
             manifest-entry-provenance))
 
@@ -178,6 +179,26 @@ property of manifest entries, or #f if it could not be determined."
                        `(,main
                          ,@(if extra (list extra) '()))))))))))
 
+(define (package-channels package)
+  "Return the list of channels providing PACKAGE or an empty list if it could
+not be determined."
+  (match (and=> (package-location package) location-file)
+    (#f #f)
+    (file
+     (let ((file (if (string-prefix? "/" file)
+                     file
+                     (search-path %load-path file))))
+       (and file
+            (string-prefix? (%store-prefix) file)
+
+            (filter-map
+             (lambda (entry)
+               (let ((item (manifest-entry-item entry)))
+                 (and (or (string-prefix? item file)
+                          (string=? "guix" (manifest-entry-name entry)))
+                      (manifest-entry-channel entry))))
+             (current-profile-entries)))))))
+
 (define (manifest-entry-with-provenance entry)
   "Return ENTRY with an additional 'provenance' property if it's not already
 there."
-- 
2.30.1


  reply	other threads:[~2021-02-23 13:31 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-22  8:50 [bug#46031] services: cuirass: Add "simple-cuirass-services" Mathieu Othacehe
2021-01-22 16:37 ` Jonathan Brielmaier
2021-01-22 17:55   ` Mathieu Othacehe
2021-01-24 13:47     ` Jonathan Brielmaier
2021-01-29 11:39       ` Mathieu Othacehe
2021-02-02 22:43         ` Jonathan Brielmaier
2021-02-19 19:16           ` bug#46031: " Mathieu Othacehe
2021-02-19 21:35             ` [bug#46031] " Jonathan Brielmaier
2021-02-22  8:53               ` Mathieu Othacehe
2021-02-20 10:59 ` Ludovic Courtès
2021-02-22  8:50   ` Mathieu Othacehe
2021-02-22 12:59     ` Ludovic Courtès
2021-02-23  8:48       ` Mathieu Othacehe
2021-02-23  9:29         ` Ludovic Courtès
2021-02-23 13:30           ` Mathieu Othacehe [this message]
2021-02-23 17:42             ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875z2ilxnl.fsf@gnu.org \
    --to=othacehe@gnu.org \
    --cc=46031@debbugs.gnu.org \
    --cc=jonathan.brielmaier@web.de \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.