Add profile-iot-headless and config-udev-sdbd.
[platform/adaptation/system-plugin.git] / packaging / system-plugin.spec
1 #%define _unpackaged_files_terminate_build 0
2 #%define debug_package %{nil}
3
4 %define temp_wait_mount 1
5
6 Name:      system-plugin
7 Summary:   Target specific system configuration files
8 Version:   0.1
9 Release:   1
10 Group: Base/Startup
11 License:   Apache-2.0
12 Source0:   %{name}-%{version}.tar.bz2
13 Source1:   %{name}.manifest
14 Source2:   liblazymount.manifest
15
16 Requires(post): /usr/bin/systemctl
17 Requires(post): /usr/bin/udevadm
18 BuildRequires: pkgconfig(vconf)
19 BuildRequires: pkgconfig(libsystemd)
20
21 %description
22 This package provides target specific system configuration files.
23
24 %package u3
25 Summary:  U3/XU3 specific system configuration files
26 Requires: %{name} = %{version}-%{release}
27 Requires: %{name}-exynos = %{version}-%{release}
28 BuildArch: noarch
29
30 %description u3
31 This package provides U3/XU3 specific system configuration files.
32
33 %package rpi3
34 Summary:  RPi3 specific system configuration files
35 Requires: %{name} = %{version}-%{release}
36 BuildArch: noarch
37
38 %description rpi3
39 This package provides RPi3 specific system configuration files.
40
41 %package iot
42 Summary:  IoT specific system configuration files
43 Requires: %{name} = %{version}-%{release}
44 Requires: dbus
45 BuildArch: noarch
46
47 %description iot
48 This package provides IoT specific system configuration files.
49
50 %package n4
51 Summary:  Note4 specific system configuration files
52 Requires: %{name} = %{version}-%{release}
53 Requires: %{name}-exynos = %{version}-%{release}
54 BuildArch: noarch
55
56 %description n4
57 This package provides Note4 specific system configuration files.
58
59 %package exynos
60 Summary:  Exynos specific system configuration files
61 Requires: %{name} = %{version}-%{release}
62 BuildArch: noarch
63
64 %description exynos
65 This package provides Exynos specific system configuration files.
66
67 %package spreadtrum
68 Summary:  Spreadtrum specific system configuration files
69 Requires: %{name} = %{version}-%{release}
70 BuildArch: noarch
71
72 %description spreadtrum
73 This package provides Spreadtrum specific system configuration files.
74
75 %package circle
76 Summary:  Circle specific system configuration files
77 Requires: %{name} = %{version}-%{release}
78 BuildArch: noarch
79
80 %description circle
81 This package provides Circle specific system configuration files.
82
83 %package -n liblazymount
84 Summary: Library for lazy mount feature
85 Requires(post): /usr/bin/vconftool
86 Requires: vconf
87
88 %description -n liblazymount
89 Library for lazy mount feature. It supports some interface functions.
90
91 %package -n liblazymount-devel
92 Summary: Development library for lazy mount feature
93 Requires: vconf
94 Requires: liblazymount = %{version}
95
96 %description -n liblazymount-devel
97 Development library for lazy mount feature.It supports some interface functions.
98
99 %package profile_ivi
100 Summary: ivi specific system configuration files
101 Requires: %{name} = %{version}-%{release}
102 BuildArch: noarch
103
104 %description profile_ivi
105 This package provides ivi specific system configuration files.
106
107 %package init_wrapper
108 Summary: Support init.wrapper booting.
109 Requires: %{name} = %{version}-%{release}
110 BuildArch: noarch
111
112 %description init_wrapper
113 This package provides init.wrapper and init symlink file for init wrapper booting.
114
115 %package headless
116 Summary: Support headless device.
117 Requires: %{name} = %{version}-%{release}
118 BuildArch: noarch
119
120 %description headless
121 This package provides the functions for headless device.
122
123 ###################################################################
124 ###################### Newly-created RPMs #########################
125 ###################################################################
126
127 %package device-artik530
128 Summary: Artik530
129 Requires: %{name} = %{version}-%{release}
130 BuildArch: noarch
131
132 %description device-artik530
133 This package provides system configuration files for the artik530 device.
134
135 %package device-artik710
136 Summary: Artik710
137 Requires: %{name} = %{version}-%{release}
138 BuildArch: noarch
139
140 %description device-artik710
141 This package provides system configuration files for the artik710 device.
142
143 %package device-rpi3
144 Summary: RPI3
145 Requires: %{name} = %{version}-%{release}
146 BuildArch: noarch
147
148 %description device-rpi3
149 This package provides system configuration files for the RPI3 device.
150
151 %package profile-iot
152 Summary:  System configuration files for IoT profiles
153 Requires: %{name} = %{version}-%{release}
154 Requires: dbus
155 BuildArch: noarch
156
157 %description profile-iot
158 This package provides system configuration files for IoT profiles.
159
160 %package profile-iot-headless
161 Summary:  System configuration files for IoT headless profiles
162 Requires: %{name} = %{version}-%{release}
163 BuildArch: noarch
164
165 %description profile-iot-headless
166 This package provides system configuration files for IoT headless profiles.
167
168 %package config-udev-sdbd
169 Summary: System configuration files to trigger sdb with udev rule
170 Requires: %{name} = %{version}-%{release}
171 BuildArch: noarch
172
173 %description config-udev-sdbd
174 This package provides configuration files to trigger sdb with udev rule.
175
176 %package feature-liblazymount
177 Summary: Library for lazy mount feature
178 Requires(post): /usr/bin/vconftool
179 Requires: vconf
180
181 %description feature-liblazymount
182 Library for lazy mount feature. It supports some interface functions.
183
184 %package feature-liblazymount-devel
185 Summary: Development library for lazy mount feature
186 Requires: vconf
187 Requires: feature-liblazymount = %{version}
188
189 %description feature-liblazymount-devel
190 Development library for lazy mount feature.It supports some interface functions.
191
192 %prep
193 %setup -q
194
195 %build
196 cp %{SOURCE1} .
197 cp %{SOURCE2} .
198
199 ./autogen.sh
200 %reconfigure \
201                 --disable-static \
202                 --prefix=%{_prefix} \
203                 --disable-debug-mode \
204                 --disable-eng-mode
205
206 %__make %{?jobs:-j%jobs} \
207         CFLAGS+=-DLIBDIR=\\\"%{_libdir}\\\"
208
209 %install
210 rm -rf %{buildroot}
211 %make_install
212
213 mkdir -p %{buildroot}%{_unitdir}
214 mkdir -p %{buildroot}/csa
215 mkdir -p %{buildroot}/initrd
216 install -m 644 units/resize2fs@.service %{buildroot}%{_unitdir}
217 install -m 644 units/tizen-system-env.service %{buildroot}%{_unitdir}
218
219 # csa mount
220 install -m 644 units/csa.mount %{buildroot}%{_unitdir}
221 mkdir -p %{buildroot}%{_unitdir}/local-fs.target.wants
222 ln -s ../csa.mount %{buildroot}%{_unitdir}/local-fs.target.wants/csa.mount
223
224 # Resize partition for 3-parted target
225 mkdir -p %{buildroot}%{_unitdir}/basic.target.wants
226 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dlabel-system\\x2ddata.service
227 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dlabel-user.service
228 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dlabel-rootfs.service
229
230 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dpartlabel-user.service
231 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dpartlabel-system\\x2ddata.service
232 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dpartlabel-rootfs.service
233
234 ln -s ../tizen-system-env.service %{buildroot}%{_unitdir}/basic.target.wants/tizen-system-env.service
235
236 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
237 install -m 644 rules/51-system-plugin-exynos.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
238 install -m 644 rules/51-system-plugin-spreadtrum.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
239 install -m 644 rules/99-usb-ethernet.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
240
241 mkdir -p %{buildroot}%{_prefix}/lib/udev/hwdb.d/
242 install -m 644 rules/60-evdev.hwdb %{buildroot}%{_prefix}/lib/udev/hwdb.d/
243
244 # fstab
245 mkdir -p %{buildroot}%{_sysconfdir}
246 install -m 644 etc/fstab %{buildroot}%{_sysconfdir}
247 # ugly temporary patch for initrd wearable
248 install -m 644 etc/fstab_initrd %{buildroot}%{_sysconfdir}
249 # lazymnt
250 install -m 644 etc/fstab_lazymnt %{buildroot}%{_sysconfdir}
251 install -m 644 etc/fstab_initrd_lazymnt %{buildroot}%{_sysconfdir}
252 install -m 644 etc/fstab_2part %{buildroot}%{_sysconfdir}
253 %if %{temp_wait_mount}
254 mkdir -p %{buildroot}%{_unitdir_user}/basic.target.wants
255 install -m 644 units/wait-user-mount.service %{buildroot}%{_unitdir_user}
256 ln -s ../wait-user-mount.service %{buildroot}%{_unitdir_user}/basic.target.wants/wait-user-mount.service
257 %endif
258
259 # fstrim
260 mkdir -p %{buildroot}%{_unitdir}/graphical.target.wants
261 install -m 644 units/tizen-fstrim-user.timer %{buildroot}%{_unitdir}
262 ln -s ../tizen-fstrim-user.timer %{buildroot}%{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
263 install -m 644 units/tizen-fstrim-user.service %{buildroot}%{_unitdir}
264 mkdir -p %{buildroot}%{_bindir}
265 install -m 755 scripts/tizen-fstrim-on-charge.sh %{buildroot}%{_bindir}
266
267 # ivi
268 install -m 755 scripts/usb_net_init.sh %{buildroot}%{_bindir}
269
270 # fixed-multi-user
271 install -m 775 -D scripts/fixed-multi-user.sh %{buildroot}%{_datadir}/fixed_multiuser/fixed-multi-user.sh
272
273 # init_wrapper
274 mkdir -p %{buildroot}%{_sbindir}
275 install -m 755 scripts/init.wrapper %{buildroot}%{_sbindir}
276
277 # headless
278 mkdir -p %{buildroot}%{_sbindir}
279 install -m 755 scripts/sdb-mode.sh %{buildroot}%{_bindir}
280 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
281 install -m 644 rules/99-sdb-switch.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
282 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
283 install -m 755 scripts/headless_env.sh %{buildroot}%{_sysconfdir}/profile.d
284
285 # config-udev-sdbd
286 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
287 install -m 644 rules/99-sdb-extcon.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
288
289 %clean
290 rm -rf %{buildroot}
291
292 %post
293 systemctl daemon-reload
294
295 %files
296 %manifest %{name}.manifest
297 %license LICENSE.Apache-2.0
298 %{_unitdir}/resize2fs@.service
299 %{_unitdir}/tizen-system-env.service
300 %{_unitdir}/basic.target.wants/tizen-system-env.service
301
302 %files u3
303 %manifest %{name}.manifest
304 %license LICENSE.Apache-2.0
305 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
306 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
307 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
308 %{_sysconfdir}/fstab
309 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
310
311 %post u3
312 %{_prefix}/bin/udevadm hwdb --update
313
314 %files rpi3
315 %manifest %{name}.manifest
316 %license LICENSE.Apache-2.0
317 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
318 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
319 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
320 %{_sysconfdir}/fstab
321 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
322
323 %post rpi3
324 %{_prefix}/bin/udevadm hwdb --update
325
326 %files iot
327 %manifest %{name}.manifest
328 %license LICENSE.Apache-2.0
329 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
330 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
331 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
332 %{_sysconfdir}/fstab_2part
333 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
334
335 %post iot
336 %{_prefix}/bin/udevadm hwdb --update
337 rm %{_sysconfdir}/fstab
338 mv %{_sysconfdir}/fstab_2part %{_sysconfdir}/fstab
339
340 %posttrans iot
341 # platform/upstream/dbus
342 rm -f %{_bindir}/dbus-cleanup-sockets
343 rm -f %{_bindir}/dbus-run-session
344 rm -f %{_bindir}/dbus-test-tool
345 rm -f %{_bindir}/dbus-update-activation-environment
346 rm -f %{_bindir}/dbus-uuidgen
347 # platform/upstream/e2fsprogs
348 rm -f %{_sbindir}/e4crypt
349
350 %files n4
351 %manifest %{name}.manifest
352 %license LICENSE.Apache-2.0
353 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
354 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
355 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
356 %{_sysconfdir}/fstab_lazymnt
357 %{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
358 %{_unitdir}/tizen-fstrim-user.timer
359 %{_unitdir}/tizen-fstrim-user.service
360 %{_bindir}/tizen-fstrim-on-charge.sh
361
362 %files exynos
363 %manifest %{name}.manifest
364 %license LICENSE.Apache-2.0
365 %{_prefix}/lib/udev/rules.d/51-system-plugin-exynos.rules
366
367 %files circle
368 %manifest %{name}.manifest
369 %license LICENSE.Apache-2.0
370 /initrd
371 /csa
372 %{_sysconfdir}/fstab_initrd
373 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-user.service
374 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-system\x2ddata.service
375 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-rootfs.service
376 %{_unitdir}/csa.mount
377 %{_unitdir}/local-fs.target.wants/csa.mount
378
379 # ugly temporary patch for initrd wearable
380 %post circle
381 rm %{_sysconfdir}/fstab
382 mv %{_sysconfdir}/fstab_initrd %{_sysconfdir}/fstab
383 # fstab for tm1
384 %post spreadtrum
385 rm %{_sysconfdir}/fstab
386 mv %{_sysconfdir}/fstab_initrd_lazymnt %{_sysconfdir}/fstab
387 %post n4
388 rm %{_sysconfdir}/fstab
389 mv %{_sysconfdir}/fstab_lazymnt %{_sysconfdir}/fstab
390
391 %files spreadtrum
392 %manifest %{name}.manifest
393 %license LICENSE.Apache-2.0
394 /initrd
395 /csa
396 %{_prefix}/lib/udev/rules.d/51-system-plugin-spreadtrum.rules
397 %{_unitdir}/tizen-system-env.service
398 %{_sysconfdir}/fstab_initrd_lazymnt
399 %{_unitdir}/basic.target.wants/tizen-system-env.service
400 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-user.service
401 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-system\x2ddata.service
402 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-rootfs.service
403 %{_unitdir}/csa.mount
404 %{_unitdir}/local-fs.target.wants/csa.mount
405 %{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
406 %{_unitdir}/tizen-fstrim-user.timer
407 %{_unitdir}/tizen-fstrim-user.service
408 %{_bindir}/tizen-fstrim-on-charge.sh
409 %{_datadir}/fixed_multiuser/fixed-multi-user.sh
410
411 %files -n liblazymount
412 %defattr(-,root,root,-)
413 %{_libdir}/liblazymount.so.*
414 %manifest liblazymount.manifest
415 %license LICENSE.Apache-2.0
416 %{_unitdir}/basic.target.wants/lazy_mount.path
417 %{_unitdir}/lazy_mount.path
418 %{_unitdir}/lazy_mount.service
419 %{_bindir}/mount-user.sh
420 %if %{temp_wait_mount}
421 %{_bindir}/test_lazymount
422 %{_unitdir_user}/basic.target.wants/wait-user-mount.service
423 %{_unitdir_user}/wait-user-mount.service
424 %endif
425
426 %post -n liblazymount
427 /sbin/ldconfig
428 systemctl daemon-reload
429
430 %files -n liblazymount-devel
431 %defattr(-,root,root,-)
432 %manifest liblazymount.manifest
433 %license LICENSE.Apache-2.0
434 %{_libdir}/liblazymount.so
435 %{_includedir}/lazymount/lazy_mount.h
436 %{_libdir}/pkgconfig/liblazymount.pc
437 %if ! %{temp_wait_mount}
438 %{_bindir}/test_lazymount
439 %endif
440
441 %postun -n liblazymount  -p /sbin/ldconfig
442
443 %files profile_ivi
444 %license LICENSE.Apache-2.0
445 %{_prefix}/lib/udev/rules.d/99-usb-ethernet.rules
446 %{_bindir}/usb_net_init.sh
447
448 %files init_wrapper
449 %license LICENSE.Apache-2.0
450 %{_sbindir}/init.wrapper
451
452 %posttrans init_wrapper
453 rm -f /sbin/init
454 ln -s /sbin/init.wrapper /sbin/init
455
456 %files headless
457 %license LICENSE.Apache-2.0
458 %{_bindir}/sdb-mode.sh
459 %{_prefix}/lib/udev/rules.d/99-sdb-switch.rules
460 %{_sysconfdir}/profile.d/headless_env.sh
461
462 ###################################################################
463 ###################### Newly-created RPMs #########################
464 ###################################################################
465
466 %files device-artik530
467
468 %files device-artik710
469
470 %files device-rpi3
471 #%manifest %{name}.manifest
472 #%license LICENSE.Apache-2.0
473 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
474 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
475 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
476 #%{_sysconfdir}/fstab
477 #%{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
478
479 %post device-rpi3
480 #%{_prefix}/bin/udevadm hwdb --update
481
482 %files profile-iot
483 #%manifest %{name}.manifest
484 #%license LICENSE.Apache-2.0
485 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
486 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
487 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
488 #%{_sysconfdir}/fstab_2part
489 #%{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
490
491 %post profile-iot
492 #%{_prefix}/bin/udevadm hwdb --update
493 #rm %{_sysconfdir}/fstab
494 #mv %{_sysconfdir}/fstab_2part %{_sysconfdir}/fstab
495
496 %posttrans profile-iot
497 ## platform/upstream/dbus
498 #rm -f %{_bindir}/dbus-cleanup-sockets
499 #rm -f %{_bindir}/dbus-run-session
500 #rm -f %{_bindir}/dbus-test-tool
501 #rm -f %{_bindir}/dbus-update-activation-environment
502 #rm -f %{_bindir}/dbus-uuidgen
503 ## platform/upstream/e2fsprogs
504 #rm -f %{_sbindir}/e4crypt
505
506 %files profile-iot-headless
507 %manifest %{name}.manifest
508 %license LICENSE.Apache-2.0
509 %{_sysconfdir}/profile.d/headless_env.sh
510
511 %files config-udev-sdbd
512 %manifest %{name}.manifest
513 %license LICENSE.Apache-2.0
514 %{_bindir}/sdb-mode.sh
515 %{_prefix}/lib/udev/rules.d/99-sdb-extcon.rules
516
517 %files feature-liblazymount
518 #%defattr(-,root,root,-)
519 #%{_libdir}/liblazymount.so.*
520 #%manifest liblazymount.manifest
521 #%license LICENSE.Apache-2.0
522 #%{_unitdir}/basic.target.wants/lazy_mount.path
523 #%{_unitdir}/lazy_mount.path
524 #%{_unitdir}/lazy_mount.service
525 #%{_bindir}/mount-user.sh
526 #%if %{temp_wait_mount}
527 #%{_bindir}/test_lazymount
528 #%{_unitdir_user}/basic.target.wants/wait-user-mount.service
529 #%{_unitdir_user}/wait-user-mount.service
530 #%endif
531
532 %post feature-liblazymount
533 #/sbin/ldconfig
534 #systemctl daemon-reload
535
536 %files feature-liblazymount-devel
537 #%defattr(-,root,root,-)
538 #%manifest liblazymount.manifest
539 #%license LICENSE.Apache-2.0
540 #%{_libdir}/liblazymount.so
541 #%{_includedir}/lazymount/lazy_mount.h
542 #%{_libdir}/pkgconfig/liblazymount.pc
543 #%if ! %{temp_wait_mount}
544 #%{_bindir}/test_lazymount
545 #%endif
546
547 %postun feature-liblazymount  -p /sbin/ldconfig