aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2018-02-28 20:22:25 +0100
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2018-04-06 11:54:14 +0000
commit54c1b51066ac7e38a6eb2e05d6579e6c0aed9304 (patch)
treecff398a552a86501d95bce8d9b429b1f36babaad
parentd7489cff0cbc5937951759c3d8f30da6a47771f4 (diff)
af-main: Refactor of user session management
This changes how user session are started and handled within systemd. This evolution add a tiny program to start and handle user sessions: afm-user-session. This is the first step of a serie because, actually, due to platform restrictions, the common users if started this way will not be able to run correctly (issues with wayland/weston and with handling of CGROUP2 with Smack LSM) Also fixes memory leaks and improves build process. Bug-AGL: SPEC-545 Bug-AGL: SPEC-1016 Change-Id: Icaf7c575633fc663a3df0ffee683b22cc087bb16 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-rw-r--r--meta-agl/recipes-config/agl-login-manager/agl-login-manager_0.1.bb18
-rw-r--r--meta-agl/recipes-config/agl-login-manager/files/user-config.path8
-rw-r--r--meta-agl/recipes-config/agl-login-manager/files/user-config.service9
-rw-r--r--meta-app-framework/recipes-core/af-main/af-main_1.0.bb6
-rw-r--r--meta-app-framework/recipes-core/af-main/af-main_1.0.inc2
5 files changed, 6 insertions, 37 deletions
diff --git a/meta-agl/recipes-config/agl-login-manager/agl-login-manager_0.1.bb b/meta-agl/recipes-config/agl-login-manager/agl-login-manager_0.1.bb
index 22f52c4ec..cd6dc6792 100644
--- a/meta-agl/recipes-config/agl-login-manager/agl-login-manager_0.1.bb
+++ b/meta-agl/recipes-config/agl-login-manager/agl-login-manager_0.1.bb
@@ -5,28 +5,12 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
inherit agl-graphical
-SRC_URI += " \
- file://user-config.service \
- file://user-config.path \
-"
-
LOGIN_USER ??="1001 1002"
RDEPENDS_${PN} += "af-main"
do_install_append() {
- install -d ${D}${systemd_user_unitdir}/default.target.wants
- install -m 0644 ${WORKDIR}/user-config.service ${D}${systemd_user_unitdir}
- install -m 0644 ${WORKDIR}/user-config.path ${D}${systemd_user_unitdir}
-
- sed -e 's,@DISPLAY_XDG_RUNTIME_DIR@,${DISPLAY_XDG_RUNTIME_DIR},g' \
- -i ${D}${systemd_user_unitdir}/user-config.service
- sed -e 's,@DISPLAY_XDG_RUNTIME_DIR@,${DISPLAY_XDG_RUNTIME_DIR},g' \
- -i ${D}${systemd_user_unitdir}/user-config.path
-
- ln -s ../user-config.path ${D}${systemd_user_unitdir}/default.target.wants/user-config.path
-
install -d ${D}${systemd_system_unitdir}/multi-user.target.wants/
for AGL_USER in ${LOGIN_USER};do
@@ -34,4 +18,4 @@ do_install_append() {
done
}
-FILES_${PN} += "${systemd_user_unitdir} ${systemd_system_unitdir}"
+FILES_${PN} += "${systemd_system_unitdir}"
diff --git a/meta-agl/recipes-config/agl-login-manager/files/user-config.path b/meta-agl/recipes-config/agl-login-manager/files/user-config.path
deleted file mode 100644
index 07f61f646..000000000
--- a/meta-agl/recipes-config/agl-login-manager/files/user-config.path
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=AGL user config unit path
-
-[Path]
-PathExists=@DISPLAY_XDG_RUNTIME_DIR@/wayland-0
-
-[Install]
-WantedBy=default.target
diff --git a/meta-agl/recipes-config/agl-login-manager/files/user-config.service b/meta-agl/recipes-config/agl-login-manager/files/user-config.service
deleted file mode 100644
index a66ba5327..000000000
--- a/meta-agl/recipes-config/agl-login-manager/files/user-config.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=AGL user config
-
-[Service]
-ExecStart=/bin/ln -sf @DISPLAY_XDG_RUNTIME_DIR@/wayland-0 %t/
-RemainAfterExit=yes
-
-[Install]
-WantedBy=default.target
diff --git a/meta-app-framework/recipes-core/af-main/af-main_1.0.bb b/meta-app-framework/recipes-core/af-main/af-main_1.0.bb
index e160486b2..68c878654 100644
--- a/meta-app-framework/recipes-core/af-main/af-main_1.0.bb
+++ b/meta-app-framework/recipes-core/af-main/af-main_1.0.bb
@@ -66,9 +66,11 @@ do_install_append_class-target() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d -m 0755 ${D}${systemd_user_unitdir}/default.target.wants
ln -s ../afm-user-daemon.service ${D}${systemd_user_unitdir}/default.target.wants/afm-user-daemon.service
- install -d -m 0755 ${D}${systemd_system_unitdir}/default.target.wants
+ ln -s ../afm-user-session.service ${D}${systemd_user_unitdir}/default.target.wants/afm-user-session.service
+ install -d -m 0755 ${D}${systemd_system_unitdir}/multi-user.target.wants
install -d -m 0755 ${D}${systemd_system_unitdir}/sockets.target.wants
- ln -sf ../afm-system-daemon.service ${D}${systemd_system_unitdir}/default.target.wants/afm-system-daemon.service
+ ln -sf ../afm-system-setup.service ${D}${systemd_system_unitdir}/multi-user.target.wants/afm-system-setup.service
+ ln -sf ../afm-system-daemon.service ${D}${systemd_system_unitdir}/multi-user.target.wants/afm-system-daemon.service
ln -sf ../afm-system-daemon.socket ${D}${systemd_system_unitdir}/sockets.target.wants/afm-system-daemon.socket
fi
echo "QT_WAYLAND_SHELL_INTEGRATION=ivi-shell" > ${D}${afm_confdir}/unit.env.d/qt-for-ivi-shell
diff --git a/meta-app-framework/recipes-core/af-main/af-main_1.0.inc b/meta-app-framework/recipes-core/af-main/af-main_1.0.inc
index 13736aee3..77963bddb 100644
--- a/meta-app-framework/recipes-core/af-main/af-main_1.0.inc
+++ b/meta-app-framework/recipes-core/af-main/af-main_1.0.inc
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/app-framework-main;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "1bec325ee85192eba57673750b9e4a77a1a970c8"
+SRCREV = "a752e8b3033fdeb6a52349fcc7fbd618907ab474"
PV = "${AGL_BRANCH}+git${SRCPV}"
S = "${WORKDIR}/git"