afm-unit.conf: cleanup of generation
[src/app-framework-main.git] / conf / unit / generate-unit-conf / service.inc
index 3efa975..88c1454 100644 (file)
@@ -1,14 +1,14 @@
 dnl vim: set filetype=sysctl.conf.m4 syntax=sysctl.conf.m4:
-;---------------------------------------------------------------------------------
-;----         M A I N    P A R T    O F   T H E   S E R V I C E               ----
-;---------------------------------------------------------------------------------
+;-------------------------------------------------------------------------------
+;----         M A I N    P A R T    O F   T H E   S E R V I C E             ----
+;-------------------------------------------------------------------------------
 %begin systemd-unit
 
 # auto generated by wgtpkg-unit for {{:id}} version {{:version}} target {{:#target}} of {{:idaver}}
 %nl
 
 %systemd-unit system
-%systemd-unit service UNIT_NAME_BASE
+%systemd-unit service UNIT_NAME_BASE@
 
 [Unit]
 Description={{description}}
@@ -30,16 +30,24 @@ X-AFM--content={{content.src}}
 X-AFM--type={{content.type}}
 X-AFM--wgtdir={{:#metadata.install-dir}}
 X-AFM--workdir=APP_DATA_DIR/{{:id}}
+X-AFM--visibility=ON_PERM(`:public:hidden', `hidden', `visible')
 %nl
 
 Requires=afm-user-session@%i.target
 After=user@%i.service
+After=Network.target
 
 # Adds check to smack
 ConditionSecurity=smack
 %nl
 
 # Automatic bound to required api
+{{#required-binding}}
+{{#value=extern}}
+BindsTo=UNIT_NAME_BINDING_SERVICE({{name}},%i)
+After=UNIT_NAME_BINDING_SERVICE({{name}},%i)
+{{/value=extern}}
+{{/required-binding}}
 {{#required-api}}
 {{#value=auto|ws}}
 BindsTo=UNIT_NAME_API_SERVICE({{name}},%i)
@@ -48,22 +56,23 @@ After=UNIT_NAME_API_SERVICE({{name}},%i)
 {{/required-api}}
 {{#provided-api}}
 {{#value=ws|auto}}
-Requires=UNIT_NAME_API_SERVICE({{name}},%i)
-After=UNIT_NAME_API_SERVICE({{name}},%i)
+Requires=UNIT_NAME_API_SOCKET({{name}},%i)
+After=UNIT_NAME_API_SOCKET({{name}},%i)
 {{/value=ws|auto}}
 {{/provided-api}}
 
 %nl
 
 [Service]
-EnvironmentFile=-AFM_CONFIG_DIR/unit.env.d/*
+EnvironmentFile=-@afm_confdir@/unit.env.d/*
+EnvironmentFile=-@afm_confdir@/widget.env.d/{{:id}}/*
 SmackProcessLabel=User::App::{{:id}}
 SuccessExitStatus=0 SIGKILL
 
 User=%i
 Slice=user-%i.slice
 
-#CapabilityBoundingSet=
+CapabilityBoundingSet=
 #AmbientCapabilities=
 
 ON_PERM(:platform:no-oom,   OOMScoreAdjust=-500)
@@ -74,7 +83,10 @@ ON_PERM(:public:syscall:clock, , SystemCallFilter=~@clock)
 
 WorkingDirectory=-APP_DATA_DIR/{{:id}}
 ExecStartPre=/bin/mkdir -p APP_DATA_DIR/{{:id}}
+Environment=AFM_ID=TARGET
 Environment=AFM_APP_INSTALL_DIR={{:#metadata.install-dir}}
+Environment=AFM_WORKDIR=APP_DATA_DIR/{{:id}}
+Environment=AFM_WSAPI_DIR=API_PATH_WS
 Environment=PATH=/usr/sbin:/usr/bin:/sbin:/bin:{{:#metadata.install-dir}}/bin
 Environment=LD_LIBRARY_PATH={{:#metadata.install-dir}}/lib
 Environment=XDG_DATA_HOME=APP_DATA_DIR/{{:id}}
@@ -85,7 +97,6 @@ Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=USER_RUN_DIR/bus
 
 IF_AGL_DEVEL
 ; Needed to enable debug
-Environment=AFM_ID=TARGET
 EnvironmentFile=-DEBUGGING_DIR/TARGET.env
 ENDIF
 
@@ -94,24 +105,24 @@ StandardInput=null
 StandardOutput=journal
 StandardError=journal
 
-;---------------------------------------------------------------------------------
-;----   text/html  application/vnd.agl.native  application/vnd.agl.service    ----
-;---------------------------------------------------------------------------------
+;-------------------------------------------------------------------------------
+;----   text/html  application/vnd.agl.native  application/vnd.agl.service  ----
+;-------------------------------------------------------------------------------
 {{#content.type=text/html|application/vnd.agl.native|application/vnd.agl.service}}
 include(binder.inc)
 {{/content.type=text/html|application/vnd.agl.native|application/vnd.agl.service}}
 
-;---------------------------------------------------------------------------------
-;----                 application/x-executable                                ----
-;---------------------------------------------------------------------------------
+;-------------------------------------------------------------------------------
+;----                 application/x-executable                              ----
+;-------------------------------------------------------------------------------
 {{#content.type=application/x-executable}}
 ExecStart={{:#metadata.install-dir}}/{{content.src}}
 {{/content.type=application/x-executable}}
 
 IF_PERM(:system:run-by-default)
-;---------------------------------------------------------------------------------
+;-------------------------------------------------------------------------------
 ; auto start
-;---------------------------------------------------------------------------------
+;-------------------------------------------------------------------------------
 [Install]
 WantedBy=afm-user-session@.target
 %systemd-unit wanted-by afm-user-session@.target