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) |
