diff options
| author | Khem Raj <raj.khem@gmail.com> | 2013-02-14 04:02:00 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-02-15 12:18:30 +0000 |
| commit | 3b909b369ad8047b99acdf3a32918849f24f6829 (patch) | |
| tree | 50bfe5809fff0315741d467cc6b7ddff0872f820 /meta/classes/systemd.bbclass | |
| parent | c4d16fce2e2ca8053f82c2014256814acebe8aca (diff) | |
| download | poky-3b909b369ad8047b99acdf3a32918849f24f6829.tar.gz | |
systemd.bbclass: Dont use libdir and base_libdir for units
systemd always uses /lib and /usr/lib to store unit files
so using libdir and base_libdir is incorrect. It will work
where libdir is usr/lib and base_libdir is /lib but wont work
when say its /lib64
Add a check to make sure that SYSTEMD_PACKAGES are part of PACKAGES
too, otherwise error out
(From OE-Core rev: 22e16f44b58ae6bbf719b9074d39aac065a402f1)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/systemd.bbclass')
| -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) |
