[bug#58583,1/1] scripts: package: Forbid installation of the guix package.
Commit Message
* guix/scripts/package.scm (package->manifest-entry*): Fail if the
package to be installed is guix from the default channel.
---
guix/scripts/package.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
@@ -699,7 +699,15 @@ (define (store-item->manifest-entry item)
(define (package->manifest-entry* package output)
"Like 'package->manifest-entry', but attach PACKAGE provenance meta-data to
-the resulting manifest entry."
+the resulting manifest entry, and report an error if PACKAGE is the 'guix'
+package from the default channel."
+ (when (and (string=? (package-name package) "guix")
+ (string-prefix? "gnu/" (location-file
+ (package-location package))))
+ (report-error (G_ "the 'guix' package should not be installed"))
+ (newline (current-error-port))
+ (display-hint (G_ "use 'guix pull' to fetch the latest Guix revision"))
+ (exit 1))
(manifest-entry-with-provenance
(package->manifest-entry package output)))