>> It seems that this sort-of inlines parts of ‘shepherd-service-upgrade’ >> but without traversing the service dependency graph to determine the >> compilete set of obsolete services, no? I feel that we should be >> reusing ‘shepherd-service-upgrade’ or similar bits. (I realize this is >> already in ‘master’ for ‘guix deploy’, but since this is going to be >> shared with ‘guix system’, we’d rather be extra cautious.) > > Does 'live-service-requirement' not encompass the full service > dependency graph? Regardless, I'll look into reusing > 'shepherd-service-upgrade' as it's well-testsed. ‘live-service-requirement’ gives you the graph of the currently loaded services, but you also need the target service graph to determine what to upgrade; that seems to be missing currently. Thanks, Ludo’.