[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/07: guix package: Save provenance information when using '--manifest'
From: |
guix-commits |
Subject: |
03/07: guix package: Save provenance information when using '--manifest'. |
Date: |
Sun, 29 Dec 2019 12:25:33 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit c48e522fdbb7c749bbf6147e44c067bf1f916fdd
Author: Ludovic Courtès <address@hidden>
Date: Sun Dec 29 16:22:35 2019 +0100
guix package: Save provenance information when using '--manifest'.
Fixes <https://bugs.gnu.org/38673>.
Reported by zimoun <address@hidden>.
* guix/describe.scm (manifest-entry-with-provenance): New procedure.
* guix/scripts/package.scm (process-actions): Use it when FILES is
non-empty.
---
guix/describe.scm | 18 +++++++++++++++++-
guix/scripts/package.scm | 7 +++++--
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/guix/describe.scm b/guix/describe.scm
index 893dca2..6b9b219 100644
--- a/guix/describe.scm
+++ b/guix/describe.scm
@@ -30,7 +30,8 @@
current-profile-entries
package-path-entries
- package-provenance))
+ package-provenance
+ manifest-entry-with-provenance))
;;; Commentary:
;;;
@@ -144,3 +145,18 @@ property of manifest entries, or #f if it could not be
determined."
(and main
`(,main
,@(if extra (list extra) '()))))))))))
+
+(define (manifest-entry-with-provenance entry)
+ "Return ENTRY with an additional 'provenance' property if it's not already
+there."
+ (let ((properties (manifest-entry-properties entry)))
+ (if (assq 'properties properties)
+ entry
+ (let ((item (manifest-entry-item entry)))
+ (manifest-entry
+ (inherit entry)
+ (properties
+ (match (and (package? item) (package-provenance item))
+ (#f properties)
+ (sexp `((provenance ,@sexp)
+ ,@properties)))))))))
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 92c6e34..ea16435 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -38,7 +38,7 @@
#:use-module (guix config)
#:use-module (guix scripts)
#:use-module (guix scripts build)
- #:autoload (guix describe) (package-provenance)
+ #:use-module (guix describe)
#:autoload (guix store roots) (gc-roots)
#:use-module ((guix build utils)
#:select (directory-exists? mkdir-p))
@@ -883,7 +883,10 @@ processed, #f otherwise."
opts))
(manifest (match files
(() (profile-manifest profile))
- (_ (concatenate-manifests (map load-manifest files)))))
+ (_ (map-manifest-entries
+ manifest-entry-with-provenance
+ (concatenate-manifests
+ (map load-manifest files))))))
(step1 (options->removable opts manifest
(manifest-transaction)))
(step2 (options->installable opts manifest step1))
- branch master updated (161b297 -> a4ee6ac), guix-commits, 2019/12/29
- 01/07: git-authenticate: Add glv to the list of committers., guix-commits, 2019/12/29
- 02/07: profiles: Add 'map-manifest-entries'., guix-commits, 2019/12/29
- 05/07: inferior: Add 'inferior-package-provenance'., guix-commits, 2019/12/29
- 03/07: guix package: Save provenance information when using '--manifest'.,
guix-commits <=
- 04/07: pack: Save provenance information when using '--manifest'., guix-commits, 2019/12/29
- 06/07: services: dhcp-client: Ignore interfaces that cannot be activated., guix-commits, 2019/12/29
- 07/07: installer: Pass '--fallback' to 'guix system init'., guix-commits, 2019/12/29