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