GNU bug report logs -
#26756
[PATCH 2/2] scripts: refresh: Add -m manifest option.
Previous Next
Reported by: Mathieu Othacehe <m.othacehe <at> gmail.com>
Date: Wed, 3 May 2017 11:31:03 UTC
Severity: normal
Tags: patch
Done: Mathieu Othacehe <m.othacehe <at> gmail.com>
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 26756 in the body.
You can then email your comments to 26756 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#26756
; Package
guix-patches
.
(Wed, 03 May 2017 11:31:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Mathieu Othacehe <m.othacehe <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Wed, 03 May 2017 11:31:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* guix/scripts/refresh.scm (%options): Add -m option,
(show-help): document it,
(get-manifest-packages): new procedure,
(guix-refresh): use packages from manifest if specified, otherwise
keep the previous behaviour.
* doc/guix.texi (Invoking guix refresh): document new option.
---
doc/guix.texi | 5 +++++
guix/scripts/refresh.scm | 29 ++++++++++++++++++++++++++---
2 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 9b2fe3fdb..f04b3cafe 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -5759,6 +5759,11 @@ The @code{non-core} subset refers to the remaining packages. It is
typically useful in cases where an update of the core packages would be
inconvenient.
+@item --manifest=@var{file}
+@itemx -m @var{file}
+Select only packages specified in manifest @var{file}. This is useful to
+check if any packages of the user manifest can be updated.
+
@item --type=@var{updater}
@itemx -t @var{updater}
Select only packages handled by @var{updater} (may be a comma-separated
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index c0d589af1..9dcb8d126 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014 Eric Bavier <bavier <at> member.fsf.org>
;;; Copyright © 2015 Alex Kost <alezost <at> gmail.com>
;;; Copyright © 2016 Ben Woodcroft <donttrustben <at> gmail.com>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe <at> gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,6 +28,7 @@
#:use-module (guix store)
#:use-module (guix utils)
#:use-module (guix packages)
+ #:use-module (guix profiles)
#:use-module (guix upstream)
#:use-module (guix graph)
#:use-module (guix scripts graph)
@@ -87,6 +89,9 @@
(option '(#\L "list-updaters") #f #f
(lambda args
(list-updaters-and-exit)))
+ (option '(#\m "manifest") #t #f
+ (lambda (opt name arg result)
+ (alist-cons 'manifest arg result)))
(option '(#\e "expression") #t #f
(lambda (opt name arg result)
(alist-cons 'expression arg result)))
@@ -133,6 +138,8 @@ specified with `--select'.\n"))
-s, --select=SUBSET select all the packages in SUBSET, one of
`core' or `non-core'"))
(display (_ "
+ -m, --manifest=FILE select all the packages in FILE manifest"))
+ (display (_ "
-t, --type=UPDATER,... restrict to updates from the specified updaters
(e.g., 'gnu')"))
(display (_ "
@@ -350,6 +357,17 @@ dependent packages are rebuilt: ~{~a~^ ~}~%"
;;;
+;;; Manifest.
+;;;
+
+(define (get-manifest-packages manifest)
+ "Return the list of packages in loaded MANIFEST."
+ (let* ((user-module (make-user-module '((guix profiles) (gnu))))
+ (manifest (load* manifest user-module)))
+ (manifest->packages manifest)))
+
+
+;;;
;;; Entry point.
;;;
@@ -420,8 +438,11 @@ update would trigger a complete rebuild."
;; the command line.
(warn? (or (assoc-ref opts 'argument)
(assoc-ref opts 'expression)))
-
- (packages
+ (manifest-packages
+ (match (assoc-ref opts 'manifest)
+ ((? string? manifest) (get-manifest-packages manifest))
+ (x #f)))
+ (args-packages
(match (filter-map (match-lambda
(('argument . spec)
;; Take either the specified version or the
@@ -442,7 +463,9 @@ update would trigger a complete rebuild."
result))
'())))
(some ; user-specified packages
- some))))
+ some)))
+ (packages
+ (or manifest-packages args-packages)))
(with-error-handling
(with-store store
(run-with-store store
--
2.12.2
bug closed, send any further explanations to
26756 <at> debbugs.gnu.org and Mathieu Othacehe <m.othacehe <at> gmail.com>
Request was from
Mathieu Othacehe <m.othacehe <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Wed, 03 May 2017 11:50:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 01 Jun 2017 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 8 years and 24 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.