a84736b1ccb158317d0b251288e7d9a5f2ec588a
[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 -n feature-liblazymount
161 Summary: Library for lazy mount feature
162 Requires(post): /usr/bin/vconftool
163 Requires: vconf
164
165 %description -n feature-liblazymount
166 Library for lazy mount feature. It supports some interface functions.
167
168 %package -n feature-liblazymount-devel
169 Summary: Development library for lazy mount feature
170 Requires: vconf
171 Requires: feature-liblazymount = %{version}
172
173 %description -n feature-liblazymount-devel
174 Development library for lazy mount feature.It supports some interface functions.
175
176 %prep
177 %setup -q
178
179 %build
180 cp %{SOURCE1} .
181 cp %{SOURCE2} .
182
183 ./autogen.sh
184 %reconfigure \
185                 --disable-static \
186                 --prefix=%{_prefix} \
187                 --disable-debug-mode \
188                 --disable-eng-mode
189
190 %__make %{?jobs:-j%jobs} \
191         CFLAGS+=-DLIBDIR=\\\"%{_libdir}\\\"
192
193 %install
194 rm -rf %{buildroot}
195 %make_install
196
197 mkdir -p %{buildroot}%{_unitdir}
198 mkdir -p %{buildroot}/csa
199 mkdir -p %{buildroot}/initrd
200 install -m 644 units/resize2fs@.service %{buildroot}%{_unitdir}
201 install -m 644 units/tizen-system-env.service %{buildroot}%{_unitdir}
202
203 # csa mount
204 install -m 644 units/csa.mount %{buildroot}%{_unitdir}
205 mkdir -p %{buildroot}%{_unitdir}/local-fs.target.wants
206 ln -s ../csa.mount %{buildroot}%{_unitdir}/local-fs.target.wants/csa.mount
207
208 # Resize partition for 3-parted target
209 mkdir -p %{buildroot}%{_unitdir}/basic.target.wants
210 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dlabel-system\\x2ddata.service
211 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dlabel-user.service
212 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dlabel-rootfs.service
213
214 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dpartlabel-user.service
215 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dpartlabel-system\\x2ddata.service
216 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dpartlabel-rootfs.service
217
218 ln -s ../tizen-system-env.service %{buildroot}%{_unitdir}/basic.target.wants/tizen-system-env.service
219
220 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
221 install -m 644 rules/51-system-plugin-exynos.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
222 install -m 644 rules/51-system-plugin-spreadtrum.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
223 install -m 644 rules/99-usb-ethernet.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
224
225 mkdir -p %{buildroot}%{_prefix}/lib/udev/hwdb.d/
226 install -m 644 rules/60-evdev.hwdb %{buildroot}%{_prefix}/lib/udev/hwdb.d/
227
228 # fstab
229 mkdir -p %{buildroot}%{_sysconfdir}
230 install -m 644 etc/fstab %{buildroot}%{_sysconfdir}
231 # ugly temporary patch for initrd wearable
232 install -m 644 etc/fstab_initrd %{buildroot}%{_sysconfdir}
233 # lazymnt
234 install -m 644 etc/fstab_lazymnt %{buildroot}%{_sysconfdir}
235 install -m 644 etc/fstab_initrd_lazymnt %{buildroot}%{_sysconfdir}
236 install -m 644 etc/fstab_2part %{buildroot}%{_sysconfdir}
237 %if %{temp_wait_mount}
238 mkdir -p %{buildroot}%{_unitdir_user}/basic.target.wants
239 install -m 644 units/wait-user-mount.service %{buildroot}%{_unitdir_user}
240 ln -s ../wait-user-mount.service %{buildroot}%{_unitdir_user}/basic.target.wants/wait-user-mount.service
241 %endif
242
243 # fstrim
244 mkdir -p %{buildroot}%{_unitdir}/graphical.target.wants
245 install -m 644 units/tizen-fstrim-user.timer %{buildroot}%{_unitdir}
246 ln -s ../tizen-fstrim-user.timer %{buildroot}%{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
247 install -m 644 units/tizen-fstrim-user.service %{buildroot}%{_unitdir}
248 mkdir -p %{buildroot}%{_bindir}
249 install -m 755 scripts/tizen-fstrim-on-charge.sh %{buildroot}%{_bindir}
250
251 # ivi
252 install -m 755 scripts/usb_net_init.sh %{buildroot}%{_bindir}
253
254 # fixed-multi-user
255 install -m 775 -D scripts/fixed-multi-user.sh %{buildroot}%{_datadir}/fixed_multiuser/fixed-multi-user.sh
256
257 # init_wrapper
258 mkdir -p %{buildroot}%{_sbindir}
259 install -m 755 scripts/init.wrapper %{buildroot}%{_sbindir}
260
261 # headless
262 mkdir -p %{buildroot}%{_sbindir}
263 install -m 755 scripts/sdb-mode.sh %{buildroot}%{_bindir}
264 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
265 install -m 644 rules/99-sdb-switch.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
266 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
267 install -m 755 scripts/headless_env.sh %{buildroot}%{_sysconfdir}/profile.d
268 %clean
269 rm -rf %{buildroot}
270
271 %post
272 systemctl daemon-reload
273
274 %files
275 %manifest %{name}.manifest
276 %license LICENSE.Apache-2.0
277 %{_unitdir}/resize2fs@.service
278 %{_unitdir}/tizen-system-env.service
279 %{_unitdir}/basic.target.wants/tizen-system-env.service
280
281 %files u3
282 %manifest %{name}.manifest
283 %license LICENSE.Apache-2.0
284 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
285 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
286 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
287 %{_sysconfdir}/fstab
288 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
289
290 %post u3
291 %{_prefix}/bin/udevadm hwdb --update
292
293 %files rpi3
294 %manifest %{name}.manifest
295 %license LICENSE.Apache-2.0
296 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
297 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
298 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
299 %{_sysconfdir}/fstab
300 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
301
302 %post rpi3
303 %{_prefix}/bin/udevadm hwdb --update
304
305 %files iot
306 %manifest %{name}.manifest
307 %license LICENSE.Apache-2.0
308 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
309 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
310 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
311 %{_sysconfdir}/fstab_2part
312 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
313
314 %post iot
315 %{_prefix}/bin/udevadm hwdb --update
316 rm %{_sysconfdir}/fstab
317 mv %{_sysconfdir}/fstab_2part %{_sysconfdir}/fstab
318
319 %posttrans iot
320 # platform/upstream/dbus
321 rm -f %{_bindir}/dbus-cleanup-sockets
322 rm -f %{_bindir}/dbus-run-session
323 rm -f %{_bindir}/dbus-test-tool
324 rm -f %{_bindir}/dbus-update-activation-environment
325 rm -f %{_bindir}/dbus-uuidgen
326 # platform/upstream/e2fsprogs
327 rm -f %{_sbindir}/e4crypt
328
329 %files n4
330 %manifest %{name}.manifest
331 %license LICENSE.Apache-2.0
332 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
333 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
334 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
335 %{_sysconfdir}/fstab_lazymnt
336 %{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
337 %{_unitdir}/tizen-fstrim-user.timer
338 %{_unitdir}/tizen-fstrim-user.service
339 %{_bindir}/tizen-fstrim-on-charge.sh
340
341 %files exynos
342 %manifest %{name}.manifest
343 %license LICENSE.Apache-2.0
344 %{_prefix}/lib/udev/rules.d/51-system-plugin-exynos.rules
345
346 %files circle
347 %manifest %{name}.manifest
348 %license LICENSE.Apache-2.0
349 /initrd
350 /csa
351 %{_sysconfdir}/fstab_initrd
352 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-user.service
353 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-system\x2ddata.service
354 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-rootfs.service
355 %{_unitdir}/csa.mount
356 %{_unitdir}/local-fs.target.wants/csa.mount
357
358 # ugly temporary patch for initrd wearable
359 %post circle
360 rm %{_sysconfdir}/fstab
361 mv %{_sysconfdir}/fstab_initrd %{_sysconfdir}/fstab
362 # fstab for tm1
363 %post spreadtrum
364 rm %{_sysconfdir}/fstab
365 mv %{_sysconfdir}/fstab_initrd_lazymnt %{_sysconfdir}/fstab
366 %post n4
367 rm %{_sysconfdir}/fstab
368 mv %{_sysconfdir}/fstab_lazymnt %{_sysconfdir}/fstab
369
370 %files spreadtrum
371 %manifest %{name}.manifest
372 %license LICENSE.Apache-2.0
373 /initrd
374 /csa
375 %{_prefix}/lib/udev/rules.d/51-system-plugin-spreadtrum.rules
376 %{_unitdir}/tizen-system-env.service
377 %{_sysconfdir}/fstab_initrd_lazymnt
378 %{_unitdir}/basic.target.wants/tizen-system-env.service
379 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-user.service
380 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-system\x2ddata.service
381 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-rootfs.service
382 %{_unitdir}/csa.mount
383 %{_unitdir}/local-fs.target.wants/csa.mount
384 %{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
385 %{_unitdir}/tizen-fstrim-user.timer
386 %{_unitdir}/tizen-fstrim-user.service
387 %{_bindir}/tizen-fstrim-on-charge.sh
388 %{_datadir}/fixed_multiuser/fixed-multi-user.sh
389
390 %files -n liblazymount
391 %defattr(-,root,root,-)
392 %{_libdir}/liblazymount.so.*
393 %manifest liblazymount.manifest
394 %license LICENSE.Apache-2.0
395 %{_unitdir}/basic.target.wants/lazy_mount.path
396 %{_unitdir}/lazy_mount.path
397 %{_unitdir}/lazy_mount.service
398 %{_bindir}/mount-user.sh
399 %if %{temp_wait_mount}
400 %{_bindir}/test_lazymount
401 %{_unitdir_user}/basic.target.wants/wait-user-mount.service
402 %{_unitdir_user}/wait-user-mount.service
403 %endif
404
405 %post -n liblazymount
406 /sbin/ldconfig
407 systemctl daemon-reload
408
409 %files -n liblazymount-devel
410 %defattr(-,root,root,-)
411 %manifest liblazymount.manifest
412 %license LICENSE.Apache-2.0
413 %{_libdir}/liblazymount.so
414 %{_includedir}/lazymount/lazy_mount.h
415 %{_libdir}/pkgconfig/liblazymount.pc
416 %if ! %{temp_wait_mount}
417 %{_bindir}/test_lazymount
418 %endif
419
420 %postun -n liblazymount  -p /sbin/ldconfig
421
422 %files profile_ivi
423 %license LICENSE.Apache-2.0
424 %{_prefix}/lib/udev/rules.d/99-usb-ethernet.rules
425 %{_bindir}/usb_net_init.sh
426
427 %files init_wrapper
428 %license LICENSE.Apache-2.0
429 %{_sbindir}/init.wrapper
430
431 %posttrans init_wrapper
432 rm -f /sbin/init
433 ln -s /sbin/init.wrapper /sbin/init
434
435 %files headless
436 %license LICENSE.Apache-2.0
437 %{_bindir}/sdb-mode.sh
438 %{_prefix}/lib/udev/rules.d/99-sdb-switch.rules
439 %{_sysconfdir}/profile.d/headless_env.sh
440
441 ###################################################################
442 ###################### Newly-created RPMs #########################
443 ###################################################################
444
445 %files device-artik530
446
447 %files device-artik710
448
449 %files device-rpi3
450 #%manifest %{name}.manifest
451 #%license LICENSE.Apache-2.0
452 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
453 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
454 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
455 #%{_sysconfdir}/fstab
456 #%{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
457
458 %post device-rpi3
459 #%{_prefix}/bin/udevadm hwdb --update
460
461 %files profile-iot
462 #%manifest %{name}.manifest
463 #%license LICENSE.Apache-2.0
464 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
465 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
466 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
467 #%{_sysconfdir}/fstab_2part
468 #%{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
469
470 %post profile-iot
471 #%{_prefix}/bin/udevadm hwdb --update
472 #rm %{_sysconfdir}/fstab
473 #mv %{_sysconfdir}/fstab_2part %{_sysconfdir}/fstab
474
475 %posttrans profile-iot
476 ## platform/upstream/dbus
477 #rm -f %{_bindir}/dbus-cleanup-sockets
478 #rm -f %{_bindir}/dbus-run-session
479 #rm -f %{_bindir}/dbus-test-tool
480 #rm -f %{_bindir}/dbus-update-activation-environment
481 #rm -f %{_bindir}/dbus-uuidgen
482 ## platform/upstream/e2fsprogs
483 #rm -f %{_sbindir}/e4crypt
484
485 %files -n feature-liblazymount
486 #%defattr(-,root,root,-)
487 #%{_libdir}/liblazymount.so.*
488 #%manifest liblazymount.manifest
489 #%license LICENSE.Apache-2.0
490 #%{_unitdir}/basic.target.wants/lazy_mount.path
491 #%{_unitdir}/lazy_mount.path
492 #%{_unitdir}/lazy_mount.service
493 #%{_bindir}/mount-user.sh
494 #%if %{temp_wait_mount}
495 #%{_bindir}/test_lazymount
496 #%{_unitdir_user}/basic.target.wants/wait-user-mount.service
497 #%{_unitdir_user}/wait-user-mount.service
498 #%endif
499
500 %post -n feature-liblazymount
501 #/sbin/ldconfig
502 #systemctl daemon-reload
503
504 %files -n feature-liblazymount-devel
505 #%defattr(-,root,root,-)
506 #%manifest liblazymount.manifest
507 #%license LICENSE.Apache-2.0
508 #%{_libdir}/liblazymount.so
509 #%{_includedir}/lazymount/lazy_mount.h
510 #%{_libdir}/pkgconfig/liblazymount.pc
511 #%if ! %{temp_wait_mount}
512 #%{_bindir}/test_lazymount
513 #%endif
514
515 %postun -n feature-liblazymount  -p /sbin/ldconfig