[oe] [meta-oe][for-denzil][PATCH] systemd.bbclass: use system variables instead of hardcoded paths

b28495 at freescale.com b28495 at freescale.com
Thu Sep 13 07:33:58 UTC 2012


From: Ting Liu <b28495 at freescale.com>

Fix below issue when check service-files for 64bit target:
| DEBUG: adding systemd calls to postinst/postrm for busybox-syslog-systemd
| ERROR: Function failed:
|
| For package busybox-syslog-systemd SYSTEMD_SERVICE-entry busybox-syslog.service does not exist
NOTE: package busybox-1.19.4-r6+fsl.0: task do_package: Failed

Signed-off-by: Ting Liu <b28495 at freescale.com>
---
 meta-oe/classes/systemd.bbclass |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/meta-oe/classes/systemd.bbclass b/meta-oe/classes/systemd.bbclass
index a2c8ddf..9690c18 100644
--- a/meta-oe/classes/systemd.bbclass
+++ b/meta-oe/classes/systemd.bbclass
@@ -154,7 +154,10 @@ python populate_packages_prepend () {
 
 	# check service-files and call systemd_add_files_and_parse for each entry
 	def systemd_check_services():
-		searchpaths = '/etc/systemd/system/ /lib/systemd/system/ /usr/lib/systemd/system/'
+		searchpaths = []
+		searchpaths.append(d.getVar('sysconfdir', True))
+		searchpaths.append(d.getVar('libdir', True))
+		searchpaths.append(d.getVar('base_libdir', True))
 		systemd_packages = d.getVar('SYSTEMD_PACKAGES', 1)
 		has_exactly_one_service = len(systemd_packages.split()) == 1
 		if has_exactly_one_service:
@@ -168,9 +171,9 @@ python populate_packages_prepend () {
 		for pkg_systemd in systemd_packages.split():
 			for service in get_package_var(d, 'SYSTEMD_SERVICE', pkg_systemd).split():
 				path_found = ''
-				for path in searchpaths.split():
-					if os.path.exists('${D}' + path + service):
-						path_found = path
+				for path in searchpaths:
+					if os.path.exists('${D}' + path + '/systemd/system/' + service):
+						path_found = path + '/systemd/system/'
 				if path_found != '':
 					systemd_add_files_and_parse(pkg_systemd, path_found, service, keys)
 				else:
-- 
1.7.5.4






More information about the Openembedded-devel mailing list