On Sun 06 Sep 2015 23:23, l...@gnu.org (Ludovic Courtès) writes: > Service types and their “extends” relations form a DAG
I am not sure how much ordering matters. The reason is that the "extends" relations actually proceed from packages associated with a service, not the service itself. It's enough to know the set of services and their associated extends; ordering does not appear to be important. Of course we could do a topological sort on services for some other reason, but we don't actually need to for these purposes. I think a two-phase configuration can work: one, in which we specify services like this: (operating-system ... (services SERVICES)) and a second in which the services are "finalized". Finalization is a monadic procedure of type SERVICE SERVICES -> SERVICE. Finalization is where e.g. udev would grovel the SERVICES to collect all udev extends. Andy