From: Imran Zaman Date: Mon, 17 Nov 2014 12:52:11 +0000 (+0200) Subject: Build package with profile specific configuration X-Git-Tag: submit/tizen/20141117.125926^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F81%2F30381%2F1;p=platform%2Fcore%2Fsystem%2Ftlm.git Build package with profile specific configuration Change-Id: I8906155972d17fb860d15f839fdc6a0fef63c0b4 Signed-off-by: Imran Zaman --- diff --git a/data/Makefile.am b/data/Makefile.am index 6b1df41..f7a9076 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -6,6 +6,7 @@ EXTRA_DIST = \ tlm-login \ tlm-default-login \ tlm-system-login \ - multi-seat + tizen-common \ + tizen-ivi sysconf_DATA = tlm.conf diff --git a/data/Makefile.in b/data/Makefile.in index 1ac3ea8..e78dd42 100644 --- a/data/Makefile.in +++ b/data/Makefile.in @@ -291,7 +291,8 @@ EXTRA_DIST = \ tlm-login \ tlm-default-login \ tlm-system-login \ - multi-seat + tizen-common \ + tizen-ivi sysconf_DATA = tlm.conf all: all-am diff --git a/data/multi-seat/etc/session.d/user-session b/data/multi-seat/etc/session.d/user-session deleted file mode 100755 index 0a0ba41..0000000 --- a/data/multi-seat/etc/session.d/user-session +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# -export WAYLAND_CLIENT_DIR=/tmp -#export XDG_SEAT=seat0 -weston --backend=wayland-backend.so --log=/tmp/user-weston.log --width=960 --height=1080 -#weston-terminal diff --git a/data/tizen-common/etc/session.d/display-session b/data/tizen-common/etc/session.d/display-session new file mode 100755 index 0000000..9586ee4 --- /dev/null +++ b/data/tizen-common/etc/session.d/display-session @@ -0,0 +1,4 @@ +#!/bin/sh +# +export XDG_RUNTIME_DIR=/run/display +/bin/sh -c 'backend=drm ; [ -d /dev/dri ] || backend=fbdev ; exec /usr/bin/weston --backend=$backend-backend.so -i0 --log=/run/display/weston.log diff --git a/data/tizen-common/etc/session.d/user-session b/data/tizen-common/etc/session.d/user-session new file mode 100755 index 0000000..5f3f150 --- /dev/null +++ b/data/tizen-common/etc/session.d/user-session @@ -0,0 +1,5 @@ +#!/bin/sh +# +export XDG_RUNTIME_DIR=/run/display +/usr/bin/ln -sf /run/display/wayland-0 /run/user/$UID/ +/bin/sh -l -c "/usr/bin/tz-launcher -c /usr/share/applications/tizen/launcher.conf $HOME/.applications/desktop" diff --git a/data/tizen-common/etc/tlm.conf b/data/tizen-common/etc/tlm.conf new file mode 100644 index 0000000..bb27e5f --- /dev/null +++ b/data/tizen-common/etc/tlm.conf @@ -0,0 +1,88 @@ +# +# Example configuration for tlm. +# + +# +# This group contains top-level settings. +# +[General] +# +# Name of the account plugin to use to manage(add/remove) guest user accounts +ACCOUNTS_PLUGIN=gumd +# +# Auto-login default user +# Default: off +AUTO_LOGIN=1 +# +# Prepare default/guest users before auto-login +# Default: off +# PREPARE_DEFAULT=1 +# +# PAM service file to use +PAM_SERVICE=tlm-login +# +# PAM service file for default user +DEFAULT_PAM_SERVICE=tlm-default-login +# +# Default (guest) username or template to use +# %S - seat number +# %I - seat id string +# Default: "guest" +DEFAULT_USER=guest_%S +# +# Session command : The command run after successfull login +# Default: $SHELL +# In case shell is not defined in /etc/passwd fallback is "systemd --user" +#SESSION_CMD=systemd --user +# +# Session termination timeout in seconds +# Default: 10 +#TERMINATE_TIMEOUT=10 +# +# Setup terminal for session +# Default: off +#SETUP_TERMINAL=1 +# +# Use X11 style sessions +# Default: off +#X11_SESSION=1 +# +# Do not launch anything, let systemd handle it through PAM +# Default: off +#PAUSE_SESSION=1 +# +# Specify session type +# Default: unspecified +#SESSION_TYPE=wayland +# +NSEATS=2 +# +# +# Seat specific settings where the group name is seat id +[seat0] +DEFAULT_USER=display +SETUP_TERMINAL=1 +VTNR=7 +SESSION_CMD=/etc/session.d/display-session +#SESSION_CMD=bash +#SESSION_CMD=weston +DEFAULT_PAM_SERVICE=tlm-system-login +SETUP_RUNTIME_DIR=1 +#RUNTIME_MODE=0755 +# +[seat1] +DEFAULT_USER=alice +SESSION_CMD=/etc/session.d/user-session +#DEFAULT_PAM_SERVICE=tlm-system-login +#SETUP_RUNTIME_DIR=1 +#ACTIVE=0 +#DEFAULT_USER=guest_%S +NWATCH=1 +WATCH0=/tmp/wayland-0.lock +# +# +# plugin specific settings. +# +#[pluginname] +# + diff --git a/data/multi-seat/etc/session.d/genivi-session b/data/tizen-ivi/etc/session.d/genivi-session similarity index 100% rename from data/multi-seat/etc/session.d/genivi-session rename to data/tizen-ivi/etc/session.d/genivi-session diff --git a/data/tizen-ivi/etc/session.d/user-session b/data/tizen-ivi/etc/session.d/user-session new file mode 100755 index 0000000..e030e44 --- /dev/null +++ b/data/tizen-ivi/etc/session.d/user-session @@ -0,0 +1,6 @@ +#!/bin/sh +# +export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/dbus/user_bus_socket +export WAYLAND_CLIENT_DIR=/tmp +weston --log=$XDG_RUNTIME_DIR/weston.log --backend=wayland-backend.so --width=960 --height=1080 +#weston-terminal diff --git a/data/tizen-ivi/etc/session.d/user-session.ivi b/data/tizen-ivi/etc/session.d/user-session.ivi new file mode 100755 index 0000000..7b4d2f6 --- /dev/null +++ b/data/tizen-ivi/etc/session.d/user-session.ivi @@ -0,0 +1,6 @@ +#!/bin/sh +# +export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/dbus/user_bus_socket +export WAYLAND_CLIENT_DIR=/tmp +weston --log=$XDG_RUNTIME_DIR/weston.log --backend=wayland-backend.so --width=960 --height=1080 & +xwalk-launcher Modello005.Homescreen diff --git a/data/multi-seat/etc/tlm.conf b/data/tizen-ivi/etc/tlm.conf similarity index 100% rename from data/multi-seat/etc/tlm.conf rename to data/tizen-ivi/etc/tlm.conf diff --git a/dists/rpm/tizen/packaging/tlm.spec b/dists/rpm/tizen/packaging/tlm.spec index c97eb99..6b08f64 100644 --- a/dists/rpm/tizen/packaging/tlm.spec +++ b/dists/rpm/tizen/packaging/tlm.spec @@ -1,6 +1,16 @@ # enable debug features such as control environment variables # WARNING! do not use for production builds as it will break security %define debug_build 0 +%define efl 0 + +%if %{debug_build} == 1 +%define extra_config_options1 --enable-gtk-doc --enable-debug +%endif + +%if %{efl} == 1 +%define extra_config_options1 --enable-examples +%endif + Name: tlm Summary: Login manager for Tizen @@ -21,11 +31,13 @@ BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(libgum) -BuildRequires: pkgconfig(elementary) BuildRequires: pam-devel %if %{debug_build} == 1 BuildRequires: gtk-doc %endif +%if %{efl} == 1 +BuildRequires: pkgconfig(elementary) +%endif %description @@ -60,10 +72,10 @@ cp %{SOURCE1001} . %build %if %{debug_build} == 1 ./autogen.sh -%configure --enable-gum --enable-gtk-doc --enable-examples --enable-debug -%else -%configure --enable-gum --enable-examples %endif +%reconfigure --enable-gum \ + %{?extra_config_options1:%extra_config_options1} \ + %{?extra_config_options2:%extra_config_options2} make %{?_smp_mflags} @@ -76,9 +88,15 @@ install -m 755 -d %{buildroot}%{_sysconfdir}/pam.d install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/ install -m 644 data/tlm-default-login %{buildroot}%{_sysconfdir}/pam.d/ install -m 644 data/tlm-system-login %{buildroot}%{_sysconfdir}/pam.d/ -install -m 644 data/multi-seat/etc/tlm.conf %{buildroot}%{_sysconfdir} install -m 755 -d %{buildroot}%{_sysconfdir}/session.d -install -m 755 data/multi-seat/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/ +%if "%{profile}" == "common" +install -m 644 data/tizen-common/etc/tlm.conf %{buildroot}%{_sysconfdir} +install -m 755 data/tizen-common/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/ +%endif +%if "%{profile}" == "ivi" +install -m 644 data/tizen-ivi/etc/tlm.conf %{buildroot}%{_sysconfdir} +install -m 755 data/tizen-ivi/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/ +%endif %post @@ -116,7 +134,9 @@ install -m 755 data/multi-seat/etc/session.d/* %{buildroot}%{_sysconfdir}/sessio %{_includedir}/%{name}/*.h %{_libdir}/lib%{name}*.so %{_libdir}/pkgconfig/%{name}.pc +%if %{efl} == 1 %{_bindir}/tlm-ui +%endif %files doc diff --git a/packaging/tlm.spec b/packaging/tlm.spec index 13138b1..6b08f64 100644 --- a/packaging/tlm.spec +++ b/packaging/tlm.spec @@ -70,6 +70,9 @@ cp %{SOURCE1001} . %build +%if %{debug_build} == 1 +./autogen.sh +%endif %reconfigure --enable-gum \ %{?extra_config_options1:%extra_config_options1} \ %{?extra_config_options2:%extra_config_options2} @@ -85,9 +88,15 @@ install -m 755 -d %{buildroot}%{_sysconfdir}/pam.d install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/ install -m 644 data/tlm-default-login %{buildroot}%{_sysconfdir}/pam.d/ install -m 644 data/tlm-system-login %{buildroot}%{_sysconfdir}/pam.d/ -install -m 644 data/multi-seat/etc/tlm.conf %{buildroot}%{_sysconfdir} install -m 755 -d %{buildroot}%{_sysconfdir}/session.d -install -m 755 data/multi-seat/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/ +%if "%{profile}" == "common" +install -m 644 data/tizen-common/etc/tlm.conf %{buildroot}%{_sysconfdir} +install -m 755 data/tizen-common/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/ +%endif +%if "%{profile}" == "ivi" +install -m 644 data/tizen-ivi/etc/tlm.conf %{buildroot}%{_sysconfdir} +install -m 755 data/tizen-ivi/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/ +%endif %post diff --git a/src/sessiond/tlm-session.c b/src/sessiond/tlm-session.c index 539e65e..137f33e 100644 --- a/src/sessiond/tlm-session.c +++ b/src/sessiond/tlm-session.c @@ -436,7 +436,12 @@ _set_environment (TlmSessionPrivate *priv) if (home_dir) _setenv_to_session ("HOME", home_dir, priv); shell = tlm_user_get_shell (priv->username); if (shell) _setenv_to_session ("SHELL", shell, priv); - //if (priv->seat_id) _setenv_to_session ("XDG_SEAT", priv->seat_id, priv); + + // seat is not set for fake seats + if (!tlm_config_has_key (priv->config, + TLM_CONFIG_GENERAL, + TLM_CONFIG_GENERAL_NSEATS)) + _setenv_to_session ("XDG_SEAT", priv->seat_id, priv); const gchar *xdg_data_dirs = tlm_config_get_string (priv->config,