blob: 342a048b2bbc4c03f50d55e50670c2182069c9a9 (
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
116
117
118
119
120
121
122
123
124
125
126
127
|
divert(-1)
--------------------------------------------------------------------------------
dnl vim: set filetype=sysctl.conf.m4 syntax=sysctl.conf.m4:
include(macros.inc)
-- Set the comment character of m4 to ; instead of #
-- This is needed for substitution within lines starting with #
changecom( ';')
divert(0)dnl
;-------------------------------------------------------------------------------
; File:
;
; afm-unit.conf
;
; Mode:
;
; ON_AGL_DEVEL(DEVEL, RELEASE)
;
; Role:
;
; Configure how installation of widget produces unit files for systemd
;
; Processing and format:
;
; 1. File load
;
; Lines beginning with ; are firstly removed
;
; 2. File instantiation
;
; Mustache (extended) substitutions are applied using JSON
; data deduced from config.xml file of the widget.
;
; 3. Extraction of units
;
; Extract produced units, pack it (remove empty lines and directives)
;
; Directives:
;
; Any directive occupy one whole line starting with %
;
; - %nl
;
; produce an empty line at the end
;
; - %begin systemd-unit
; - %end systemd-unit
;
; delimit the produced unit
;
; - %systemd-unit user
; - %systemd-unit system
;
; tells the kind of unit (user/system)
;
; - %systemd-unit service NAME
; - %systemd-unit socket NAME
;
; gives the name and type of the unit
;
; - %systemd-unit wanted-by NAME
;
; tells to install a link to unit in the wants of NAME
;
; Setting variables:
;
; AFM uses the feature of systemd that completely ignores options prefixed
; with X-
;
; Consequently, options starting with X-AFM- are recorded as public data
; about the application and options starting starting with X-AFM-- are
; recorded as private data.
;
; Examples:
;
; X-AFM-description={{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}}
;
; Records the installation directory path in the field "wgtdir"
; of the private object only.
;
;-------------------------------------------------------------------------------
;---- F O R E A C H T A R G E T ----
;-------------------------------------------------------------------------------
{{#targets}}
;-------------------------------------------------------------------------------
include(service.inc)
IF_PERM(:partner:scope-platform)
;-------------------------------------------------------------------------------
;---- F O R E A C H P R O V I D E D A P I S (PLATFORM) ----
;-------------------------------------------------------------------------------
{{#provided-api}}
{{#value=ws|auto}}
include(provided-api-platform.inc)
{{/value=ws|auto}}
{{/provided-api}}
;-------------------------------------------------------------------------------
;---- F O R E A C H P R O V I D E D B I N D I N G (PLATFORM) ----
;-------------------------------------------------------------------------------
{{#provided-binding}}
include(provided-binding-platform.inc)
{{/provided-binding}}
;-------------------------------------------------------------------------------
ELSE
;-------------------------------------------------------------------------------
;---- F O R E A C H P R O V I D E D A P I S (USER) ----
;-------------------------------------------------------------------------------
{{#provided-api}}
{{#value=ws|auto}}
include(provided-api-user.inc)
{{/value=ws|auto}}
{{/provided-api}}
;-------------------------------------------------------------------------------
;---- F O R E A C H P R O V I D E D B I N D I N G (USER) ----
;-------------------------------------------------------------------------------
{{#provided-binding}}
include(provided-binding-user.inc)
{{/provided-binding}}
;-------------------------------------------------------------------------------
ENDIF
{{/targets}}
;-------------------------------------------------------------------------------
; End of file afm-unit.conf mode ON_AGL_DEVEL(DEVEL, RELEASE)
;-------------------------------------------------------------------------------
|