packaging: fix update installation
[platform/core/system/tlm.git] / packaging / tlm.spec
1 # enable debug features such as control environment variables
2 # WARNING! do not use for production builds as it will break security
3 %define debug_build 0
4 %define efl 0
5
6 %if %{debug_build} == 1
7 %define extra_config_options1 --enable-gtk-doc --enable-debug
8 %endif
9
10 %if %{efl} == 1
11 %define extra_config_options1 --enable-examples
12 %endif
13
14
15 Name:    tlm
16 Summary: Login manager for Tizen
17 Version: 1.0.2
18 Release: 0
19 Group:   System/Service
20 License: LGPL-2.1+
21 URL:     https://github.com/01org/tlm
22 Source:     %{name}-%{version}.tar.gz
23 Source1001: %{name}.manifest
24 Requires(post): /sbin/ldconfig
25 Requires(post): systemd
26 Requires(postun): /sbin/ldconfig
27 Requires(postun): systemd
28 Requires: gumd
29 Requires: libsystemd
30 BuildRequires: pkgconfig(glib-2.0) >= 2.30
31 BuildRequires: pkgconfig(gobject-2.0)
32 BuildRequires: pkgconfig(gio-2.0)
33 BuildRequires: pkgconfig(gio-unix-2.0)
34 BuildRequires: pkgconfig(gmodule-2.0)
35 BuildRequires: pkgconfig(libgum)
36 BuildRequires: pam-devel
37 %if %{debug_build} == 1
38 BuildRequires: gtk-doc
39 %endif
40 %if %{efl} == 1
41 BuildRequires: pkgconfig(elementary)
42 %endif
43
44 %description
45 TLM is a daemon that handles user logins in a multi-user, multi-seat system by
46 authenticating the users through PAM, and setting up, launching, and tracking
47 user sessions.
48
49 %package devel
50 Summary:    Dev files for %{name}
51 Group:      Development/Libraries
52 Requires:   %{name} = %{version}-%{release}
53
54 %description devel
55 Development files for %{name}.
56
57
58 %package doc
59 Summary:    Doc files for %{name}
60 Group:      Development/Libraries
61 Requires:   %{name} = %{version}-%{release}
62
63 %description doc
64 Documentation files for %{name}.
65
66
67 %if "%{profile}" != "ivi"
68
69 %package config-common
70 Summary:    Configuration files for common-profile
71 Group:      System/Service
72 Requires:   %{name} = %{version}-%{release}
73 Provides:   tlm-config
74
75 %description config-common
76 Tizen Login Manager configuration files for common-profile.
77
78 %else
79
80 %package config-ivi-singleseat
81 Summary:    Configuration files for ivi-profile with single seat
82 Group:      System/Service
83 Requires:   %{name} = %{version}-%{release}
84 Provides:   tlm-config
85 Conflicts:  tlm-config-ivi-multiseat, tlm-config-ivi-vtc1010
86
87 %description config-ivi-singleseat
88 Generic Tizen Login Manager configuration files for ivi-profile with
89 single seat.
90
91
92 %package config-ivi-multiseat
93 Summary:    Configuration files for ivi-profile with multi seat
94 Group:      System/Service
95 Requires:   %{name} = %{version}-%{release}
96 Provides:   tlm-config
97 Conflicts:  tlm-config-ivi-singleseat, tlm-config-ivi-vtc1010
98
99 %description config-ivi-multiseat
100 Generic Tizen Login Manager configuration files for ivi-profile with
101 multi seat.
102
103
104 %package config-ivi-vtc1010
105 Summary:    Configuration files for ivi-profile on VTC-1010
106 Group:      System/Service
107 Requires:   %{name} = %{version}-%{release}
108 Provides:   tlm-config
109 Conflicts:  tlm-config-ivi-singleseat, tlm-config-ivi-multiseat
110
111 %description config-ivi-vtc1010
112 Tizen Login Manager configuration files for ivi-profile on VTC-1010 hardware.
113
114 %endif
115
116
117 %prep
118 %setup -q -n %{name}-%{version}
119 cp %{SOURCE1001} .
120
121
122 %build
123 %if %{debug_build} == 1
124 ./autogen.sh
125 %endif
126 %reconfigure --enable-gum \
127              %{?extra_config_options1:%extra_config_options1} \
128              %{?extra_config_options2:%extra_config_options2}
129 %__make %{?_smp_mflags}
130
131
132 %install
133 rm -rf %{buildroot}
134 %make_install
135 rm -f %{buildroot}%{_sysconfdir}/tlm.conf
136 install -m 755 -d %{buildroot}%{_unitdir}
137 install -m 644 data/tlm.service %{buildroot}%{_unitdir}
138 install -m 755 -d %{buildroot}%{_sysconfdir}/pam.d
139 install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/
140 install -m 644 data/tlm-default-login %{buildroot}%{_sysconfdir}/pam.d/
141 install -m 644 data/tlm-system-login %{buildroot}%{_sysconfdir}/pam.d/
142 install -m 755 -d %{buildroot}%{_sysconfdir}/session.d
143 %if "%{profile}" == "ivi"
144 install -m 755 -d %{buildroot}%{_sysconfdir}/xdg/weston
145 install -m 644 data/tizen-ivi/etc/tlm*.conf %{buildroot}%{_sysconfdir}
146 install -m 755 data/tizen-ivi/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/
147 install -m 644 data/tizen-ivi/weston-*.ini %{buildroot}%{_sysconfdir}/xdg/weston/
148 install -m 755 -d %{buildroot}%{_sysconfdir}/udev/rules.d
149 install -m 644 data/tizen-ivi/10-multiseat-vtc1010.rules %{buildroot}%{_sysconfdir}/udev/rules.d/
150 %else
151 install -m 644 data/tizen-common/etc/tlm.conf %{buildroot}%{_sysconfdir}
152 install -m 755 data/tizen-common/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/
153 %endif
154
155
156 %post
157 /sbin/ldconfig
158
159
160 %postun -p /sbin/ldconfig
161
162
163 %if "%{profile}" != "ivi"
164
165 %post config-common
166 systemctl enable tlm
167 systemctl daemon-reload
168
169 %preun config-common
170 if [ $1 == 0 ]; then
171         systemctl disable tlm
172         systemctl daemon-reload
173 fi
174
175 %postun config-common
176 if [ -h /etc/tlm.conf ] && [ $1 == 0 ]; then
177         rm -f /etc/tlm.conf
178 fi
179
180 %else
181
182 %post config-ivi-singleseat
183 if [ ! -e /etc/tlm.conf ] || [ -h /etc/tlm.conf ]; then
184         ln -s -f /etc/tlm-singleseat.conf /etc/tlm.conf
185 fi
186 systemctl enable tlm
187 systemctl daemon-reload
188
189 %preun config-ivi-singleseat
190 if [ $1 == 0 ]; then
191         systemctl disable tlm
192         systemctl daemon-reload
193 fi
194
195 %postun config-ivi-singleseat
196 if [ -h /etc/tlm.conf ] && [ $1 == 0 ]; then
197         rm -f /etc/tlm.conf
198 fi
199
200
201 %post config-ivi-multiseat
202 if [ ! -e /etc/tlm.conf ] || [ -h /etc/tlm.conf ]; then
203         ln -s -f /etc/tlm-multiseat.conf /etc/tlm.conf
204 fi
205 systemctl enable tlm
206 systemctl daemon-reload
207
208 %preun config-ivi-multiseat
209 if [ $1 == 0 ]; then
210         systemctl disable tlm
211         systemctl daemon-reload
212 fi
213
214 %postun config-ivi-multiseat
215 if [ -h /etc/tlm.conf ] && [ $1 == 0 ]; then
216         rm -f /etc/tlm.conf
217 fi
218
219
220 %post config-ivi-vtc1010
221 if [ ! -e /etc/tlm.conf ] || [ -h /etc/tlm.conf ]; then
222         ln -s -f /etc/tlm-vtc1010.conf /etc/tlm.conf
223 fi
224 systemctl enable tlm
225 systemctl daemon-reload
226
227 %preun config-ivi-vtc1010
228 if [ $1 == 0 ]; then
229         systemctl disable tlm
230         systemctl daemon-reload
231 fi
232
233 %postun config-ivi-vtc1010
234 if [ -h /etc/tlm.conf ] && [ $1 == 0 ]; then
235         rm -f /etc/tlm.conf
236 fi
237
238 %endif
239
240
241 %files
242 %defattr(-,root,root,-)
243 %manifest %{name}.manifest
244 %license COPYING
245 %doc AUTHORS NEWS README
246 %{_bindir}/%{name}
247 %{_bindir}/%{name}-sessiond
248 %{_bindir}/%{name}-client
249 %{_bindir}/%{name}-weston-launch
250 %{_libdir}/lib%{name}*.so.*
251 %{_libdir}/%{name}/plugins/*.so*
252 %{_unitdir}/tlm.service
253 %config %{_sysconfdir}/pam.d/tlm-login
254 %config %{_sysconfdir}/pam.d/tlm-default-login
255 %config %{_sysconfdir}/pam.d/tlm-system-login
256
257
258 %files devel
259 %defattr(-,root,root,-)
260 %{_includedir}/%{name}/*.h
261 %{_libdir}/lib%{name}*.so
262 %{_libdir}/pkgconfig/%{name}.pc
263 %if %{efl} == 1
264 %{_bindir}/tlm-ui
265 %endif
266
267
268 %files doc
269 %defattr(-,root,root,-)
270 %{_datadir}/gtk-doc/html/tlm/*
271
272
273 %if "%{profile}" != "ivi"
274
275 %files config-common
276 %defattr(-,root,root,-)
277 %manifest %{name}.manifest
278 %config(noreplace) %{_sysconfdir}/tlm.conf
279 %config(noreplace) %{_sysconfdir}/session.d/*
280
281 %else
282
283 %files config-ivi-singleseat
284 %defattr(-,root,root,-)
285 %manifest %{name}.manifest
286 %config(noreplace) %{_sysconfdir}/tlm-singleseat.conf
287 %config(noreplace) %{_sysconfdir}/session.d/genivi-session-singleseat
288 %config(noreplace) %{_sysconfdir}/session.d/user-session
289 %config(noreplace) %{_sysconfdir}/session.d/user-session.modello
290 %config(noreplace) %{_sysconfdir}/xdg/weston/weston-genivi.ini
291 %config(noreplace) %{_sysconfdir}/xdg/weston/weston-user.ini
292
293
294 %files config-ivi-multiseat
295 %defattr(-,root,root,-)
296 %manifest %{name}.manifest
297 %config(noreplace) %{_sysconfdir}/tlm-multiseat.conf
298 %config(noreplace) %{_sysconfdir}/session.d/genivi-session-multiseat
299 %config(noreplace) %{_sysconfdir}/session.d/user-session
300 %config(noreplace) %{_sysconfdir}/session.d/user-session.modello
301 %config(noreplace) %{_sysconfdir}/xdg/weston/weston-genivi.ini
302 %config(noreplace) %{_sysconfdir}/xdg/weston/weston-user.ini
303
304
305 %files config-ivi-vtc1010
306 %defattr(-,root,root,-)
307 %manifest %{name}.manifest
308 %config(noreplace) %{_sysconfdir}/tlm-vtc1010.conf
309 %config(noreplace) %{_sysconfdir}/session.d/genivi-session-vtc1010
310 %config(noreplace) %{_sysconfdir}/session.d/user-session
311 %config(noreplace) %{_sysconfdir}/session.d/user-session.modello
312 %config(noreplace) %{_sysconfdir}/xdg/weston/weston-genivi-vtc1010.ini
313 %config(noreplace) %{_sysconfdir}/xdg/weston/weston-user.ini
314 %config(noreplace) %{_sysconfdir}/udev/rules.d/*
315
316 %endif
317