Hi, Ludovic Courtès <[email protected]> writes:
> Ludovic Courtès <[email protected]> skribis: > >> At its core, it’s a bug of ‘remote-eval’ in (guix remote), which >> dismisses stdout/stderr. >> >> Continued here 👉 https://codeberg.org/guix/guix/issues/7088 > > Here’s a proposed fix: https://codeberg.org/guix/guix/pulls/7092 > > I checked that it works as expected at the level of ‘remote-eval’ but > didn’t try it in the context of ‘guix deploy’. It would be great if you > could give it a spin. Thank you for working on this. I tested the patch with the deploy and it seems to work great. It occurred to me there is a less convoluted way to test this than to break /etc: --8<---------------cut here---------------start------------->8--- (simple-service 'message activation-service-type #~(let loop ((i 0)) (when (< i 10) (format #t "line ~a~%" i) (loop (1+ i))))) --8<---------------cut here---------------end--------------->8--- Deploying to my test machine produces the following: --8<---------------cut here---------------start------------->8--- guix deploy: sending 6 store items (0 MiB) to '127.0.0.1'... guix deploy: 127.0.0.1: making '/var/guix/profiles/system-35-link' the current system... guix deploy: 127.0.0.1: populating /etc from /gnu/store/i85wyh808my68s0n8h25lwwf5zs7zn2k-etc... guix deploy: 127.0.0.1: setting up privileged programs in '/run/privileged/bin'... guix deploy: 127.0.0.1: `/gnu/store/g33740pipqp18r7shclv7wr2w9j2vshy-openssh-authorized-keys/root' -> `/etc/ssh/authorized_keys.d/root' guix deploy: 127.0.0.1: `/gnu/store/g33740pipqp18r7shclv7wr2w9j2vshy-openssh-authorized-keys/wolf' -> `/etc/ssh/authorized_keys.d/wolf' guix deploy: 127.0.0.1: line 0 guix deploy: 127.0.0.1: line 1 guix deploy: 127.0.0.1: line 2 guix deploy: 127.0.0.1: line 3 guix deploy: 127.0.0.1: line 4 guix deploy: 127.0.0.1: line 5 guix deploy: 127.0.0.1: line 6 guix deploy: 127.0.0.1: line 7 guix deploy: 127.0.0.1: line 8 guix deploy: 127.0.0.1: line 9 guix deploy: sending 0 store items (0 MiB) to '127.0.0.1'... guix deploy: sending 0 store items (0 MiB) to '127.0.0.1'... guix deploy: 127.0.0.1: shepherd: Starting service host-name... guix deploy: 127.0.0.1: shepherd: Service host-name started. guix deploy: 127.0.0.1: shepherd: Service host-name running with value "testvm". guix deploy: 127.0.0.1: shepherd: Service host-name has been started. guix deploy: 127.0.0.1: shepherd: Starting service user-homes... guix deploy: 127.0.0.1: shepherd: Service user-homes started. guix deploy: 127.0.0.1: shepherd: Service user-homes running with value #t. guix deploy: 127.0.0.1: shepherd: Service user-homes has been started. guix deploy: 127.0.0.1: shepherd: Starting service sysctl... guix deploy: 127.0.0.1: shepherd: Service sysctl started. guix deploy: 127.0.0.1: shepherd: Service sysctl running with value #t. guix deploy: 127.0.0.1: shepherd: Service sysctl has been started. guix deploy: 127.0.0.1: shepherd: Service user-homes has been started. guix deploy: 127.0.0.1: shepherd: Starting service guix-ownership... guix deploy: 127.0.0.1: shepherd: Service guix-ownership started. guix deploy: 127.0.0.1: shepherd: Service guix-ownership running with value #t. guix deploy: 127.0.0.1: shepherd: Service guix-ownership has been started. --8<---------------cut here---------------end--------------->8--- The shepherd output is unexpected, but welcomed. It even works for stupidly large output, though at the cost of some RAM. --8<---------------cut here---------------start------------->8--- guix deploy: 127.0.0.1: line 9999999 --8<---------------cut here---------------end--------------->8--- So, nice work! :) Tomas -- There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.
