@@ -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)))