blob: 21e16e3c99d031419b76a44ff36e6b06faa2d75e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
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 ----
;---------------------------------------------------------------------------------
%begin systemd-unit
# auto generated by wgtpkg-unit for {{:id}} version {{:version}} target {{:#target}} of {{:idaver}}
%nl
[Unit]
Description={{description}}
X-AFM-description={{description}}
X-AFM-name={{name.content}}
X-AFM-shortname={{name.short}}
X-AFM-id=TARGET
X-AFM-version={{:version}}
X-AFM-author={{author.content}}
X-AFM-author-email={{author.email}}
X-AFM-width={{width}}
X-AFM-height={{height}}
{{#icon}}
X-AFM-icon={{:#metadata.install-dir}}/{{:src}}
{{/icon}}
X-AFM--ID={{:id}}
X-AFM--target-name={{:#target}}
X-AFM--content={{content.src}}
X-AFM--type={{content.type}}
X-AFM--wgtdir={{:#metadata.install-dir}}
X-AFM--workdir=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=UNIT_NAME_SOCKET_FOR({{name}})
After=UNIT_NAME_SOCKET_FOR({{name}})
{{/value=auto|ws}}
{{/required-api}}
%nl
[Service]
EnvironmentFile=-AFM_CONFIG_DIR/unit.env.d/*
SmackProcessLabel=User::App::{{:id}}
SuccessExitStatus=0 SIGKILL
#PAMName=su
User=%i
Slice=user-%i.slice
#CapabilityBoundingSet=
#AmbientCapabilities=
ON_PERM(:platform:no-oom, OOMScoreAdjust=-500)
ON_PERM(:partner:real-time, IOSchedulingClass=realtime)
ON_PERM(:public:display, SupplementaryGroups=display)
ON_PERM(:public:syscall:clock, , SystemCallFilter=~@clock)
%nl
WorkingDirectory=-APP_DATA_DIR/{{:id}}
ExecStartPre=/bin/mkdir -p APP_DATA_DIR/{{:id}}
Environment=AFM_APP_INSTALL_DIR={{:#metadata.install-dir}}
Environment=PATH=/usr/sbin:/usr/bin:/sbin:/bin:{{:#metadata.install-dir}}
Environment=XDG_DATA_HOME=APP_DATA_DIR/{{:id}}
Environment=XDG_CONFIG_HOME=APP_DATA_DIR/{{:id}}
Environment=XDG_CACHE_HOME=APP_DATA_DIR/{{:id}}
Environment=XDG_RUNTIME_DIR=/run/user/%i
Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%i/bus
Environment=LD_LIBRARY_PATH=$ORIGIN/lib
IF_AGL_DEVEL
; Needed to enable debug
Environment=AFM_ID=TARGET
EnvironmentFile=-/var/run/afm-debug/TARGET.env
ENDIF
%systemd-unit system
%systemd-unit service UNIT_NAME_BASE
SyslogIdentifier=afbd-TARGET
StandardInput=null
StandardOutput=journal
StandardError=journal
;---------------------------------------------------------------------------------
;---- 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 ----
;---------------------------------------------------------------------------------
{{#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=default.target
%systemd-unit wanted-by default.target
ENDIF
%end systemd-unit
|