unit.conf: Explicit dependency to user-config.service
[src/app-framework-main.git] / conf / afm-unit.conf.in
index fc0c006..3190b0e 100644 (file)
@@ -13,7 +13,7 @@
 ;
 ;           Lines beginning with ; are firstly removed
 ;
-;    2. File instanciation
+;    2. File instantiation
 ;
 ;           Mustache (extended) substitutions are applied using JSON
 ;           data deduced from config.xml file of the widget.
@@ -62,7 +62,7 @@
 ;
 ;        X-AFM-description={{description}}
 ;
-;              Records the descritpion of the unit in the field "description"
+;              Records the description of the unit in the field "description"
 ;              of both the public and private object describing the unit.
 ;
 ;        X-AFM--wgtdir={{:#metadata.install-dir}}
@@ -100,6 +100,8 @@ X-AFM--wgtdir={{:#metadata.install-dir}}
 X-AFM--workdir={{&#metadata.app-data-dir}}/{{id}}
 %nl
 
+Wants=sockets.target
+
 # Adds check to smack
 ConditionSecurity=smack
 %nl
@@ -107,10 +109,12 @@ ConditionSecurity=smack
 # Automatic bound to required api
 {{#required-api}}
 {{#value=auto|ws}}
-BindsTo=afm-api-ws-{{name}}
-After=afm-api-ws-{{name}}
+BindsTo=afm-api-ws-{{name}}.socket
+After=afm-api-ws-{{name}}.socket
 {{/value=auto|ws}}
 {{/required-api}}
+Requires=user-config.service
+After=user-config.service
 %nl
 
 [Service]
@@ -130,6 +134,7 @@ SuccessExitStatus=0 SIGKILL
 WorkingDirectory=-{{&#metadata.app-data-dir}}/{{id}}
 ExecStartPre=/bin/mkdir -p {{&#metadata.app-data-dir}}/{{id}}
 Environment=AFM_APP_INSTALL_DIR={{:#metadata.install-dir}}
+Environment=PATH=/usr/sbin:/usr/bin:/sbin:/bin:{{:#metadata.install-dir}}
 
 %systemd-unit user
 {{#required-permission.urn:AGL:permission::public:hidden}}\
@@ -139,6 +144,13 @@ Environment=AFM_APP_INSTALL_DIR={{:#metadata.install-dir}}
 %systemd-unit service afm-appli-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}
 {{/required-permission.urn:AGL:permission::public:hidden}}\
 
+Environment=LD_LIBRARY_PATH=$ORIGIN/lib
+
+SyslogIdentifier=afbd-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}
+StandardInput=null
+StandardOutput=journal
+StandardError=journal
+
 ;---------------------------------------------------------------------------------
 ;----   text/html  application/vnd.agl.native  application/vnd.agl.service    ----
 ;---------------------------------------------------------------------------------
@@ -149,18 +161,22 @@ X-AFM--http-port={{:#metadata.http-port}}
 {{/content.type=application/vnd.agl.service}}
 
 ExecStart=/usr/bin/afb-daemon \
+       --name afbd-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} \
+       --rootdir={{:#metadata.install-dir}} \
+       --workdir={{&#metadata.app-data-dir}}/{{id}} \
+       {{#content.type=application/vnd.agl.service}}\
+               --no-httpd \
+       {{/content.type=application/vnd.agl.service}}\
        {{^content.type=application/vnd.agl.service}}\
                --port={{:#metadata.http-port}} \
                --random-token \
+               {{#required-permission.urn:AGL:permission::public:no-htdocs}}\
+                       --roothttp=. \
+               {{/required-permission.urn:AGL:permission::public:no-htdocs}}\
+               {{^required-permission.urn:AGL:permission::public:no-htdocs}}\
+                       --roothttp=htdocs \
+               {{/required-permission.urn:AGL:permission::public:no-htdocs}}\
        {{/content.type=application/vnd.agl.service}}\
-       --rootdir={{:#metadata.install-dir}} \
-       --workdir={{&#metadata.app-data-dir}}/{{id}} \
-       {{#required-permission.urn:AGL:permission::public:no-htdocs}}\
-               --roothttp=. \
-       {{/required-permission.urn:AGL:permission::public:no-htdocs}}\
-       {{^required-permission.urn:AGL:permission::public:no-htdocs}}\
-               --roothttp=htdocs \
-       {{/required-permission.urn:AGL:permission::public:no-htdocs}}\
        {{#required-permission.urn:AGL:permission::public:applications:read}}\
                --alias=/icons:{{:#metadata.icons-dir}} \
        {{/required-permission.urn:AGL:permission::public:applications:read}}\
@@ -205,10 +221,7 @@ ExecStart=/usr/bin/afb-daemon \
        {{/content.type=text/html}}\
        {{#content.type=application/vnd.agl.native}}\
                --exec {{:#metadata.install-dir}}/{{content.src}} @p @t
-       {{/content.type=application/vnd.agl.native}}\
-       {{#content.type=application/vnd.agl.service}}\
-               --no-httpd
-       {{/content.type=application/vnd.agl.service}}
+       {{/content.type=application/vnd.agl.native}}
 
 {{/content.type=text/html|application/vnd.agl.native|application/vnd.agl.service}}
 
@@ -218,8 +231,6 @@ ExecStart=/usr/bin/afb-daemon \
 ;---------------------------------------------------------------------------------
 {{#content.type=application/x-executable}}
 
-Environment=LD_LIBRARY_PATH=$ORIGIN/$LIB
-
 ExecStart={{:#metadata.install-dir}}/{{content.src}}
 
 {{/content.type=application/x-executable}}
@@ -228,12 +239,10 @@ ExecStart={{:#metadata.install-dir}}/{{content.src}}
 ; auto start
 ;---------------------------------------------------------------------------------
 {{#required-permission.urn:AGL:permission::system:run-by-default}}
-{{^provided-api}}
 %nl
 [Install]
 WantedBy=default.target
 %systemd-unit wanted-by default.target
-{{/provided-api}}
 {{/required-permission.urn:AGL:permission::system:run-by-default}}
 
 %end systemd-unit
@@ -255,23 +264,21 @@ WantedBy=default.target
 
 [Socket]
 SmackLabel=*
-ListenStream=%t/bindings/{{name}}
+ListenStream=%t/apis/ws/{{name}}
 FileDescriptorName={{name}}
 
 {{#required-permission.urn:AGL:permission::public:hidden}}\
-Service=afm-service-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}
+Service=afm-service-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}.service
 {{/required-permission.urn:AGL:permission::public:hidden}}\
 {{^required-permission.urn:AGL:permission::public:hidden}}\
-Service=afm-appli-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}
+Service=afm-appli-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}.service
 {{/required-permission.urn:AGL:permission::public:hidden}}\
 
 ;---------------------------------------------------------------------------------
-{{#required-permission.urn:AGL:permission::system:run-by-default}}
 %nl
 [Install]
-WantedBy=default.target
-%systemd-unit wanted-by default.target
-{{/required-permission.urn:AGL:permission::system:run-by-default}}
+WantedBy=sockets.target
+%systemd-unit wanted-by sockets.target
 ;---------------------------------------------------------------------------------
 
 %end systemd-unit