;
; 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.
;
; 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}}
X-AFM--workdir={{&#metadata.app-data-dir}}/{{id}}
%nl
+Wants=sockets.target
+
# Adds check to smack
ConditionSecurity=smack
%nl
# 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]
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}}\
%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 ----
;---------------------------------------------------------------------------------
{{/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}}\
{{/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}}
;---------------------------------------------------------------------------------
{{#content.type=application/x-executable}}
-Environment=LD_LIBRARY_PATH=$ORIGIN/$LIB
-
ExecStart={{:#metadata.install-dir}}/{{content.src}}
{{/content.type=application/x-executable}}
; 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
[Socket]
SmackLabel=*
-ListenStream=%t/bindings/{{name}}
+ListenStream=%t/apis/ws/{{name}}
FileDescriptorName={{name}}
{{#required-permission.urn:AGL:permission::public:hidden}}\
;---------------------------------------------------------------------------------
%nl
[Install]
-WantedBy=default.target
-%systemd-unit wanted-by default.target
+WantedBy=sockets.target
+%systemd-unit wanted-by sockets.target
;---------------------------------------------------------------------------------
%end systemd-unit