2 Summary: Target specific system configuration files
7 Source0: %{name}-%{version}.tar.bz2
8 Source1: %{name}.manifest
10 Requires(post): /usr/bin/systemctl
11 Requires(post): /usr/bin/udevadm
12 Requires(post): /usr/bin/sed
14 BuildRequires: pkgconfig(libsystemd)
15 BuildRequires: pkgconfig(libtzplatform-config)
18 This package provides target specific system configuration files.
20 %package device-spreadtrum
21 Summary: Spreadtrum specific system configuration files
22 Requires: %{name} = %{version}-%{release}
25 %description device-spreadtrum
26 This package provides Spreadtrum specific system configuration files.
28 %package device-circle
29 Summary: Circle specific system configuration files
30 Requires: %{name} = %{version}-%{release}
33 %description device-circle
34 This package provides Circle specific system configuration files.
38 Requires: %{name} = %{version}-%{release}
41 %description device-rpi3
42 This package provides system configuration files for the RPI3 device.
44 %package feature-init_wrapper
45 Summary: Support init.wrapper booting.
46 Requires: %{name} = %{version}-%{release}
49 %description feature-init_wrapper
50 This package provides init.wrapper and init symlink file for init wrapper booting.
52 %package feature-init_wrapper_overlayfs
53 Summary: Support init.wrapper and overlayfs booting.
54 Requires: %{name} = %{version}-%{release}
57 %description feature-init_wrapper_overlayfs
58 This package provides init.wrapper and init symlink file for init wrapper booting.
59 In addition, overlayfs is mounted upon the rootfs.
61 %package feature-image-reduction
62 Summary: System configuration files for reducing image size
63 Requires: %{name} = %{version}-%{release}
68 %description feature-image-reduction
69 This package provides system configuration files for reducing image size.
71 %package feature-namespace
72 Summary: System configuration files for namespace separation
73 Requires: %{name} = %{version}-%{release}
76 %description feature-namespace
77 This package provides namespace separation of user sessions.
79 %package feature-session-bind
80 Summary: System utils for mounting user session contents
81 Requires: %{name} = %{version}-%{release}
83 %description feature-session-bind
84 This package provides a mount utils for user sessions.
86 %package feature-bootmode
87 Summary: Support bootmode state by reading /proc/cmdline
89 %description feature-bootmode
90 This package provides function that gets bootmode
92 %package config-env-headless
93 Summary: System configuration files for headless images
94 Requires: %{name} = %{version}-%{release}
97 %description config-env-headless
98 This package provides system configuration files for headless images.
100 %package config-udev-sdbd
101 Summary: System configuration files to trigger sdb with udev rule
102 Requires: %{name} = %{version}-%{release}
105 %description config-udev-sdbd
106 This package provides configuration files to trigger sdb with udev rule.
108 %package config-2parts
109 Summary: System configuration files for storage partitions
110 Requires: %{name} = %{version}-%{release}
113 %description config-2parts
114 This package provides configuration files for storage partitions
116 %package config-3parts
117 Summary: System configuration files for storage partitions
118 Requires: %{name} = %{version}-%{release}
121 %description config-3parts
122 This package provides configuration files for storage partitions
124 %package config-3parts-lzuser
125 Summary: System configuration files for storage partitions
126 Requires: %{name} = %{version}-%{release}
129 %description config-3parts-lzuser
130 This package provides configuration files for storage partitions
143 # create default directories
144 mkdir -p %{buildroot}%{_sysconfdir}
145 mkdir -p %{buildroot}%{_bindir}
146 mkdir -p %{buildroot}%{_sbindir}
147 mkdir -p %{buildroot}%{_unitdir}
148 mkdir -p %{buildroot}%{_userunitdir}
149 mkdir -p %{buildroot}/csa
150 mkdir -p %{buildroot}/initrd
151 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
152 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
155 install -m 644 units/tizen-system-env.service %{buildroot}%{_unitdir}
158 install -m 644 units/csa.mount %{buildroot}%{_unitdir}
159 mkdir -p %{buildroot}%{_unitdir}/local-fs.target.wants
160 ln -s ../csa.mount %{buildroot}%{_unitdir}/local-fs.target.wants/csa.mount
162 # tizen-system-env.service
163 mkdir -p %{buildroot}%{_unitdir}/basic.target.wants
164 ln -s ../tizen-system-env.service %{buildroot}%{_unitdir}/basic.target.wants/tizen-system-env.service
167 install -m 644 rules/51-system-plugin-spreadtrum.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
169 mkdir -p %{buildroot}%{_prefix}/lib/udev/hwdb.d/
170 install -m 644 rules/60-evdev.hwdb %{buildroot}%{_prefix}/lib/udev/hwdb.d/
173 mkdir -p %{buildroot}%{_unitdir}/delayed.target.wants
174 install -m 644 units/tizen-fstrim-user.timer %{buildroot}%{_unitdir}
175 ln -s ../tizen-fstrim-user.timer %{buildroot}%{_unitdir}/delayed.target.wants/tizen-fstrim-user.timer
176 install -m 644 units/tizen-fstrim-user.service %{buildroot}%{_unitdir}
177 install -m 755 scripts/tizen-fstrim-on-charge.sh %{buildroot}%{_bindir}
180 install -m 775 -D scripts/fixed-multi-user.sh %{buildroot}%{_datadir}/fixed_multiuser/fixed-multi-user.sh
183 install -m 755 scripts/init.wrapper %{buildroot}%{_sbindir}
184 install -m 755 scripts/init.wrapper.overlayfs %{buildroot}%{_sbindir}
187 install -m 755 scripts/sdb-mode.sh %{buildroot}%{_bindir}
188 install -m 755 scripts/headless_env.sh %{buildroot}%{_sysconfdir}/profile.d
191 install -m 755 scripts/2parts_env.sh %{buildroot}%{_sysconfdir}/profile.d
194 install -m 644 rules/99-sdb-extcon.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
196 # /opt/usr lazy mount
197 mkdir -p %{buildroot}%{_unitdir}/local-fs.target.wants
198 mkdir -p %{buildroot}%{_unitdir}/wait-mount@opt-usr.service.d
199 mkdir -p %{buildroot}%{_userunitdir}/basic.target.wants
200 mkdir -p %{buildroot}%{_userunitdir}/wait-mount@opt-usr.service.d
201 install -m 644 units/opt-usr.mount %{buildroot}%{_unitdir}
202 install -m 644 units/wait-mount@.service %{buildroot}%{_unitdir}
203 install -m 644 units/wait-mount-session@.service %{buildroot}%{_userunitdir}/wait-mount@.service
204 install -m 644 units/no-wait.conf %{buildroot}%{_unitdir}/wait-mount@opt-usr.service.d
205 install -m 644 units/no-wait.conf %{buildroot}%{_userunitdir}/wait-mount@opt-usr.service.d
206 ln -s ../opt-usr.mount %{buildroot}%{_unitdir}/local-fs.target.wants/opt-usr.mount
207 ln -s ../wait-mount@.service %{buildroot}%{_unitdir}/local-fs.target.wants/wait-mount@opt-usr.service
208 ln -s ../wait-mount@.service %{buildroot}%{_userunitdir}/basic.target.wants/wait-mount@opt-usr.service
210 # check /opt partition
211 mkdir -p %{buildroot}%{_unitdir}/local-fs.target.requires
212 install -m 644 units/opt.mount %{buildroot}%{_unitdir}
213 ln -s ../opt.mount %{buildroot}%{_unitdir}/local-fs.target.requires/opt.mount
216 mkdir -p %{buildroot}%{_unitdir}/user@.service.d
217 install -m 644 units/namespace.conf %{buildroot}%{_unitdir}/user@.service.d/
220 mkdir -p %{buildroot}%{_userunitdir}/basic.target.wants
221 install -m 644 units/session-bind.service %{buildroot}%{_userunitdir}
222 ln -s ../session-bind.service %{buildroot}%{_userunitdir}/basic.target.wants/session-bind.service
228 systemctl daemon-reload
229 %ifarch %{ix86} x86_64
230 /usr/bin/sed -e 's/system-data/emulator-sysdata/g' -i /usr/lib/systemd/system/opt.mount
234 %manifest %{name}.manifest
235 %license LICENSE.Apache-2.0
236 %{_unitdir}/tizen-system-env.service
237 %{_unitdir}/basic.target.wants/tizen-system-env.service
238 %{_unitdir}/opt.mount
239 %{_unitdir}/local-fs.target.requires/opt.mount
241 %files device-spreadtrum
242 %manifest %{name}.manifest
243 %license LICENSE.Apache-2.0
246 %{_prefix}/lib/udev/rules.d/51-system-plugin-spreadtrum.rules
247 %{_unitdir}/tizen-system-env.service
248 %{_unitdir}/basic.target.wants/tizen-system-env.service
249 %{_unitdir}/csa.mount
250 %{_unitdir}/local-fs.target.wants/csa.mount
251 %{_unitdir}/delayed.target.wants/tizen-fstrim-user.timer
252 %{_unitdir}/tizen-fstrim-user.timer
253 %{_unitdir}/tizen-fstrim-user.service
254 %{_bindir}/tizen-fstrim-on-charge.sh
255 %{_datadir}/fixed_multiuser/fixed-multi-user.sh
258 %manifest %{name}.manifest
259 %license LICENSE.Apache-2.0
262 %{_unitdir}/csa.mount
263 %{_unitdir}/local-fs.target.wants/csa.mount
266 %manifest %{name}.manifest
267 %license LICENSE.Apache-2.0
268 %{_prefix}/lib/udev/hwdb.d/60-evdev.hwdb
271 %{_prefix}/bin/udevadm hwdb --update
273 %files feature-init_wrapper
274 %license LICENSE.Apache-2.0
275 %{_sbindir}/init.wrapper
277 %posttrans feature-init_wrapper
279 ln -s /sbin/init.wrapper /sbin/init
281 %files feature-init_wrapper_overlayfs
282 %license LICENSE.Apache-2.0
283 %{_sbindir}/init.wrapper.overlayfs
285 %posttrans feature-init_wrapper_overlayfs
287 ln -s /sbin/init.wrapper.overlayfs /sbin/init
288 mkdir -p /.overlayfs_merged
289 mkdir -p /.rootfs_old
291 %posttrans feature-image-reduction
292 # platform/upstream/dbus
293 rm -f %{_bindir}/dbus-cleanup-sockets
294 rm -f %{_bindir}/dbus-run-session
295 rm -f %{_bindir}/dbus-test-tool
296 rm -f %{_bindir}/dbus-update-activation-environment
297 rm -f %{_bindir}/dbus-uuidgen
298 # platform/upstream/e2fsprogs
299 rm -f %{_sbindir}/e4crypt
301 %files feature-namespace
302 %manifest %{name}.manifest
303 %license LICENSE.Apache-2.0
304 %{_unitdir}/user@.service.d/namespace.conf
306 %files feature-session-bind
307 %manifest %{name}.manifest
308 %license LICENSE.Apache-2.0
309 %{_bindir}/session-bind
310 %{_userunitdir}/session-bind.service
311 %{_userunitdir}/basic.target.wants/session-bind.service
313 %files feature-bootmode
314 %manifest %{name}.manifest
315 %license LICENSE.Apache-2.0
316 /usr/lib/deviced/bootmode.so
318 %post feature-session-bind
320 echo "------------------------------------------------------------------------"
321 echo "When you install this system-plugin-feature-session-bind rpm separately,"
322 echo "you are required to execute this command"
324 echo "root#) setcap cap_sys_admin=ei /usr/bin/session-bind"
325 echo "------------------------------------------------------------------------"
328 %files config-env-headless
329 %manifest %{name}.manifest
330 %license LICENSE.Apache-2.0
331 %{_sysconfdir}/profile.d/headless_env.sh
333 %files config-udev-sdbd
334 %manifest %{name}.manifest
335 %license LICENSE.Apache-2.0
336 %{_bindir}/sdb-mode.sh
337 %{_prefix}/lib/udev/rules.d/99-sdb-extcon.rules
340 %manifest %{name}.manifest
341 %license LICENSE.Apache-2.0
342 %{_sysconfdir}/profile.d/2parts_env.sh
343 %{_unitdir}/wait-mount@.service
344 %{_unitdir}/wait-mount@opt-usr.service.d/no-wait.conf
345 %{_unitdir}/local-fs.target.wants/wait-mount@opt-usr.service
346 %{_userunitdir}/wait-mount@.service
347 %{_userunitdir}/wait-mount@opt-usr.service.d/no-wait.conf
348 %{_userunitdir}/basic.target.wants/wait-mount@opt-usr.service
351 %manifest %{name}.manifest
352 %license LICENSE.Apache-2.0
353 %{_unitdir}/opt-usr.mount
354 %{_unitdir}/wait-mount@.service
355 %{_unitdir}/local-fs.target.wants/opt-usr.mount
356 %{_userunitdir}/wait-mount@.service
357 %{_userunitdir}/basic.target.wants/wait-mount@opt-usr.service
359 %files config-3parts-lzuser
360 %manifest %{name}.manifest
361 %license LICENSE.Apache-2.0
362 %{_unitdir}/opt-usr.mount
363 %{_unitdir}/wait-mount@.service
364 %{_unitdir}/local-fs.target.wants/opt-usr.mount
365 %{_userunitdir}/wait-mount@.service
366 %{_userunitdir}/basic.target.wants/wait-mount@opt-usr.service