services: cleanup: Delete /run upon boot.

Fixes <https://issues.guix.gnu.org/64775>.

* gnu/services.scm (cleanup-gexp): Delete /run and recreate it.

Reported-by: Vagrant Cascadian <vagrant@debian.org>
Change-Id: Iae39f1aa734712a3755b24b156802ec0282d3f14
This commit is contained in:
Ludovic Courtès 2024-08-31 21:11:30 +02:00
parent e74d05db53
commit c250033aa6
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -632,7 +632,7 @@ (define (cleanup-gexp _)
#~(begin
(use-modules (guix build utils))
;; Clean out /tmp and /var/run.
;; Clean out /tmp, /var/run, and /run.
;;
;; XXX This needs to happen before service activations, so it
;; has to be here, but this also implicitly assumes that /tmp
@ -663,10 +663,11 @@ (define (cleanup-gexp _)
(setlocale LC_CTYPE "en_US.utf8")
(delete-file-recursively "/tmp")
(delete-file-recursively "/var/run")
(delete-file-recursively "/run")
(mkdir "/tmp" #o1777)
(mkdir "/var/run" #o755)
(delete-file-recursively "/run/udev/watch.old"))))))
(mkdir "/run" #o755))))))
(define cleanup-service-type
;; Service that cleans things up in /tmp and similar.