Clean up /etc/fstab configuration files
[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_3parts %{buildroot}%{_sysconfdir}
247 # lazymnt
248 install -m 644 etc/fstab_2parts %{buildroot}%{_sysconfdir}
249 %if %{temp_wait_mount}
250 mkdir -p %{buildroot}%{_unitdir_user}/basic.target.wants
251 install -m 644 units/wait-user-mount.service %{buildroot}%{_unitdir_user}
252 ln -s ../wait-user-mount.service %{buildroot}%{_unitdir_user}/basic.target.wants/wait-user-mount.service
253 %endif
254
255 # fstrim
256 mkdir -p %{buildroot}%{_unitdir}/graphical.target.wants
257 install -m 644 units/tizen-fstrim-user.timer %{buildroot}%{_unitdir}
258 ln -s ../tizen-fstrim-user.timer %{buildroot}%{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
259 install -m 644 units/tizen-fstrim-user.service %{buildroot}%{_unitdir}
260 mkdir -p %{buildroot}%{_bindir}
261 install -m 755 scripts/tizen-fstrim-on-charge.sh %{buildroot}%{_bindir}
262
263 # ivi
264 install -m 755 scripts/usb_net_init.sh %{buildroot}%{_bindir}
265
266 # fixed-multi-user
267 install -m 775 -D scripts/fixed-multi-user.sh %{buildroot}%{_datadir}/fixed_multiuser/fixed-multi-user.sh
268
269 # init_wrapper
270 mkdir -p %{buildroot}%{_sbindir}
271 install -m 755 scripts/init.wrapper %{buildroot}%{_sbindir}
272
273 # headless
274 mkdir -p %{buildroot}%{_sbindir}
275 install -m 755 scripts/sdb-mode.sh %{buildroot}%{_bindir}
276 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
277 install -m 644 rules/99-sdb-switch.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
278 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
279 install -m 755 scripts/headless_env.sh %{buildroot}%{_sysconfdir}/profile.d
280
281 # config-udev-sdbd
282 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
283 install -m 644 rules/99-sdb-extcon.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
284
285 %clean
286 rm -rf %{buildroot}
287
288 %post
289 systemctl daemon-reload
290
291 %files
292 %manifest %{name}.manifest
293 %license LICENSE.Apache-2.0
294 %{_unitdir}/resize2fs@.service
295 %{_unitdir}/tizen-system-env.service
296 %{_unitdir}/basic.target.wants/tizen-system-env.service
297
298 %files u3
299 %manifest %{name}.manifest
300 %license LICENSE.Apache-2.0
301 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
302 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
303 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
304 %{_sysconfdir}/fstab_3parts
305 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
306
307 %post u3
308 %{_prefix}/bin/udevadm hwdb --update
309 mv %{_sysconfdir}/fstab_3parts %{_sysconfdir}/fstab
310
311 %files rpi3
312 %manifest %{name}.manifest
313 %license LICENSE.Apache-2.0
314 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
315 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
316 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
317 %{_sysconfdir}/fstab_3parts
318 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
319
320 %post rpi3
321 %{_prefix}/bin/udevadm hwdb --update
322 mv %{_sysconfdir}/fstab_3parts %{_sysconfdir}/fstab
323
324 %files iot
325 %manifest %{name}.manifest
326 %license LICENSE.Apache-2.0
327 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
328 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
329 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
330 %{_sysconfdir}/fstab_2parts
331 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
332
333 %post iot
334 %{_prefix}/bin/udevadm hwdb --update
335 mv %{_sysconfdir}/fstab_2parts %{_sysconfdir}/fstab
336
337 %posttrans iot
338 # platform/upstream/dbus
339 rm -f %{_bindir}/dbus-cleanup-sockets
340 rm -f %{_bindir}/dbus-run-session
341 rm -f %{_bindir}/dbus-test-tool
342 rm -f %{_bindir}/dbus-update-activation-environment
343 rm -f %{_bindir}/dbus-uuidgen
344 # platform/upstream/e2fsprogs
345 rm -f %{_sbindir}/e4crypt
346
347 %files n4
348 %manifest %{name}.manifest
349 %license LICENSE.Apache-2.0
350 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
351 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
352 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
353 %{_sysconfdir}/fstab_2parts
354 %{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
355 %{_unitdir}/tizen-fstrim-user.timer
356 %{_unitdir}/tizen-fstrim-user.service
357 %{_bindir}/tizen-fstrim-on-charge.sh
358
359 %files exynos
360 %manifest %{name}.manifest
361 %license LICENSE.Apache-2.0
362 %{_prefix}/lib/udev/rules.d/51-system-plugin-exynos.rules
363
364 %files circle
365 %manifest %{name}.manifest
366 %license LICENSE.Apache-2.0
367 /initrd
368 /csa
369 %{_sysconfdir}/fstab_3parts
370 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-user.service
371 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-system\x2ddata.service
372 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-rootfs.service
373 %{_unitdir}/csa.mount
374 %{_unitdir}/local-fs.target.wants/csa.mount
375
376 # ugly temporary patch for initrd wearable
377 %post circle
378 mv %{_sysconfdir}/fstab_3parts %{_sysconfdir}/fstab
379 # fstab for tm1
380 %post spreadtrum
381 mv %{_sysconfdir}/fstab_2parts %{_sysconfdir}/fstab
382 %post n4
383 mv %{_sysconfdir}/fstab_2parts %{_sysconfdir}/fstab
384
385 %files spreadtrum
386 %manifest %{name}.manifest
387 %license LICENSE.Apache-2.0
388 /initrd
389 /csa
390 %{_prefix}/lib/udev/rules.d/51-system-plugin-spreadtrum.rules
391 %{_unitdir}/tizen-system-env.service
392 %{_sysconfdir}/fstab_2parts
393 %{_unitdir}/basic.target.wants/tizen-system-env.service
394 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-user.service
395 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-system\x2ddata.service
396 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dpartlabel-rootfs.service
397 %{_unitdir}/csa.mount
398 %{_unitdir}/local-fs.target.wants/csa.mount
399 %{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
400 %{_unitdir}/tizen-fstrim-user.timer
401 %{_unitdir}/tizen-fstrim-user.service
402 %{_bindir}/tizen-fstrim-on-charge.sh
403 %{_datadir}/fixed_multiuser/fixed-multi-user.sh
404
405 %files -n liblazymount
406 %defattr(-,root,root,-)
407 %{_libdir}/liblazymount.so.*
408 %manifest liblazymount.manifest
409 %license LICENSE.Apache-2.0
410 %{_unitdir}/basic.target.wants/lazy_mount.path
411 %{_unitdir}/lazy_mount.path
412 %{_unitdir}/lazy_mount.service
413 %{_bindir}/mount-user.sh
414 %if %{temp_wait_mount}
415 %{_bindir}/test_lazymount
416 %{_unitdir_user}/basic.target.wants/wait-user-mount.service
417 %{_unitdir_user}/wait-user-mount.service
418 %endif
419
420 %post -n liblazymount
421 /sbin/ldconfig
422 systemctl daemon-reload
423
424 %files -n liblazymount-devel
425 %defattr(-,root,root,-)
426 %manifest liblazymount.manifest
427 %license LICENSE.Apache-2.0
428 %{_libdir}/liblazymount.so
429 %{_includedir}/lazymount/lazy_mount.h
430 %{_libdir}/pkgconfig/liblazymount.pc
431 %if ! %{temp_wait_mount}
432 %{_bindir}/test_lazymount
433 %endif
434
435 %postun -n liblazymount  -p /sbin/ldconfig
436
437 %files profile_ivi
438 %license LICENSE.Apache-2.0
439 %{_prefix}/lib/udev/rules.d/99-usb-ethernet.rules
440 %{_bindir}/usb_net_init.sh
441
442 %files init_wrapper
443 %license LICENSE.Apache-2.0
444 %{_sbindir}/init.wrapper
445
446 %posttrans init_wrapper
447 rm -f /sbin/init
448 ln -s /sbin/init.wrapper /sbin/init
449
450 %files headless
451 %license LICENSE.Apache-2.0
452 %{_bindir}/sdb-mode.sh
453 %{_prefix}/lib/udev/rules.d/99-sdb-switch.rules
454 %{_sysconfdir}/profile.d/headless_env.sh
455
456 ###################################################################
457 ###################### Newly-created RPMs #########################
458 ###################################################################
459
460 %files device-artik530
461
462 %files device-artik710
463
464 %files device-rpi3
465 #%manifest %{name}.manifest
466 #%license LICENSE.Apache-2.0
467 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
468 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
469 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
470 #%{_sysconfdir}/fstab_3parts
471 #%{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
472
473 %post device-rpi3
474 #%{_prefix}/bin/udevadm hwdb --update
475 #mv %{_sysconfdir}/fstab_3parts %{_sysconfdir}/fstab
476
477 %files profile-iot
478 #%manifest %{name}.manifest
479 #%license LICENSE.Apache-2.0
480 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
481 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
482 #%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
483 #%{_sysconfdir}/fstab_2parts
484 #%{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
485
486 %post profile-iot
487 #%{_prefix}/bin/udevadm hwdb --update
488 #mv %{_sysconfdir}/fstab_2parts %{_sysconfdir}/fstab
489
490 %posttrans profile-iot
491 ## platform/upstream/dbus
492 #rm -f %{_bindir}/dbus-cleanup-sockets
493 #rm -f %{_bindir}/dbus-run-session
494 #rm -f %{_bindir}/dbus-test-tool
495 #rm -f %{_bindir}/dbus-update-activation-environment
496 #rm -f %{_bindir}/dbus-uuidgen
497 ## platform/upstream/e2fsprogs
498 #rm -f %{_sbindir}/e4crypt
499
500 %files profile-iot-headless
501 %manifest %{name}.manifest
502 %license LICENSE.Apache-2.0
503 %{_sysconfdir}/profile.d/headless_env.sh
504
505 %files config-udev-sdbd
506 %manifest %{name}.manifest
507 %license LICENSE.Apache-2.0
508 %{_bindir}/sdb-mode.sh
509 %{_prefix}/lib/udev/rules.d/99-sdb-extcon.rules
510
511 %files feature-liblazymount
512 #%defattr(-,root,root,-)
513 #%{_libdir}/liblazymount.so.*
514 #%manifest liblazymount.manifest
515 #%license LICENSE.Apache-2.0
516 #%{_unitdir}/basic.target.wants/lazy_mount.path
517 #%{_unitdir}/lazy_mount.path
518 #%{_unitdir}/lazy_mount.service
519 #%{_bindir}/mount-user.sh
520 #%if %{temp_wait_mount}
521 #%{_bindir}/test_lazymount
522 #%{_unitdir_user}/basic.target.wants/wait-user-mount.service
523 #%{_unitdir_user}/wait-user-mount.service
524 #%endif
525
526 %post feature-liblazymount
527 #/sbin/ldconfig
528 #systemctl daemon-reload
529
530 %files feature-liblazymount-devel
531 #%defattr(-,root,root,-)
532 #%manifest liblazymount.manifest
533 #%license LICENSE.Apache-2.0
534 #%{_libdir}/liblazymount.so
535 #%{_includedir}/lazymount/lazy_mount.h
536 #%{_libdir}/pkgconfig/liblazymount.pc
537 #%if ! %{temp_wait_mount}
538 #%{_bindir}/test_lazymount
539 #%endif
540
541 %postun feature-liblazymount  -p /sbin/ldconfig