# rw-update
mkdir -p %{buildroot}%{_unitdir}/system-update.target.wants
-mkdir -p %{buildroot}%{_unitdir}/data-checkpoint.target.wants
+mkdir -p %{buildroot}%{_unitdir}/local-fs.target.wants
mkdir -p %{buildroot}%{_unitdir}/delayed.target.wants
ln -s ../getty.target %{buildroot}%{_unitdir}/system-update.target.wants
ln -s ../cynara.socket %{buildroot}%{_unitdir}/system-update.target.wants
ln -s ../udev-sdb-init.service %{buildroot}%{_unitdir}/system-update.target.wants
ln -s ../offline-update.service %{buildroot}%{_unitdir}/system-update.target.wants
ln -s ../udev-trigger-dmbow@.service %{buildroot}%{_unitdir}/system-update.target.wants/udev-trigger-dmbow@user.service
-ln -s ../data-checkpoint.target %{buildroot}%{_unitdir}/system-update.target.wants
-ln -s ../data-checkpoint.service %{buildroot}%{_unitdir}/data-checkpoint.target.wants/data-checkpoint.service
+ln -s ../data-checkpoint.service %{buildroot}%{_unitdir}/local-fs.target.wants/data-checkpoint.service
ln -s ../update-post.service %{buildroot}%{_unitdir}/system-update.target.wants
ln -s ../update-finalize.service %{buildroot}%{_unitdir}/delayed.target.wants
%attr(755,root,root) %{img_verifier_root_ca_dir}
# rw-upgrade
%{_unitdir}/data-checkpoint.service
-%{_unitdir}/data-checkpoint.target
-%{_unitdir}/data-checkpoint.target.wants/data-checkpoint.service
+%{_unitdir}/local-fs.target.wants/data-checkpoint.service
%{_unitdir}/delayed.target.wants/update-finalize.service
%{_unitdir}/offline-update.service
%{_unitdir}/system-update.target.wants/cynara.socket
-%{_unitdir}/system-update.target.wants/data-checkpoint.target
%{_unitdir}/system-update.target.wants/dbus.socket
%{_unitdir}/system-update.target.wants/getty.target
%{_unitdir}/system-update.target.wants/offline-update.service
%{upgrade_scripts_dir}/update-init.sh
%{upgrade_scripts_dir}/update-post.sh
%{upgrade_scripts_dir}/update.sh
+%{upgrade_scripts_dir}/update-verify.sh
%files -n parse-dynparts
%manifest upgrade.manifest
%files -n resize-dynparts
%manifest upgrade.manifest
%license LICENSE.Apache-2.0
-%{_bindir}/resize-dynparts
\ No newline at end of file
+%{_bindir}/resize-dynparts
}
get_partition_id() {
- PART_ROOTFS=$("$BLKID" --match-token PARTLABEL=rootfs -o device -l || "$BLKID" --match-token LABEL=rootfs -o device -l)
PART_SYSTEM_DATA=$("$BLKID" --match-token PARTLABEL=system-data -o device -l || "$BLKID" --match-token LABEL=system-data -o device -l)
- PART_USER=$("$BLKID" --match-token PARTLABEL=user -o device -l || "$BLKID" --match-token LABEL=user -o device -l)
+ if [ -e "/usr/lib/systemd/system/opt-usr.mount" ]; then
+ PART_USER=$("$BLKID" --match-token PARTLABEL=user -o device -l || "$BLKID" --match-token LABEL=user -o device -l)
+ fi
if [[ ! $(</proc/cmdline) =~ partition_ab= ]]; then
PART_HAL=$("$BLKID" --match-token PARTLABEL=hal -o device -l || "$BLKID" --match-token LABEL=hal -o device -l)
else
PATH=/bin:/usr/bin:/sbin:/usr/sbin
RW_MACRO=@UPGRADE_SCRIPTS_DIR@/rw-update-macro.inc
-
+UPDATE_VERIFY_SCRIPT=@UPGRADE_SCRIPTS_DIR@/update-verify.sh
HAL_SET_UPGRADE_STATUS=/usr/bin/device_board_set_upgrade_status
SCRIPT_NAME=$(basename $0)
UPDATE_PREPARE_ERR=1
fi
-# TOOD: check if system is stable
-UPDATE_SUCCESS=1
-
-if [ -z ${UPDATE_PREPARE_ERR+x} ] && [ "${UPDATE_SUCCESS}" == "1" ]; then
+if [ -z ${UPDATE_PREPARE_ERR+x} ] && "$UPDATE_VERIFY_SCRIPT"; then
/usr/bin/device_board_clear_boot_mode
if ! COMMIT_CHANGES; then
ERROR "FAIL: Commit changes error"