src/daemon/tlm
src/sessiond/tlm-sessiond
src/utils/tlm-client
+src/utils/tlm-weston-launch
tests/config/configtest
tests/daemon/daemontest
#!/bin/sh
#
+#WESTON_LAUNCH=/usr/bin/tlm-weston-launch
+WESTON_LAUNCH=weston-launch
export WAYLAND_SERVER_DIR=/tmp
export WAYLAND_SERVER_GROUP=weston-launch
export WAYLAND_SERVER_MODE=0660
export WESTON_CONFIG=/etc/xdg/weston/weston-genivi.ini
-/usr/bin/weston-launch -- -i0 --current-mode --log=/tmp/genivi-weston.log --shell=desktop-shell.so
+$WESTON_LAUNCH -- -i0 --current-mode --log=/tmp/genivi-weston.log --shell=desktop-shell.so
#!/bin/sh
#
+#WESTON_LAUNCH=/usr/bin/tlm-weston-launch
+WESTON_LAUNCH=weston-launch
export WAYLAND_SERVER_DIR=/tmp
export WAYLAND_SERVER_GROUP=weston-launch
export WAYLAND_SERVER_MODE=0660
export WESTON_CONFIG=/etc/xdg/weston/weston-genivi.ini
-/usr/bin/weston-launch -- -i0 --current-mode --log=/tmp/genivi-weston.log
+$WESTON_LAUNCH -- -i0 --current-mode --log=/tmp/genivi-weston.log
#!/bin/sh
#
+#WESTON_LAUNCH=/usr/bin/tlm-weston-launch
+WESTON_LAUNCH=weston-launch
export WAYLAND_SERVER_DIR=/tmp
export WAYLAND_SERVER_GROUP=weston-launch
export WAYLAND_SERVER_MODE=0660
export WESTON_CONFIG=/etc/xdg/weston/weston-genivi-vtc1010.ini
-/usr/bin/weston-launch -- -i0 --current-mode --log=/tmp/genivi-weston.log
+$WESTON_LAUNCH -- -i0 --current-mode --log=/tmp/genivi-weston.log
/usr/lib/tlm/plugins/*.so*
/etc/tlm.conf
/usr/bin/tlm-client
+/usr/bin/tlm-weston-launch
/usr/bin/systemctl daemon-reload
-%postun
-/sbin/ldconfig
-/usr/bin/systemctl disable tlm
-/usr/bin/systemctl daemon-reload
+%preun
+if [ $1 == 0 ]; then
+ /usr/bin/systemctl disable tlm
+ /usr/bin/systemctl daemon-reload
+fi
+
+%postun -p /sbin/ldconfig
%if "%{profile}" == "ivi"
%{_bindir}/%{name}
%{_bindir}/%{name}-sessiond
%{_bindir}/%{name}-client
+%{_bindir}/%{name}-weston-launch
%{_libdir}/lib%{name}*.so.*
%{_libdir}/%{name}/plugins/*.so*
%{_unitdir}/tlm.service
%{_bindir}/%{name}
%{_bindir}/%{name}-sessiond
%{_bindir}/%{name}-client
+%{_bindir}/%{name}-weston-launch
%{_libdir}/lib%{name}*.so.*
%{_libdir}/%{name}/plugins/*.so*
%exclude %{_libdir}/tlm/plugins/*.la
</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>
/usr/bin/systemctl daemon-reload
-%postun
-/sbin/ldconfig
-/usr/bin/systemctl disable tlm
-/usr/bin/systemctl daemon-reload
+%preun
+if [ $1 == 0 ]; then
+ /usr/bin/systemctl disable tlm
+ /usr/bin/systemctl daemon-reload
+fi
+
+%postun -p /sbin/ldconfig
%if "%{profile}" == "ivi"
%{_bindir}/%{name}
%{_bindir}/%{name}-sessiond
%{_bindir}/%{name}-client
+%{_bindir}/%{name}-weston-launch
%{_libdir}/lib%{name}*.so.*
%{_libdir}/%{name}/plugins/*.so*
%{_unitdir}/tlm.service
## Process this file with automake to produce Makefile.in
-bin_PROGRAMS = tlm-client
+bin_PROGRAMS = tlm-client tlm-weston-launch
tlm_client_SOURCES = tlm-client.c
tlm_client_CFLAGS = \
$(top_builddir)/src/common/dbus/libtlm-dbus-glue.la \
$(TLM_LIBS)
-CLEANFILES = *.gcno *.gcda
\ No newline at end of file
+tlm_weston_launch_SOURCES = tlm-weston-launch.c
+tlm_weston_launch_CFLAGS = \
+ -I$(top_builddir)/src \
+ -DBINDIR='"$(bindir)"' \
+ $(DEPS_CFLAGS)
+
+CLEANFILES = *.gcno *.gcda
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-bin_PROGRAMS = tlm-client$(EXEEXT)
+bin_PROGRAMS = tlm-client$(EXEEXT) tlm-weston-launch$(EXEEXT)
subdir = src/utils
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/depcomp
tlm_client_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(tlm_client_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_tlm_weston_launch_OBJECTS = \
+ tlm_weston_launch-tlm-weston-launch.$(OBJEXT)
+tlm_weston_launch_OBJECTS = $(am_tlm_weston_launch_OBJECTS)
+tlm_weston_launch_LDADD = $(LDADD)
+tlm_weston_launch_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(tlm_weston_launch_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(tlm_client_SOURCES)
-DIST_SOURCES = $(tlm_client_SOURCES)
+SOURCES = $(tlm_client_SOURCES) $(tlm_weston_launch_SOURCES)
+DIST_SOURCES = $(tlm_client_SOURCES) $(tlm_weston_launch_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
$(top_builddir)/src/common/dbus/libtlm-dbus-glue.la \
$(TLM_LIBS)
+tlm_weston_launch_SOURCES = tlm-weston-launch.c
+tlm_weston_launch_CFLAGS = \
+ -I$(top_builddir)/src \
+ -DBINDIR='"$(bindir)"' \
+ $(DEPS_CFLAGS)
+
CLEANFILES = *.gcno *.gcda
all: all-am
@rm -f tlm-client$(EXEEXT)
$(AM_V_CCLD)$(tlm_client_LINK) $(tlm_client_OBJECTS) $(tlm_client_LDADD) $(LIBS)
+tlm-weston-launch$(EXEEXT): $(tlm_weston_launch_OBJECTS) $(tlm_weston_launch_DEPENDENCIES) $(EXTRA_tlm_weston_launch_DEPENDENCIES)
+ @rm -f tlm-weston-launch$(EXEEXT)
+ $(AM_V_CCLD)$(tlm_weston_launch_LINK) $(tlm_weston_launch_OBJECTS) $(tlm_weston_launch_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlm_client-tlm-client.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlm_weston_launch-tlm-weston-launch.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tlm_client_CFLAGS) $(CFLAGS) -c -o tlm_client-tlm-client.obj `if test -f 'tlm-client.c'; then $(CYGPATH_W) 'tlm-client.c'; else $(CYGPATH_W) '$(srcdir)/tlm-client.c'; fi`
+tlm_weston_launch-tlm-weston-launch.o: tlm-weston-launch.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tlm_weston_launch_CFLAGS) $(CFLAGS) -MT tlm_weston_launch-tlm-weston-launch.o -MD -MP -MF $(DEPDIR)/tlm_weston_launch-tlm-weston-launch.Tpo -c -o tlm_weston_launch-tlm-weston-launch.o `test -f 'tlm-weston-launch.c' || echo '$(srcdir)/'`tlm-weston-launch.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/tlm_weston_launch-tlm-weston-launch.Tpo $(DEPDIR)/tlm_weston_launch-tlm-weston-launch.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tlm-weston-launch.c' object='tlm_weston_launch-tlm-weston-launch.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tlm_weston_launch_CFLAGS) $(CFLAGS) -c -o tlm_weston_launch-tlm-weston-launch.o `test -f 'tlm-weston-launch.c' || echo '$(srcdir)/'`tlm-weston-launch.c
+
+tlm_weston_launch-tlm-weston-launch.obj: tlm-weston-launch.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tlm_weston_launch_CFLAGS) $(CFLAGS) -MT tlm_weston_launch-tlm-weston-launch.obj -MD -MP -MF $(DEPDIR)/tlm_weston_launch-tlm-weston-launch.Tpo -c -o tlm_weston_launch-tlm-weston-launch.obj `if test -f 'tlm-weston-launch.c'; then $(CYGPATH_W) 'tlm-weston-launch.c'; else $(CYGPATH_W) '$(srcdir)/tlm-weston-launch.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/tlm_weston_launch-tlm-weston-launch.Tpo $(DEPDIR)/tlm_weston_launch-tlm-weston-launch.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tlm-weston-launch.c' object='tlm_weston_launch-tlm-weston-launch.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tlm_weston_launch_CFLAGS) $(CFLAGS) -c -o tlm_weston_launch-tlm-weston-launch.obj `if test -f 'tlm-weston-launch.c'; then $(CYGPATH_W) 'tlm-weston-launch.c'; else $(CYGPATH_W) '$(srcdir)/tlm-weston-launch.c'; fi`
+
mostlyclean-libtool:
-rm -f *.lo
--- /dev/null
+#include "config.h"
+
+#include <error.h>
+#include <errno.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+
+#define MAX_ARGV_SIZE 128
+
+
+void start_weston_launcher(int argc, char *argv[]) {
+ char *child_argv[MAX_ARGV_SIZE] = {0, 0, };
+ int i = 0, j = 0;
+
+ child_argv[i++] = "/bin/sh";
+ child_argv[i++] = "-c";
+ child_argv[i++] = BINDIR "/weston-launch";
+
+ if (i + argc >= MAX_ARGV_SIZE) argc -= i;
+
+ for (j = 0; j < argc; ++j)
+ child_argv[i + j] = argv[j];
+ child_argv[i + j] = NULL;
+
+ execv(child_argv[0], child_argv);
+
+ fprintf(stderr, "exec failed: %s", strerror(errno));
+}
+
+static void help() {
+ fprintf(stdout, "tlm-weston-launch - Starts weston-launch in background");
+}
+
+int main(int argc, char *argv[]) {
+ struct option opts[] = {
+ { "help", no_argument, NULL, 'h' },
+ { 0, 0, NULL, 0 }
+ };
+ pid_t child_pid = 0;
+ int i, c;
+
+ while ((c = getopt_long(argc, argv, "h", opts, &i)) != -1) {
+ switch(c) {
+ case 'h':
+ help();
+ return 0;
+ }
+ }
+
+ if ((child_pid = fork()) < 0) {
+ fprintf(stderr, "fork() failed: %s", strerror(errno));
+ return -1;
+ }
+
+ if (child_pid == 0) {
+ start_weston_launcher(argc, argv);
+ return 0;
+ }
+
+ return 0;
+}