From 829ae3e9e406cdb7167f945ed7ffcf3fb364a441 Mon Sep 17 00:00:00 2001 From: Bhushan Shah Date: Mon, 31 Aug 2015 17:58:51 +0530 Subject: [PATCH 1/2] Allow to disable services There might be some services that are enabled in live environment but not useful for the installed environment and needs disabling by default --- src/modules/services/main.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/modules/services/main.py b/src/modules/services/main.py index b96ae7708..dbaebaa2e 100644 --- a/src/modules/services/main.py +++ b/src/modules/services/main.py @@ -26,6 +26,7 @@ def run(): """ Setup systemd services """ services = libcalamares.job.configuration['services'] targets = libcalamares.job.configuration['targets'] + disable = libcalamares.job.configuration['disable'] # enable services for svc in services: @@ -51,4 +52,15 @@ def run(): libcalamares.utils.debug("Cannot enable systemd target {}".format(tgt['name'])) libcalamares.utils.debug("systemctl enable call in chroot returned error code {}".format(ec)) + for dbl in disable: + ec = libcalamares.utils.chroot_call(['systemctl', 'disable', '{}.service'.format(dbl['name'])]) + + if ec != 0: + if dbl['mandatory']: + return "Cannot disable systemd service {}".format(dbl['name']), \ + "systemctl disable call in chroot returned error code {}".format(ec) + else: + libcalamares.utils.debug("Cannot disable systemd service {}".format(dbl['name'])) + libcalamares.utils.debug("systemctl disable call in chroot returned error code {}".format(ec)) + return None From f15320f4f4bceb219f1047b0ebc35da729944f47 Mon Sep 17 00:00:00 2001 From: Bhushan Shah Date: Mon, 31 Aug 2015 20:22:02 +0530 Subject: [PATCH 2/2] Add example disable service --- src/modules/services/services.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/modules/services/services.conf b/src/modules/services/services.conf index fd3e39832..50069e696 100644 --- a/src/modules/services/services.conf +++ b/src/modules/services/services.conf @@ -11,3 +11,7 @@ services: targets: - name: "graphical" mandatory: true + +disable: + - name: "pacman-init" + mandatory: false