diff options
-rw-r--r-- | meta/classes/systemd.bbclass | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass index 8b558137ab..00865edc7c 100644 --- a/meta/classes/systemd.bbclass +++ b/meta/classes/systemd.bbclass | |||
@@ -49,6 +49,12 @@ python systemd_populate_packages() { | |||
49 | val = (d.getVar(var, True) or "").strip() | 49 | val = (d.getVar(var, True) or "").strip() |
50 | return val | 50 | return val |
51 | 51 | ||
52 | # Check if systemd-packages already included in PACKAGES | ||
53 | def systemd_check_package(pkg_systemd): | ||
54 | packages = d.getVar('PACKAGES', True) | ||
55 | if not pkg_systemd in packages.split(): | ||
56 | bb.error('%s does not appear in package list, please add it', " " + pkg_systemd) | ||
57 | |||
52 | 58 | ||
53 | # Add a runtime dependency on systemd to pkg | 59 | # Add a runtime dependency on systemd to pkg |
54 | def systemd_add_rdepends(pkg): | 60 | def systemd_add_rdepends(pkg): |
@@ -118,11 +124,9 @@ python systemd_populate_packages() { | |||
118 | 124 | ||
119 | # Check service-files and call systemd_add_files_and_parse for each entry | 125 | # Check service-files and call systemd_add_files_and_parse for each entry |
120 | def systemd_check_services(): | 126 | def systemd_check_services(): |
121 | base_libdir = d.getVar('base_libdir', True) | ||
122 | searchpaths = [oe.path.join(d.getVar("sysconfdir", True), "systemd", "system"),] | 127 | searchpaths = [oe.path.join(d.getVar("sysconfdir", True), "systemd", "system"),] |
123 | searchpaths.append(oe.path.join(d.getVar("base_libdir", True), "systemd", "system")) | 128 | searchpaths.append(oe.path.join(d.getVar("nonarch_base_libdir", True), "systemd", "system")) |
124 | searchpaths.append(oe.path.join(d.getVar("libdir", True), "systemd", "system")) | 129 | searchpaths.append(oe.path.join(d.getVar("exec_prefix", True), d.getVar("nonarch_base_libdir", True), "systemd", "system")) |
125 | searchpaths.append(oe.path.join(d.getVar("libdir", True), "systemd", "user")) | ||
126 | systemd_packages = d.getVar('SYSTEMD_PACKAGES', True) | 130 | systemd_packages = d.getVar('SYSTEMD_PACKAGES', True) |
127 | has_exactly_one_service = len(systemd_packages.split()) == 1 | 131 | has_exactly_one_service = len(systemd_packages.split()) == 1 |
128 | if has_exactly_one_service: | 132 | if has_exactly_one_service: |
@@ -149,6 +153,7 @@ python systemd_populate_packages() { | |||
149 | # Run all modifications once when creating package | 153 | # Run all modifications once when creating package |
150 | if os.path.exists(d.getVar("D", True)): | 154 | if os.path.exists(d.getVar("D", True)): |
151 | for pkg in d.getVar('SYSTEMD_PACKAGES', True).split(): | 155 | for pkg in d.getVar('SYSTEMD_PACKAGES', True).split(): |
156 | systemd_check_package(pkg) | ||
152 | if d.getVar('SYSTEMD_SERVICE_' + pkg, True): | 157 | if d.getVar('SYSTEMD_SERVICE_' + pkg, True): |
153 | systemd_generate_package_scripts(pkg) | 158 | systemd_generate_package_scripts(pkg) |
154 | systemd_add_rdepends(pkg) | 159 | systemd_add_rdepends(pkg) |