systemd.bbclass: introduce systemd_service_searchpaths()

systemd_service_searchpaths accepts boolean value indicating whether we
are dealing with system or user units and returns search paths
accordingly.

Previously search path list was created in systemd_check_services() but
following commits will introduce additional places. The
systemd_service_searchpaths helper function is meant to reduce code
duplication.

(From OE-Core rev: 9a89d36932dda306b3c2cf10771647eabc267769)

Signed-off-by: Artur Kowalski <arturkow2000@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Artur Kowalski 2025-01-20 13:46:02 +01:00 committed by Richard Purdie
parent 8c5a6ca6f9
commit a3302b8216

View File

@ -90,6 +90,18 @@ def systemd_service_path(service, searchpaths, d):
return path_found, base return path_found, base
def systemd_service_searchpaths(user, d):
if user:
return [
oe.path.join(d.getVar("sysconfdir"), "systemd", "user"),
d.getVar("systemd_user_unitdir"),
]
else:
return [
oe.path.join(d.getVar("sysconfdir"), "systemd", "system"),
d.getVar("systemd_system_unitdir"),
]
python systemd_populate_packages() { python systemd_populate_packages() {
import re import re
import shlex import shlex
@ -169,12 +181,9 @@ python systemd_populate_packages() {
# Check service-files and call systemd_add_files_and_parse for each entry # Check service-files and call systemd_add_files_and_parse for each entry
def systemd_check_services(): def systemd_check_services():
searchpaths = [ searchpaths = systemd_service_searchpaths(False, d)
oe.path.join(d.getVar("sysconfdir"), "systemd", "system"), searchpaths.extend(systemd_service_searchpaths(True, d))
oe.path.join(d.getVar("sysconfdir"), "systemd", "user"),
]
searchpaths.append(d.getVar("systemd_system_unitdir"))
searchpaths.append(d.getVar("systemd_user_unitdir"))
systemd_packages = d.getVar('SYSTEMD_PACKAGES') systemd_packages = d.getVar('SYSTEMD_PACKAGES')
# scan for all in SYSTEMD_SERVICE[] # scan for all in SYSTEMD_SERVICE[]