Heya,
Danny Milosavljevic <dannym@scratchpost.org> skribis:
Toggle quote (5 lines)
>> If you run this on an “old” GuixSD, ‘find-long-options’ is undefined.>> How can it be that (gnu services base) with find-long-options call is present> but the (gnu build linux-boot)'s find-long options isn't present?
The service-upgrade code loads new service definitions in PID 1.However, it does not force a reload of already-loaded modules.
What happens here is that (gnu build linux-boot), the one without‘find-long-options’, is already available in PID 1. Thus, when end upusing that one, which lacks ‘find-long-options’.
We could call ‘reload-module’, but that’s probably not a great idea asit could cause breakage in previously-loaded code in PID 1. So I thinkthe current approach is the safest, and breakage of this sort should bequite rare; we should pay attention to such issues, though, and try hardto avoid them.
(Note that there’s no problem once you reboot, of course.)
Toggle quote (19 lines)
>> 1. ‘guix system reconfigure’ should probably register services one by>> one so that if one of the service expressions is erroneous, we>> don’t bork everything. See ‘upgrade-shepherd-services’.>> Yes please.>>> 2. IWBN to delay execution of this whole default-tty thing to the>> #:start method. Ideas, Danny?>> The idea was that if you specify a serial console at boot that you can> actually log in at that console.>> So it's trying to find out whether, at the time of service start,> there is a serial console specified (in the Linux command line), and if> so, start an agetty. Otherwise do not start that agetty.>> We could also do that without a guix service - but I thought it would be> nice to have a guix service for it as well.
I agree. I think what you did inc32e3ddedd103318ca3f0a4bf0c91c91e2517806 is good. The effect here isjust that agetty would fail to start upon reconfigure, but that’s anacceptable limitation IMO.
Thanks,Ludo’.