# Items from base-files
# Links
-# ${localstatedir}/run link volatile/run
-# ${localstatedir}/log link volatile/log
-# ${localstatedir}/lock link volatile/lock
-# ${localstatedir}/tmp link volatile/tmp
+${localstatedir}/run link /run
+${localstatedir}/log link volatile/log
+${localstatedir}/lock link /run/lock
+${localstatedir}/tmp link volatile/tmp
+
+/lib link usr/lib
+/sbin link usr/sbin
+/bin link usr/bin
# Special permissions from base-files
# Set 1777
/tmp 01777 root root false - - -
-# ${localstatedir}/volatile/lock 01777 root root false - - -
-# ${localstatedir}/volatile/tmp 01777 root root false - - -
+${localstatedir}/volatile/tmp 01777 root root false - - -
# Set 2775
/home 02755 root root false - - -
do_install_append() {
rm -f ${D}/lib/systemd/user/dbus.socket
- mkdir -p ${D}/lib/systemd/system/multi-user.target.wants
+ mkdir -p ${D}/lib/systemd/system/graphical.target.wants
+ ln -sf ../user-session-launch@.service ${D}/lib/systemd/system/graphical.target.wants/user-session-launch@seat0-5000.service
- ln -sf ../user-session-launch@.service ${D}/lib/systemd/system/multi-user.target.wants/user-session-launch@seat0-5001.service
- ln -sf ../user-session-launch@.service ${D}/lib/systemd/system/multi-user.target.wants/user-session-launch@seat0-5002.service
- ln -sf ../user-session-launch@.service ${D}/lib/systemd/system/multi-user.target.wants/user-session-launch@seat0-5003.service
- ln -sf ../user-session-launch@.service ${D}/lib/systemd/system/multi-user.target.wants/user-session-launch@seat0-9999.service
-
- ln -sf ../user-session@.service ${D}/lib/systemd/system/multi-user.target.wants/user-session@5001.service
- ln -sf ../user-session@.service ${D}/lib/systemd/system/multi-user.target.wants/user-session@5002.service
- ln -sf ../user-session@.service ${D}/lib/systemd/system/multi-user.target.wants/user-session@5003.service
- ln -sf ../user-session@.service ${D}/lib/systemd/system/multi-user.target.wants/user-session@9999.service
echo "[Unit]" > ${D}/lib/systemd/user/default.target
echo "Description=User session default target" >> ${D}/lib/systemd/user/default.target
mkdir -p ${D}/lib/systemd/user/default.target.wants
ln -sf ../dbus.service ${D}/lib/systemd/user/default.target.wants/dbus.service
rm ${D}/lib/systemd/user/dbus.service
+
+ rm -f ${D}/lib/systemd/user/default.target
+ ln -sf weston.target ${D}/lib/systemd/user/default.target
+
}
user-session-units_files += "/lib/systemd/user/*"
inherit useradd
-GROUPADD_PARAM_${PN} = "-g 100 users; -g 5000 app; -g 192 weston-launch"
+GROUPADD_PARAM_${PN} = "-g 100 users; -g 5000 app; -g 192 weston-launch;-g 1004 input;-g 190 systemd-journal;-g 54 lock"
-USERADD_PARAM_${PN} += " -u 5000 -d /home/app -m -g users -G users,weston-launch -r -s /bin/sh app ; "
-USERADD_PARAM_${PN} += " -u 9999 -d /home/guest -m -g users -G users,weston-launch -r -s /bin/sh guest "
+USERADD_PARAM_${PN} += " -u 5000 -d /home/app -m -g users -G users,weston-launch -r -s /bin/sh app "
+#USERADD_PARAM_${PN} += " -u 9999 -d /home/guest -m -g users -G users,weston-launch -r -s /bin/sh guest "
USERADD_PACKAGES = "${PN}"
}
pkg_postinst_${PN} () {
- for user in app guest; do
+# for user in app guest; do
+ for user in app ; do
for appdir in desktop manifest dbspace; do
mkdir -p $D/home/$user/.applications/$appdir
done
find $D/home/$user/ -type d -exec chsmack -a User {} \;
chown -R $user:users $D/home/$user/
done
+
+#------------------------------------------
+# Temporary work around for bug in filesystem package resulting in the 'app' user home
+# directory being only readable by root
+chown -R app:app /home/app
+
+# Since weston-launch runs with the "User" label, the app
+# home dir must have the same label
+chsmack -a User /home/app
+
+# Enable a logind session for 'app' user on seat0 (the default seat for
+# graphical sessions)
+mkdir -p /usr/lib/systemd/system/graphical.target.wants
+ln -s ../user-session-launch@.service /usr/lib/systemd/system/graphical.target.wants/user-session-launch@seat0-5000.service
+ln -sf weston.target /usr/lib/systemd/user/default.target
+
+# Add over-riding environment to enable the web runtime to
+# run on an IVI image as a different user then the tizen user
+# Some notes on some of the variables:
+# - ELM_THEME is needed in order for the wrt to have visible content
+# - WRT_PROCESS_POOL_DISABLE is a work around for TIVI-2062
+cat > /etc/sysconfig/wrt <<EOF
+DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/5000/dbus/user_bus_socket
+XDG_RUNTIME_DIR=/run/user/5000
+ELM_ENGINE=wayland_egl
+ECORE_EVAS_ENGINE=wayland_egl
+ELM_THEME=tizen-HD-light
+WRT_PROCESS_POOL_DISABLE=1
+EOF
+
+# Use the same over-rides for the native prelaunch daemon
+cp /etc/sysconfig/wrt /etc/sysconfig/launchpad
+
+# Add a rule to ensure the app user has permissions to
+# open the graphics device
+cat > /etc/udev/rules.d/99-dri.rules <<EOF
+SUBSYSTEM=="drm", MODE="0666"
+EOF
+#------------------------------------------
+
}