#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for tlm 0.0.7.
+# Generated by GNU Autoconf 2.69 for tlm 1.0.0.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
# Identity of this package.
PACKAGE_NAME='tlm'
PACKAGE_TARNAME='tlm'
-PACKAGE_VERSION='0.0.7'
-PACKAGE_STRING='tlm 0.0.7'
+PACKAGE_VERSION='1.0.0'
+PACKAGE_STRING='tlm 1.0.0'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures tlm 0.0.7 to adapt to many kinds of systems.
+\`configure' configures tlm 1.0.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of tlm 0.0.7:";;
+ short | recursive ) echo "Configuration of tlm 1.0.0:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-tlm configure 0.0.7
+tlm configure 1.0.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by tlm $as_me 0.0.7, which was
+It was created by tlm $as_me 1.0.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
# Define the identity of the package.
PACKAGE='tlm'
- VERSION='0.0.7'
+ VERSION='1.0.0'
cat >>confdefs.h <<_ACEOF
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by tlm $as_me 0.0.7, which was
+This file was extended by tlm $as_me 1.0.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-tlm config.status 0.0.7
+tlm config.status 1.0.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.68])
-AC_INIT([tlm], [0.0.7], [])
+AC_INIT([tlm], [1.0.0], [])
AC_CONFIG_SRCDIR([src/daemon/tlm-main.c])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
+++ /dev/null
-#!/bin/sh
-#
-export WAYLAND_CLIENT_DIR=/tmp
-weston --backend=wayland-backend.so --log=/tmp/app-weston.log #--width=1920 --height=1080
#export WAYLAND_SERVER_DIR=/run/memory/display
export WAYLAND_SERVER_GROUP=weston-launch
export WAYLAND_SERVER_MODE=0660
-/usr/bin/weston-launch -- -i0 --current-mode --log=/tmp/tizen-weston.log --shell=desktop-shell.so
+/usr/bin/weston-launch -- -i0 --current-mode --log=/tmp/genivi-weston.log --shell=desktop-shell.so
--- /dev/null
+#!/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
#
# Seat specific settings where the group name is seat id
[seat0]
-DEFAULT_USER=tizen
+DEFAULT_USER=genivi
SETUP_TERMINAL=1
VTNR=7
-SESSION_CMD=/etc/session.d/tizen-session
+SESSION_CMD=/etc/session.d/genivi-session
#SESSION_CMD=bash
#SESSION_CMD=weston
DEFAULT_PAM_SERVICE=tlm-system-login
#
[seat1]
DEFAULT_USER=app
-SESSION_CMD=/etc/session.d/app-session
+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.
[Unit]
Description=Tizen Login Manager
-After=systemd-user-sessions.service systemd-logind.service
+After=systemd-user-sessions.service systemd-logind.service dbus.service
Requires=multi-user.target
[Service]
+tlm (1.0.0-0) unstable; urgency=low
+
+ * Configuration for multiseat
+ * Bug fixes and improvements
+
+ -- Imran Zaman <imran.zaman@intel.com> Tue, 11 Nov 2014 17:55:53 +0200
+
tlm (0.0.7-0) unstable; urgency=low
* iNotify support
+* Tue Nov 11 2014 Imran Zaman <imran.zaman@intel.com>
+- Configuration for multiseat
+- Bug fixes and improvements
+
* Fri Oct 31 2014 Imran Zaman <imran.zaman@intel.com>
- iNotify support
- Support for fake seats
Name: tlm
Summary: Login manager for Tizen
-Version: 0.0.7
+Version: 1.0.0
Release: 0
Group: System/Service
License: LGPL-2.1+
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/
%post
%{_bindir}/%{name}-client
%{_libdir}/lib%{name}*.so.*
%{_libdir}/%{name}/plugins/*.so*
-%config %{_unitdir}/tlm.service
+%{_unitdir}/tlm.service
%config(noreplace) %{_sysconfdir}/tlm.conf
%config %{_sysconfdir}/pam.d/tlm-login
%config %{_sysconfdir}/pam.d/tlm-default-login
%config %{_sysconfdir}/pam.d/tlm-system-login
+%config(noreplace) %{_sysconfdir}/session.d/*
%files devel
Name: tlm
Summary: Login manager for Tizen
-Version: 0.0.7
+Version: 1.0.0
Release: 0
Group: System/Daemons
License: LGPL-2.1+
%changelog
+* Tue Nov 11 2014 Imran Zaman <imran.zaman@intel.com>
+- Configuration for multiseat
+- Bug fixes and improvements
+
* Fri Oct 31 2014 Imran Zaman <imran.zaman@intel.com>
- iNotify support
- Support for fake seats
</dt>
<dd></dd>
<dt>
-<a class="link" href="tlm-Errors.html#TlmError" title="enum TlmError">TlmError</a>, enum in <a class="link" href="tlm-Errors.html" title="Errors">Errors</a>
+<a class="link" href="tlm-Errors.html#TLM-ERROR:CAPS" title="TLM_ERROR">TLM_ERROR</a>, macro in <a class="link" href="tlm-Errors.html" title="Errors">Errors</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="tlm-Errors.html#TLM-ERROR:CAPS" title="TLM_ERROR">TLM_ERROR</a>, macro in <a class="link" href="tlm-Errors.html" title="Errors">Errors</a>
+<a class="link" href="tlm-Errors.html#TlmError" title="enum TlmError">TlmError</a>, enum in <a class="link" href="tlm-Errors.html" title="Errors">Errors</a>
</dt>
<dd></dd>
<dt>
+* Tue Nov 11 2014 Imran Zaman <imran.zaman@intel.com>
+- Configuration for multiseat
+- Bug fixes and improvements
+
* Fri Oct 31 2014 Imran Zaman <imran.zaman@intel.com>
- iNotify support
- Support for fake seats
+++ /dev/null
-#
-# TLM configuration for Tizen(IVI).
-#
-
-#
-# This group contains top-level settings.
-#
-[General]
-#
-# Name of the account plugin to use to manage(add/remove) guest user accounts
-ACCOUNTS_PLUGIN=gumd
-#
-# Number of seats
-# Default: obtain from systemd
-#NSEATS=2
-#
-# Auto-login default user
-AUTO_LOGIN=1
-#
-# Prepare default/guest users before auto-login
-# Default: off
-# PREPARE_DEFAULT=0
-#
-# 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
-SESSION_CMD=/usr/bin/weston-launch
-#
-# Session termination timeout in seconds
-# Default: 10
-#TERMINATE_TIMEOUT=10
-#
-# Setup terminal for session
-# Default: off
-#SETUP_TERMINAL=1
-#
-# Specify session type, needs to be specified for
-# XDG_SESSION_CLASS and XDG_SESSION_TYPE to be set
-SESSION_TYPE=wayland
-#
-#
-# Seat specific settings where the group name is seat id
-[seat0]
-DEFAULT_USER=app
-SETUP_TERMINAL=1
-SETUP_RUNTIME_DIR=1
-VTNR=7
-
Name: tlm
Summary: Login manager for Tizen
-Version: 0.0.7
+Version: 1.0.0
Release: 0
Group: System/Service
License: LGPL-2.1+
Source: %{name}-%{version}.tar.gz
URL: https://github.com/01org/tlm
Source1001: %{name}.manifest
-Source1002: %{name}.conf
Requires(post): /sbin/ldconfig, systemd
Requires(postun): /sbin/ldconfig, systemd
Requires: gumd
%prep
%setup -q -n %{name}-%{version}
cp %{SOURCE1001} .
-cp %{SOURCE1002} .
%build
%if %{debug_build} == 1
+./autogen.sh
%configure --enable-gum --enable-gtk-doc --enable-examples --enable-debug
%else
%configure --enable-gum --enable-examples
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 %{name}.conf %{buildroot}%{_sysconfdir}/
+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/
%post
%{_bindir}/%{name}-client
%{_libdir}/lib%{name}*.so.*
%{_libdir}/%{name}/plugins/*.so*
-%config %{_unitdir}/tlm.service
+%{_unitdir}/tlm.service
%config(noreplace) %{_sysconfdir}/tlm.conf
%config %{_sysconfdir}/pam.d/tlm-login
%config %{_sysconfdir}/pam.d/tlm-default-login
%config %{_sysconfdir}/pam.d/tlm-system-login
+%config(noreplace) %{_sysconfdir}/session.d/*
%files devel
if (chown (path, server->priv->uid, -1) < 0) {
WARN("Unable to set ownership");
}
- g_chmod (path, S_IRUSR | S_IWUSR);
+ if (g_chmod (path, S_IRUSR | S_IWUSR) < 0) {
+ WARN("Unable to set mode '%d' for '%s'",
+ S_IRUSR|S_IWUSR, path);
+ }
}
}
DBG("dbus server started at : %s", server->priv->address);
}
_finished:
- if (err) {
- if (req) {
- _complete_request (self, req, err);
- } else {
- g_error_free (err);
- }
+ if (req && err) {
+ _complete_request (self, req, err);
}
- if (!self->priv->active_request)
- _process_next_request_in_idle (self);
- return FALSE;
+ return self->priv->active_request != NULL ? FALSE : TRUE;
}
static void
DBG ("seat %s watch for %s succeeded, %u left",
closure->seat_id, (gchar *) res->data, closure->nwatch - 1);
g_free (res->data);
- closure->watch_list = g_list_remove (closure->watch_list, res);
+ closure->watch_list = g_list_delete_link (closure->watch_list, res);
inotify_rm_watch (ifd, ievent->wd);
closure->nwatch--;
}
static void
tlm_auth_plugin_default_init (TlmAuthPluginDefault *self)
{
- struct sigaction sa;
+ struct sigaction sa = { 0 };
g_weak_ref_init (&__self, self);
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);
- // TODO: figure out if this should be set or not for logical seats (NSEATS)
- if (priv->seat_id) _setenv_to_session ("XDG_SEAT", priv->seat_id, priv);
+ //if (priv->seat_id) _setenv_to_session ("XDG_SEAT", priv->seat_id, priv);
const gchar *xdg_data_dirs =
tlm_config_get_string (priv->config,
//close all open descriptors other than stdin, stdout, stderr
open_max = sysconf (_SC_OPEN_MAX);
- for (fd = 3; fd < open_max; fd++)
- fcntl (fd, F_SETFD, FD_CLOEXEC);
+ for (fd = 3; fd < open_max; fd++) {
+ if (fcntl (fd, F_SETFD, FD_CLOEXEC) < -1) {
+ WARN("Failed to close desriptor '%d', error: %s",
+ fd, strerror(errno));
+ }
+ }
uid_t target_uid = tlm_user_get_uid (priv->username);
gid_t target_gid = tlm_user_get_gid (priv->username);
session_type = tlm_config_get_string (priv->config,
TLM_CONFIG_GENERAL,
TLM_CONFIG_GENERAL_SESSION_TYPE);
- if (tlm_config_has_key (priv->config,
+ if (!tlm_config_has_key (priv->config,
TLM_CONFIG_GENERAL,
TLM_CONFIG_GENERAL_NSEATS))
tlm_auth_session_putenv (priv->auth_session,