(address . guix-patches@gnu.org)
* guix/scripts/package.scm (warn-about-guix-in-profile): New procedure.
(process-actions): Call WARN-ABOUT-GUIX-IN-PROFILE before executing
transaction.
---
Unresolved questions:
- Is this the right place to put warn-about-guix-in-profile?
- The warning message seems to be hard-wrapped. Is this the right
line length?
- Do we want to make this configurable? Some other warnings are, but in
those cases it is the threshold that gets configured. In this case,
there is no threshold.
guix/scripts/package.scm | 11 +++++++++++
1 file changed, 11 insertions(+)
Toggle diff (38 lines)
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 6faf2adb7a..bc42bd7d84 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021 Jakub K?dzio?ka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -863,6 +864,15 @@ processed, #f otherwise."
(switch-generation . ,switch-generation-action)
(delete-generations . ,delete-generations-action)))
+(define (warn-about-guix-in-profile manifest)
+ "Emit a warning if MANIFEST contains a 'guix' package."
+ (when (manifest-installed? manifest
+ (manifest-pattern
+ (name "guix")))
+ (warning (G_ "Installing the 'guix' package in a user profile is not recommended,
+as it will conflict with the installation managed by 'guix pull'. Consider running
+'guix package -r guix'.\n"))))
+
(define (process-actions store opts)
"Process any install/remove/upgrade action from OPTS."
@@ -928,6 +938,7 @@ processed, #f otherwise."
(manifest-entries manifest)))))
(warn-about-old-distro)
+ (warn-about-guix-in-profile new)
(unless (manifest-transaction-null? trans)
;; When '--manifest' is used, display information about TRANS as if we
--
2.29.2