Am Samstag, 30. März 2013 um 10:22 schrieb Cedric Bail - Enlightenment Git:
> cedric pushed a commit to branch master.
>  
> commit cd28bc814552bf52bb670e108343b23d48fa839e
> Author: Cedric Bail <cedric.b...@free.fr (mailto:cedric.b...@free.fr)>
> Date: Thu Mar 28 23:53:24 2013 +0900
>  
> e: add support for systemd user session.
> ---
> ChangeLog | 4 ++++
> NEWS | 1 +
> configure.ac (http://configure.ac) | 7 +++++++
> data/Makefile.am (http://Makefile.am) | 4 +++-
> data/units/Makefile.am (http://Makefile.am) | 9 +++++++++
> data/units/e18.service | 27 +++++++++++++++++++++++++
> m4/pkg_var.m4 | 14 +++++++++++++
> src/bin/e_main.c | 55 ++++++++++++++++++++++++++------------------------
> 8 files changed, 94 insertions(+), 27 deletions(-)
>  
> diff --git a/ChangeLog b/ChangeLog
> index b040cf5..2b19cb2 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,7 @@
> +2013-03-28 Cedric Bail
> +
> + * added support for systemd user session.
> +
> 2013-03-11 Mike Blumenkrantz
>  
> * menus are now drawn directly on the compositor canvas
> diff --git a/NEWS b/NEWS
> index d8cf3ac..c5d08c7 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -45,6 +45,7 @@ Additions:
> * new option for disabling all pointer warps
> * added option for preventing all keyboard layout changes
> * added option for remembering filemanager windows globally
> + * Added support for systemd user session
>  
> Changes:
> Modules:
> diff --git a/configure.ac (http://configure.ac) b/configure.ac 
> (http://configure.ac)
> index ef09d46..34e68dd 100644
> --- a/configure.ac (http://configure.ac)
> +++ b/configure.ac (http://configure.ac)
> @@ -205,6 +205,12 @@ if test "x${have_bluetooth}" = "xyes"; then
> AC_DEFINE_UNQUOTED([HAVE_BLUETOOTH], [1], [Bluetooth is there])
> fi
>  
> +# Detect systemd user session directory properly
> +EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd], [systemduserunitdir],
> + [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
> +AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test 
> "x${have_systemd_user_session}" = "xyes"])
> +AC_SUBST([USER_SESSION_DIR])
> +
> execinfo_libs=""
> AC_CHECK_HEADERS([execinfo.h], [have_execinfo="yes"], [have_execinfo="no"])
> if test "x${have_execinfo}" = "xyes" ; then
> @@ -1009,6 +1015,7 @@ data/etc/Makefile
> data/etc/sysactions.conf
> data/icons/Makefile
> data/backgrounds/Makefile
> +data/units/Makefile
> doc/Makefile
> doc/Doxyfile
> doc/e.dox
> diff --git a/data/Makefile.am (http://Makefile.am) b/data/Makefile.am 
> (http://Makefile.am)
> index f320e9d..dbd5a42 100644
> --- a/data/Makefile.am (http://Makefile.am)
> +++ b/data/Makefile.am (http://Makefile.am)
> @@ -10,4 +10,6 @@ icons \
> backgrounds \
> flags \
> favorites \
> -desktop
> +desktop \
> +units
> +
> diff --git a/data/units/Makefile.am (http://Makefile.am) 
> b/data/units/Makefile.am (http://Makefile.am)
> new file mode 100644
> index 0000000..04ed87f
> --- /dev/null
> +++ b/data/units/Makefile.am (http://Makefile.am)
> @@ -0,0 +1,9 @@
> +AUTOMAKE_OPTIONS = 1.4 foreign
> +MAINTAINERCLEANFILES = Makefile.in (http://Makefile.in)
> +
> +if HAVE_SYSTEMD_USER_SESSION
> +unitsdir = $(USER_SESSION_DIR)
> +units_DATA = e18.service
> +endif
> +
> +EXTRA_DIST = $(units_DATA)
> diff --git a/data/units/e18.service b/data/units/e18.service
> new file mode 100644
> index 0000000..79feb40
> --- /dev/null
> +++ b/data/units/e18.service
> @@ -0,0 +1,27 @@
> +[Unit]
> +Description=Enlightenment 17 service
>  
>  

17 or 18?
> +Before=end.target
> +After=xorg.target
> +Requires=xorg.target
> +Requires=dbus.socket
> +Requires=pulseaudio.service
> +Requires=ssh-agent.service
>  
>  

ssh-agent really required?  

--  
Leif

> +AllowIsolate=true
> +
> +[Service]
> +Type=notify
> +#Environment=PATH=uncomment:to:override:your:PATH
> +Environment=E_START=enlightenment
> +ExecStart=/usr/bin/enlightenment
> +Restart=always
> +RestartPreventExitStatus=0
> +RestartSec=2
> +StartLimitInterval=30
> +StartLimitBurst=7
> +KillMode=process
> +WatchdogSec=1
> +TimeoutSec=1
> +NotifyAccess=all
> +
> +[Install]
> +WantedBy=wm.target
> diff --git a/m4/pkg_var.m4 b/m4/pkg_var.m4
> new file mode 100644
> index 0000000..3d0a309
> --- /dev/null
> +++ b/m4/pkg_var.m4
> @@ -0,0 +1,14 @@
> +# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
> +# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
> +# -------------------------------------------
> +# Retrieves the value of the pkg-config variable for the given module.
> +AC_DEFUN([EFL_PKG_CHECK_VAR],
> +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
> +AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
> +
> +_PKG_CONFIG([$1], [variable="][$3]["], [$2])
> +AS_VAR_COPY([$1], [pkg_cv_][$1])
> +
> +AS_VAR_IF([$1], [""], [$5], [$4])dnl
> +])# PKG_CHECK_VAR
> +
> diff --git a/src/bin/e_main.c b/src/bin/e_main.c
> index 2df3d96..a6cc382 100644
> --- a/src/bin/e_main.c
> +++ b/src/bin/e_main.c
> @@ -187,32 +187,35 @@ main(int argc, char **argv)
> /* trap deadly bug signals and allow some form of sane recovery */
> /* or ability to gdb attach and debug at this point - better than your */
> /* wm/desktop vanishing and not knowing what happened */
> - TS("Signal Trap");
> - action.sa_sigaction = e_sigseg_act;
> - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> - sigemptyset(&action.sa_mask);
> - sigaction(SIGSEGV, &action, NULL);
> -
> - action.sa_sigaction = e_sigill_act;
> - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> - sigemptyset(&action.sa_mask);
> - sigaction(SIGILL, &action, NULL);
> -
> - action.sa_sigaction = e_sigfpe_act;
> - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> - sigemptyset(&action.sa_mask);
> - sigaction(SIGFPE, &action, NULL);
> -
> - action.sa_sigaction = e_sigbus_act;
> - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> - sigemptyset(&action.sa_mask);
> - sigaction(SIGBUS, &action, NULL);
> -
> - action.sa_sigaction = e_sigabrt_act;
> - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> - sigemptyset(&action.sa_mask);
> - sigaction(SIGABRT, &action, NULL);
> - TS("Signal Trap Done");
> + if (!getenv("NOTIFY_SOCKET"))
> + {
> + TS("Signal Trap");
> + action.sa_sigaction = e_sigseg_act;
> + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> + sigemptyset(&action.sa_mask);
> + sigaction(SIGSEGV, &action, NULL);
> +
> + action.sa_sigaction = e_sigill_act;
> + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> + sigemptyset(&action.sa_mask);
> + sigaction(SIGILL, &action, NULL);
> +
> + action.sa_sigaction = e_sigfpe_act;
> + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> + sigemptyset(&action.sa_mask);
> + sigaction(SIGFPE, &action, NULL);
> +
> + action.sa_sigaction = e_sigbus_act;
> + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> + sigemptyset(&action.sa_mask);
> + sigaction(SIGBUS, &action, NULL);
> +
> + action.sa_sigaction = e_sigabrt_act;
> + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
> + sigemptyset(&action.sa_mask);
> + sigaction(SIGABRT, &action, NULL);
> + TS("Signal Trap Done");
> + }
>  
> t = ecore_time_unix_get();
> s = getenv("E_START_TIME");
>  
> --  
>  
> ------------------------------------------------------------------------------
> Own the Future-Intel(R) Level Up Game Demo Contest 2013
> Rise to greatness in Intel's independent game demo contest. Compete  
> for recognition, cash, and the chance to get your game on Steam.  
> $5K grand prize plus 10 genre and skill prizes. Submit your demo  
> by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2
>  
>  


------------------------------------------------------------------------------
Own the Future-Intel(R) Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest. Compete 
for recognition, cash, and the chance to get your game on Steam. 
$5K grand prize plus 10 genre and skill prizes. Submit your demo 
by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to