1 %define upgrade_support_dir %{_libexecdir}/upgrade-support
2 %define upgrade_scripts_dir %TZ_SYS_UPGRADE
5 Summary: Upgrade support for Tizen
10 Source0: %{name}-%{version}.tar.gz
13 BuildRequires: ca-certificates-devel
14 BuildRequires: libbrotli-devel
15 BuildRequires: pkgconfig(openssl1.1)
16 BuildRequires: pkgconfig(libtzplatform-config)
17 BuildRequires: pkgconfig(dlog)
18 Buildrequires: pkgconfig(glib-2.0)
19 BuildRequires: pkgconfig(hal-api-device)
20 BuildRequires: libtar-devel
22 Requires: upgrade-engine = %{version}-%{release}
25 Metapackage requiring all upgrade-related packages on the platform.
28 Summary: Utilities and configuration for handling Tizen platform upgrade
33 Requires: %{_bindir}/rstsmack
36 Update engine adding all necessary tools, scripts and configuration
37 for updating Tizen platform images using delta files as generated by
41 Update engine for updating Tizen platform images using delta files
42 generated by upgrade-tools.
48 export LDFLAGS+="-Wl,--rpath=%{_libdir} -Wl,--as-needed"
51 %define system_bus_services_dir /usr/share/dbus-1/system-services
52 %define systemd_dbus_conf_dir /etc/dbus-1/system.d
54 # You must set CA directory in the RO section to prevent manipulation
55 %define img_verifier_root_ca_dir %{TZ_SYS_RO_CA_DIR}/img-verifier
56 %define upgrade_initrd_list_dir %{_datadir}/initrd-recovery/initrd.list.d
59 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
60 -DIMG_VERIFIER_ROOT_CA_DIR=%{img_verifier_root_ca_dir} \
61 -DUPGRADE_INITRD_LIST_DIR=%{upgrade_initrd_list_dir} \
62 -DUPGRADE_SCRIPTS_DIR=%{upgrade_scripts_dir} \
63 -DUPGRADE_VAR_DIR=%TZ_SYS_VAR \
64 -DUPGRADE_PKGSCRIPTS_DIR=%TZ_SYS_UPGRADE_SCRIPTS \
65 -DUNIT_DIR=%{_unitdir} \
73 mkdir -p %{buildroot}%{upgrade_support_dir}
74 install -m 755 scripts/upgrade-support/* %{buildroot}%{upgrade_support_dir}
76 %define fota_dir /opt/usr/data/fota
77 mkdir -p %{buildroot}%{fota_dir}
78 mkdir -p %{buildroot}%{img_verifier_root_ca_dir}
79 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
81 install -m 644 scripts/clone_partitions/clone_partitions.service %{buildroot}%{_unitdir}
82 ln -s ../clone_partitions.service %{buildroot}%{_unitdir}/multi-user.target.wants/
83 install -m 775 scripts/clone_partitions/clone_partitions.sh %{buildroot}%{_bindir}
85 mkdir -p %{buildroot}%{_unitdir}/recovery.service.wants
86 install -m 644 scripts/clone_partitions/clone_partitions_recovery.service %{buildroot}%{_unitdir}
87 ln -s ../clone_partitions_recovery.service %{buildroot}%{_unitdir}/recovery.service.wants/
90 mkdir -p %{buildroot}%{_unitdir}/system-update.target.wants
91 mkdir -p %{buildroot}%{_unitdir}/data-checkpoint.target.wants
92 mkdir -p %{buildroot}%{_unitdir}/delayed.target.wants
93 ln -s ../getty.target %{buildroot}%{_unitdir}/system-update.target.wants
94 ln -s ../cynara.socket %{buildroot}%{_unitdir}/system-update.target.wants
95 ln -s ../dbus.socket %{buildroot}%{_unitdir}/system-update.target.wants
96 ln -s ../udev-sdb-init.service %{buildroot}%{_unitdir}/system-update.target.wants
97 ln -s ../offline-update.service %{buildroot}%{_unitdir}/system-update.target.wants
98 ln -s ../udev-trigger-dmbow@.service %{buildroot}%{_unitdir}/system-update.target.wants/udev-trigger-dmbow@user.service
99 ln -s ../data-checkpoint.target %{buildroot}%{_unitdir}/system-update.target.wants
100 ln -s ../data-checkpoint.service %{buildroot}%{_unitdir}/data-checkpoint.target.wants/data-checkpoint.service
101 ln -s ../update-post.service %{buildroot}%{_unitdir}/system-update.target.wants
102 ln -s ../update-finalize.service %{buildroot}%{_unitdir}/delayed.target.wants
105 newrulesfile=99-sdb-switch.rules
106 newrulespath=%{upgrade_scripts_dir}/$newrulesfile
107 rulesdir=/usr/lib/udev/rules.d
108 if [ -e "$rulesdir/$newrulesfile" ]; then
109 echo "$newrulesfile exists. Skip creating symlink"
112 ln -sf "$newrulespath" "$rulesdir"
117 %manifest upgrade.manifest
121 %manifest upgrade.manifest
123 %attr(775, root, system_fw) %{fota_dir}
124 %attr(700,-,-) %{upgrade_initrd_list_dir}/40-upgrade.list
125 %defattr(-,root,root,-)
126 %{_bindir}/clone_partitions.sh
127 %attr(644, root, root) %{_unitdir}/clone_partitions.service
128 %{_unitdir}/multi-user.target.wants/clone_partitions.service
129 %attr(644, root, root) %{_unitdir}/clone_partitions_recovery.service
130 %{_unitdir}/recovery.service.wants/clone_partitions_recovery.service
131 %{upgrade_support_dir}/upgrade-trigger.sh
132 %{upgrade_support_dir}/upgrade-partial.sh
133 %{upgrade_support_dir}/upgrade-prepare-partitions.sh
134 %{upgrade_support_dir}/upgrade-fota.sh
135 %{upgrade_support_dir}/upgrade-common.inc
136 %{_bindir}/upgrade-apply
137 %{_bindir}/verity_handler
138 %{_bindir}/upgrade-apply-deltafs
139 %{_bindir}/blkid-print
141 %{_sbindir}/img-verifier
142 %attr(755,root,root) %{img_verifier_root_ca_dir}
144 %{_unitdir}/data-checkpoint.service
145 %{_unitdir}/data-checkpoint.target
146 %{_unitdir}/data-checkpoint.target.wants/data-checkpoint.service
147 %{_unitdir}/delayed.target.wants/update-finalize.service
148 %{_unitdir}/offline-update.service
149 %{_unitdir}/system-update.target.wants/cynara.socket
150 %{_unitdir}/system-update.target.wants/data-checkpoint.target
151 %{_unitdir}/system-update.target.wants/dbus.socket
152 %{_unitdir}/system-update.target.wants/getty.target
153 %{_unitdir}/system-update.target.wants/offline-update.service
154 %{_unitdir}/system-update.target.wants/udev-sdb-init.service
155 %{_unitdir}/system-update.target.wants/udev-trigger-dmbow@user.service
156 %{_unitdir}/system-update.target.wants/update-post.service
157 %{_unitdir}/udev-sdb-init.service
158 %{_unitdir}/udev-trigger-dmbow@.service
159 %{_unitdir}/update-finalize.service
160 %{_unitdir}/update-post.service
161 %{upgrade_scripts_dir}/99-sdb-switch.rules
162 %{upgrade_scripts_dir}/install-sdb-rule.sh
163 %{upgrade_scripts_dir}/record-version.sh
164 %{upgrade_scripts_dir}/rw-update-macro.inc
165 %{upgrade_scripts_dir}/update-checkpoint-create.sh
166 %{upgrade_scripts_dir}/update-finalize.sh
167 %{upgrade_scripts_dir}/update-init.sh
168 %{upgrade_scripts_dir}/update-post.sh
169 %{upgrade_scripts_dir}/update.sh