diff --git a/src/modules/services-openrc/main.py b/src/modules/services-openrc/main.py index 52e4838b3..27ea6ebb6 100644 --- a/src/modules/services-openrc/main.py +++ b/src/modules/services-openrc/main.py @@ -48,15 +48,18 @@ class OpenrcController: """ for svc in self.services.get(state, []): - service_path = self.root + self.initdDir + "/" + svc["name"] - runlevel_path = self.root + self.runlevelsDir + "/" + svc["runlevel"] + name = svc["name"] + runlevel = svc.get("runlevel", "default") + + service_path = self.root + self.initdDir + "/" + name + runlevel_path = self.root + self.runlevelsDir + "/" + runlevel if exists(service_path): if exists(runlevel_path): - target_env_call(["rc-update", state, svc["name"], svc["runlevel"]]) + target_env_call(["rc-update", state, name, runlevel]) else: - warning("Target runlevel {} does not exist for {}.".format(svc["runlevel"], svc["name"])) + warning("Target runlevel {} does not exist for {}.".format(runlevel, name)) else: - warning("Target service {} does not exist int {}.".format(svc["name"], self.initDir)) + warning("Target service {} does not exist int {}.".format(name, self.initDir)) def run(self): diff --git a/src/modules/services-openrc/services-openrc.conf b/src/modules/services-openrc/services-openrc.conf index 1d507e578..61440f692 100644 --- a/src/modules/services-openrc/services-openrc.conf +++ b/src/modules/services-openrc/services-openrc.conf @@ -18,13 +18,16 @@ runlevelsDir: /etc/runlevels # has a list of entries as value, and each entry has two # fields: # - name: the service name -# - runlevel: can hold any runlevel present on the target system +# - runlevel: can hold any runlevel present on the target system; +# if no runlevel is provided, "default" is assumed. # # # Example services: +# # - add foo1 to default +# # - add foo2 to nonetwork +# # - remove foo3 from default # services: # add: # - name: foo1 -# runlevel: default # - name: foo2 # runlevel: nonetwork # del: