mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
guix gc: '--delete-generations' now deletes old Home generations.
Previously, 'guix gc -d4m' would ignore Home generations. With this change, they are treated like profiles and generations that match the pattern are deleted. * guix/scripts/gc.scm (guix-gc)[delete-generations]: Add call to 'home-generation-base'. * doc/guix.texi (Invoking guix gc): Document the change.
This commit is contained in:
parent
5df8f7802e
commit
ba22560627
2 changed files with 6 additions and 3 deletions
|
@ -4362,7 +4362,8 @@ nothing and exit immediately.
|
||||||
@item --delete-generations[=@var{duration}]
|
@item --delete-generations[=@var{duration}]
|
||||||
@itemx -d [@var{duration}]
|
@itemx -d [@var{duration}]
|
||||||
Before starting the garbage collection process, delete all the generations
|
Before starting the garbage collection process, delete all the generations
|
||||||
older than @var{duration}, for all the user profiles; when run as root, this
|
older than @var{duration}, for all the user profiles and home environment
|
||||||
|
generations; when run as root, this
|
||||||
applies to all the profiles @emph{of all the users}.
|
applies to all the profiles @emph{of all the users}.
|
||||||
|
|
||||||
For example, this command deletes all the generations of all your profiles
|
For example, this command deletes all the generations of all your profiles
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2012, 2013, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2012-2013, 2015-2020, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -26,6 +26,7 @@ (define-module (guix scripts gc)
|
||||||
profile-generations
|
profile-generations
|
||||||
generation-number)
|
generation-number)
|
||||||
#:autoload (guix scripts package) (delete-generations)
|
#:autoload (guix scripts package) (delete-generations)
|
||||||
|
#:autoload (gnu home) (home-generation-base)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (ice-9 regex)
|
#:use-module (ice-9 regex)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
|
@ -260,7 +261,8 @@ (define (delete-generations store pattern)
|
||||||
(filter-map (lambda (root)
|
(filter-map (lambda (root)
|
||||||
(and (or (zero? (getuid))
|
(and (or (zero? (getuid))
|
||||||
(user-owned? root))
|
(user-owned? root))
|
||||||
(generation-profile root)))
|
(or (generation-profile root)
|
||||||
|
(home-generation-base root))))
|
||||||
(gc-roots)))))
|
(gc-roots)))))
|
||||||
(for-each (lambda (profile)
|
(for-each (lambda (profile)
|
||||||
(delete-old-generations store profile pattern))
|
(delete-old-generations store profile pattern))
|
||||||
|
|
Loading…
Reference in a new issue