1b05ce4fce34a5458dd29b1c8363f1be566f63f5
[platform/adaptation/system-plugin.git] / packaging / system-plugin.spec
1 #%define _unpackaged_files_terminate_build 0
2 #%define debug_package %{nil}
3
4 Name:      system-plugin
5 Summary:   Target specific system configuration files
6 Version:   0.1
7 Release:   1
8 Group:     Base/Startup
9 License:   Apache-2.0
10 Source0:   %{name}-%{version}.tar.bz2
11 Source1:   %{name}.manifest
12 Source2:   liblazymount.manifest
13
14 Requires(post): /usr/bin/systemctl
15 Requires(post): /usr/bin/udevadm
16 BuildRequires: pkgconfig(vconf)
17 BuildRequires: pkgconfig(libsystemd)
18
19 %description
20 This package provides target specific system configuration files.
21
22 %package device-spreadtrum
23 Summary:  Spreadtrum specific system configuration files
24 Requires: %{name} = %{version}-%{release}
25 BuildArch: noarch
26
27 %description device-spreadtrum
28 This package provides Spreadtrum specific system configuration files.
29
30 %package device-n4
31 Summary:  Note4 specific system configuration files
32 Requires: %{name} = %{version}-%{release}
33 Requires: %{name}-exynos = %{version}-%{release}
34 BuildArch: noarch
35
36 %description device-n4
37 This package provides Note4 specific system configuration files.
38
39 %package device-circle
40 Summary:  Circle specific system configuration files
41 Requires: %{name} = %{version}-%{release}
42 BuildArch: noarch
43
44 %description device-circle
45 This package provides Circle specific system configuration files.
46
47 %package device-u3
48 Summary:  U3/XU3 specific system configuration files
49 Requires: %{name} = %{version}-%{release}
50 Requires: %{name}-exynos = %{version}-%{release}
51 BuildArch: noarch
52
53 %description device-u3
54 This package provides U3/XU3 specific system configuration files.
55
56 %package device-rpi3
57 Summary: RPI3
58 Requires: %{name} = %{version}-%{release}
59 BuildArch: noarch
60
61 %description device-rpi3
62 This package provides system configuration files for the RPI3 device.
63
64 %package feature-init_wrapper
65 Summary: Support init.wrapper booting.
66 Requires: %{name} = %{version}-%{release}
67 BuildArch: noarch
68
69 %description feature-init_wrapper
70 This package provides init.wrapper and init symlink file for init wrapper booting.
71
72 %package feature-lazymount
73 Summary: Library for lazy mount feature
74 Requires(post): /usr/bin/vconftool
75 Requires: vconf
76
77 %description feature-lazymount
78 Library for lazy mount feature. It supports some interface functions.
79
80 %package feature-lazymount-devel
81 Summary: Development library for lazy mount feature
82 Requires: vconf
83 Requires: feature-lazymount = %{version}
84
85 %description feature-lazymount-devel
86 Development library for lazy mount feature. It supports some interface functions.
87
88 %package feature-image-reduction
89 Summary:  System configuration files for reducing image size
90 Requires: %{name} = %{version}-%{release}
91 Requires: dbus
92 BuildArch: noarch
93
94 %description feature-image-reduction
95 This package provides system configuration files for reducing image size.
96
97 %package config-env-headless
98 Summary:  System configuration files for headless images
99 Requires: %{name} = %{version}-%{release}
100 BuildArch: noarch
101
102 %description config-env-headless
103 This package provides system configuration files for headless images.
104
105 %package config-udev-sdbd
106 Summary: System configuration files to trigger sdb with udev rule
107 Requires: %{name} = %{version}-%{release}
108 BuildArch: noarch
109
110 %description config-udev-sdbd
111 This package provides configuration files to trigger sdb with udev rule.
112
113 %package config-2parts
114 Summary: System configuration files for storage partitions
115 Requires: %{name} = %{version}-%{release}
116 BuildArch: noarch
117
118 %description config-2parts
119 This package provides configuration files for /etc/fstab(remount) and resize2fs@.service.
120
121 %package config-3parts
122 Summary: System configuration files for storage partitions
123 Requires: %{name} = %{version}-%{release}
124 BuildArch: noarch
125
126 %description config-3parts
127 This package provides configuration files for /etc/fstab(remount) and resize2fs@.service.
128
129 %package config-3parts-lzuser
130 Summary: System configuration files for storage partitions
131 Requires: %{name} = %{version}-%{release}
132 BuildArch: noarch
133
134 %description config-3parts-lzuser
135 This package provides configuration files for /etc/fstab(remount) and resize2fs@.service.
136
137 %prep
138 %setup -q
139
140 %build
141 cp %{SOURCE1} .
142 cp %{SOURCE2} .
143
144 ./autogen.sh
145 %reconfigure \
146                 --disable-static \
147                 --prefix=%{_prefix} \
148                 --disable-debug-mode \
149                 --disable-eng-mode
150
151 %__make %{?jobs:-j%jobs} \
152         CFLAGS+=-DLIBDIR=\\\"%{_libdir}\\\"
153
154 %install
155 rm -rf %{buildroot}
156 %make_install
157
158 mkdir -p %{buildroot}%{_unitdir}
159 mkdir -p %{buildroot}/csa
160 mkdir -p %{buildroot}/initrd
161 install -m 644 units/resize2fs@.service %{buildroot}%{_unitdir}
162 install -m 644 units/tizen-system-env.service %{buildroot}%{_unitdir}
163
164 # csa mount
165 install -m 644 units/csa.mount %{buildroot}%{_unitdir}
166 mkdir -p %{buildroot}%{_unitdir}/local-fs.target.wants
167 ln -s ../csa.mount %{buildroot}%{_unitdir}/local-fs.target.wants/csa.mount
168
169 # Resize partition for 3-parted target
170 mkdir -p %{buildroot}%{_unitdir}/basic.target.wants
171 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dlabel-system\\x2ddata.service
172 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dlabel-user.service
173 ln -s ../resize2fs@.service %{buildroot}%{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\\x2dlabel-rootfs.service
174
175 ln -s ../tizen-system-env.service %{buildroot}%{_unitdir}/basic.target.wants/tizen-system-env.service
176
177 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
178 install -m 644 rules/51-system-plugin-exynos.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
179 install -m 644 rules/51-system-plugin-spreadtrum.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
180
181 mkdir -p %{buildroot}%{_prefix}/lib/udev/hwdb.d/
182 install -m 644 rules/60-evdev.hwdb %{buildroot}%{_prefix}/lib/udev/hwdb.d/
183
184 # fstab
185 mkdir -p %{buildroot}%{_sysconfdir}
186 install -m 644 etc/fstab_3parts %{buildroot}%{_sysconfdir}
187 install -m 644 etc/fstab_2parts %{buildroot}%{_sysconfdir}
188
189 # fstrim
190 mkdir -p %{buildroot}%{_unitdir}/graphical.target.wants
191 install -m 644 units/tizen-fstrim-user.timer %{buildroot}%{_unitdir}
192 ln -s ../tizen-fstrim-user.timer %{buildroot}%{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
193 install -m 644 units/tizen-fstrim-user.service %{buildroot}%{_unitdir}
194 mkdir -p %{buildroot}%{_bindir}
195 install -m 755 scripts/tizen-fstrim-on-charge.sh %{buildroot}%{_bindir}
196
197 # fixed-multi-user
198 install -m 775 -D scripts/fixed-multi-user.sh %{buildroot}%{_datadir}/fixed_multiuser/fixed-multi-user.sh
199
200 # init_wrapper
201 mkdir -p %{buildroot}%{_sbindir}
202 install -m 755 scripts/init.wrapper %{buildroot}%{_sbindir}
203
204 # headless
205 mkdir -p %{buildroot}%{_sbindir}
206 install -m 755 scripts/sdb-mode.sh %{buildroot}%{_bindir}
207 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
208 install -m 644 rules/99-sdb-switch.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
209 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
210 install -m 755 scripts/headless_env.sh %{buildroot}%{_sysconfdir}/profile.d
211
212 # config-udev-sdbd
213 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
214 install -m 644 rules/99-sdb-extcon.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
215
216 %clean
217 rm -rf %{buildroot}
218
219 %post
220 systemctl daemon-reload
221
222 %files
223 %manifest %{name}.manifest
224 %license LICENSE.Apache-2.0
225 %{_unitdir}/resize2fs@.service
226 %{_unitdir}/tizen-system-env.service
227 %{_unitdir}/basic.target.wants/tizen-system-env.service
228
229 %files device-spreadtrum
230 %manifest %{name}.manifest
231 %license LICENSE.Apache-2.0
232 /initrd
233 /csa
234 %{_prefix}/lib/udev/rules.d/51-system-plugin-spreadtrum.rules
235 %{_unitdir}/tizen-system-env.service
236 %{_unitdir}/basic.target.wants/tizen-system-env.service
237 %{_unitdir}/csa.mount
238 %{_unitdir}/local-fs.target.wants/csa.mount
239 %{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
240 %{_unitdir}/tizen-fstrim-user.timer
241 %{_unitdir}/tizen-fstrim-user.service
242 %{_bindir}/tizen-fstrim-on-charge.sh
243 %{_datadir}/fixed_multiuser/fixed-multi-user.sh
244
245 %files device-n4
246 %manifest %{name}.manifest
247 %license LICENSE.Apache-2.0
248 %{_unitdir}/graphical.target.wants/tizen-fstrim-user.timer
249 %{_unitdir}/tizen-fstrim-user.timer
250 %{_unitdir}/tizen-fstrim-user.service
251 %{_bindir}/tizen-fstrim-on-charge.sh
252
253 %files device-circle
254 %manifest %{name}.manifest
255 %license LICENSE.Apache-2.0
256 /initrd
257 /csa
258 %{_unitdir}/csa.mount
259 %{_unitdir}/local-fs.target.wants/csa.mount
260
261 %files device-u3
262 %manifest %{name}.manifest
263 %license LICENSE.Apache-2.0
264 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
265 %{_prefix}/lib/udev/rules.d/51-system-plugin-exynos.rules
266
267 %post device-u3
268 %{_prefix}/bin/udevadm hwdb --update
269
270 %files device-rpi3
271 %manifest %{name}.manifest
272 %license LICENSE.Apache-2.0
273 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
274
275 %post device-rpi3
276 %{_prefix}/bin/udevadm hwdb --update
277
278 %files feature-init_wrapper
279 %license LICENSE.Apache-2.0
280 %{_sbindir}/init.wrapper
281
282 %posttrans feature-init_wrapper
283 rm -f /sbin/init
284 ln -s /sbin/init.wrapper /sbin/init
285
286 %files feature-lazymount
287 %defattr(-,root,root,-)
288 %manifest liblazymount.manifest
289 %license LICENSE.Apache-2.0
290 %{_libdir}/liblazymount.so.*
291 %{_unitdir}/basic.target.wants/lazy_mount.path
292 %{_unitdir}/lazy_mount.path
293 %{_unitdir}/lazy_mount.service
294 %{_bindir}/mount-user.sh
295
296 %post feature-lazymount
297 /sbin/ldconfig
298 systemctl daemon-reload
299
300 %postun feature-lazymount -p /sbin/ldconfig
301
302 %files feature-lazymount-devel
303 %defattr(-,root,root,-)
304 %manifest liblazymount.manifest
305 %license LICENSE.Apache-2.0
306 %{_libdir}/liblazymount.so
307 %{_includedir}/lazymount/lazy_mount.h
308 %{_libdir}/pkgconfig/liblazymount.pc
309
310 %posttrans feature-image-reduction
311 # platform/upstream/dbus
312 rm -f %{_bindir}/dbus-cleanup-sockets
313 rm -f %{_bindir}/dbus-run-session
314 rm -f %{_bindir}/dbus-test-tool
315 rm -f %{_bindir}/dbus-update-activation-environment
316 rm -f %{_bindir}/dbus-uuidgen
317 # platform/upstream/e2fsprogs
318 rm -f %{_sbindir}/e4crypt
319
320 %files config-env-headless
321 %manifest %{name}.manifest
322 %license LICENSE.Apache-2.0
323 %{_sysconfdir}/profile.d/headless_env.sh
324
325 %files config-udev-sdbd
326 %manifest %{name}.manifest
327 %license LICENSE.Apache-2.0
328 %{_bindir}/sdb-mode.sh
329 %{_prefix}/lib/udev/rules.d/99-sdb-extcon.rules
330
331 %files config-2parts
332 %manifest %{name}.manifest
333 %license LICENSE.Apache-2.0
334 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
335 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
336 %{_sysconfdir}/fstab_2parts
337
338 %post config-2parts
339 mv %{_sysconfdir}/fstab_2parts %{_sysconfdir}/fstab
340
341 %files config-3parts
342 %manifest %{name}.manifest
343 %license LICENSE.Apache-2.0
344 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
345 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
346 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
347 %{_sysconfdir}/fstab_3parts
348
349 %post config-3parts
350 mv %{_sysconfdir}/fstab_3parts %{_sysconfdir}/fstab
351
352 %files config-3parts-lzuser
353 %manifest %{name}.manifest
354 %license LICENSE.Apache-2.0
355 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-rootfs.service
356 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-system\x2ddata.service
357 %{_unitdir}/basic.target.wants/resize2fs@dev-disk-by\x2dlabel-user.service
358 %{_sysconfdir}/fstab_2parts
359
360 %post config-3parts-lzuser
361 mv %{_sysconfdir}/fstab_2parts %{_sysconfdir}/fstab