[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#63921: Activation snippets in reverse order, prevent boot
From: |
Ludovic Courtès |
Subject: |
bug#63921: Activation snippets in reverse order, prevent boot |
Date: |
Tue, 06 Jun 2023 10:15:54 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Booting a system reconfigured from
eed55a6544d5bda2245ec853e5fa4b28e1865bea fails with shepherd saying:
error: while opening socket '/var/run/shepherd/socket': Address already in use
The root cause appears to be that the ‘boot’ program has expressions
reversed:
--8<---------------cut here---------------start------------->8---
$ guix gc --references $(guix gc --derivers $(readlink -f
/var/guix/profiles/system-236-link)) | grep boot
/gnu/store/21ldhyrpji6lkkdxi4lgr5k9l5fr2b7l-boot.drv
$ cat $(guix build /gnu/store/21ldhyrpji6lkkdxi4lgr5k9l5fr2b7l-boot.drv)
(eval-when (expand load eval) (let ((extensions (quote ())) (prepend (lambda
(items lst) (let loop ((items items) (lst lst)) (if (null? items) lst (loop
(cdr items) (cons (car items) (delete (car items) lst)))))))) (set! %load-path
(prepend (cons "/gnu/store/pj751v3199vmv6i6sf0szp185ryzcfdg-module-import" (map
(lambda (extension) (string-append extension "/share/guile/site/"
(effective-version))) extensions)) %load-path)) (set! %load-compiled-path
(prepend (cons
"/gnu/store/pql80c2hy38bb60c68sng74s4xa35vwk-module-import-compiled" (map
(lambda (extension) (string-append extension "/lib/guile/" (effective-version)
"/site-ccache")) extensions)) %load-compiled-path))))(begin (begin
(false-if-exception (delete-file "/run/booted-system")) (symlink
(canonicalize-path "/run/current-system") "/run/booted-system") (let loop ((fd
3)) (when (< fd 1024) (false-if-exception (let ((flags (fcntl fd F_GETFD)))
(when (zero? (logand flags FD_CLOEXEC)) (fcntl fd F_SETFD (logior FD_CLOEXEC
flags))))) (loop (+ fd 1)))) (execl
"/gnu/store/wj5i6x3xgai7p8whwqybxwqdjdbmbzha-shepherd-0.10.99-git/bin/shepherd"
"shepherd" "--config"
"/gnu/store/gnjghlc3n5qbala5jfdslgfi0n3vy8v7-shepherd.conf")) (primitive-load
"/gnu/store/riabgidmf6fh76klc1yam7k9j1478vvw-activate.scm") (begin (use-modules
(guix build utils)) (letrec-syntax ((fail-safe (syntax-rules () ((_ exp rest
...) (begin (catch (quote system-error) (lambda () exp) (const #f)) (fail-safe
rest ...))) ((_) #t)))) (fail-safe (delete-file "/etc/group.lock") (delete-file
"/etc/passwd.lock") (delete-file "/etc/.pwd.lock") (setenv "GUIX_LOCPATH"
"/gnu/store/5fmqijrs5f7vx8mc2q2pmq26yvhb74sm-glibc-utf8-locales-2.35/lib/locale")
(setlocale LC_CTYPE "en_US.utf8") (delete-file-recursively "/tmp")
(delete-file-recursively "/var/run") (mkdir "/tmp") (chmod "/tmp" 1023) (mkdir
"/var/run") (chmod "/var/run" 493) (delete-file-recursively
"/run/udev/watch.old")))))
--8<---------------cut here---------------end--------------->8---
Namely, (execl "…/bin/shepherd") comes before the cleanup expressions,
which is why /var/run/shepherd/socket is still around when we boot.
Ludo’.
- bug#63921: Activation snippets in reverse order, prevent boot,
Ludovic Courtès <=
- bug#63921: Activation snippets in reverse order, prevent boot, Ludovic Courtès, 2023/06/06
- bug#63921: Activation snippets in reverse order, prevent boot, pelzflorian (Florian Pelz), 2023/06/07
- bug#63921: Activation snippets in reverse order, prevent boot, Jelle Licht, 2023/06/07
- bug#63921: Activation snippets in reverse order, prevent boot, Brian Cully, 2023/06/07
- bug#63921: Activation snippets in reverse order, prevent boot, pelzflorian (Florian Pelz), 2023/06/07
- bug#63921: Activation snippets in reverse order, prevent boot, pelzflorian (Florian Pelz), 2023/06/17
bug#63921: Patch proposed, Felix Lechner, 2023/06/26