summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-11-30 21:18:11 +0200
committerLudovic Courtès <ludo@gnu.org>2015-12-01 00:02:54 +0200
commit6e370175065732313c1badd10fc7e3d22de41bec (patch)
treefdee0ab5c5b6eb7a468da7b6a8daf81e8da3cbcf
parentdfdb15d9c2badaebfd6a047b303b687ff251256a (diff)
downloadguix-6e370175065732313c1badd10fc7e3d22de41bec.tar.gz
guix package: Move 'process-actions' out of sight.
* guix/scripts/package.scm (process-actions): New procedure, moved
from...
(guix-package): ... here.  Adjust accordingly.
-rw-r--r--guix/scripts/package.scm68
1 files changed, 34 insertions, 34 deletions
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 6cf0b02ac3..5f65ed949d 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -786,6 +786,39 @@ processed, #f otherwise."
     (delete-generations . ,delete-generations-action)
     (manifest . ,manifest-action)))
 
+(define (process-actions store opts)
+  "Process any install/remove/upgrade action from OPTS."
+
+  (define dry-run? (assoc-ref opts 'dry-run?))
+  (define bootstrap? (assoc-ref opts 'bootstrap?))
+  (define substitutes? (assoc-ref opts 'substitutes?))
+  (define profile  (or (assoc-ref opts 'profile) %current-profile))
+
+  ;; First, process roll-backs, generation removals, etc.
+  (for-each (match-lambda
+              ((key . arg)
+               (and=> (assoc-ref %actions key)
+                      (lambda (proc)
+                        (proc store profile arg opts
+                              #:dry-run? dry-run?)))))
+            opts)
+
+  ;; Then, process normal package installation/removal/upgrade.
+  (let* ((manifest    (profile-manifest profile))
+         (install     (options->installable opts manifest))
+         (remove      (options->removable opts manifest))
+         (transaction (manifest-transaction (install install)
+                                            (remove remove)))
+         (new         (manifest-perform-transaction manifest transaction)))
+
+    (unless (and (null? install) (null? remove))
+      (show-manifest-transaction store manifest transaction
+                                 #:dry-run? dry-run?)
+      (build-and-use-profile store profile new
+                             #:bootstrap? bootstrap?
+                             #:use-substitutes? substitutes?
+                             #:dry-run? dry-run?))))
+
 
 ;;;
 ;;; Entry point.
@@ -798,39 +831,6 @@ processed, #f otherwise."
         (arg-handler arg result)
         (leave (_ "~A: extraneous argument~%") arg)))
 
-  (define (process-actions opts)
-    ;; Process any install/remove/upgrade action from OPTS.
-
-    (define dry-run? (assoc-ref opts 'dry-run?))
-    (define bootstrap? (assoc-ref opts 'bootstrap?))
-    (define substitutes? (assoc-ref opts 'substitutes?))
-    (define profile  (or (assoc-ref opts 'profile) %current-profile))
-
-    ;; First, process roll-backs, generation removals, etc.
-    (for-each (match-lambda
-                ((key . arg)
-                 (and=> (assoc-ref %actions key)
-                        (lambda (proc)
-                          (proc (%store) profile arg opts
-                                #:dry-run? dry-run?)))))
-              opts)
-
-    ;; Then, process normal package installation/removal/upgrade.
-    (let* ((manifest    (profile-manifest profile))
-           (install     (options->installable opts manifest))
-           (remove      (options->removable opts manifest))
-           (transaction (manifest-transaction (install install)
-                                              (remove remove)))
-           (new         (manifest-perform-transaction manifest transaction)))
-
-      (unless (and (null? install) (null? remove))
-        (show-manifest-transaction (%store) manifest transaction
-                                   #:dry-run? dry-run?)
-        (build-and-use-profile (%store) profile new
-                               #:bootstrap? bootstrap?
-                               #:use-substitutes? substitutes?
-                               #:dry-run? dry-run?))))
-
   (let ((opts (parse-command-line args %options (list %default-options #f)
                                   #:argument-handler handle-argument)))
     (with-error-handling
@@ -844,4 +844,4 @@ processed, #f otherwise."
                              (if (assoc-ref opts 'bootstrap?)
                                  %bootstrap-guile
                                  (canonical-package guile-2.0)))))
-              (process-actions opts)))))))
+              (process-actions (%store) opts)))))))